[Gta04-owner] Kernel diff (3.12-wip branch) statistics, observations, goals
Dr. H. Nikolaus Schaller
hns at goldelico.com
Sat Sep 14 14:43:54 CEST 2013
Hi all,
I have merged the latest linus/master into 3.12-wip and then done a
git diff --stat linus/master
This gives and interesting result showing how far away our 3.12-plus is from the mainline tree.
Mainly we have differences in
299 files
Approx. half of it is the GPU/PVR driver source. So this sets a scale and a direction for upstreaming work:
get this number down...
Most differences are quite clear and can be easily grouped into topics.
I think such differences can also help to find the change/patch that did break some things in 3.12
(i.e. things that did work in 3.7 but aren't working any more, like WLAN/BT power control).
So I hope this list is helpful for all our kernel development activities.
BR,
Nikolaus
Here is the commented list:
These files are simply usefull to keep synchronized with our tree and never will go upstream:
GTA04/README | 30 +
GTA04/bootargs.txt | 57 +
GTA04/scripts/vibra.py | 111 +
GTA04/udev-rules/charging.rules | 6 +
GTA04/udev-rules/hso.rules | 1 +
GTA04/udev-rules/input.rules | 7 +
GTA04/udev-rules/sensor.rules | 3 +
Here we have our board config; DTS is planned to go upstream (they did forget us during the 3.12 merge window):
arch/arm/boot/dts/omap3-gta04.dts | 65 +
arch/arm/configs/gta04_debug_defconfig | 3372 +++++++++++++
arch/arm/configs/gta04_defconfig | 3741 ++++++++++++++
arch/arm/mach-omap2/Kconfig | 9 +
arch/arm/mach-omap2/Makefile | 3 +-
arch/arm/mach-omap2/board-omap3gta04.c | 1785 +++++++
This needs some analysis what differences we really have and if we need them or if they are even harmful:
arch/arm/mach-omap2/clock.c | 2 +
arch/arm/mach-omap2/hsmmc.c | 7 +-
arch/arm/mach-omap2/hsmmc.h | 3 +
arch/arm/mach-omap2/omap_device.c | 8 +-
arch/arm/mach-omap2/omap_hwmod.c | 4 +-
arch/arm/mach-omap2/pm34xx.c | 8 +
arch/arm/mach-omap2/powerdomains3xxx_data.c | 2 +-
Unclear:
arch/arm/tools/mach-types | 1 +
drivers/dma/omap-dma.c | 4 +-
I think this are the modifications from Neil to make the WLAN/BT reset and power control a GPIO:
drivers/gpio/Kconfig | 13 +
drivers/gpio/Makefile | 2 +
drivers/gpio/gpio-omap.c | 137 +-
drivers/gpio/gpio-reg.c | 124 +
drivers/gpio/gpio-w2sg0004.c | 324 ++
All the GPU/PVR additions:
drivers/gpu/Makefile | 2 +-
drivers/gpu/pvr/omap3/Kconfig | 92 +
drivers/gpu/pvr/omap3/Makefile | 266 +
drivers/gpu/pvr/omap3/ORIGIN.txt | 5 +
drivers/gpu/pvr/omap3/TSPA.txt | 54 +
drivers/gpu/pvr/omap3/include4/dbgdrvif.h | 381 ++
drivers/gpu/pvr/omap3/include4/img_defs.h | 153 +
drivers/gpu/pvr/omap3/include4/img_types.h | 214 +
drivers/gpu/pvr/omap3/include4/pdumpdefs.h | 126 +
drivers/gpu/pvr/omap3/include4/pvr_debug.h | 235 +
drivers/gpu/pvr/omap3/include4/pvrmodule.h | 48 +
drivers/gpu/pvr/omap3/include4/pvrversion.h | 69 +
drivers/gpu/pvr/omap3/include4/services.h | 1771 +++++++
drivers/gpu/pvr/omap3/include4/servicesext.h | 965 ++++
drivers/gpu/pvr/omap3/include4/sgx_options.h | 258 +
drivers/gpu/pvr/omap3/include4/sgxapi_km.h | 524 ++
drivers/gpu/pvr/omap3/include4/sgxscript.h | 99 +
.../3rdparty/bufferclass_example/Kbuild.mk | 45 +
.../3rdparty/bufferclass_example/Linux.mk | 45 +
.../bufferclass_example/bufferclass_example.c | 626 +++
.../bufferclass_example/bufferclass_example.h | 238 +
.../bufferclass_example_linux.c | 610 +++
.../bufferclass_example_linux.h | 67 +
.../bufferclass_example_private.c | 432 ++
.../bufferclass_example_private.h | 49 +
.../omap3/services4/3rdparty/bufferclass_ti/Kbuild | 11 +
.../services4/3rdparty/bufferclass_ti/Makefile | 25 +
.../services4/3rdparty/bufferclass_ti/bc_cat.c | 1157 +++++
.../services4/3rdparty/bufferclass_ti/bc_cat.h | 89 +
.../dc_omapfb3_linux/3rdparty_dc_drm_shared.h | 65 +
.../services4/3rdparty/dc_omapfb3_linux/Kbuild | 34 +
.../services4/3rdparty/dc_omapfb3_linux/Kbuild.mk | 49 +
.../services4/3rdparty/dc_omapfb3_linux/Linux.mk | 46 +
.../services4/3rdparty/dc_omapfb3_linux/omaplfb.h | 324 ++
.../dc_omapfb3_linux/omaplfb_displayclass.c | 1724 +++++++
.../3rdparty/dc_omapfb3_linux/omaplfb_linux.c | 1200 +++++
.../dc_ti335x_linux/3rdparty_dc_drm_shared.h | 65 +
.../services4/3rdparty/dc_ti335x_linux/Kbuild | 32 +
.../services4/3rdparty/dc_ti335x_linux/Kbuild.mk | 49 +
.../services4/3rdparty/dc_ti335x_linux/Linux.mk | 46 +
.../services4/3rdparty/dc_ti335x_linux/omaplfb.h | 324 ++
.../dc_ti335x_linux/omaplfb_displayclass.c | 1736 +++++++
.../3rdparty/dc_ti335x_linux/omaplfb_linux.c | 1219 +++++
.../dc_ti81xx_linux/3rdparty_dc_drm_shared.h | 65 +
.../services4/3rdparty/dc_ti81xx_linux/Kbuild | 32 +
.../services4/3rdparty/dc_ti81xx_linux/Kbuild.mk | 49 +
.../services4/3rdparty/dc_ti81xx_linux/Linux.mk | 46 +
.../services4/3rdparty/dc_ti81xx_linux/omaplfb.h | 324 ++
.../dc_ti81xx_linux/omaplfb_displayclass.c | 1736 +++++++
.../3rdparty/dc_ti81xx_linux/omaplfb_linux.c | 1212 +++++
.../pvr/omap3/services4/3rdparty/linux_drm/Kbuild | 51 +
.../omap3/services4/3rdparty/linux_drm/Kbuild.mk | 86 +
.../omap3/services4/3rdparty/linux_drm/Linux.mk | 45 +
.../services4/3rdparty/linux_drm/pvr_drm_mod.h | 49 +
.../services4/3rdparty/linux_drm/pvr_drm_stubs.c | 221 +
.../services4/include/env/linux/pvr_drm_shared.h | 70 +
.../gpu/pvr/omap3/services4/include/kernelbuffer.h | 97 +
.../pvr/omap3/services4/include/kerneldisplay.h | 238 +
drivers/gpu/pvr/omap3/services4/include/pdump.h | 51 +
.../gpu/pvr/omap3/services4/include/pvr_bridge.h | 2231 +++++++++
.../pvr/omap3/services4/include/pvr_bridge_km.h | 400 ++
drivers/gpu/pvr/omap3/services4/include/pvrmmap.h | 81 +
.../pvr/omap3/services4/include/pvrsrv_errors.h | 311 ++
.../gpu/pvr/omap3/services4/include/servicesint.h | 550 ++
.../gpu/pvr/omap3/services4/include/sgx_bridge.h | 779 +++
.../gpu/pvr/omap3/services4/include/sgx_mkif_km.h | 475 ++
.../services4/include/sgx_ukernel_status_codes.h | 966 ++++
drivers/gpu/pvr/omap3/services4/include/sgxinfo.h | 493 ++
.../services4/srvkm/bridged/bridged_pvr_bridge.c | 5274 ++++++++++++++++++++
.../services4/srvkm/bridged/bridged_pvr_bridge.h | 257 +
.../services4/srvkm/bridged/bridged_support.c | 117 +
.../services4/srvkm/bridged/bridged_support.h | 72 +
.../srvkm/bridged/sgx/bridged_sgx_bridge.c | 3864 ++++++++++++++
.../srvkm/bridged/sgx/bridged_sgx_bridge.h | 61 +
.../omap3/services4/srvkm/common/buffer_manager.c | 3365 +++++++++++++
.../pvr/omap3/services4/srvkm/common/deviceclass.c | 2786 +++++++++++
.../pvr/omap3/services4/srvkm/common/deviceid.h | 51 +
.../pvr/omap3/services4/srvkm/common/devicemem.c | 2430 +++++++++
.../gpu/pvr/omap3/services4/srvkm/common/handle.c | 2689 ++++++++++
.../gpu/pvr/omap3/services4/srvkm/common/hash.c | 738 +++
.../gpu/pvr/omap3/services4/srvkm/common/lists.c | 156 +
drivers/gpu/pvr/omap3/services4/srvkm/common/mem.c | 175 +
.../pvr/omap3/services4/srvkm/common/mem_debug.c | 272 +
.../gpu/pvr/omap3/services4/srvkm/common/metrics.c | 209 +
.../omap3/services4/srvkm/common/osfunc_common.c | 48 +
.../omap3/services4/srvkm/common/pdump_common.c | 2967 +++++++++++
.../gpu/pvr/omap3/services4/srvkm/common/perproc.c | 398 ++
.../gpu/pvr/omap3/services4/srvkm/common/power.c | 996 ++++
.../gpu/pvr/omap3/services4/srvkm/common/pvrsrv.c | 1833 +++++++
.../gpu/pvr/omap3/services4/srvkm/common/queue.c | 1493 ++++++
drivers/gpu/pvr/omap3/services4/srvkm/common/ra.c | 2149 ++++++++
.../pvr/omap3/services4/srvkm/common/refcount.c | 588 +++
.../gpu/pvr/omap3/services4/srvkm/common/resman.c | 985 ++++
.../pvr/omap3/services4/srvkm/devices/sgx/mmu.c | 4600 +++++++++++++++++
.../pvr/omap3/services4/srvkm/devices/sgx/mmu.h | 501 ++
.../gpu/pvr/omap3/services4/srvkm/devices/sgx/pb.c | 493 ++
.../services4/srvkm/devices/sgx/sgx_bridge_km.h | 279 ++
.../omap3/services4/srvkm/devices/sgx/sgxconfig.h | 481 ++
.../omap3/services4/srvkm/devices/sgx/sgxinfokm.h | 610 +++
.../omap3/services4/srvkm/devices/sgx/sgxinit.c | 3429 +++++++++++++
.../omap3/services4/srvkm/devices/sgx/sgxkick.c | 899 ++++
.../omap3/services4/srvkm/devices/sgx/sgxpower.c | 623 +++
.../omap3/services4/srvkm/devices/sgx/sgxreset.c | 808 +++
.../services4/srvkm/devices/sgx/sgxtransfer.c | 814 +++
.../omap3/services4/srvkm/devices/sgx/sgxutils.c | 1910 +++++++
.../omap3/services4/srvkm/devices/sgx/sgxutils.h | 195 +
.../pvr/omap3/services4/srvkm/env/linux/Kbuild.mk | 163 +
.../pvr/omap3/services4/srvkm/env/linux/Linux.mk | 45 +
.../pvr/omap3/services4/srvkm/env/linux/env_data.h | 93 +
.../omap3/services4/srvkm/env/linux/env_perproc.h | 79 +
.../pvr/omap3/services4/srvkm/env/linux/event.c | 414 ++
.../pvr/omap3/services4/srvkm/env/linux/event.h | 48 +
.../pvr/omap3/services4/srvkm/env/linux/linkage.h | 72 +
.../gpu/pvr/omap3/services4/srvkm/env/linux/lock.h | 56 +
.../gpu/pvr/omap3/services4/srvkm/env/linux/mm.c | 2799 +++++++++++
.../gpu/pvr/omap3/services4/srvkm/env/linux/mm.h | 734 +++
.../gpu/pvr/omap3/services4/srvkm/env/linux/mmap.c | 1630 ++++++
.../gpu/pvr/omap3/services4/srvkm/env/linux/mmap.h | 240 +
.../pvr/omap3/services4/srvkm/env/linux/module.c | 1214 +++++
.../pvr/omap3/services4/srvkm/env/linux/mutex.c | 153 +
.../pvr/omap3/services4/srvkm/env/linux/mutex.h | 90 +
.../pvr/omap3/services4/srvkm/env/linux/mutils.c | 166 +
.../pvr/omap3/services4/srvkm/env/linux/mutils.h | 119 +
.../pvr/omap3/services4/srvkm/env/linux/osfunc.c | 4639 +++++++++++++++++
.../omap3/services4/srvkm/env/linux/osperproc.c | 146 +
.../pvr/omap3/services4/srvkm/env/linux/pdump.c | 804 +++
.../omap3/services4/srvkm/env/linux/private_data.h | 95 +
.../gpu/pvr/omap3/services4/srvkm/env/linux/proc.c | 1417 ++++++
.../gpu/pvr/omap3/services4/srvkm/env/linux/proc.h | 134 +
.../omap3/services4/srvkm/env/linux/pvr_bridge_k.c | 524 ++
.../omap3/services4/srvkm/env/linux/pvr_debug.c | 506 ++
.../pvr/omap3/services4/srvkm/env/linux/pvr_drm.c | 716 +++
.../pvr/omap3/services4/srvkm/env/linux/pvr_drm.h | 160 +
.../omap3/services4/srvkm/env/linux/pvr_uaccess.h | 88 +
.../gpu/pvr/omap3/services4/srvkm/hwdefs/ocpdefs.h | 308 ++
.../pvr/omap3/services4/srvkm/hwdefs/sgx530defs.h | 542 ++
.../pvr/omap3/services4/srvkm/hwdefs/sgx540defs.h | 605 +++
.../pvr/omap3/services4/srvkm/hwdefs/sgx544defs.h | 1487 ++++++
.../gpu/pvr/omap3/services4/srvkm/hwdefs/sgxdefs.h | 112 +
.../pvr/omap3/services4/srvkm/hwdefs/sgxerrata.h | 518 ++
.../omap3/services4/srvkm/hwdefs/sgxfeaturedefs.h | 274 +
.../gpu/pvr/omap3/services4/srvkm/hwdefs/sgxmmu.h | 99 +
.../pvr/omap3/services4/srvkm/hwdefs/sgxmpdefs.h | 365 ++
.../omap3/services4/srvkm/include/buffer_manager.h | 622 +++
.../gpu/pvr/omap3/services4/srvkm/include/device.h | 409 ++
.../gpu/pvr/omap3/services4/srvkm/include/handle.h | 567 +++
.../gpu/pvr/omap3/services4/srvkm/include/hash.h | 277 +
.../gpu/pvr/omap3/services4/srvkm/include/lists.h | 349 ++
.../pvr/omap3/services4/srvkm/include/metrics.h | 146 +
.../gpu/pvr/omap3/services4/srvkm/include/osfunc.h | 793 +++
.../pvr/omap3/services4/srvkm/include/osperproc.h | 94 +
.../pvr/omap3/services4/srvkm/include/pdump_int.h | 100 +
.../pvr/omap3/services4/srvkm/include/pdump_km.h | 441 ++
.../omap3/services4/srvkm/include/pdump_osfunc.h | 337 ++
.../gpu/pvr/omap3/services4/srvkm/include/perfkm.h | 53 +
.../pvr/omap3/services4/srvkm/include/perproc.h | 150 +
.../gpu/pvr/omap3/services4/srvkm/include/power.h | 140 +
.../gpu/pvr/omap3/services4/srvkm/include/queue.h | 145 +
drivers/gpu/pvr/omap3/services4/srvkm/include/ra.h | 290 ++
.../pvr/omap3/services4/srvkm/include/refcount.h | 203 +
.../gpu/pvr/omap3/services4/srvkm/include/resman.h | 152 +
.../services4/srvkm/include/services_headers.h | 68 +
.../gpu/pvr/omap3/services4/srvkm/include/srvkm.h | 129 +
.../gpu/pvr/omap3/services4/srvkm/include/ttrace.h | 200 +
.../omap3/services4/srvkm/include/ttrace_common.h | 146 +
.../omap3/services4/srvkm/include/ttrace_tokens.h | 119 +
.../pvr/omap3/services4/system/include/syscommon.h | 395 ++
.../pvr/omap3/services4/system/omap3/oemfuncs.h | 56 +
.../pvr/omap3/services4/system/omap3/sysconfig.c | 966 ++++
.../pvr/omap3/services4/system/omap3/sysconfig.h | 54 +
.../gpu/pvr/omap3/services4/system/omap3/sysinfo.h | 41 +
.../pvr/omap3/services4/system/omap3/syslocal.h | 212 +
.../pvr/omap3/services4/system/omap3/sysutils.c | 30 +
.../omap3/services4/system/omap3/sysutils_linux.c | 587 +++
.../pvr/omap3/services4/system/omap3630/oemfuncs.h | 56 +
.../omap3/services4/system/omap3630/sysconfig.c | 966 ++++
.../omap3/services4/system/omap3630/sysconfig.h | 54 +
.../pvr/omap3/services4/system/omap3630/sysinfo.h | 41 +
.../pvr/omap3/services4/system/omap3630/syslocal.h | 212 +
.../pvr/omap3/services4/system/omap3630/sysutils.c | 30 +
.../services4/system/omap3630/sysutils_linux.c | 587 +++
.../pvr/omap3/services4/system/omap4/oemfuncs.h | 80 +
.../pvr/omap3/services4/system/omap4/sysconfig.c | 1298 +++++
.../pvr/omap3/services4/system/omap4/sysconfig.h | 110 +
.../gpu/pvr/omap3/services4/system/omap4/sysinfo.h | 64 +
.../pvr/omap3/services4/system/omap4/syslocal.h | 258 +
.../pvr/omap3/services4/system/omap4/sysutils.c | 49 +
.../omap3/services4/system/omap4/sysutils_linux.c | 849 ++++
.../pvr/omap3/services4/system/ti335x/oemfuncs.h | 56 +
.../pvr/omap3/services4/system/ti335x/sysconfig.c | 966 ++++
.../pvr/omap3/services4/system/ti335x/sysconfig.h | 54 +
.../pvr/omap3/services4/system/ti335x/sysinfo.h | 41 +
.../pvr/omap3/services4/system/ti335x/syslocal.h | 212 +
.../pvr/omap3/services4/system/ti335x/sysutils.c | 30 +
.../omap3/services4/system/ti335x/sysutils_linux.c | 536 ++
.../pvr/omap3/services4/system/ti81xx/oemfuncs.h | 56 +
.../pvr/omap3/services4/system/ti81xx/sysconfig.c | 969 ++++
.../pvr/omap3/services4/system/ti81xx/sysconfig.h | 59 +
.../pvr/omap3/services4/system/ti81xx/sysinfo.h | 41 +
.../pvr/omap3/services4/system/ti81xx/syslocal.h | 212 +
.../pvr/omap3/services4/system/ti81xx/sysutils.c | 30 +
.../omap3/services4/system/ti81xx/sysutils_linux.c | 559 +++
Unclear:
drivers/input/misc/bma150.c | 2 +-
Ok, our specific tsc2007-gta04 addition - we should try to get it upstream:
drivers/input/touchscreen/Kconfig | 11 +
drivers/input/touchscreen/Makefile | 1 +
drivers/input/touchscreen/tsc2007-gta04.c | 606 +++
drivers/input/touchscreen/tsc2007.c | 8 +-
Camera addition (should go upstream - maybe in drivers/staging/media)):
drivers/media/i2c/Kconfig | 8 +
drivers/media/i2c/Makefile | 1 +
drivers/media/i2c/ov9655.c | 1824 +++++++
I think here hide some of Neil's patches for power management and wakeup:
drivers/mfd/twl4030-irq.c | 2 +-
drivers/mfd/twl4030-power.c | 11 +-
drivers/misc/bmp085.c | 69 +-
drivers/mmc/host/omap_hsmmc.c | 26 +-
drivers/net/usb/hso.c | 6 +-
drivers/power/Kconfig | 6 +
drivers/power/Makefile | 1 +
drivers/power/bq27x00_battery.c | 20 +-
drivers/power/twl4030_charger.c | 148 +-
drivers/pwm/Kconfig | 9 +
drivers/pwm/Makefile | 1 +
drivers/pwm/pwm-omap.c | 249 +
CCG is the Android Gadget stuff (neither tested nor wanted by upstream maintainers):
drivers/staging/Kconfig | 2 +
drivers/staging/Makefile | 1 +
drivers/staging/ccg/Kconfig | 20 +
drivers/staging/ccg/Makefile | 4 +
drivers/staging/ccg/TODO | 6 +
drivers/staging/ccg/ccg.c | 995 ++++
drivers/staging/ccg/sysfs-class-ccg_usb | 128 +
The ITG3200 (I think this is our own addition since it is so big):
drivers/staging/iio/gyro/Kconfig | 12 +
drivers/staging/iio/gyro/Makefile | 2 +
drivers/staging/iio/gyro/itg3200_core.c | 580 +++
drivers/staging/iio/gyro/itg3200_platform_data.h | 11 +
Maybe Neil's special wakeup code for GPS/BT power control:
drivers/tty/serial/omap-serial.c | 38 +-
Unclear:
drivers/usb/gadget/f_uac2.c | 2 +-
drivers/usb/musb/musb_core.c | 3 +
drivers/usb/phy/phy-twl4030-usb.c | 84 +-
drivers/usb/phy/phy.c | 3 +-
The new Display panel driver (should go upstream easily into 3.13):
drivers/video/Kconfig | 2 +
drivers/video/omap2/displays-new/Kconfig | 6 +
drivers/video/omap2/displays-new/Makefile | 1 +
.../omap2/displays-new/panel-tpo-td028ttec1.c | 549 ++
Header files for additions/modifications:
include/linux/gpio-reg.h | 8 +
include/linux/gpio-w2sg0004.h | 10 +
include/linux/i2c/bmp085.h | 16 +
include/linux/i2c/tsc2007.h | 15 +-
include/linux/platform_data/mmc-omap.h | 1 +
include/linux/platform_data/omap-pwm.h | 20 +
include/linux/platform_data/omap-twl4030.h | 5 +
include/media/ov9655.h | 16 +
include/video/omap-panel-data.h | 22 +
Unclear:
kernel/irq/pm.c | 2 +-
To get it cross-compiled on a Mac OS X HOSTCC:
scripts/sortextable.c | 3 +
Finally all GTA04 voice & sound additions:
sound/soc/codecs/Kconfig | 24 +
sound/soc/codecs/Makefile | 10 +
sound/soc/codecs/gtm601.c | 95 +
sound/soc/codecs/gtm601.h | 23 +
sound/soc/codecs/si47xx.c | 497 ++
sound/soc/codecs/si47xx.h | 23 +
sound/soc/codecs/twl4030.c | 134 +-
sound/soc/codecs/twl4030.h | 53 +
sound/soc/codecs/w2cbw003-bt.c | 100 +
sound/soc/codecs/w2cbw003-bt.h | 23 +
sound/soc/omap/Kconfig | 8 +
sound/soc/omap/Makefile | 3 +
sound/soc/omap/gta04-audio.c | 372 ++
sound/soc/omap/gta04-fm.c | 187 +
sound/soc/omap/gta04-headset.c | 146 +
sound/soc/omap/gta04-jack.c | 230 +
sound/soc/omap/gta04-voice.c | 159 +
sound/soc/omap/omap-mcbsp.c | 33 +
sound/soc/omap/omap-twl4030.c | 7 +
299 files changed, 131675 insertions(+), 99 deletions(-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.goldelico.com/pipermail/gta04-owner/attachments/20130914/8ddba900/attachment-0001.html>
More information about the Gta04-owner
mailing list