Mikael's DS101 Linux Kernel Patches Log ======================================= 2012-09-19 / kernel 3.5 - dropped arm-dma_free_coherent and arm-ixp4xx-gpio patches - updated ds101-support patch for ixp4xx PCI init changes in kernel 3.5 - incremented CONFIG_LOG_BUF_SHIFT to avoid losing early kernel output from dmesg due to changes in kernel 3.5 2012-06-03 / kernel 3.4 - update ds101-setup.c to match recent .init_early change 2012-05-27 / kernel 3.3 - .config: enable VT, needed by upstart and mingetty - .config cleanups: disable USB_DEVICEFS and CRC_T10DIF, enable MAGIC_SYSRQ 2012-05-06 / kernel 3.3 - .config: enable CGROUPS (but no sub-options), LBDAF, BLK_DEV_BSG, DEVTMPFS, DEVTMPFS_MOUNT, TMPFS_POSIX_ACL, TMPFS_XATTR, and SECURITY (but no sub-options) - .config: change NLS_DEFAULT from iso8859-1 to utf8 - .config: disable SYSCTL_SYSCALL and SYSCTL_SYSCALL_CHECK - add patch to bind .restart to ixp4xx_restart in ds101 MACHINE definition, without this the machine fails to reboot and instead hangs 2012-01-29 / kernel 3.2 - update ds101-setup.c to match recent .atag_offset and #include changes - add hack to #define gpio_set_value __gpio_set_value in (and likewise for get_value) to prevent compile errors in ds101-setup.c and generic i2c driver code - update .config for PHYS_OFFSET change - update .config to enable {SIGNAL,TIMER,EVENT}FD to permit newer userspace 2011-07-23 / kernel 3.0 - update arm-ixp4xx-disable-dmabounce patch to work in the 3.0 kernel - fold ds101-irq-type-fixup patch into main ds101 support patch 2011-06-06 / kernel 2.6.39 - DS101 fell victim of the big mach-types cleanup in 2.6.39, add it back - update ds101-pci.c to match the set_irq_type -> irq_set_irq_type change 2011-03-19 / kernel 2.6.38 - dropped binfmt_elf cleanup patch as upstream has it now 2011-02-12 / kernel 2.6.37 - dropped dma_set_coherent_mask patch as upstream has it now - disabled CONFIG_MTD as something there (likely doc2000) oopses during boot, and I don't care enough to debug it 2010-11-27 / kernel 2.6.36 - added Imre Kaloz' patch to EXPORT_SYMBOL(dma_set_coherent_mask) 2010-09-17 / kernel 2.6.36-rc4 - dropped sys_accept4 patch as upstream has it now 2010-09-17 / kernel 2.6.35 - added patch to wire up sys_accept4 on ARM - added binfmt_elf cleanup patch (for testing) - modernised .config 2010-07-17 / kernel 2.6.35-rc5 - dropped gcc-4.5 __naked fix as upstream has it now 2010-06-02 / kernel 2.6.35-rc1 - dropped rmk's cache flush optimization patch as upstream has it now - reenabled Kluin's bad C code patch which had gotten accidentally disabled in some earlier patch kit - added patch to fix __naked attribute functions with gcc-4.5 2010-05-18 / kernel 2.6.34 - repaired ixp4xx dmabounce disable patch and re-enabled it - updated .config to make ixp4xx_eth builtin rather than a module - updated .config to exclude USB network and AX8817X modules 2010-05-01 / kernel 2.6.34-rc6 - removed now obsolete elf.h and tty_buffer.c warning fixes - temporarily disabled ixp4xx dmabounce disable patch as it conflicts with upstream kernel changes 2010-03-26 / kernel 2.6.34-rc1 - dropped ixp4xx sched_clock() patch as upstream has it now - folded ds101 cleanups patch into main ds101 support patch - added patches to silence compilation warnings in ARM's and drivers/char/tty_buffer.c 2010-03-26 / kernel 2.6.33 - reenabled rmk's cache flush optimization patch which got accidentally disabled in initial 2.6.33 patch kit 2010-02-28 / kernel 2.6.33 - added patch to eliminate ds101 definitions from common include files, similar to the cleanups done for other ixp4xx machines 2009-12-27 / kernel 2.6.33-rc2 - added rmk's cache flush optimization patch 2009-12-05 / kernel 2.6.32 - added patch to implement sched_clock() for ixp4xx 2009-10-08 / kernel 2.6.32-rc3 - dropped temporary EXTRAVERSION patch 2009-09-29 / kernel 2.6.32-rc1 - dropped restore-sigmask, ixp4xx timer, and ixp4xx arch_idle patches they are now in the upstream kernel - added EXTRAVERSION patch to correct rc2 -> rc1 in Makefile 2009-09-27 / kernel 2.6.31 - added ixp4xx timer and arch_idle cleanup patches - enabled CONFIG_PM in .config which allows UHCI_HCD to disable its root hub polling timers; this more than halved the clock tick rate in idle 2009-08-22 / kernel 2.6.31-rc7 - dropped IO_SPACE_LIMIT patch as it's now in the upstream kernel - enabled NO_HZ and HIGH_RES_TIMERS in .config 2009-08-04 / kernel 2.6.31-rc5 - updated restore-sigmask patch (v2 -> v3) - added Roel Kluin's patch to fix some bad C code in the kernel (rmk disapproves of it, alas) - 2.6.30-git19 started using IO_SPACE_LIMIT as a mask not a limit in the pci probing path, but ixp4xx' version emphatically does not work as a mask, resulting in PCI probing failures and boot failures; added arm-ixp4xx-IO_SPACE_LIMIT patch to fix this 2009-07-08 / kernel 2.6.30 - rediffed patches against 2.6.30 final 2009-06-06 / kernel 2.6.30-rc8 - folded ds101 sysfs leds files colour indicators patch into main ds101 support patch 2009-05-16 / kernel 2.6.30-rc6 - dropped preadv/pwritev patch as it's now in the upstream kernel - re-enabled colour indicators on ds101 sysfs leds files as the upstream kernel finally has lifted the name length limitations 2009-04-25 / kernel 2.6.30-rc3 - dropped oabi compat fix patch and uevent helper fix patch as they are now in the upstream kernel 2009-04-19 / kernel 2.6.30-rc2 - added upstream patch to unbreak CONFIG_UEVENT_HELPER_PATH, firmware loading for ixp4xx_eth now works again 2009-04-18 / kernel 2.6.30-rc2 - dropped Krzysztof Halasa's BAR4 relocation patch is it's now in the upstream kernel - added patch to hook up sys_preadv and sys_pwritev on ARM - added Eric Miao's patch to fix a compile error in sys_oabi-compat.c - something in the upstream kernel broke ixp4xx_eth, it looks like a failure to load the NPE firmware 2009-03-29 / kernel 2.6.29 - added patch to implement TIF_RESTORE_SIGMASK and to hook up sys_pselect6, sys_ppoll, and sys_epoll_pwait on ARM 2008-12-30 / kernel 2.6.28 - added Krzysztof Halasa's patch to relocate IXP4xx PCI BAR4 to 64MB, that solves the IXP4xx PCI read prefetch erratum - added patch and kernel option to allow the ARM dmabounce code to be disabled, and another option to also disable ZONE_DMA and the generic bouncing code (only needed for >64MB RAM) 2008-11-24 / kernel 2.6.28-rc6 - dropped arm elf soft-vfp patch as new kernel has it 2008-11-02 / kernel 2.6.28-rc2 - dropped arm futex patch as the new kernel has it - added arm elf soft-vfp patch so oabi soft-vfp binaries can run - renamed patch kit tarball as ds101-patches-- and standalone patch as patch--ds101- to reflect the fact that only ds101 specific patches are included, as all ixp4xx support is now upstream 2008-10-25 / kernel 2.6.27 - dropped gendisk-kill-cmdfilter patch as the new kernel has it - folded ds101 fixup patch into main ds101 patch 2008-09-07 / kernel 2.6.27-rc5 - added gendisk-kill-cmdfilter patch from upstream git to fix massive kobject warnings during mtd partition setup 2008-08-24 / kernel 2.6.27-rc4 - dropped ixp4xx_eth-dma_mapping_error-fix and arm-prefetch-gcc43 patches as the new kernel has them - reverted rmk's coherent gc patch and went back to the dma_free_coherent WARN_ON patch, the coherent gc patch is reported to cause file system corruption on an FSG-3 2008-08-17 / kernel 2.6.27-rc3 - folded ds101 cleanups into main ds101 patch - updated ds101 patch for arm include files reorganisation - updated futex patch for arm include files reorganisation - dropped cpumask_of_cpu() patch since the new kernel has it - added arm prefetch() fix for gcc-4.3 from arm patch system - replaced dma_free_coherent() WARN_ON patch with rmk's coherent gc patch 2008-08-02 / kernel 2.6.27-rc1 - added cpumask_of_cpu() patch to enable compiling with gcc-3.4 - more ds101 cleanups in preparation for upstream submission - added ds101 short 40-wire cable override to pata_artop - regrouped patches into 6xx (generic fixes), 7xx (ds101 support for upstream), and 8xx (ds101 followups not yet for upstream) 2008-08-01 / kernel 2.6.27-rc1 - dropped nslu2, fls(), and ixp4xx_eth napi patches now in 2.6.27-rc1 - folded ds101 updates and cleanups into main ds101 patch - added ds101 fixups for IRQT_LOW and IRQT_FALLING removal - added ixp4xx_eth fix for dma_mapping_error() prototype change 2008-08-01 / kernel 2.6.26 - grabbed kernel 2.6.26 ixp4xx patches from svn.nslu2-linux.org - folded ds101 updates into main ds101 patch - moved doc2000.h changes info separate patch (not upstream ready) - added I2C_BOARD_INFO update for rtc-rs5c372 driver change - ds101 cleanups to make it more ready for upstream submission 2008-08-01 / kernel 2.6.25.13 - added arm fls() fix from 2.6.27-rc1 kernel - added ixp4xx_eth napi fix from 2.6.27-rc1 kernel - replaced old asm-generic/futex.h:futex_atomic_cmpxchg_inatomic() patch with a new asm-arm/futex.h patch which supports both futex_atomic_cmpxchg_inatomic() and futex_atomic_op_inuser(); with the new patch glibc-2.6's nptl test suite passes (except for tst-cancel17, but it also fails w/o the futex patch) 2008-07-21 / kernel 2.6.25.11 - grabbed kernel 2.6.25.6 ixp4xx patches from svn.nslu2-linux.org - folded ds101 updates into main ds101 patch - updated ds101 leds code to match baseline ixp4xx/nslu2 changes - corrected solid-or-blinking attributes in ds101 leds definitions - removed colour indicators from sysfs leds file names as that caused sysfs duplicate file errors due to something truncating the names 2008-07-20 / kernel 2.6.24.7 - ds101 updates matching baseline ixp4xx/nslu2 changes: * updated buttons code to use gpio_to_irq(), dropped now superfluous DS101_{POWERB,RESETB,USBCOPYB}_IRQ declarations * convert to using leds-gpio instead of IXP4XX-GPIO-LED driver * merge power & buttons code into main ds101 setup file - ds101 coding style cleanups - ds101 author and maintainer info update 2008-07-19 / kernel 2.6.24.7 - grabbed kernel 2.6.24.7 ixp4xx patches from svn.nslu2-linux.org - folded ds101 timer correction patch into ds101 patch - dropped ixp4xx_set_mode() patch as the new kernel has it 2008-07-18 / kernel 2.6.23.14 - final update for the 2.6.23.14 kernel with a correction of the ds101 timer frequency from 66000000 to 66330000; based on months of experimentation this has been shown to drastically reduce clock drift 2008-02-03 / kernel 2.6.23.14 - grabbed kernel 2.6.23.14 ixp4xx patches from svn.nslu2-linux.org - nslu2-linux dropped patch numbers, so created my own patch numbers - folded ds101 i2c/rtc update into ds101 patch - replaced ixp4xx_set_mode() patch with the correct fix from the 2.6.24 kernel - added ds101 ixp4xx_eth glue patch from Pierre Hébert; I'm now using Krzysztof Halasa's ixp4xx_eth driver instead of Intel's IXP400 Software (finally!) 2007-10-22 / kernel 2.6.23 - grabbed kernel 2.6.23 ixp4xx patches from svn.nslu2-linux.org - folded ds101 updates into ds101 patch and forward-ported it to 2.6.23 - added patch to prevent a use of an uninitialised variable error in ixp4xx_set_mode() - added patch to change a WARN_ON() in dma_free_coherent() to just printk() a WARNING; this triggers occasionally and the stack dumps actually make matters worse - added ds101 update to register a i2c_board_info for the ds101's rtc-rs5c372: kernel 2.6.23 changed rtc-rs5c372 so it no longer honours a command-line setup option but must be activated via an i2c_board_info 2007-08-01 / kernel 2.6.22 - grabbed kernel 2.6.22 ixp4xx patches from svn.nslu2-linux.org - folded ds101 cleanups patch into ds101 patch and forward-ported it to 2.6.22 - added ds101 update for i2c-gpio changes - added ds101 update for more _GPIO related cleanups - added ds101 update to set up the IXP4XX timer with a slightly lower frequency (seems to lose time a little less now) - added patch to make asm-generic's futex_atomic_cmpxchg_inatomic() actually work, which is absolutely essential for NPTL 2007-05-19 / kernel 2.6.21 - grabbed kernel 2.6.21 ixp4xx patches from svn.nslu2-linux.org - forward-ported my ds101 patch to 2.6.21 - added ds101 cleanups patch for _GPIO definitions (matching changes in the base ixp4xx code) and some other minor stuff 2007-02-10 / kernel 2.6.20 - grabbed kernel 2.6.20 ixp4xx patches from svn.nslu2-linux.org - folded ds101-buttons fix into ds101 patch and forward-ported it to 2.6.20 2006-12-17 / kernel 2.6.19 - grabbed kernel 2.6.19 ixp4xx patches from svn.nslu2-linux.org - the ds101 patches had been dropped from the ixp4xx patches: forward-ported my 2.6.17 ds101 patches to 2.6.18 - fixed ds101-buttons for irq handler changes - added patch to initialise ai_usermode to 3 to ensure that init-time alignment errors are logged and handled before user-space has had a chance to set ai_usermode via /proc 2006-09-30 / kernel 2.6.18 - grabbed kernel 2.6.18 ixp4xx patches from svn.nslu2-linux.org - the ds101 patches were still included, but hadn't been updated since the 2.6.17 patch kit: folded my 2.6.17 ds101 patches + updates into a single one and forward-ported it to 2.6.18 - dropped Hohnstaedt's new ixp4xx ethernet driver patches as I'm now using the Intel IXP400 Software and Ethernet drivers 2006-09-30 / kernel 2.6.17 - grabbed kernel 2.6.17 ixp4xx patches from svn.nslu2-linux.org - the ds101 patches didn't apply cleanly as-is, so combined them to a single one and rediffed against 2.6.17 + earlier ixp4xx patches - the ds101 patches were stale, so added ds101 fixes for Kconfig, Makefile, and ds101-setup for the leds - converted the new ixp4xx_defconfig to patch form 2006-09-17 / kernel 2.6.16 - grabbed kernel 2.6.16 ixp4xx patches from svn.nslu2-linux.org - hacked arch/arm/kernel/head.S to enforce machine type DS101: RedBoot passes the IXDP425 machine type, which is incorrect; this kludge should go away so I'm keeping this separate from the main ds101 patch - used AX8817X USB ethernet driver (it hangs after a while, alas)