CodeAnalysis

From OpenEZX

Jump to: navigation, search

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
Personal tools