CodeAnalysis
From OpenEZX
[edit]
CodeAnalysis (e680-linux)
This is currently work in progress
Changes made by Motorola to MVista kernel
(MV kernel = 2.4.17/20 kernel + Igno Molnar scheduling changes + XIP + range of MV drivers)
| kernel | Detail | Ported to 2.6 |
|---|---|---|
| init/do_mounts.c | minor, mounting cramfs root | |
| init/main.c | interesting initialisation changes for USB. start_kernel pulls down USB, init pulls up USB. Also boot tracing mods and ssp_pcap_init called in in do_basic_setup | Y, pullup/down in pxa_set_udc_info & ssp_pcap_init both via a780_init in mach-pxa/ezx.c |
| kernel/context.c | minor change to context_thread for MV RT threading | N |
| kernel/printk.c | minor changes for logging, new method logbuf_info | |
| kernel/sched.c | difficult to identify, large MV changes - backported Ingo Molnar work | |
| lib/rwsem-spinlock.c | minor new method for trying to get a read lock on a semaphore | |
| mm/page_alloc.c | minor changes, discontiguous memory support | |
| mm/slab.c | minor change to report potentially free pages slab_cache_freeable_info | |
| net/core/sock.c | minor change, commented out permission check for clients using raw sockets | |
| net/ipv4/af_inet.c | minor change, bind to port 500 for VPN | |
| net/ipv4/devinet.c | minor change, related to CSD calls, commented out permission check for CAP_NET_ADMIN | |
| net/ipv4/fib_frontend.c | minor change, related to CSD calls, commented out permission check for CAP_NET_ADMIN | |
| net/ipv4/tcp_output.c | minor SYN compatibility change | |
| scripts/mkdep.c | using newer version of mkdep compared with version in stock 2.4.20 kernel |
| arch/arm/.. | Detail | Ported to 2.6 |
|---|---|---|
| boot/compressed/head-xscale.S | minor, identification of MACH_TYPE_EZX | |
| config.in | EZX config | |
| def-configs/ezx-680 | ezx-680 config | |
| kernel/head-armv.S | PHYS_OFFSET for ezx | |
| mach-ezx/a780.c | New files, potentially derived from Mainstone, Motorola EZX architecture definition | Y, mach-pxa/ezx.c |
| mach-ezx/apm.c | Todo, kernel/apm.c, pm_do_poweroff to be fixed | |
| mach-ezx/generic.c | ||
| mach-ezx/irq.c | ||
| mach-ezx/pm.c | ||
| mach-ezx/pxabus_ldm.c | ||
| mach-ezx/sleep.S | ||
| mach-ezx/usb_sw.c | ||
| mach-ezx/useroff.c | ||
| mach-pxa/sleep.S | set BVD_MEMC_SIGHTING to 0 | |
| mm/discontig.c | minor, increased number of nodes for discontiguous memory | |
| mm/init.c | minor, reserve first page for exiting sleep and user off mode |
| drivers/.. | Detail | Ported to 2.6 |
|---|---|---|
| block/Config.in | minor, inclusion of roflash config | |
| block/Makefile | minor, include roflash subdir | |
| block/roflash/ezx_parts.c | new file, ezx roflash partitions | |
| block/roflash/roflash.c | Motorola read only block device driver for cramfs | |
| char/gpio_test.c | equivalent to Harald's gpiotool, although also does USB overvoltage checks | |
| char/led_pxa_e680.c | new file, led gpio handling | |
| char/n_tty.c | minor change, throttling release for btuart. Also test_bit and set_bit param change | |
| char/sa1100-rtc.c | unsure of changes, comment states add queue apm event | |
| char/serial.c | number of changes, serial mux support - receive_chars calls serial_mux_dispatcher, btuart throttling (flip flow control), bt wakeup handling, ICL (mux) uart handling | |
| char/tty_io.c | minor, bt uart flow control - queuing of task | not required |
| i2c/a780_camera.c | new file | |
| i2c/boomer.c | new file, appears to be AP to loudspeaker related | |
| i2c/e680_camera.c | new file | |
| i2c/i2c-adap-pxa.c | MV file, Motorola added pm suspend/resume hooks | |
| i2c/i2c-adcm2700.c | new file, camera module | |
| i2c/i2c-adcm2700.h | new file, camera module | |
| i2c/i2c-algo-pxa.c | minor, disable pxa bus scanning | |
| media/video/adcm3800.c | new file, camera module | |
| media/video/adcm3800.h | new file, camera module | |
| media/video/adcm3800_hw.c | new file, camera module | |
| media/video/adcm3800_hw.h | new file, camera module | |
| media/video/camera.h | new file, camera module | |
| media/video/ci.h | new file, camera module | |
| media/video/e680_camera.c | new file, camera module | |
| media/video/pxa_camera.c | new file, camera module | |
| media/video/pxa_camera_micron.c | new file, camera module | |
| media/video/pxa_camera_ov.c | new file, camera module | |
| misc/Config.in | minor change for keypad, keylight & fm radio configs | |
| misc/ezx-button.c | new file, /dev/button read/write and button gpio handling | |
| misc/ezx-button.h | new file | |
| misc/ezx-emu.c | new file, EMU handling, uart/usb switching | |
| misc/ezx-emu.h | new file, EMU handling, uart/usb switching | |
| misc/ezx-log.c | new file, kernel panic logging | |
| misc/ezx-ts.c | new file, touchscreen | |
| misc/ezx-ts.h | new file, touchscreen | |
| misc/fmradio.c | new file, fm radio i2c driver support | |
| misc/fmradio.h | new file, fm radio i2c driver support | |
| misc/keylight.c | new file, pcap keylight control | |
| misc/keylight.h | new file, pcap keylight control | |
| misc/keypad-e398.c | new file, /dev/keypad.. handling | |
| misc/keypad-panasonic.c | new file, /dev/keypad.. handling | |
| misc/keypad.c | new file, /dev/keypad.. handling | |
| misc/keypad.h | new file, /dev/keypad.. handling | |
| misc/log.c | new file, kernel panic logging | |
| misc/log.h | new file, kernel panic logging | |
| misc/ssp_pcap.h | new file, power control | Y, misc/ezx/ss_pcap.h |
| misc/ssp_pcap_main.c | new file, power control - usb, ts, sleep/wakeup, headjack change, cable attach | Y, misc/ezx/ssp_pcap_main.c |
| mtd/chips/cfi_cmdset_0001.c | not analysed changes, comment states added notification of flash status before sleep, lockdown of L18 and initialisation of pm_flash device | |
| mtd/chips/cfi_cmdset_0001_mp.c | not analysed changes, comment states added defines specific to ezx and L18 lockdown mechanism | |
| mtd/chips/cfi_probe.c | not analysed changes, comment states added Intel MTD patch code | |
| mtd/maps/bulverde.c | not analysed changes, comment states unlock/lockdown relative blocks in L18 chip | |
| mtd/maps/mot-mvp.c | unsure if new MV file specifically for ezx, comment states for MVP user and boot flash | |
| net/ppp_async.c | minor change, added idle case to IO control | |
| net/ppp_generic.c | minor change, idle timer and major number change | |
| sound/Config.in | minor change, vibrator and sound driver config inclusion | |
| sound/ezx-a780.c | new file, sound handling | |
| sound/ezx-a780.h | new file, sound handling | |
| sound/ezx-asspm.c | new file, sound handling | |
| sound/ezx-assps.c | new file, sound handling | |
| sound/ezx-audio.c | new file, sound handling | |
| sound/ezx-audio.h | new file, sound handling | |
| sound/ezx-common.c | new file, sound handling | |
| sound/ezx-common.h | new file, sound handling | |
| sound/ezx-e680.c | new file, sound handling | |
| sound/ezx-e680.h | new file, sound handling | |
| sound/ezx-nssp.c | new file, sound handling | |
| sound/ezx-phone.c | new file, sound handling | |
| sound/ezx-vibrator.c | new file, sound handling | |
| sound/ezx-vibrator.h | new file, sound handling | |
| sound/sound_core.c | minor change, added dsp16 device and audio | |
| usb/dsplog_usb.c | new file, usb dsp log driver | |
| usb/hub.c | minor change, wake up the baseband if GPIO 41 is 1 in usb_hub_port_connect_change | |
| usb/ipcusb.c | new file, the mux cli driver | Y, char/ts0710_mux_usb.c |
| usb/ipcusb.h | new file, the mux cli driver | Y, char/ts0710_mux_usb.h |
| usb/usb-ohci-wmmx.c | MV file, changes by Moto for GPIO set up for external transceiver or for connection to Neptune | Y, partly in mach-pxa/ezx.c and partly in drivers/usb/host/ohci-pxa27x.c |
| usb/usb-ohci.c | MV file, interesting changes for workaround of some unknown Bulverde bug | TODO - needs checking |
| usb/usb.c | minor changes, disable hotplug and usb free trap if called from interupt | |
| usbd/acm_fd/acm.c | Belcarra usb gadget file, not analysed | |
| usbd/acm_fd/trace.c | Belcarra usb gadget file, not analysed | |
| usbd/Config.in | Belcarra usb gadget file, not analysed | |
| usbd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/ep0.c | Belcarra usb gadget file, not analysed | |
| usbd/trace.c | Belcarra usb gadget file, not analysed | |
| usbd/trace.h | Belcarra usb gadget file, not analysed | |
| usbd/usbd-bi.c | Belcarra usb gadget file, not analysed | |
| usbd/usbd-bi.h | Belcarra usb gadget file, not analysed | |
| usbd/usbd-bops.c | Belcarra usb gadget file, not analysed | |
| usbd/usbd-func.h | Belcarra usb gadget file, not analysed | |
| usbd/usbd-procfs.c | Belcarra usb gadget file, not analysed | |
| usbd/usbd.c | Belcarra usb gadget file, not analysed | |
| usbd/usbdezx.c | Belcarra usb gadget file, not analysed | |
| usbd/cfg11_fd/Config.in | Belcarra usb gadget file, not analysed | |
| usbd/cfg11_fd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/cfg11_fd/cfg11.c | Belcarra usb gadget file, not analysed | |
| usbd/dsplog_fd/Config.in | Belcarra usb gadget file, not analysed | |
| usbd/dsplog_fd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/dsplog_fd/dsplog.c | Motorola usb gadget file, not analysed | |
| usbd/network_fd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/network_fd/network.c | Belcarra usb gadget file, not analysed | |
| usbd/nm_fd/Config.in | Belcarra usb gadget file, not analysed | |
| usbd/nm_fd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/nm_fd/net_monitor.c | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/Config.in | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/pst-fd.c | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/ptf_buf.c | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/ptf_buf.h | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/ptfproto.c | Belcarra usb gadget file, not analysed | |
| usbd/pst_fd/ptfproto.h | Belcarra usb gadget file, not analysed | |
| usbd/pxa_bi/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/storage_fd/storage.c | Belcarra usb gadget file, not analysed | |
| usbd/wmmx_bi/Makefile | Belcarra usb gadget file, not analysed | |
| usbd/wmmx_bi/wmmx.c | Belcarra usb gadget file, not analysed | |
| video/fbcon.c | minor change to show Moto logo | |
| video/fbmem.c | change, addition of double buffering support | |
| video/inflate.c | MV file, minor change, added winzip support | |
| video/misc.c | MV file, minor change to decompress logo | |
| video/pxafb.c | MV file, changes for backlight timer, 18bpp/19bpp and double buffering support | |
| video/pxafb.h | MV file, changes for backlight timer, 18bpp/19bpp and double buffering support |
| fs/.. | Detail | Ported to 2.6 |
|---|---|---|
| super.c | change, flash support | |
| cramfs/inode.c | large changes for roflash cramfs linear and block support | |
| fat/fatfs_syms.c | minor change, notification to user space if fat fs fails | |
| fat/inode.c | changes, user not allowed to modify attributes of fat file | |
| fat/misc.c | minor change, support for fat panic | |
| proc/proc_misc.c | minor change, reporting of potential free pages with method slabfree_read_proc | |
| vfat/namei.c | minor changes, hidden (for windows) and sync dir mods |
| include/.. | Detail | Ported to 2.6 |
|---|---|---|
| asm-arm/ioctls.h | ||
| asm-arm/memory.h | ||
| asm-arm/termios.h | ||
| asm-arm/arch-mx1ads/platform.h | ||
| asm-arm/arch-pxa/ezx.h | ||
| asm-arm/arch-pxa/hardware.h | ||
| asm-arm/arch-pxa/irq.h | ||
| asm-arm/arch-pxa/irqs.h | ||
| asm-arm/arch-pxa/keypad.h | ||
| asm-arm/arch-pxa/memory.h | ||
| asm-arm/arch-pxa/pxa-regs.h | ||
| asm-arm/arch-pxa/system.h | ||
| asm-arm/arch-pxa/uncompress.h | ||
| asm-arm/arch-sa1100/SA-1100.h | ||
| linux/apm_bios.h | ||
| linux/cramfs_fs_sb.h | ||
| linux/ezx_roflash.h | ||
| linux/ezxusbd.h | ||
| linux/fb.h | ||
| linux/keypad.h | ||
| linux/led_pxa_e680.h | ||
| linux/mc146818rtc.h | ||
| linux/mc6821.h | ||
| linux/miscdevice.h | ||
| linux/ppp-comp.h | ||
| linux/ppp_channel.h | ||
| linux/pxa_camera.h | ||
| linux/rwsem.h | ||
| linux/serial.h | ||
| linux/serialP.h | ||
| linux/soundcard.h | ||
| linux/sysctl.h | ||
| linux/tty.h | ||
| linux/tty_driver.h | ||
| linux/vibrator.h | ||
| linux/videodev.h | ||
| linux/mmc/mmc_ll.h | ||
| linux/mmc/mmc_protocol.h | ||
| linux/mtd/map.h |

