merge of '8ee5fde10ca72ef93660e0426265e0ddb8fd2ece'
authorMatt Reimer <mattjreimer@gmail.com>
Tue, 30 Jan 2007 22:03:44 +0000 (22:03 +0000)
committerMatt Reimer <mattjreimer@gmail.com>
Tue, 30 Jan 2007 22:03:44 +0000 (22:03 +0000)
     and 'd71be2cdd408ee537bcb51e66ff0eced4bf31af7'

395 files changed:
classes/package.bbclass
classes/scons.bbclass
classes/siteinfo.bbclass
conf/distro/angstrom-2007.1.conf
conf/distro/include/angstrom-glibc.inc
conf/distro/include/angstrom-uclibc.inc
conf/distro/include/opie-users-are-too-stupid-to-put-this-in-local.conf.inc [deleted file]
conf/distro/include/slugos.inc
conf/distro/slugos-bag.conf
conf/distro/slugos-bau.conf
conf/distro/slugos-btu.conf
conf/distro/slugos-lag.conf
conf/distro/slugos-lau.conf
conf/distro/slugos-ltu.conf
conf/distro/unslung.conf
conf/machine/compulab-pxa270.conf
conf/machine/ep93xx.conf
conf/machine/h4000.conf
conf/machine/include/ixp4xx.conf
conf/machine/include/tune-thumb.conf
conf/machine/include/tune-xscale.conf
conf/machine/include/zaurus-2.6.conf
conf/machine/include/zaurus-clamshell.conf
conf/machine/ixp4xx.conf
conf/machine/ixp4xxbe.conf
conf/machine/ixp4xxle.conf
conf/machine/nslu2.conf
conf/machine/nslu2be.conf [new file with mode: 0644]
conf/machine/nslu2le.conf [new file with mode: 0644]
conf/machine/palmz72.conf [new file with mode: 0644]
conf/machine/rx3000.conf
conf/machine/spitz.conf
packages/aalib/aalib_1.4rc5.bb
packages/acpid/acpid-1.0.2/init [deleted file]
packages/acpid/acpid-1.0.3/init [deleted file]
packages/acpid/acpid-1.0.4/init [deleted file]
packages/acpid/acpid_1.0.2.bb
packages/acpid/acpid_1.0.3.bb
packages/acpid/acpid_1.0.4.bb
packages/acpid/files/.mtn2git_empty [new file with mode: 0644]
packages/acpid/files/init [new file with mode: 0755]
packages/apex/apex_1.4.11.bb
packages/apex/apex_1.4.7.bb
packages/arm-kernel-shim/.mtn2git_empty [new file with mode: 0644]
packages/arm-kernel-shim/arm-kernel-shim_1.4.11.bb [new file with mode: 0644]
packages/arm-kernel-shim/files/.mtn2git_empty [new file with mode: 0644]
packages/arm-kernel-shim/files/config-dsmg600.h [new file with mode: 0644]
packages/arm-kernel-shim/files/config-fsg3.h [new file with mode: 0644]
packages/arm-kernel-shim/files/config-nas100d.h [new file with mode: 0644]
packages/arm-kernel-shim/files/config-nslu2.h [new file with mode: 0644]
packages/arm-kernel-shim/files/disable-commandline.patch [new file with mode: 0644]
packages/arpwatch/arpwatch_2.1a15.bb
packages/bb/.mtn2git_empty [new file with mode: 0644]
packages/bb/bb_1.2.bb [new file with mode: 0644]
packages/bb/files/.mtn2git_empty [new file with mode: 0644]
packages/bb/files/fix-compile.patch [new file with mode: 0644]
packages/bluez/bluez-libs.inc [new file with mode: 0644]
packages/bluez/bluez-libs_3.9.bb [new file with mode: 0644]
packages/bluez/bluez-utils-3.9/.mtn2git_empty [new file with mode: 0644]
packages/bluez/bluez-utils-3.9/hciattach-ti-bts.patch [new file with mode: 0644]
packages/bluez/bluez-utils.inc
packages/bluez/bluez-utils_3.9.bb [new file with mode: 0644]
packages/bmon/.mtn2git_empty [new file with mode: 0644]
packages/bmon/bmon_2.1.0.bb [new file with mode: 0644]
packages/bmon/files/.mtn2git_empty [new file with mode: 0644]
packages/bmon/files/no-strip.patch [new file with mode: 0644]
packages/cairo/cairo_1.3.10.bb [deleted file]
packages/cairo/cairo_1.3.12.bb [new file with mode: 0644]
packages/cairo/cairo_git.bb
packages/cairo/files/cairo-surface-cache.patch [new file with mode: 0644]
packages/chibitracker/.mtn2git_empty [new file with mode: 0644]
packages/chibitracker/chibitracker_svn.bb [new file with mode: 0644]
packages/dri/drm-kernel/.mtn2git_empty [new file with mode: 0644]
packages/dri/drm-kernel/make.patch [new file with mode: 0644]
packages/dri/drm_cvs.bb
packages/dri/libdrm_2.3.0.bb [new file with mode: 0644]
packages/dri/make.patch [deleted file]
packages/e17/e-wm_0.16.999.036.bb [deleted file]
packages/e17/e-wm_0.16.999.037.bb [new file with mode: 0644]
packages/e17/entrance/Sessions/Enlightenment
packages/e17/entrance_0.9.0.007.bb
packages/efl/ecore-fb_0.9.9.036.bb [deleted file]
packages/efl/ecore-fb_0.9.9.037.bb [new file with mode: 0644]
packages/efl/ecore-native_0.9.9.036.bb [deleted file]
packages/efl/ecore-native_0.9.9.037.bb [new file with mode: 0644]
packages/efl/ecore-x11_0.9.9.036.bb [deleted file]
packages/efl/ecore-x11_0.9.9.037.bb [new file with mode: 0644]
packages/efl/ecore.inc
packages/efl/ecore/fix-tslib-configure.patch
packages/efl/edb-native/.mtn2git_empty [new file with mode: 0644]
packages/efl/edb-native/no-gtk-forkbomb.patch [new file with mode: 0644]
packages/efl/edb-native_1.0.5.007.bb
packages/efl/edb_1.0.5.007.bb
packages/efl/edje-native_0.5.0.036.bb [deleted file]
packages/efl/edje-native_0.5.0.037.bb [new file with mode: 0644]
packages/efl/edje-utils_0.5.0.036.bb [deleted file]
packages/efl/edje-utils_0.5.0.037.bb [new file with mode: 0644]
packages/efl/edje_0.5.0.036.bb [deleted file]
packages/efl/edje_0.5.0.037.bb [new file with mode: 0644]
packages/efl/eet-native_0.9.10.036.bb [deleted file]
packages/efl/eet-native_0.9.10.037.bb [new file with mode: 0644]
packages/efl/eet_0.9.10.036.bb [deleted file]
packages/efl/eet_0.9.10.037.bb [new file with mode: 0644]
packages/efl/embryo-native_0.9.1.036.bb [deleted file]
packages/efl/embryo-native_0.9.1.037.bb [new file with mode: 0644]
packages/efl/embryo-utils_0.9.1.036.bb [deleted file]
packages/efl/embryo-utils_0.9.1.037.bb [new file with mode: 0644]
packages/efl/embryo_0.9.1.036.bb [deleted file]
packages/efl/embryo_0.9.1.037.bb [new file with mode: 0644]
packages/efl/evas-fb_0.9.9.036.bb [deleted file]
packages/efl/evas-fb_0.9.9.037.bb [new file with mode: 0644]
packages/efl/evas-native_0.9.9.036.bb [deleted file]
packages/efl/evas-native_0.9.9.037.bb [new file with mode: 0644]
packages/efl/evas-x11_0.9.9.036.bb [deleted file]
packages/efl/evas-x11_0.9.9.037.bb [new file with mode: 0644]
packages/efl/evas/fix-configure.patch
packages/gizmod/.mtn2git_empty [new file with mode: 0644]
packages/gizmod/files/.mtn2git_empty [new file with mode: 0644]
packages/gizmod/files/disable-bmp.patch [new file with mode: 0644]
packages/gizmod/files/disable-xmms.patch [new file with mode: 0644]
packages/gizmod/files/fix-python-configure.patch [new file with mode: 0644]
packages/gizmod/gizmod_2.3.bb [new file with mode: 0644]
packages/gnokii/gnokii_0.6.14.bb [new file with mode: 0644]
packages/gnokii/gnokii_0.6.4.bb
packages/gnome/gnome-vfs_2.16.3.bb
packages/gob2/.mtn2git_empty [new file with mode: 0644]
packages/gob2/gob2_2.0.14.bb [new file with mode: 0644]
packages/gpe-soundserver/gpe-soundserver_0.4-1.bb
packages/gstreamer/gst-plugins.inc
packages/gtk+/gtk+-2.6.10/compile-against-newer-glib.patch [new file with mode: 0644]
packages/gtk+/gtk+_2.6.10.bb
packages/hal/files/99_hal [new file with mode: 0644]
packages/hal/hal_0.5.8.1.bb
packages/images/slugos-image.bb
packages/initscripts/initscripts-1.0/checkroot.sh
packages/initscripts/initscripts_1.0.bb
packages/ipkg/ipkg-0.99.163/.mtn2git_empty [new file with mode: 0644]
packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename [new file with mode: 0644]
packages/ipkg/ipkg_0.99.163.bb
packages/ixp425-eth/ixp400-eth_1.4.bb
packages/ixp425-eth/ixp400-eth_1.5.1.bb
packages/ixp425-eth/ixp400-eth_1.5.bb
packages/ixp4xx/ixp-osal_2.0.bb
packages/ixp4xx/ixp-osal_2.1.1.bb
packages/ixp4xx/ixp-osal_2.1.bb
packages/ixp4xx/ixp4xx-csr_2.0.bb
packages/ixp4xx/ixp4xx-csr_2.1.1.bb
packages/ixp4xx/ixp4xx-csr_2.1.bb
packages/ixp4xx/ixp4xx-npe_2.1.bb
packages/ixp4xx/ixp4xx-npe_2.3.bb
packages/keymaps/keymaps_1.0.bb
packages/libnl/files/fix-helpers.patch [new file with mode: 0644]
packages/libnl/files/libnl-0.5.0-include.diff [new file with mode: 0644]
packages/libnl/libnl_0.5.0.bb [new file with mode: 0644]
packages/libsoundgen/libsoundgen_0.3.bb
packages/libxine/libxine-x11_1.0.bb
packages/libxine/libxine_1.1.0.bb
packages/linux/ixp4xx-kernel-svnpatch.inc
packages/linux/ixp4xx-kernel.inc
packages/linux/ixp4xx-kernel/2.6.19/.mtn2git_empty [new file with mode: 0644]
packages/linux/ixp4xx-kernel/2.6.19/defconfig [new file with mode: 0644]
packages/linux/ixp4xx-kernel/2.6.19/series [new file with mode: 0644]
packages/linux/ixp4xx-kernel/2.6.20/.mtn2git_empty [new file with mode: 0644]
packages/linux/ixp4xx-kernel/2.6.20/defconfig [new file with mode: 0644]
packages/linux/ixp4xx-kernel/2.6.20/series [new file with mode: 0644]
packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc4.bb [deleted file]
packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc6.bb [new file with mode: 0644]
packages/linux/ixp4xx-kernel_2.6.19.bb
packages/linux/linux-epia-2.6.19.2/epia_defconfig
packages/linux/linux-epia_2.6.19.2.bb
packages/linux/linux-ezx/defconfig-a780
packages/linux/linux-ezx_2.6.16.13.bb
packages/linux/linux-hackndev-2.6/palmz72/.mtn2git_empty [new file with mode: 0644]
packages/linux/linux-hackndev-2.6/palmz72/defconfig [new file with mode: 0644]
packages/linux/linux-hackndev-2.6_svn.bb
packages/linux/linux-handhelds-2.6/h3900/defconfig
packages/linux/linux-handhelds-2.6/h4000/defconfig
packages/linux/linux-handhelds-2.6/rx3000/defconfig
packages/linux/linux-handhelds-2.6_2.6.19-hh8.bb
packages/linux/linux-omap1.inc
packages/linux/nslu2-kernel.inc [deleted file]
packages/linux/nslu2-kernel/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch [deleted file]
packages/linux/nslu2-kernel/2.6.11-mm/defconfig [deleted file]
packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch [deleted file]
packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch [deleted file]
packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.12/defconfig [deleted file]
packages/linux/nslu2-kernel/2.6.12/disk_led_blinking.patch [deleted file]
packages/linux/nslu2-kernel/2.6.12/missing-exports.patch [deleted file]
packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch [deleted file]
packages/linux/nslu2-kernel/2.6.12/nslu2-setup.c [deleted file]
packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14-mm/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14-mm/defconfig [deleted file]
packages/linux/nslu2-kernel/2.6.14/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-le.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/19-jffs2-force-be.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/20-timer.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/30-i2c-x1205.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/55-nslu2-rtc.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/60-nslu2-beeper.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/70-nslu2-io.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/75-nslu2-leds.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/90-pegasus.patch [deleted file]
packages/linux/nslu2-kernel/2.6.14/defconfig [deleted file]
packages/linux/nslu2-kernel/2.6.15/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/40-rtc-class.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/60-nslu2-beeper.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/75-nslu2-leds.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/80-nslu2-io.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/85-timer.patch [deleted file]
packages/linux/nslu2-kernel/2.6.15/defconfig [deleted file]
packages/linux/nslu2-kernel/2.6/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/2.6/40-scsi-idle.patch [deleted file]
packages/linux/nslu2-kernel/2.6/91-maclist.patch [deleted file]
packages/linux/nslu2-kernel/2.6/92-nslu2-maclist.patch [deleted file]
packages/linux/nslu2-kernel/2.6/compile-switches.patch [deleted file]
packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch [deleted file]
packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch [deleted file]
packages/linux/nslu2-kernel/2.6/thumb-swi.patch [deleted file]
packages/linux/nslu2-kernel/2.6/timer.patch [deleted file]
packages/linux/nslu2-kernel/2.6/x1205-rtc.patch [deleted file]
packages/linux/nslu2-kernel/files/.mtn2git_empty [deleted file]
packages/linux/nslu2-kernel/files/anonymiser.patch [deleted file]
packages/linux/nslu2-kernel_2.6.14-mm1.bb [deleted file]
packages/linux/nslu2-kernel_2.6.14.5.bb [deleted file]
packages/linux/nslu2-kernel_2.6.15.bb [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/.mtn2git_empty [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/config-fixes.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/double_cpdo.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/gcc-registerparanoia.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/gcc3-userfuncs.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/linux-2.4.24-attribute-used.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/nofpu.patch [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/.mtn2git_empty [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/defconfig [deleted file]
packages/linux/nslu2-linksys-kernel-2.4.22/short_loadbytes.patch [deleted file]
packages/linux/nslu2-linksys-kernel_2.4.22.bb [deleted file]
packages/linux/unslung-kernel/config-fixes.patch [new file with mode: 0644]
packages/linux/unslung-kernel/double_cpdo.patch [new file with mode: 0644]
packages/linux/unslung-kernel/gcc-registerparanoia.patch [new file with mode: 0644]
packages/linux/unslung-kernel/gcc3-userfuncs.patch [new file with mode: 0644]
packages/linux/unslung-kernel/linux-2.4.24-attribute-used.patch [new file with mode: 0644]
packages/linux/unslung-kernel/nofpu.patch [new file with mode: 0644]
packages/linux/unslung-kernel/short_loadbytes.patch [new file with mode: 0644]
packages/linux/unslung-kernel_2.4.22.l2.3r63.bb
packages/lirc/lirc-modules_0.8.1.bb [new file with mode: 0644]
packages/m4/m4-native_1.4.2.bb [deleted file]
packages/m4/m4-native_1.4.4.bb [new file with mode: 0644]
packages/m4/m4/make.patch [deleted file]
packages/m4/m4_1.4.2.bb [deleted file]
packages/m4/m4_1.4.4.bb [new file with mode: 0644]
packages/madwifi/files/10-xscale-be-elf-copts.patch
packages/madwifi/files/10-xscale-le-elf-copts.patch
packages/madwifi/madwifi-ng_r.inc
packages/mediatomb/mediatomb_svn.bb
packages/mesa/Make-config.patch [deleted file]
packages/mesa/mesa-6.0.1/.mtn2git_empty [new file with mode: 0644]
packages/mesa/mesa-6.0.1/Make-config.patch [new file with mode: 0644]
packages/mesa/mesa-6.0.1/mklib.patch [new file with mode: 0644]
packages/mesa/mesa-6.5.2/.mtn2git_empty [new file with mode: 0644]
packages/mesa/mesa-6.5.2/mklib-rpath-link.patch [new file with mode: 0644]
packages/mesa/mesa-common.inc [new file with mode: 0644]
packages/mesa/mesa-dri_6.5.2.bb [new file with mode: 0644]
packages/mesa/mesa-mesa.inc [new file with mode: 0644]
packages/mesa/mesa_6.5.2.bb [new file with mode: 0644]
packages/mesa/mklib.patch [deleted file]
packages/musicpd/glurp_0.11.3.bb [new file with mode: 0644]
packages/musicpd/glurp_0.11.6.bb [deleted file]
packages/musicpd/gmpc_0.13.0.bb [new file with mode: 0644]
packages/musicpd/gmpc_svn.bb [new file with mode: 0644]
packages/musicpd/libmpd_svn.bb [new file with mode: 0644]
packages/musicpd/mpd/fix-mod-support.patch [new file with mode: 0644]
packages/musicpd/mpd_svn.bb [new file with mode: 0644]
packages/musicpd/py-libmpdclient_0.10.0.bb [new file with mode: 0644]
packages/mythfront/mythfront-config.bb
packages/mythfront/mythfront-config/tftp.sh
packages/mythtv/mythtv.inc [new file with mode: 0644]
packages/mythtv/mythtv_0.18.1.bb
packages/mythtv/mythtv_0.20.bb
packages/obsolete/nslu2/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel.inc [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6.15/defconfig [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/files/.mtn2git_empty [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb [new file with mode: 0644]
packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb [new file with mode: 0644]
packages/openchrome/openchrome_svn.bb
packages/portmap/portmap-5-24/.mtn2git_empty [deleted file]
packages/portmap/portmap-5-24/make.patch [deleted file]
packages/portmap/portmap-5-25/.mtn2git_empty [new file with mode: 0644]
packages/portmap/portmap-5-25/make.patch [new file with mode: 0644]
packages/portmap/portmap_5-24.bb [deleted file]
packages/portmap/portmap_5-25.bb [new file with mode: 0644]
packages/prism3-support/files/hostap-fw-load
packages/prism3-support/prism3-support_1.0.0.bb
packages/pulseaudio/pulseaudio_0.9.5.bb
packages/qt/qt-x11-free-common.inc
packages/qt/qt-x11-free_3.3.6.bb
packages/qt/qt-x11-free_3.3.7.bb
packages/quagga/files/volatiles.03_quagga [new file with mode: 0644]
packages/quagga/quagga.inc
packages/quagga/quagga_0.99.4.bb
packages/quagga/quagga_0.99.6.bb
packages/soundtracker/soundtracker-gtk2_0.6.7.bb
packages/starling/starling_0.1.bb
packages/tasks/task-mythfront.bb
packages/tasks/task-sdk.bb
packages/tin/tin.inc
packages/tin/tin_1.9.1.bb
packages/vino/vino_2.16.0.bb
packages/xaos/.mtn2git_empty [new file with mode: 0644]
packages/xaos/files/.mtn2git_empty [new file with mode: 0644]
packages/xaos/files/fix-aalib-configure.patch [new file with mode: 0644]
packages/xaos/files/fix-build.patch [new file with mode: 0644]
packages/xaos/xaos_3.2.3.bb [new file with mode: 0644]
packages/xorg-driver/xorg-driver-common.inc
packages/xorg-xserver/xorg-xserver-common.inc
packages/xorg-xserver/xserver-kdrive/kmode-palm.patch [new file with mode: 0644]
packages/xorg-xserver/xserver-kdrive_X11R7.1-1.1.0.bb
packages/xorg-xserver/xserver-xorg_X11R7.0-1.0.1.bb
packages/xorg-xserver/xserver-xorg_X11R7.1-1.1.0.bb

index a327aa4..648b746 100644 (file)
@@ -387,6 +387,7 @@ python populate_packages () {
                bb.mkdirhier(root)
                filesvar = bb.data.getVar('FILES', localdata, 1) or ""
                files = filesvar.split()
+               cleandirs = []
                for file in files:
                        if os.path.isabs(file):
                                file = '.' + file
@@ -395,6 +396,8 @@ python populate_packages () {
                                        newfiles =  [ os.path.join(file,x) for x in os.listdir(file) ]
                                        if newfiles:
                                                files += newfiles
+                                               if file != "./":
+                                                       cleandirs = [file] + cleandirs
                                                continue
                        globbed = glob.glob(file)
                        if globbed:
@@ -406,9 +409,16 @@ python populate_packages () {
                        fpath = os.path.join(root,file)
                        dpath = os.path.dirname(fpath)
                        bb.mkdirhier(dpath)
+                       if file in cleandirs:
+                               cleandirs.remove(file)
                        ret = bb.movefile(file,fpath)
                        if ret is None or ret == 0:
                                raise bb.build.FuncFailed("File population failed")
+               for dir in cleandirs:
+                       if os.path.isdir(dir):
+                               os.rmdir(dir)
+                       else:
+                               bb.note("ERROR: directory %s went away unexpectedly during package population" % dir)
                del localdata
        os.chdir(workdir)
 
index 89b5da2..534b3bd 100644 (file)
@@ -1,12 +1,12 @@
 DEPENDS += "python-scons-native"
 
 scons_do_compile() {
-        ${STAGING_BINDIR_NATIVE}/scons || \
+        ${STAGING_BINDIR_NATIVE}/scons PREFIX=${prefix} prefix=${prefix} || \
         oefatal "scons build execution failed."
 }
 
 scons_do_install() {
-        ${STAGING_BINDIR_NATIVE}/scons install || \
+        ${STAGING_BINDIR_NATIVE}/scons PREFIX=${D}${prefix} prefix=${D}${prefix} install || \
         oefatal "scons install execution failed."
 }
 
index 94d25bf..5d6d564 100644 (file)
@@ -22,7 +22,9 @@ def get_siteinfo_list(d):
 
        targetinfo = {\
                "armeb-linux":             "endian-big bit-32 common-glibc arm-common",\
+               "armeb-linux-gnueabi":     "endian-big bit-32 common-glibc arm-common armeb-linux",\
                "armeb-linux-uclibc":      "endian-big bit-32 common-uclibc arm-common",\
+               "armeb-linux-uclibcgnueabi": "endian-big bit-32 common-uclibc arm-common armeb-linux-uclibc",\
                "arm-linux":               "endian-little bit-32 common-glibc arm-common",\
                "arm-linux-gnueabi":       "endian-little bit-32 common-glibc arm-common arm-linux",\
                "arm-linux-uclibc":        "endian-little bit-32 common-uclibc arm-common",\
index b1d67e0..1694ef8 100644 (file)
@@ -93,12 +93,14 @@ require conf/distro/include/preferred-gpe-versions-2.8.inc
 PREFERRED_PROVIDER_dbus-glib = "dbus-glib"
 PREFERRED_PROVIDER_virtual/libsdl       ?= "libsdl-x11"
 PREFERRED_PROVIDER_virtual/libxine      ?= "libxine-x11"
+PREFERRED_PROVIDER_esound              ?= "pulseaudio"
 
 
 PREFERRED_VERSION_fontconfig = "2.4.1"
 PREFERRED_VERSION_freetype = "2.2.1"
+PREFERRED_VERSION_freetype-native = "2.2.1"
 #fix screen corruption issues
-PREFERRED_VERSION_cairo = "1.3.10"
+PREFERRED_VERSION_cairo = "1.3.12"
 
 #work around a segfault in gcc for armv4t
 PREFERRED_VERSION_glib-2.0_ep93xx = "2.12.3"
@@ -151,11 +153,14 @@ PREFERRED_PROVIDER_libxss = "libxss"
 #EABI stuff
 PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate"
 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-gnueabi-libc-for-gcc = "glibc-intermediate"
 PREFERRED_PROVIDER_virtual/arm-linux-libc-for-gcc = "glibc-intermediate"
+PREFERRED_PROVIDER_virtual/armeb-linux-libc-for-gcc = "glibc-intermediate"
 PREFERRED_PROVIDER_virtual/powerpc-angstrom-linux-libc-for-gcc = "glibc-intermediate"
 
 #shouldn't that be uclibc-initial????
 PREFERRED_PROVIDER_virtual/arm-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
+PREFERRED_PROVIDER_virtual/armeb-angstrom-linux-uclibcgnueabi-libc-for-gcc = "uclibc-initial"
 
 #use EABI toolchain
 PREFERRED_VERSION_gcc ?= "4.1.1"
@@ -225,7 +230,7 @@ EXTRA_STUFF ?= ""
 
 
 # Angstrom want to ship some extra stuff. This should be moved into task-base eventually
-DISTRO_EXTRA_RDEPENDS = "\
+DISTRO_EXTRA_RDEPENDS += "\
     update-modules module-init-tools modutils-initscripts \
     sysvinit initscripts sysvinit-pidof \
     ${@base_contains("MACHINE_FEATURES", "screen", "psplash", "",d)} \
index 28e3b3e..ee41420 100644 (file)
@@ -3,7 +3,7 @@ PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
 PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
 PREFERRED_PROVIDER_virtual/libc ?= "glibc"
 
-TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
+TARGET_OS = "linux${@['','-gnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
 
 #mess with compiler flags to use -Os instead of -O2
 #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
index 149b8ed..9c3274e 100644 (file)
@@ -6,7 +6,7 @@ PREFERRED_PROVIDER_virtual/libintl ?= "gettext"
 
 USE_NLS ?= "no"
 
-TARGET_OS = "linux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1)=='arm']}"
+TARGET_OS = "linux${@['-uclibc','-uclibcgnueabi'][bb.data.getVar('TARGET_ARCH',d,1) in ['arm', 'armeb']]}"
 
 #mess with compiler flags to use -Os instead of -O2
 #Please see http://free-electrons.com/doc/embedded_linux_optimizations/img47.html for some more info
diff --git a/conf/distro/include/opie-users-are-too-stupid-to-put-this-in-local.conf.inc b/conf/distro/include/opie-users-are-too-stupid-to-put-this-in-local.conf.inc
deleted file mode 100644 (file)
index 7898f7b..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-# Opie
-#use 1337 mt version of opie to have a webbrowser
-PALMTOP_USE_MULTITHREADED_QT = "yes"
-QTE_VERSION = "2.3.10"
-OPIE_VERSION = "1.2.2"
-require conf/distro/include/preferred-opie-versions.inc
index 7ca663a..4c849d0 100644 (file)
@@ -11,7 +11,6 @@
 # slugos-[bl][at][gu] - a specific configuration encoded as follows:
 #
 #  b or l - big or little endian
-#         set ARCH_BYTE_SEX to match
 #
 #  a or t - ARM or Thumb instructions in the low level libraries
 #         set ARM_INSTRUCTION_SET to match
@@ -45,7 +44,6 @@ DISTRO_FEED ?= "unstable"
 
 # The following must also be set, they define the basic format of the build
 #
-#ARCH_BYTE_SEX "be" or "le"
 #ARM_INSTRUCTION_SET "arm" or "thumb"
 #TARGET_OS "linux" or "linux-uclibc"
 #SLUGOS_IMAGESEX "big-endian" or "little-endian" (JFFS2 format)
@@ -55,7 +53,7 @@ DISTRO_FEED ?= "unstable"
 USE_NLS ?= "no"
 
 # To make errors easier to identify:
-DISTRO_NAME ?= "INVALID-${ARCH_BYTE_SEX}-${ARM_INSTRUCTION_SET}-${TARGET_OS}"
+DISTRO_NAME ?= "INVALID-${SITEINFO_ENDIANESS}-${ARM_INSTRUCTION_SET}-${TARGET_OS}"
 DISTRO_TYPE ?= "INVALID"
 
 # The following must not be changed.
@@ -171,7 +169,7 @@ PREFERRED_VERSION_glibc ?= "2.3.5+cvs20050627"
 # Select the correct versions of the kernel and modules (these are the
 # defaults, override in the conf/distro top-level distro file).
 PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
-PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.19+2.6.20-rc4"
+PREFERRED_VERSION_ixp4xx-kernel ?= "2.6.19"
 
 # Select the smallest provider of x11 libraries
 PREFERRED_PROVIDER_virtual/libx11 ?= "diet-x11"
index 12deb5e..23e8690 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-bag"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "be"
+TARGET_ARCH = "armeb"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 1e74dfc..5e461ff 100644 (file)
@@ -11,7 +11,7 @@ DISTRO_NAME ?= "slugos-bau"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "alpha"
 
-ARCH_BYTE_SEX = "be"
+TARGET_ARCH = "armeb"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 125d6e0..4fbdd9e 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-btu"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "be"
+TARGET_ARCH = "armeb"
 ARM_INSTRUCTION_SET = "thumb"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 5d65fcd..838d6cf 100644 (file)
@@ -10,7 +10,7 @@ DISTRO_NAME ?= "slugos-lag"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "le"
+TARGET_ARCH = "arm"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 56c71fb..7294c1d 100644 (file)
@@ -9,7 +9,7 @@ DISTRO_NAME ?= "slugos-lau"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "alpha"
 
-ARCH_BYTE_SEX = "le"
+TARGET_ARCH = "arm"
 ARM_INSTRUCTION_SET = "arm"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 5a4f22f..53fbb40 100644 (file)
@@ -9,7 +9,7 @@ DISTRO_NAME ?= "slugos-ltu"
 # DISTRO_FEED ?= "unstable"
 DISTRO_TYPE ?= "beta"
 
-ARCH_BYTE_SEX = "le"
+TARGET_ARCH = "arm"
 ARM_INSTRUCTION_SET = "thumb"
 TARGET_OS = "linux-uclibc"
 SLUGOS_IMAGESEX  ?= "big-endian"
index 25ac84d..b25b94d 100644 (file)
@@ -18,7 +18,6 @@ TARGET_FPU = "soft"
 TARGET_OS = "linux"
 
 # select distro specific options to match that of the original LinkSys build
-ARCH_BYTE_SEX = "be"
 ARM_INSTRUCTION_SET = "arm"
 THUMB_INTERWORK = "no"
 
@@ -57,7 +56,7 @@ PREFERRED_VERSION_gcc ?= "3.4.4"
 PREFERRED_VERSION_glibc ?= "2.2.5"
 PREFERRED_VERSION_glibc-initial ?= "2.2.5"
 
-PREFERRED_PROVIDER_virtual/kernel ?= "unslung-kernel"
+PREFERRED_PROVIDER_virtual/kernel = "unslung-kernel"
 PREFERRED_VERSION_unslung-kernel ?= "2.4.22.l2.3r63"
 PREFERRED_VERSION_unslung-rootfs         ?= "2.3r63"
 PREFERRED_VERSION_nslu2-linksys-firmware ?= "2.3r63"
index 95be162..d8d9264 100644 (file)
@@ -4,7 +4,7 @@
 #OLDEST_KERNEL = "2.6.16"
 TARGET_ARCH = "arm"
 PREFERRED_VERSION_compulab-pxa270 = "2.6.16"
-GUI_MACHINE_CLASS = "bigscreen"
+GUI_MACHINE_CLASS ?= "bigscreen"
 
 PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}"
 PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
@@ -12,10 +12,10 @@ PACKAGE_EXTRA_ARCHS = "armv4 armv5te"
 require conf/machine/include/tune-xscale.conf
 
 # used by sysvinit_2
-SERIAL_CONSOLE = "38400 ttySA0"
+SERIAL_CONSOLE ?= "38400 ttySA0"
 
 # used by opie-collections.inc
-ROOT_FLASH_SIZE = "32"
+ROOT_FLASH_SIZE ?= "32"
 
 EXTRA_IMAGECMD_jffs2 = "--pad=0x1000000 --eraseblock=0x40000"
 
index 0951056..912cbc5 100644 (file)
@@ -7,6 +7,7 @@ TARGET_ARCH = "arm"
 PACKAGE_EXTRA_ARCHS = "armv4t"
 
 PREFERRED_PROVIDER_virtual/kernel = "${MACHINE}-kernel"
+PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 
 #don't try to access tty1
 USE_VT = "0"
index 2a34333..9428b9c 100644 (file)
@@ -22,10 +22,15 @@ PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
 PCMCIA_MANAGER = "pcmciautils"
 PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 
+MACHINE_EXTRA_RRECOMMENDS = "kernel-module-snd-h4000-audio \
+                             kernel-module-i2c-pxa"
+
 #
 # Modules autoload and other boot properties
 #
 module_autoload_snd-pcm-oss = "snd-pcm-oss"
+module_autoload_snd-mixer-oss = "snd-mixer-oss"
+module_autoload_snd-h4000_audio = "snd-h4000_audio"
 module_autoload_g_ether = "g_ether"
 
 SERIAL_CONSOLE = "115200 ttyS0 vt100"
index 0aba653..0558e03 100644 (file)
@@ -2,6 +2,12 @@
 #@NAME: ixp4xx
 #@DESCRIPTION: genric machine configuration for ixp4xx platforms
 
+MACHINE_FEATURES = "kernel26 usbhost ext2"
+
+EXTRA_IMAGECMD_jffs2 = "--pad --eraseblock=0x20000 --faketime -n"
+
+PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+
 #-------------------------------------------------------------------------------
 # INPUTS
 #-------------------------------------------------------------------------------
 # <possible values>
 #    description
 
-ARCH_BYTE_SEX = "le"
-# "be" "le"
-#    The memory byte sex and (on correctly implemented hardware - the IXP4XX is
-#    correct) the byte sex of the buses within the system.  'be' (big-endian)
-#    means that the first byte is the most significant byte on a bus, 'le'
-#    (little-endian) means that the first byte is the least significant byte.
-
 ARM_INSTRUCTION_SET = "arm"
 # "arm" "thumb"
 #    The instruction set the compiler should use when generating application
@@ -44,12 +43,6 @@ DISTRO_BASE = ""
 #    after ${DISTRO}, this allows different distros to share a common base of
 #    overrides.  The value given must include a leading ':' or chaos will result.
 
-IXP4XX_SUFFIX = "${MACHINE_ARCH}"
-# <string>
-#    Kernel suffix - 'ixp4xxbe' or 'ixp4xxle' for a truely generic image, controls
-#    the suffix on the name of the generated zImage, override in the DISTRO
-#    configuration if patches or defconfig are changed for the DISTRO.
-
 #-------------------------------------------------------------------------------
 # OUTPUTS
 #-------------------------------------------------------------------------------
@@ -57,27 +50,21 @@ IXP4XX_SUFFIX = "${MACHINE_ARCH}"
 #OVERRIDES
 #    The standard ':' separated list of overrides used by bitbake - see the
 #    basic setting in bitbake.conf.  This list is based on that used for the
-#    standard setting however :<base>, :thumb and :thumb-interwork will be
-#    inserted at appropriate points if a base distro, default use of thumb or
-#    arm/thumb interworking are enabled in the inputs.
-OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}:build-${BUILD_OS}:fail-fast"
+#    standard setting however :<base> will be
+#    inserted at appropriate points if a base distro is enabled in the inputs.
+OVERRIDES = "local:${MACHINE}:ixp4xx:${DISTRO}${DISTRO_BASE}:${TARGET_OS}:${TARGET_ARCH}:build-${BUILD_OS}:fail-fast"
 
-# TARGET_CC_ARCH
-# TARGET_CC_KERNEL_ARCH
-# TARGET_LD_ARCH
-# TARGET_LD_KERNEL_ARCH
-#    Compiler and linker options for application code and kernel code.  These
-#    options ensure that the compiler has the correct settings for the selected
-#    instruction set and interworking.
-ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-#
-TARGET_CC_ARCH = "-march=armv5te -mtune=xscale ${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
-TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale -mno-thumb-interwork -mno-thumb"
-TARGET_LD_ARCH = ""
-TARGET_LD_KERNEL_ARCH = ""
+require conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-thumb.conf
+
+#-------------------------------------------------------------------------------
+# Board defaults
+#-------------------------------------------------------------------------------
+# These values are board specific but they seem to be common to a large number
+# of boards so are reasonable defaults.
+SERIAL_CONSOLE = "115200 ttyS0"
+KERNEL_CONSOLE = "ttyS0,115200n8"
+USE_VT = "0"
 
 # FULL_OPTIMIZATION
 #    Optimization settings.  Os works fine and is significantly better than O2.
@@ -91,68 +78,3 @@ FULL_OPTIMIZATION = "-Os -fomit-frame-pointer -frename-registers \
        -fno-unroll-loops -fno-inline-functions \
        -fweb -funit-at-a-time"
 
-# TARGET_ARCH
-#    The correct setting for the system endianness (ARCH_BYTE_SEX).  This will
-#    be arm (le) or armeb (be) - it is difficult to be more precise in the
-#    setting because of the large number of ways it is used within OpenEmbedded.
-TARGET_ARCH = "${@['armeb', 'arm'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
-
-# TARGET_PACKAGE_ARCH [not used]
-#    The correct setting for the generated packages.  This corresponds to the
-#    -march flag passed to the compiler because that limits the architectures
-#    on which the generated code will run.
-BYTE_SEX_CHAR = "${@['b', 'l'][bb.data.getVar('ARCH_BYTE_SEX', d, 1) == 'le']}"
-TARGET_PACKAGE_ARCH_BASE = "${@['armv5te', 'thumbv5t'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
-TARGET_PACKAGE_ARCH = "${TARGET_PACKAGE_ARCH_BASE}${BYTE_SEX_CHAR}"
-
-# MACHINE_ARCH
-#    The correct setting for packages which are specific to the machine, this
-#    defaults to ${MACHINE} in bitbake.conf, however it is set to ixp4xx here
-#    because everything built here is no more specific than that.
-MACHINE_ARCH = "ixp4xx${ARCH_BYTE_SEX}"
-
-# PACKAGE_EXTRA_ARCHS
-#    The full list of package architectures which should run on the system.
-#    This takes into account both the board level issues and the INPUTS set
-#    by the distro.  The arm list is derived from the architecture settings
-#    known to gcc, the thumb list is then derived from that (only the 't'
-#    architectures of course).
-#[not used]: TARGET_ARCH is handled below because it is also currently
-# used for thumb packages.
-#ARM_ARCHITECTURES = "${TARGET_ARCH} armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
-ARM_ARCHITECTURES = "armv2${BYTE_SEX_CHAR} armv2a${BYTE_SEX_CHAR} armv3${BYTE_SEX_CHAR} armv3m${BYTE_SEX_CHAR} armv4${BYTE_SEX_CHAR} armv4t${BYTE_SEX_CHAR} armv5${BYTE_SEX_CHAR} armv5t${BYTE_SEX_CHAR} armv5e${BYTE_SEX_CHAR} armv5te${BYTE_SEX_CHAR} xscale${BYTE_SEX_CHAR}"
-THUMB_ARCHITECTURES = "thumbe${BYTE_SEX_CHAR} thumbv4t${BYTE_SEX_CHAR} thumbv5t${BYTE_SEX_CHAR}"
-
-#    NOTE: this list contains just the things which rootfs_ipk.bbclass does
-#    not add, rootfs_ipk.bbclass evaluates:
-#
-#        ipkgarchs="all any noarch ${TARGET_ARCH} ${PACKAGE_EXTRA_ARCHS} ${MACHINE}"
-#
-#    This is a priority ordered list - most desireable architecture at the end,
-#    so put <ARM_INSTRUCTION_SET>_ARCHITECTURES at the end and, if
-#    THUMB_INTERWORK precede this with the other architectures.
-PACKAGE_EXTRA_ARCHS = "ixp4xx ${MACHINE} \
-               ${@(lambda arch_thumb, arch_arm, is_arm, interwork: \
-               (interwork and (is_arm and arch_thumb or arch_arm) + ' ' or '') \
-               + '${TARGET_ARCH} ' + (is_arm and arch_arm or arch_thumb)) \
-              (bb.data.getVar('THUMB_ARCHITECTURES', d, 1), \
-               bb.data.getVar('ARM_ARCHITECTURES', d, 1), \
-               bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) != 'thumb', \
-               bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes')} \
-               ${MACHINE_ARCH} ${MACHINE}${ARCH_BYTE_SEX}"
-
-# IPKG_ARCH_LIST [not used]
-#    This is used to override the ipkgarchs settings in rootfs_ipk.bbclass, allowing
-#    the removal of the raw "${MACHINE}" from the end of the list.  ${MACHINE} and
-#    ixp4xx are included at the start (lower priority) as the non-byte-sex specific
-#    versions.
-IPKG_ARCH_LIST = "all any noarch ixp4xx ${MACHINE} ${PACKAGE_EXTRA_ARCHS}"
-
-#-------------------------------------------------------------------------------
-# Board defaults
-#-------------------------------------------------------------------------------
-# These values are board specific but they seem to be common to a large number
-# of boards so are reasonable defaults.
-SERIAL_CONSOLE = "115200 ttyS0"
-KERNEL_CONSOLE = "ttyS0,115200n8"
-USE_VT = "0"
index 4800357..a25cb53 100644 (file)
@@ -9,7 +9,7 @@ ARM_INSTRUCTION_SET ?= "arm"
 #    but requires more instructions (140% for 70% smaller code) so may be
 #    slower.
 
-THUMB_INTERWORK ?= "no"
+THUMB_INTERWORK ?= "yes"
 # "yes" "no"
 #    Whether to compile with code to allow interworking between the two
 #    instruction sets.  This allows thumb code to be executed on a primarily
@@ -18,15 +18,15 @@ THUMB_INTERWORK ?= "no"
 
 OVERRIDE_THUMB = "${@['', ':thumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
 OVERRIDE_INTERWORK = "${@['', ':thumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-OVERRIDES += "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
+OVERRIDES .= "${OVERRIDE_THUMB}${OVERRIDE_INTERWORK}"
 
 #    Compiler and linker options for application code and kernel code.  These
 #    options ensure that the compiler has the correct settings for the selected
 #    instruction set and interworking.
-ARM_INTERWORK_M_OPT = "${@['', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
-ARM_THUMB_M_OPT = "${@['', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
+ARM_INTERWORK_M_OPT = "${@['-mno-thumb-interwork', '-mthumb-interwork'][bb.data.getVar('THUMB_INTERWORK', d, 1) == 'yes']}"
+ARM_THUMB_M_OPT = "${@['-mno-thumb', '-mthumb'][bb.data.getVar('ARM_INSTRUCTION_SET', d, 1) == 'thumb']}"
 
 #
 TARGET_CC_ARCH +=  "${ARM_INTERWORK_M_OPT} ${ARM_THUMB_M_OPT}"
-TARGET_CC_KERNEL_ARCH  += "-mno-thumb"
+TARGET_CC_KERNEL_ARCH  += "-mno-thumb-interwork -mno-thumb"
 
index 0b98f09..1d21294 100644 (file)
@@ -1,3 +1,3 @@
 TARGET_CC_ARCH = "-march=armv5te -mtune=xscale"
-PACKAGE_ARCH = "armv5te"
-
+TARGET_CC_KERNEL_ARCH = "-march=armv5te -mtune=xscale"
+PACKAGE_ARCH = "${@['armv5teb', 'armv5te'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
index 45d8891..4e9e6a2 100644 (file)
@@ -6,7 +6,10 @@ PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
 
 MACHINE_KERNEL_VERSION = "2.6"
 
-EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x4000 --pad --faketime -n" 
+ERASEBLOCKSIZE = "0x4000"
+ERASEBLOCKSIZE_akita = "0x20000"
+
+EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=${ERASEBLOCKSIZE} --pad --faketime -n" 
 
 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2.bin ${EXTRA_IMAGECMD}"
 
index 83d17ae..5e51566 100644 (file)
@@ -1,14 +1,13 @@
 EXTRA_IMAGEDEPENDS += "sharp-flash-header-c700"
 
 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
-                  --output=${T}/${IMAGE_NAME}.rootfs.jffs2 ${EXTRA_IMAGECMD}; \
+                  --output=${T}/${IMAGE_NAME}.rootfs.jffs2; \
+                   sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
+                   -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
+                   --eraseblock=${ERASEBLOCKSIZE} -l -p; \
                   cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
-                  ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.img"
-
-# add a summary to the jffs2 file to make it mount a lot faster
-EXTRA_IMAGECMD_jffs2 += "&& sumtool -i ${T}/${IMAGE_NAME}.rootfs.jffs2 \
-                         -o ${T}/${IMAGE_NAME}.rootfs.jffs2.summary \
-                         --eraseblock=0x4000 -l -p"
-
-IMAGE_CMD_jffs2 +=     "; cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
-                        ${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.img"
+                  ${T}/${IMAGE_NAME}.rootfs.jffs2 > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2; \
+                   rm ${T}/${IMAGE_NAME}.rootfs.jffs2; \
+                   cat ${STAGING_LIBDIR}/sharp-flash-header/header-c700.bin \
+                  ${T}/${IMAGE_NAME}.rootfs.jffs2.summary > ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.summary.jffs2 \
+                   rm ${T}/${IMAGE_NAME}.rootfs.jffs2.summary;"
index f955215..3397d17 100644 (file)
@@ -2,12 +2,4 @@
 #@NAME: Generic IXP4XX kernel
 #@DESCRIPTION: Machine configuration for a generic ixp4xx board
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
-
 require conf/machine/include/ixp4xx.conf
-
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ixp4xx${ARCH_BYTE_SEX}"
-
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 --faketime -n"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
index f303454..d9737c9 100644 (file)
@@ -1,15 +1,13 @@
 #@TYPE: Machine
 #@NAME: Generic IXP4XX kernel
-#@DESCRIPTION: Machine configuration for a generic ixp4xx board in bigendian mode
+#@DESCRIPTION: Machine configuration for a generic ixp4xx board in big-endian mode
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
+TARGET_ARCH = "armeb"
+# PACKAGE_ARCH is set in tune-xscale.conf
+PACKAGE_EXTRA_ARCHS = "armv4b armv4tb armv5eb armv5teb"
 
-ARCH_BYTE_SEX = "be"
-require conf/machine/include/ixp4xx.conf
-
-PACKAGE_EXTRA_ARCHS = "armv4eb armv4teb armv5eb armv5teb ixp4xxeb"
+MACHINE_ARCH = "ixp4xxbe"
 
-EXTRA_IMAGECMD_jffs2 = "--pad --big-endian --eraseblock=0x20000 --faketime -n"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+require conf/machine/include/ixp4xx.conf
 
+EXTRA_IMAGECMD_jffs2 += "--big-endian"
index d3fcd2b..4747fa5 100644 (file)
@@ -2,16 +2,12 @@
 #@NAME: Generic IXP4XX kernel
 #@DESCRIPTION: Machine configuration for a generic ixp4xx board in little-endian mode
 
-MACHINE_FEATURES = "kernel26 usbhost ext2"
+TARGET_ARCH = "arm"
+# PACKAGE_ARCH is set in tune-xscale.conf
+PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te"
 
-ARCH_BYTE_SEX = "le"
-require conf/machine/include/ixp4xx.conf
-require conf/machine/include/tune-xscale.conf
-
-
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5e armv5te ixp4xxle"
+MACHINE_ARCH = "ixp4xxle"
 
-EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 --faketime -n"
-
-PREFERRED_PROVIDER_virtual/kernel ?= "ixp4xx-kernel"
+require conf/machine/include/ixp4xx.conf
 
+EXTRA_IMAGECMD_jffs2 += " --little-endian"
index 304018b..966334a 100644 (file)
@@ -2,4 +2,20 @@
 #@NAME: Linksys NSLU2
 #@DESCRIPTION: Machine configuration for the Linksys NSLU2 product
 
+# Note that TARGET_ARCH gets set by the DISTRO for the "nslu2" machine.
+# (Yes, this was a mistake, but it's legacy and can't be easily changed now.)
+# The "nslu2" machine is deprecated - use "nslu2le" or "nslu2be" instead.
+
 require conf/machine/include/ixp4xx.conf
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+MACHINE_ARCH = "${@['ixp4xxbe', 'ixp4xxle'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+PACKAGE_ARCH = "${@['armeb', 'arm'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+PACKAGE_EXTRA_ARCHS = "${@['ixp4xxbe nslu2be', 'ixp4xxle nslu2le'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
+
+# This should eventually be removed (when we move from nslu2 to nslu2le/nslu2be).
+EXTRA_IMAGECMD_jffs2 += "${@['--big-endian', '--little-endian'][bb.data.getVar('SITEINFO_ENDIANESS', d, 1) == 'le']}"
diff --git a/conf/machine/nslu2be.conf b/conf/machine/nslu2be.conf
new file mode 100644 (file)
index 0000000..7cbdd80
--- /dev/null
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: Linksys NSLU2 (big-endian)
+#@DESCRIPTION: Machine configuration for an NSLU2 in big-endian mode
+
+require conf/machine/ixp4xxbe.conf
+
+MACHINE_ARCH = "ixp4xxbe"
+
+PACKAGE_EXTRA_ARCHS += "ixp4xxbe"
diff --git a/conf/machine/nslu2le.conf b/conf/machine/nslu2le.conf
new file mode 100644 (file)
index 0000000..cc8e8b8
--- /dev/null
@@ -0,0 +1,9 @@
+#@TYPE: Machine
+#@NAME: Linksys NSLU2 (little-endian)
+#@DESCRIPTION: Machine configuration for an NSLU2 in little-endian mode
+
+require conf/machine/ixp4xxle.conf
+
+MACHINE_ARCH = "ixp4xxle"
+
+PACKAGE_EXTRA_ARCHS += "ixp4xxle"
diff --git a/conf/machine/palmz72.conf b/conf/machine/palmz72.conf
new file mode 100644 (file)
index 0000000..85bce50
--- /dev/null
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: Palm Zire 72
+#@DESCRIPTION: Machine configuration for the Palm Zire 72
+
+TARGET_ARCH = "arm"
+PACKAGE_EXTRA_ARCHS = "arm armv4t armv5te"
+
+PREFERRED_PROVIDER_virtual/kernel = "linux-hackndev-2.6"
+
+PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
+
+MACHINE_FEATURES = "kernel26 touchscreen apm alsa pcmcia irda ext2 usbgadget screen"
+
+ROOT_FLASH_SIZE = "100"
+
+SERIAL_CONSOLE = "115200 ttyS0"
+
+GUI_MACHINE_CLASS = "bigscreen"
+
+# Use tune-xscale per default. Machine independent feeds should be built with tune-strongarm.
+require conf/machine/include/tune-xscale.conf
+require conf/machine/include/tune-thumb.conf
+
+module_autoload_sa1100-rtc = "sa1100-rtc"
index e39844d..190b5f5 100644 (file)
@@ -20,7 +20,7 @@ MACHINE_FEATURES = "kernel26 touchscreen apm alsa irda bluetooth wifi usbgadget
 # Software/packages selection
 #
 PREFERRED_PROVIDER_virtual/kernel = "linux-handhelds-2.6"
-PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.19-hh8"
+PREFERRED_VERSION_linux-handhelds-2.6 ?= "2.6.18-hh2"
 PCMCIA_MANAGER = "pcmciautils"
 PREFERRED_PROVIDER_xserver = "xserver-kdrive"
 
index 84c340f..6b08ec1 100644 (file)
@@ -8,6 +8,6 @@ require conf/machine/include/zaurus-clamshell.conf
 PIVOTBOOT_EXTRA_RDEPENDS += "pivotinit ${PCMCIA_MANAGER}"
 
 PACKAGE_EXTRA_ARCHS += "iwmmxt"
-IMAGE_FSTYPES ?= "tar.gz"
+IMAGE_FSTYPES += "tar.gz"
 
 ROOT_FLASH_SIZE = "100"
index c2afe08..ed6ee78 100644 (file)
@@ -2,6 +2,7 @@ DEPENDS = "ncurses"
 DESCRIPTION = "An ASCII art gfx library."
 SECTION = "libs"
 LICENSE="LGPL"
+PR = "r1"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/aa-project/aalib-${PV}.tar.gz \
           file://configure.patch;patch=1"
@@ -12,3 +13,9 @@ inherit autotools
 EXTRA_OECONF = '--without-x11-driver --without-slang-driver \
                --with-curses-driver --without-gpm \
                --without-x --with-ncurses=${STAGING_LIBDIR}/..'
+
+do_stage() {
+    oe_libinstall -a -so -C src libaa ${STAGING_LIBDIR}
+       install -d ${STAGING_INCDIR}/
+       install -m 0644 src/*.h ${STAGING_INCDIR}/
+}
diff --git a/packages/acpid/acpid-1.0.2/init b/packages/acpid/acpid-1.0.2/init
deleted file mode 100755 (executable)
index 4937e71..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh -e
-
-test -x /usr/sbin/acpid || exit 0
-test -d /proc/acpi || exit 0
-
-case "$1" in
-  start)
-    echo -n "Starting Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -S -x /usr/sbin/acpid -- -c /etc/acpi/events -s /var/run/.acpid.socket
-    echo "acpid."
-    ;;
-  stop)
-    echo -n "Stopping Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -K -x /usr/sbin/acpid
-    echo "acpid."
-    ;;
-  restart|force-reload) 
-    $0 stop
-    $0 start
-    ;;
-  *)
-    echo "Usage: /etc/init.d/acpid {start|stop|restart|force-reload}"
-    exit 1
-esac
-
-exit 0
diff --git a/packages/acpid/acpid-1.0.3/init b/packages/acpid/acpid-1.0.3/init
deleted file mode 100755 (executable)
index 4937e71..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh -e
-
-test -x /usr/sbin/acpid || exit 0
-test -d /proc/acpi || exit 0
-
-case "$1" in
-  start)
-    echo -n "Starting Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -S -x /usr/sbin/acpid -- -c /etc/acpi/events -s /var/run/.acpid.socket
-    echo "acpid."
-    ;;
-  stop)
-    echo -n "Stopping Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -K -x /usr/sbin/acpid
-    echo "acpid."
-    ;;
-  restart|force-reload) 
-    $0 stop
-    $0 start
-    ;;
-  *)
-    echo "Usage: /etc/init.d/acpid {start|stop|restart|force-reload}"
-    exit 1
-esac
-
-exit 0
diff --git a/packages/acpid/acpid-1.0.4/init b/packages/acpid/acpid-1.0.4/init
deleted file mode 100755 (executable)
index 4937e71..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#! /bin/sh -e
-
-test -x /usr/sbin/acpid || exit 0
-test -d /proc/acpi || exit 0
-
-case "$1" in
-  start)
-    echo -n "Starting Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -S -x /usr/sbin/acpid -- -c /etc/acpi/events -s /var/run/.acpid.socket
-    echo "acpid."
-    ;;
-  stop)
-    echo -n "Stopping Advanced Configuration and Power Interface daemon: "
-    start-stop-daemon -K -x /usr/sbin/acpid
-    echo "acpid."
-    ;;
-  restart|force-reload) 
-    $0 stop
-    $0 start
-    ;;
-  *)
-    echo "Usage: /etc/init.d/acpid {start|stop|restart|force-reload}"
-    exit 1
-esac
-
-exit 0
index af1d3b2..1b48266 100644 (file)
@@ -1 +1,3 @@
 require acpid.inc
+PR = "r1"
+
index 596ef49..d67ea96 100644 (file)
@@ -1,2 +1,4 @@
 require acpid.inc
 SRC_URI += "file://gcc40.patch;patch=1"
+PR = "r1"
+
index 596ef49..d67ea96 100644 (file)
@@ -1,2 +1,4 @@
 require acpid.inc
 SRC_URI += "file://gcc40.patch;patch=1"
+PR = "r1"
+
diff --git a/packages/acpid/files/.mtn2git_empty b/packages/acpid/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/acpid/files/init b/packages/acpid/files/init
new file mode 100755 (executable)
index 0000000..ef08b59
--- /dev/null
@@ -0,0 +1,26 @@
+#! /bin/sh -e
+
+test -x /usr/sbin/acpid || exit 0
+test -d /proc/acpi || exit 0
+
+case "$1" in
+  start)
+    echo -n "Starting Advanced Configuration and Power Interface daemon: "
+    start-stop-daemon -S -x /usr/sbin/acpid -- -c /etc/acpi/events
+    echo "acpid."
+    ;;
+  stop)
+    echo -n "Stopping Advanced Configuration and Power Interface daemon: "
+    start-stop-daemon -K -x /usr/sbin/acpid
+    echo "acpid."
+    ;;
+  restart|force-reload) 
+    $0 stop
+    $0 start
+    ;;
+  *)
+    echo "Usage: /etc/init.d/acpid {start|stop|restart|force-reload}"
+    exit 1
+esac
+
+exit 0
index bb45a31..713cc83 100644 (file)
@@ -23,18 +23,20 @@ CMDLINE="console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock4 rw init=/linu
 # defconfig to .config
 do_configure() {
        rm -f ${S}/.config
-       if test '${ARCH_BYTE_SEX}' = be
-       then
+       . ${CONFIG_SITE}
+       if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
          sed -e 's/.*CONFIG_USER_BIGENDIAN.*/CONFIG_USER_BIGENDIAN=y/' \
              -e 's/.*CONFIG_BIGENDIAN.*/CONFIG_BIGENDIAN=y/' \
              -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
                ${WORKDIR}/defconfig > ${S}/.config
-       else
+       elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
          sed -e 's/.*CONFIG_USER_LITTLEENDIAN.*/CONFIG_USER_LITTLEENDIAN=y/' \
              -e 's/.*CONFIG_LITTLEENDIAN.*/CONFIG_LITTLEENDIAN=y/' \
              -e 's/.*CONFIG_ENV_REGION_KERNEL_SWAP.*/CONFIG_ENV_REGION_KERNEL_SWAP=y/' \
              -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
                ${WORKDIR}/defconfig > ${S}/.config
+       else
+         oefatal do_configure cannot determine endianess
        fi
        oe_runmake oldconfig
 }
@@ -43,11 +45,14 @@ DEPENDS += "devio-native"
 
 do_populate_staging() {
        install -d ${STAGING_LOADER_DIR}
-       # FIXME - arch-arm should not be hard-coded
-       if test '${ARCH_BYTE_SEX}' = be
-       then
+       . ${CONFIG_SITE}
+       if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
+               # FIXME - arch-arm should not be hard-coded
                cp src/arch-arm/rom/apex.bin ${STAGING_LOADER_DIR}/apex.bin
-       else
+       elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
+               # FIXME - arch-arm should not be hard-coded
                devio '<<'src/arch-arm/rom/apex.bin >${STAGING_LOADER_DIR}/apex.bin 'xp $,4'
+       else
+               oefatal do_populate_staging cannot determine endianess
        fi
 }
index bb45a31..713cc83 100644 (file)
@@ -23,18 +23,20 @@ CMDLINE="console=ttyS0,115200 rootfstype=jffs2 root=/dev/mtdblock4 rw init=/linu
 # defconfig to .config
 do_configure() {
        rm -f ${S}/.config
-       if test '${ARCH_BYTE_SEX}' = be
-       then
+       . ${CONFIG_SITE}
+       if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
          sed -e 's/.*CONFIG_USER_BIGENDIAN.*/CONFIG_USER_BIGENDIAN=y/' \
              -e 's/.*CONFIG_BIGENDIAN.*/CONFIG_BIGENDIAN=y/' \
              -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
                ${WORKDIR}/defconfig > ${S}/.config
-       else
+       elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
          sed -e 's/.*CONFIG_USER_LITTLEENDIAN.*/CONFIG_USER_LITTLEENDIAN=y/' \
              -e 's/.*CONFIG_LITTLEENDIAN.*/CONFIG_LITTLEENDIAN=y/' \
              -e 's/.*CONFIG_ENV_REGION_KERNEL_SWAP.*/CONFIG_ENV_REGION_KERNEL_SWAP=y/' \
              -e 's|CONFIG_ENV_DEFAULT_CMDLINE=|CONFIG_ENV_DEFAULT_CMDLINE=\"${CMDLINE}\"|' \
                ${WORKDIR}/defconfig > ${S}/.config
+       else
+         oefatal do_configure cannot determine endianess
        fi
        oe_runmake oldconfig
 }
@@ -43,11 +45,14 @@ DEPENDS += "devio-native"
 
 do_populate_staging() {
        install -d ${STAGING_LOADER_DIR}
-       # FIXME - arch-arm should not be hard-coded
-       if test '${ARCH_BYTE_SEX}' = be
-       then
+       . ${CONFIG_SITE}
+       if [ "x$ac_cv_c_bigendian" = "xyes" -o "x$ac_cv_c_littleendian" = "xno" ]; then
+               # FIXME - arch-arm should not be hard-coded
                cp src/arch-arm/rom/apex.bin ${STAGING_LOADER_DIR}/apex.bin
-       else
+       elif [ "x$ac_cv_c_littleendian" = "xyes" -o "x$ac_cv_c_bigendian" = "xno" ]; then
+               # FIXME - arch-arm should not be hard-coded
                devio '<<'src/arch-arm/rom/apex.bin >${STAGING_LOADER_DIR}/apex.bin 'xp $,4'
+       else
+               oefatal do_populate_staging cannot determine endianess
        fi
 }
diff --git a/packages/arm-kernel-shim/.mtn2git_empty b/packages/arm-kernel-shim/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/arm-kernel-shim/arm-kernel-shim_1.4.11.bb b/packages/arm-kernel-shim/arm-kernel-shim_1.4.11.bb
new file mode 100644 (file)
index 0000000..e994e13
--- /dev/null
@@ -0,0 +1,49 @@
+DESCRIPTION = "ARM Kernel Shim"
+SECTION = ""
+PRIORITY = "optional"
+HOMEPAGE = "http://wiki.buici.com/twiki/bin/view/Main/ApexBootloader"
+LICENSE = "GPL"
+PR = "r2"
+
+SRC_URI = "ftp://ftp.buici.com/pub/apex/apex-${PV}.tar.gz \
+          file://disable-commandline.patch;patch=1 \
+          file://config-nslu2.h \
+          file://config-nas100d.h \
+          file://config-dsmg600.h \
+          file://config-fsg3.h"
+
+S = ${WORKDIR}/apex-${PV}/arm-kernel-shim
+
+EXTRA_OEMAKE_append = " CROSS_COMPILE=${CROSS_DIR}/bin/${HOST_PREFIX}"
+
+oe_runmake() {
+       # NSLU2
+       cp ${WORKDIR}/config-nslu2.h ${S}/config.h
+       rm -f ${S}/main.o
+       oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2
+       make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nslu2 || die "oe_runmake failed"
+       # NAS100d
+       cp ${WORKDIR}/config-nas100d.h ${S}/config.h
+       rm -f ${S}/main.o
+       oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d
+       make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-nas100d || die "oe_runmake failed"
+       # DSMG-600
+       cp ${WORKDIR}/config-dsmg600.h ${S}/config.h
+       rm -f ${S}/main.o
+       oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600
+       make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-dsmg600 || die "oe_runmake failed"
+       # FSG-3
+       cp ${WORKDIR}/config-fsg3.h ${S}/config.h
+       rm -f ${S}/main.o
+       oenote make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3
+       make ${PARALLEL_MAKE} TOOLS=${CROSS_DIR}/bin/${TARGET_PREFIX} PACKAGE=arm-kernel-shim-fsg3 || die "oe_runmake failed"
+}
+
+do_populate_staging() {
+       install -d ${STAGING_LOADER_DIR}
+       . ${CONFIG_SITE}
+       cp ${S}/arm-kernel-shim-nslu2.bin ${STAGING_LOADER_DIR}/
+       cp ${S}/arm-kernel-shim-nas100d.bin ${STAGING_LOADER_DIR}/
+       cp ${S}/arm-kernel-shim-dsmg600.bin ${STAGING_LOADER_DIR}/
+       cp ${S}/arm-kernel-shim-fsg3.bin ${STAGING_LOADER_DIR}/
+}
diff --git a/packages/arm-kernel-shim/files/.mtn2git_empty b/packages/arm-kernel-shim/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/arm-kernel-shim/files/config-dsmg600.h b/packages/arm-kernel-shim/files/config-dsmg600.h
new file mode 100644 (file)
index 0000000..b0f37b3
--- /dev/null
@@ -0,0 +1,30 @@
+/* config.h
+
+   written by Marc Singer
+   23 Jun 2006
+
+   Copyright (C) 2006 Marc Singer
+
+   -----------
+   DESCRIPTION
+   -----------
+
+*/
+
+#if !defined (__CONFIG_H__)
+#    define   __CONFIG_H__
+
+#define PHYS_PARAMS            0xc0000100 /* Address for the parameter list */
+
+#define RAM_BANK0_START           0x00000000
+#define RAM_BANK0_LENGTH   0x04000000
+
+//#define RAM_BANK1_START         0xd0000000
+//#define RAM_BANK1_LENGTH   0x10000000
+
+//#define COMMANDLINE\
+// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs"
+
+#define MACH_TYPE                 964
+
+#endif  /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-fsg3.h b/packages/arm-kernel-shim/files/config-fsg3.h
new file mode 100644 (file)
index 0000000..1222d95
--- /dev/null
@@ -0,0 +1,30 @@
+/* config.h
+
+   written by Marc Singer
+   23 Jun 2006
+
+   Copyright (C) 2006 Marc Singer
+
+   -----------
+   DESCRIPTION
+   -----------
+
+*/
+
+#if !defined (__CONFIG_H__)
+#    define   __CONFIG_H__
+
+#define PHYS_PARAMS            0xc0000100 /* Address for the parameter list */
+
+#define RAM_BANK0_START           0x00000000
+#define RAM_BANK0_LENGTH   0x04000000
+
+//#define RAM_BANK1_START         0xd0000000
+//#define RAM_BANK1_LENGTH   0x10000000
+
+//#define COMMANDLINE\
+// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs"
+
+#define MACH_TYPE                 1091
+
+#endif  /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-nas100d.h b/packages/arm-kernel-shim/files/config-nas100d.h
new file mode 100644 (file)
index 0000000..5f148a6
--- /dev/null
@@ -0,0 +1,30 @@
+/* config.h
+
+   written by Marc Singer
+   23 Jun 2006
+
+   Copyright (C) 2006 Marc Singer
+
+   -----------
+   DESCRIPTION
+   -----------
+
+*/
+
+#if !defined (__CONFIG_H__)
+#    define   __CONFIG_H__
+
+#define PHYS_PARAMS            0xc0000100 /* Address for the parameter list */
+
+#define RAM_BANK0_START           0x00000000
+#define RAM_BANK0_LENGTH   0x04000000
+
+//#define RAM_BANK1_START         0xd0000000
+//#define RAM_BANK1_LENGTH   0x10000000
+
+//#define COMMANDLINE\
+// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs"
+
+#define MACH_TYPE                 865
+
+#endif  /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/config-nslu2.h b/packages/arm-kernel-shim/files/config-nslu2.h
new file mode 100644 (file)
index 0000000..7547061
--- /dev/null
@@ -0,0 +1,30 @@
+/* config.h
+
+   written by Marc Singer
+   23 Jun 2006
+
+   Copyright (C) 2006 Marc Singer
+
+   -----------
+   DESCRIPTION
+   -----------
+
+*/
+
+#if !defined (__CONFIG_H__)
+#    define   __CONFIG_H__
+
+#define PHYS_PARAMS            0xc0000100 /* Address for the parameter list */
+
+#define RAM_BANK0_START           0x00000000
+#define RAM_BANK0_LENGTH   0x02000000
+
+//#define RAM_BANK1_START         0xd0000000
+//#define RAM_BANK1_LENGTH   0x10000000
+
+//#define COMMANDLINE\
+// "console=ttyAMA0 root=/dev/memblk0 rootfstype=jffs"
+
+#define MACH_TYPE                 597
+
+#endif  /* __CONFIG_H__ */
diff --git a/packages/arm-kernel-shim/files/disable-commandline.patch b/packages/arm-kernel-shim/files/disable-commandline.patch
new file mode 100644 (file)
index 0000000..d8c59f1
--- /dev/null
@@ -0,0 +1,28 @@
+--- arm-kernel-shim/main.c~    2006-07-21 11:12:07.000000000 +0930
++++ arm-kernel-shim/main.c     2007-01-28 11:56:35.000000000 +1030
+@@ -47,7 +47,9 @@
+ #define NAKED         __attribute__((naked))
++#if defined (COMMANDLINE)
+ const char __attribute__((section(".rodata"))) cmdline[] = COMMANDLINE;
++#endif
+ void NAKED __attribute__((section(".boot"))) boot (u32 r0, u32 r1, u32 r2)
+ {
+@@ -82,6 +84,7 @@
+   pv += H_SIZE(pv)*4;
+ #endif
++#if defined (COMMANDLINE)
+       /* Command line */
+   H_SIZE(pv)          = tag_size(tag_cmdline) + (sizeof (cmdline)+1+3)/4;
+   H_TAG(pv)           = ATAG_CMDLINE;
+@@ -91,6 +94,7 @@
+       P_CMDLINE(pv)->cmdline[i] = cmdline[i];
+   }
+   pv += H_SIZE(pv)*4;
++#endif
+       /* End */
+   H_SIZE(pv)          = 0;
index 74e667c..758c3c8 100644 (file)
@@ -3,7 +3,7 @@ HOMEPAGE = "http://www-nrg.ee.lbl.gov/"
 SECTION = "network"
 LICENSE = "BSD"
 RRECOMMENDS = "arpwatch-data"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "ftp://ftp.ee.lbl.gov/arpwatch-${PV}.tar.gz \
            file://05debian_fhs.patch;patch=1 \
@@ -21,7 +21,7 @@ PACKAGES =+ "arpwatch-data"
 
 FILES_arpwatch-data = "${datadir}/arpwatch/ethercodes.dat"
 
-do_install() {
+fakeroot do_install() {
         install -d ${D}${bindir} ${D}${sbindir} ${D}${mandir}/man8 \
                 ${D}${sysconfdir}/default \
                 ${D}${sysconfdir}/init.d \
diff --git a/packages/bb/.mtn2git_empty b/packages/bb/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/bb/bb_1.2.bb b/packages/bb/bb_1.2.bb
new file mode 100644 (file)
index 0000000..0629f74
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "bb, The portable aalib demo"
+HOMEPAGE = "http://aa-project.sourceforge.net/bb/"
+SECTION = "console/misc"
+LICENSE = "GPLv2"
+DEPENDS = "aalib"
+PR = "r1"
+
+SRC_URI = "http://prdownloads.sourceforge.net/aa-project/bb-1.2.tar.gz \
+           file://fix-compile.patch;patch=1"
+
+inherit autotools
+
+do_install() {
+    install -d ${D}${bindir}
+    install -m 755 bb ${D}${bindir}
+}
diff --git a/packages/bb/files/.mtn2git_empty b/packages/bb/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/bb/files/fix-compile.patch b/packages/bb/files/fix-compile.patch
new file mode 100644 (file)
index 0000000..75641da
--- /dev/null
@@ -0,0 +1,166 @@
+Index: bb-1.2/bb.h
+===================================================================
+--- bb-1.2.orig/bb.h
++++ bb-1.2/bb.h
+@@ -23,7 +23,11 @@
+ #ifndef BB_H
+ #define BB_H
++//#include <aaint.h>
+ #include <aalib.h>
++struct parameters {
++    unsigned int p[AA_NPARAMS];
++};
+ #include "image.h"
+ #include "timers.h"
+ struct font {
+Index: bb-1.2/textform.c
+===================================================================
+--- bb-1.2.orig/textform.c
++++ bb-1.2/textform.c
+@@ -155,41 +155,41 @@ static char *text = "#cWell we've reache
+ "#c\n"
+ "#bThree goals of AA-Project:#n"
+ "\n\n"
+-"#f1)Port all important software (like Doom, Second Reality, X windows etc..) on new AA-lib.
+-
+-2)Port AA-lib on all available platforms (mainly ZX-Spectrum and Sharp).
+-
+-3)Force IBM to start manufacturing MDA cards again.
+-
+-AA-project was started by Jan Hubicka. In that times just few people knew about \
+-it. Then a new demo named BB has been relased to show the power \
+-of AA-lib technology. Now the project is freely available and anyone can help.
+-
+-Just join our mailing list: #baa#n at#b horac.ta.jcu.cz.#n by sending #bsubscribe aa#n to majordomo.
+-
+-All programs covered under AA-project can be obtained at
+-#c#bftp://ftp.ta.jcu.cz://pub/aa#n
+-#c
+-Or just browse our homepage at #bhttp://www.ta.jcu.cz://aa#n. Ton of \
+-examples of ascii-art generated by aalib, pointers to other AA-Project \
+-resources etc. 
+-        
+-   We decided to distribute all of our aa-related programs freely (see \
+-COPYING for details). But if you want to help us develop more such software \
+-send a small amount (or big one ;-) to AA/BB maintainer address: 
+-
+-Kamil Toman
+-CS Armady 1930, Tabor
+-390 03
+-Czech republic
+-
+-and contact us at:
+-
+-kupsaf@feld.cvut.cz (Filip Kupsa)
+-hubicka@paru.cas.cz (Jan Hubicka)
+-titania@horac.ta.jcu.cz (Mojmir Svoboda)
+-toman@horac.ta.jcu.cz (Kamil Toman)
+-#f"
++"#f1)Port all important software (like Doom, Second Reality, X windows etc..) on new AA-lib.\n"
++"\n"
++"2)Port AA-lib on all available platforms (mainly ZX-Spectrum and Sharp).\n"
++"\n"
++"3)Force IBM to start manufacturing MDA cards again.\n"
++"\n"
++"AA-project was started by Jan Hubicka. In that times just few people knew about "
++"it. Then a new demo named BB has been relased to show the power "
++"of AA-lib technology. Now the project is freely available and anyone can help.\n"
++"\n"
++"Just join our mailing list: #baa#n at#b horac.ta.jcu.cz.#n by sending #bsubscribe aa#n to majordomo.\n"
++"\n"
++"All programs covered under AA-project can be obtained at\n"
++"#c#bftp://ftp.ta.jcu.cz://pub/aa#n\n"
++"#c\n"
++"Or just browse our homepage at #bhttp://www.ta.jcu.cz://aa#n. Ton of "
++"examples of ascii-art generated by aalib, pointers to other AA-Project "
++"resources etc. \n"
++"        \n"
++"   We decided to distribute all of our aa-related programs freely (see "
++"COPYING for details). But if you want to help us develop more such software "
++"send a small amount (or big one ;-) to AA/BB maintainer address: \n"
++"\n"
++"Kamil Toman\n"
++"CS Armady 1930, Tabor\n"
++"390 03\n"
++"Czech republic\n"
++"\n"
++"and contact us at:\n"
++"\n"
++"kupsaf@feld.cvut.cz (Filip Kupsa)\n"
++"hubicka@paru.cas.cz (Jan Hubicka)\n"
++"titania@horac.ta.jcu.cz (Mojmir Svoboda)\n"
++"toman@horac.ta.jcu.cz (Kamil Toman)\n"
++"#f"
+ "\n"
+ "#l\n"
+ "#c#bAvailable programs#n\n"
+@@ -245,37 +245,37 @@ toman@horac.ta.jcu.cz (Kamil Toman)
+ "\n#l"
+ "\n"
+ "#c#bThe AA-Lib#n\n"
+-"#f#c
+-AA-lib is a low level gfx library just as many other libraries are. The \
+-main difference is that AA-lib does not require graphics device. In fact, \
+-there is no graphical output possible. AA-lib replaces those old-fashioned \
+-output methods with powerful ascii-art renderer. Now my linux boots \
+-with a nice penguin logo at secondary display (yes! Like Win95 does:) \
+-AA-lib API is designed to be similar to other graphics libraries. Learning \
+-a new API would be a piece of cake! \
+-#f
+-
+-#l
+-#c#bThe history#n
+-#f
+-Once upon a time we've (my friend Kamil and I) bought two old Herculeses \
+-as secondary monitors. We didn't know for that time that our Diamond \
+-Stealths 64 cards would become obsolete soon. Next day we downloaded \
+-the logo of Linux Texas Users Group \
+-- nice silly penguin looking like a cowboy! It was so exciting logo ... we \
+-decided that we couldn't live without it and we wanted to see it every time \
+-at a boot time as a logo on our secondary monitors. There was a small problem \
+-- Hercules doesn't support color graphics. So we decided to convert an image \
+-to ascii art using netpbm tools.
+-
+-The output was very ugly because the converting algorithm was absolutly stupid. \
+-During the night I designed a new convertor that used a font bitmap for \
+-creating aproximation table. The output wasn't very good since the algorithm \
+-wasn't so well tuned. Many months this small piece of code was waiting on my \
+-disc for the day \"D\". Meanwhile I started a new project XaoS (a fractal zoomer) \
+-with my friend Thomas. And then I got an idea: Ascii Art Mandelbrots! \
+-I was really impressed by the result! XaoS was faster, portable and looking \
+-much better than ever before. I found a new way to go... "
++"#f#c"
++"AA-lib is a low level gfx library just as many other libraries are. The "
++"main difference is that AA-lib does not require graphics device. In fact, "
++"there is no graphical output possible. AA-lib replaces those old-fashioned "
++"output methods with powerful ascii-art renderer. Now my linux boots "
++"with a nice penguin logo at secondary display (yes! Like Win95 does:) "
++"AA-lib API is designed to be similar to other graphics libraries. Learning "
++"a new API would be a piece of cake! "
++"#f"
++"\n"
++"#l"
++"#c#bThe history#n"
++"#f"
++"Once upon a time we've (my friend Kamil and I) bought two old Herculeses "
++"as secondary monitors. We didn't know for that time that our Diamond "
++"Stealths 64 cards would become obsolete soon. Next day we downloaded "
++"the logo of Linux Texas Users Group "
++"- nice silly penguin looking like a cowboy! It was so exciting logo ... we "
++"decided that we couldn't live without it and we wanted to see it every time "
++"at a boot time as a logo on our secondary monitors. There was a small problem "
++"- Hercules doesn't support color graphics. So we decided to convert an image "
++"to ascii art using netpbm tools."
++"\n"
++"The output was very ugly because the converting algorithm was absolutly stupid. "
++"During the night I designed a new convertor that used a font bitmap for "
++"creating aproximation table. The output wasn't very good since the algorithm "
++"wasn't so well tuned. Many months this small piece of code was waiting on my "
++"disc for the day \"D\". Meanwhile I started a new project XaoS (a fractal zoomer) "
++"with my friend Thomas. And then I got an idea: Ascii Art Mandelbrots! "
++"I was really impressed by the result! XaoS was faster, portable and looking "
++"much better than ever before. I found a new way to go... "
+ "#c\n"
+ "#f\n"
+ "\n"
diff --git a/packages/bluez/bluez-libs.inc b/packages/bluez/bluez-libs.inc
new file mode 100644 (file)
index 0000000..d740bd8
--- /dev/null
@@ -0,0 +1,22 @@
+DESCRIPTION = "Linux Bluetooth Stack Userland Libaries."
+SECTION = "libs"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.bluez.org"
+LICENSE = "GPL"
+PR = "r0"
+
+SRC_URI = "http://bluez.sourceforge.net/download/bluez-libs-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+HEADERS = "bluetooth.h bnep.h cmtp.h hci.h hci_lib.h hidp.h l2cap.h rfcomm.h sco.h sdp.h sdp_lib.h"
+
+do_stage() {
+        oe_libinstall -a -so -C src libbluetooth ${STAGING_LIBDIR}
+
+        install -d ${STAGING_INCDIR}/bluetooth/
+        for f in ${HEADERS}
+        do
+               install -m 0644 include/$f ${STAGING_INCDIR}/bluetooth/$f
+        done
+}
diff --git a/packages/bluez/bluez-libs_3.9.bb b/packages/bluez/bluez-libs_3.9.bb
new file mode 100644 (file)
index 0000000..6ddf62a
--- /dev/null
@@ -0,0 +1 @@
+require bluez-libs.inc
diff --git a/packages/bluez/bluez-utils-3.9/.mtn2git_empty b/packages/bluez/bluez-utils-3.9/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/bluez/bluez-utils-3.9/hciattach-ti-bts.patch b/packages/bluez/bluez-utils-3.9/hciattach-ti-bts.patch
new file mode 100644 (file)
index 0000000..87bd19f
--- /dev/null
@@ -0,0 +1,498 @@
+Index: bluez-utils-3.9/tools/hciattach.c
+===================================================================
+--- bluez-utils-3.9.orig/tools/hciattach.c     2007-01-28 21:16:48.000000000 +0100
++++ bluez-utils-3.9/tools/hciattach.c  2007-01-29 22:51:30.000000000 +0100
+@@ -59,6 +59,8 @@
+ #define HCI_UART_3WIRE        2
+ #define HCI_UART_H4DS 3
++#include "ti_bts.h"
++
+ struct uart_t {
+       char *type;
+       int  m_id;
+@@ -68,6 +70,7 @@
+       int  speed;
+       int  flags;
+       int  (*init) (int fd, struct uart_t *u, struct termios *ti);
++      char *bts;      /* bluetooth script */
+ };
+ #define FLOW_CTL      0x0001
+@@ -257,6 +260,114 @@
+       return 0;
+ }
++static int brf6150(int fd, struct uart_t *u, struct termios *ti)
++{
++      bts_t *bfp;
++      int i;
++      unsigned long vers;
++      unsigned char actionbuf[256];
++      unsigned char resp[128];                /* Response */
++      unsigned long count;
++      unsigned short atype;
++
++      if (u->bts == NULL)     /* no script, ignore */
++              return 0;
++
++      bfp = bts_load_script( u->bts, &vers );
++      if (bfp == NULL)
++              return -1;
++
++      fprintf( stderr, "Loading BTS script version %lu\n", vers );
++
++      while ((count = bts_next_action( bfp, actionbuf,
++                      sizeof actionbuf - 1, &atype )) != 0) {
++              if (atype == ACTION_REMARKS) {
++                      if (actionbuf[0] != 0)
++                              fprintf( stderr, "%s\n", actionbuf );
++              }
++              else if (atype == ACTION_SEND_COMMAND) {
++#if 0
++                      fprintf( stderr, "ACTION_SEND_COMMAND: ", (int)atype );
++                      for (i=0; i<count; i++) {
++                              fprintf( stderr, "0x%02x ", actionbuf[i] );
++                      }
++                      fprintf( stderr, "\n" );
++#endif
++                      int n;
++                      n = write(fd, actionbuf, count);
++                      if (n < 0 || n < count) {
++                              perror("Failed to write TI action command");
++                              return -1;
++                      }
++              }
++              else if (atype == ACTION_WAIT_EVENT) {
++                      action_wait_t *wait = (action_wait_t *)actionbuf;
++#if 0
++                      fprintf( stderr, "ACTION_WAIT_EVENT: %u msec, %u size, data = ", wait->msec, wait->size );
++                      for (i=0; i<wait->size; i++) {
++                              fprintf( stderr, "0x%02x ", wait->data[i] );
++                      }
++                      fprintf( stderr, "\n" );
++#endif
++                      usleep(wait->msec);     /* seems they give usec, not msec */
++                      /* Read reply. */
++                      if ((count = read_hci_event(fd, resp, sizeof resp)) < 0) {
++                              perror("Failed to read TI command response");
++                              return -1;
++                      }
++                      if (count < wait->size) {
++                              fprintf( stderr, "TI command response is short.");
++                      }
++                      for (i=0; i<wait->size; i++) {
++                              if (i == 3) continue;   /* ignore */
++                              if (resp[i] != wait->data[i]) {
++                                      fprintf( stderr, "TI command response does not match expected result.\n" );
++                              }
++                      }
++              }
++              else if (atype == ACTION_SERIAL_PORT_PARAMETERS) {
++                      action_serial_t *sercmd = (action_serial_t *)actionbuf;
++
++                      /* Set actual baudrate */
++                      fprintf( stderr,
++                              "BTS changing baud rate to %u, flow control to %u\n",
++                              sercmd->baud, sercmd->flow_control );
++
++                      tcflush(fd, TCIOFLUSH);
++
++                      if (sercmd->flow_control)
++                              ti->c_cflag |= CRTSCTS;
++                      else
++                              ti->c_cflag &= ~CRTSCTS;
++                      if (tcsetattr(fd, TCSANOW, ti) < 0) {
++                              perror("Can't set port settings");
++                              return -1;
++                      }
++
++                      u->speed = sercmd->baud;
++
++                      tcflush(fd, TCIOFLUSH);
++                      if (set_speed(fd, ti, sercmd->baud) < 0) {
++                              perror("Can't set baud rate");
++                              return -1;
++                      }
++              }
++              else if (atype == ACTION_DELAY) {
++                      action_delay_t *delay = (action_delay_t *)actionbuf;
++                      usleep(delay->msec);    /* seems they give usec, not msec */
++              }
++              else {
++                      fprintf( stderr, "BTS action type = %d: ", (int)atype );
++                      for (i=0; i<count; i++) {
++                              fprintf( stderr, "0x%02x ", actionbuf[i] );
++                      }
++                      fprintf( stderr, "\n" );
++              }
++      }
++      bts_unload_script( bfp );
++      return 0;
++}
++
+ static int texas(int fd, struct uart_t *u, struct termios *ti)
+ {
+       struct timespec tm = {0, 50000};
+@@ -297,15 +408,26 @@
+       } while (resp[4] != cmd[1] && resp[5] != cmd[2]);
+       /* Verify manufacturer */
+-      if ((resp[11] & 0xFF) != 0x0d)
++      if (resp[11] != 0x0d)
+               fprintf(stderr,"WARNING : module's manufacturer is not Texas Instrument\n");
+       /* Print LMP version */
+-      fprintf(stderr, "Texas module LMP version : 0x%02x\n", resp[10] & 0xFF);
++      fprintf(stderr, "TI module LMP version : 0x%02x\n", resp[10]);
+       /* Print LMP subversion */
+-      fprintf(stderr, "Texas module LMP sub-version : 0x%02x%02x\n", resp[14] & 0xFF, resp[13] & 0xFF);
+-
++      fprintf(stderr, "TI module LMP sub-version : 0x%02x%02x\n", resp[14], resp[13]);
++      if ((resp[14] >> 2) == 3) {
++              int err;
++              nanosleep(&tm, NULL);
++
++              /* BRF6150 */
++              if ((err=brf6150( fd, u, ti )) != 0) {
++                      fprintf( stderr, "TI script failed (err=%d)\n",
++                              err );
++                      return -1;
++              }
++      }
++
+       nanosleep(&tm, NULL);
+       return 0;
+ }
+@@ -1128,7 +1250,7 @@
+ {
+       printf("hciattach - HCI UART driver initialization utility\n");
+       printf("Usage:\n");
+-      printf("\thciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] <tty> <type | id> [speed] [flow|noflow]\n");
++      printf("\thciattach [-n] [-p] [-b] [-t timeout] [-s initial_speed] [-S bts-script] <tty> <type | id> [speed] [flow|noflow]\n");
+       printf("\thciattach -l\n");
+ }
+@@ -1143,11 +1265,12 @@
+       struct sigaction sa;
+       struct pollfd p;
+       char dev[PATH_MAX];
++      char *bts = NULL;
+       detach = 1;
+       printpid = 0;
+-      while ((opt=getopt(argc, argv, "bnpt:s:l")) != EOF) {
++      while ((opt=getopt(argc, argv, "bnpt:s:S:l")) != EOF) {
+               switch(opt) {
+               case 'b':
+                       send_break = 1;
+@@ -1169,6 +1292,10 @@
+                       init_speed = atoi(optarg);
+                       break;
++              case 'S':
++                      bts = optarg;
++                      break;
++
+               case 'l':
+                       for (i = 0; uart[i].type; i++) {
+                               printf("%-10s0x%04x,0x%04x\n", uart[i].type,
+@@ -1240,6 +1367,8 @@
+       if (init_speed)
+               u->init_speed = init_speed;
++      u->bts = bts;
++
+       memset(&sa, 0, sizeof(sa));
+       sa.sa_flags   = SA_NOCLDSTOP;
+       sa.sa_handler = sig_alarm;
+Index: bluez-utils-3.9/tools/Makefile.am
+===================================================================
+--- bluez-utils-3.9.orig/tools/Makefile.am     2007-01-28 21:16:48.000000000 +0100
++++ bluez-utils-3.9/tools/Makefile.am  2007-01-29 22:54:22.000000000 +0100
+@@ -37,7 +37,7 @@
+ noinst_PROGRAMS = hcisecfilter ppporc
+-hciattach_SOURCES = hciattach.c hciattach_st.c
++hciattach_SOURCES = hciattach.c hciattach_st.c ti_bts.h ti_bts.c
+ hciattach_LDADD = @BLUEZ_LIBS@
+ hciconfig_SOURCES = hciconfig.c csr.h csr.c
+Index: bluez-utils-3.9/tools/ti_bts.h
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ bluez-utils-3.9/tools/ti_bts.h     2007-01-29 22:51:30.000000000 +0100
+@@ -0,0 +1,116 @@
++/*
++ * Copyright (c) 2005 Texas Instruments, Inc.
++ *    Ported by SDG Systems, LLC
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License version 2 as
++ *  published by the Free Software Foundation;
++ *
++ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
++ *  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
++ *  CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
++ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ *
++ *  ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
++ *  COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
++ *  SOFTWARE IS DISCLAIMED.
++ *
++ */
++
++#ifndef BT_SCRIPT_H
++#define BT_SCRIPT_H
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++/*
++ * Define the interface of Bluetooth Script
++ */
++
++typedef void bts_t;
++
++
++#define ACTION_SEND_COMMAND             1   /* Send out raw data (as is) */
++#define ACTION_WAIT_EVENT               2   /* Wait for data */
++#define ACTION_SERIAL_PORT_PARAMETERS   3
++#define ACTION_DELAY                    4
++#define ACTION_RUN_SCRIPT               5
++#define ACTION_REMARKS                  6
++
++/*
++ * Structure for ACTION_SEND_COMMAND
++ */
++typedef struct tagCActionCommand
++{
++    unsigned char data[1]; /* Data to send */
++} action_command_t;
++
++/*
++ * Structure for ACTION_WAIT_EVENT
++ */
++typedef struct tagCActionWaitEvent
++{
++    unsigned long msec; /* in milliseconds */
++    unsigned long size;
++    unsigned char data[1]; /* Data to wait for */
++} action_wait_t;
++
++
++/*
++ * Structure for ACTION_SERIAL_PORT_PARAMETERS
++ */
++typedef struct tagCActionSerialPortParameters
++{
++    unsigned long baud;
++    unsigned long flow_control;
++} action_serial_t;
++
++/* Flow Control Type */
++#define FCT_NONE        0
++#define FCT_HARDWARE    1
++
++#define DONT_CHANGE     0xFFFFFFFF  /* For both baud rate and flow control */
++
++
++/*
++ * Structure for ACTION_DELAY
++ */
++typedef struct tagCActionDelay
++{
++    unsigned long msec; /* in milliseconds */
++} action_delay_t;
++
++/*
++ * Structure for ACTION_RUN_SCRIPT
++ */
++typedef struct tagCActionRunScript
++{
++    char filename[1];
++} action_run_t;
++
++/*
++ * Structure for ACTION_REMARKS
++ */
++typedef struct tagCActionRemarks
++{
++    char m_szRemarks[1];
++} action_remarks_t;
++
++
++const char *cis_create_filename(const unsigned char* cmdparms);
++bts_t * bts_load_script(const char* fname, unsigned long* version);
++unsigned long bts_next_action(const bts_t* bts_fp, unsigned char* action_buf,
++      unsigned long nMaxSize, unsigned short* ptype);
++void bts_unload_script(bts_t* bts_fp);
++
++#ifdef __cplusplus
++};
++#endif
++
++#endif /* BT_SCRIPT_H */
++
+Index: bluez-utils-3.9/tools/ti_bts.c
+===================================================================
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ bluez-utils-3.9/tools/ti_bts.c     2007-01-29 22:51:30.000000000 +0100
+@@ -0,0 +1,149 @@
++/*
++ * Copyright (c) 2005 Texas Instruments, Inc.
++ *    Ported by SDG Systems, LLC
++ *
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License version 2 as
++ *  published by the Free Software Foundation;
++ *
++ *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
++ *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS.
++ *  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY
++ *  CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES
++ *  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
++ *  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
++ *  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
++ *
++ *  ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS,
++ *  COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS
++ *  SOFTWARE IS DISCLAIMED.
++ *
++ */
++
++
++#include <stdio.h>
++#include <stdlib.h>
++#include "ti_bts.h"
++
++#ifndef MAKEWORD
++#define MAKEWORD(a, b)      ((unsigned short)(((unsigned char)(a)) | ((unsigned short)((unsigned char)(b))) << 8))
++#endif
++
++#define TI_MANUFACTURER_ID  13
++
++/*
++ * Common Init Script specific
++ */
++const char *
++cis_create_filename(const unsigned char* cmdparms)
++{
++    static char bts_file[50];
++
++    /* Check for TI's id */
++    unsigned short manfid = MAKEWORD(cmdparms[8], cmdparms[9]);
++
++    if (TI_MANUFACTURER_ID == manfid) {
++        unsigned short version = MAKEWORD(cmdparms[10], cmdparms[11]);
++
++        unsigned short chip =  (version & 0x7C00) >> 10;
++        unsigned short min_ver = (version & 0x007F);
++        unsigned short maj_ver = (version & 0x0380) >> 7;
++
++        if (0 != (version & 0x8000)) {
++            maj_ver |= 0x0008;
++        }
++
++        sprintf( bts_file, "TIInit_%d.%d.%d.bts",
++            (int)chip, (int)maj_ver, (int)min_ver);
++
++        return &bts_file[0];
++    }
++    return NULL;
++}
++
++typedef struct tagCHeader
++{
++    unsigned long magic;
++    unsigned long version;
++    unsigned char future[24];
++} cheader_t;
++
++
++/* The value 0x42535442 stands for (in ASCII) BTSB */
++/* which is Bluetooth Script Binary */
++#define FILE_HEADER_MAGIC   0x42535442
++
++
++bts_t *
++bts_load_script(const char* fname, unsigned long* version)
++{
++    bts_t* bts = NULL;
++    FILE* fp = fopen(fname, "rb");
++
++    if (NULL != fp) {
++        /* Read header */
++        cheader_t header;
++
++        /* Read header */
++        if (1 == fread(&header, sizeof(header), 1, fp)) {
++            /* Check magic number for correctness */
++            if (header.magic == FILE_HEADER_MAGIC) {
++                /* If user wants the version number */
++                if (NULL != version) {
++                    *version = header.version;
++                }
++                bts = (bts_t*)fp;
++            }
++        }
++        /* If failed reading the file, close it */
++        if (NULL == bts) {
++            fclose(fp);
++        }
++    }
++    return bts;
++}
++
++unsigned long
++bts_next_action(const bts_t* bts_fp, unsigned char* action_buf,
++    unsigned long nMaxSize, unsigned short* ptype)
++{
++    unsigned long bytes = 0;
++    FILE* fp = (FILE*)bts_fp;
++    unsigned char action_hdr[4];
++
++    if (bts_fp == NULL)
++        return 0;
++
++    /* Each Action has the following: */
++    /* UINT16 type of this action */
++    /* UINT16 size of rest */
++    /* BYTE[] action buffer (for HCI, includes the type byte e.g. 1 for hci command) */
++
++    if (1 == fread(&action_hdr[0], sizeof(action_hdr), 1, fp)) {
++        unsigned short type = *(unsigned short*)&action_hdr[0];
++        unsigned short size = *(unsigned short*)&action_hdr[2];
++
++        if (size <= nMaxSize) {
++            int nread = fread(action_buf, sizeof(action_buf[0]), size, fp);
++
++            if (nread == size) {
++                *ptype = type;
++                bytes = (unsigned long)size;
++            }
++        }
++    }
++
++    return bytes;
++}
++
++void
++bts_unload_script(bts_t* bts_fp)
++{
++    FILE* fp = (FILE*)bts_fp;
++
++    if (NULL != fp) {
++        fclose(fp);
++    }
++}
++
index ff3916e..912c419 100644 (file)
@@ -1,18 +1,17 @@
 DESCRIPTION = "Linux Bluetooth Stack Userland Utilities."
 SECTION = "console"
 PRIORITY = "optional"
-DEPENDS = "bluez-libs-${PV} pcmcia-cs"
-RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils"
+DEPENDS = "bluez-libs-${PV} dbus"
+PROVIDES = "bluez-utils-dbus"
+RPROVIDES_${PN} = "bluez-pan bluez-sdp bluez-utils-dbus"
+RREPLACES = "bluez-utils-dbus"
+RCONFLICTS_${PN} = "bluez-utils-nodbus"
 LICENSE = "GPL"
 
 SRC_URI = "http://bluez.sourceforge.net/download/bluez-utils-${PV}.tar.gz \
-       file://base.patch;patch=1 \
-       file://blueboxes.patch;patch=1 \
-       file://no-user-include.patch;patch=1 \
        file://hcid.conf \
-       file://bluetooth.default \
-       file://bluetooth.conf \
-       file://02dtl1_cs.sh"
+       file://02dtl1_cs.sh \
+       file://hciattach-ti-bts.patch;patch=1"
 
 # Almost all serial CF cards w/ manfid 0x0000,0x0000 seem to use the bcs protocol
 # Let's default to that instead of 'any' until further notice...
@@ -20,41 +19,34 @@ SRC_URI += " file://default-manfid-0x0-to-bcps.patch;patch=1"
 
 S = "${WORKDIR}/bluez-utils-${PV}"
 
-# We don't depend on openobex, fuse, alsa or usb but we set paths into staging
-# otherwise /usr/lib and /usr/include make it onto command lines with unpredictable results
-# Ideally acinclude.m4 needs fixing
-EXTRA_OECONF = "--with-bluez-libs=${STAGING_LIBDIR} --with-bluez-includes=${STAGING_INCDIR} \
-                --enable-pcmcia --enable-initscripts --enable-bcm203x --enable-hid2hci \
-               --disable-obex --disable-alsa \
-               --with-openobex=${STAGING_DIR}/${HOST_SYS} --with-fuse=${STAGING_DIR}/${HOST_SYS} \
-               --with-alsa=${STAGING_DIR}/${HOST_SYS} --with-usb=${STAGING_DIR}/${HOST_SYS} \
-               --with-bluez=${STAGING_LIBDIR}/${HOST_SYS}"
+EXTRA_OECONF = "--enable-initscripts --enable-bcm203x --enable-hid2hci"
+#  --enable-obex           enable OBEX support
+#  --enable-alsa           enable ALSA support
+#  --enable-cups           install CUPS backend support
+#  --enable-bccmd          install BCCMD interface utility
+#  --enable-avctrl         install Audio/Video control utility
+#  --enable-hid2hci        install HID mode switching utility
+#  --enable-dfutool        install DFU firmware upgrade utility
 
 inherit autotools update-rc.d
 
 INITSCRIPT_NAME = "bluetooth"
 INITSCRIPT_PARAMS = "defaults 23 19"
 
-do_compile_prepend() {
-       find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:'
-}
-
 do_install_append() {
-       install -d ${D}${base_sbindir} ${D}${base_bindir}/ ${D}${sysconfdir}/apm/event.d/
+       install -d ${D}${base_sbindir} ${D}${base_bindir}/  ${D}${sysconfdir}/apm/event.d/
        mv ${D}${sbindir}/* ${D}${base_sbindir}/
        mv ${D}${bindir}/* ${D}${base_bindir}/
        rmdir ${D}${bindir} ${D}${sbindir}
        chmod u+s ${D}${base_sbindir}/hciattach ${D}${base_sbindir}/hciconfig
-       chmod 755 ${D}${sysconfdir}/pcmcia/bluetooth
        install -m 0644 ${WORKDIR}/hcid.conf ${D}${sysconfdir}/bluetooth/
-       install -m 0644 ${WORKDIR}/bluetooth.default ${D}${sysconfdir}/default/bluetooth
-       cat ${WORKDIR}/bluetooth.conf >> ${D}${sysconfdir}/pcmcia/bluetooth.conf
        install -m 0755 ${WORKDIR}/02dtl1_cs.sh ${D}${sysconfdir}/apm/event.d/
 }
 
 CONFFILES_${PN} = "${sysconfdir}/bluetooth/hcid.conf ${sysconfdir}/bluetooth/rfcomm.conf \
-       ${sysconfdir}/bluetooth/pin ${sysconfdir}/default/bluetooth"
+       ${sysconfdir}/default/bluetooth"
 
-PACKAGES =+ "${PN}-ciptool ${PN}-bluepin"
+PACKAGES =+ "${PN}-ciptool"
 FILES_${PN}-ciptool = "/bin/ciptool"
-FILES_${PN}-bluepin = "/bin/bluepin"
+RREPLACES_${PN}-ciptool = "bluez-utils-dbus-ciptool"
+RCONFLICTS_${PN}-ciptool = "bluez-utils-dbus-ciptool bluez-utils-nodbus"
diff --git a/packages/bluez/bluez-utils_3.9.bb b/packages/bluez/bluez-utils_3.9.bb
new file mode 100644 (file)
index 0000000..d07c68b
--- /dev/null
@@ -0,0 +1 @@
+require bluez-utils.inc
diff --git a/packages/bmon/.mtn2git_empty b/packages/bmon/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/bmon/bmon_2.1.0.bb b/packages/bmon/bmon_2.1.0.bb
new file mode 100644 (file)
index 0000000..32e956f
--- /dev/null
@@ -0,0 +1,16 @@
+DESCRIPTION = "Portable Bandwidth Monitor and rate estimator"
+HOMEPAGE = "http://people.suug.ch/~tgr/bmon/"
+SECTION = "console/utilities"
+LICENSE = "MIT"
+# only works with libnl-0.5.0
+DEPENDS = "libnl"
+PR = "r0"
+
+SRC_URI = "http://people.suug.ch/~tgr/bmon/files/bmon-2.1.0.tar.gz \
+           file://no-strip.patch;patch=1"
+
+inherit autotools
+
+do_compile() {
+    oe_runmake
+}
diff --git a/packages/bmon/files/.mtn2git_empty b/packages/bmon/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/bmon/files/no-strip.patch b/packages/bmon/files/no-strip.patch
new file mode 100644 (file)
index 0000000..f09e816
--- /dev/null
@@ -0,0 +1,13 @@
+Index: bmon-2.1.0/GNUmakefile
+===================================================================
+--- bmon-2.1.0.orig/GNUmakefile
++++ bmon-2.1.0/GNUmakefile
+@@ -50,7 +50,7 @@ distclean: clean
+ install:
+       ./install-sh -d -m 0755 $(DESTDIR)$(prefix)/bin
+       ./install-sh -d -m 0755 $(DESTDIR)$(mandir)/man1
+-      ./install-sh -c -s -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
++      ./install-sh -c -m 0755 src/bmon $(DESTDIR)$(prefix)/bin
+       ./install-sh -c    -m 0644 man/bmon.1 $(DESTDIR)$(mandir)/man1
+ show: Makefile.opts
diff --git a/packages/cairo/cairo_1.3.10.bb b/packages/cairo/cairo_1.3.10.bb
deleted file mode 100644 (file)
index 883884d..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-#This is a development snapshot, so lets hint OE to use the releases
-DEFAULT_PREFERENCE = "-1"
-
-require cairo.inc
-
-SRC_URI = "http://cairographics.org/snapshots/cairo-${PV}.tar.gz"
-
diff --git a/packages/cairo/cairo_1.3.12.bb b/packages/cairo/cairo_1.3.12.bb
new file mode 100644 (file)
index 0000000..b6a6a48
--- /dev/null
@@ -0,0 +1,10 @@
+#This is a development snapshot, so lets hint OE to use the releases
+DEFAULT_PREFERENCE = "-1"
+
+require cairo.inc
+
+SRC_URI = "http://cairographics.org/snapshots/cairo-${PV}.tar.gz \
+           file://cairo-surface-cache.patch;patch=1"
+
+PR = "r1"
+
index 55bdc01..26eaf78 100644 (file)
@@ -7,7 +7,7 @@ DEPENDS = "virtual/libx11 libsm libpng fontconfig libxrender"
 DESCRIPTION = "Cairo graphics library"
 LICENSE = "MPL LGPL"
 
-PV = "1.3.11+git${SRCDATE}"
+PV = "1.3.13+git${SRCDATE}"
 
 SRC_URI = "git://git.cairographics.org/git/cairo;protocol=git \
          "
diff --git a/packages/cairo/files/cairo-surface-cache.patch b/packages/cairo/files/cairo-surface-cache.patch
new file mode 100644 (file)
index 0000000..ee9fc3a
--- /dev/null
@@ -0,0 +1,91 @@
+Hi,
+
+Last month, Xan xtraced[1] cairo text drawing (using xlib), and noticed
+that cairo creates (and afterward destroys) a 1x1 pixmap (a cairo
+surface) every time it draws some text. Xft doesn't do this.
+
+Carl and Behdad suggested ways to, like Xft, cache surfaces so as not to
+have to recreate them all the time.
+
+As suggested by Carl in the same thread, I first investigated
+per-pattern caching of acquired surfaces. This didn't work as patterns
+mostly get copied before their surfaces are requested. 
+
+Attached patch adds a simple 16-entry static cache to
+_cairo_pattern_acquire_surface_for_solid(). It still needs work, however
+this already yields a speedup[2] of 12% when drawing text using GTK+
+2.10, exceeding the performance of GTK+ 2.6. Yay!
+
+Comments appreciated,
+
+Jorn
+
+diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
+index b488d1f..be63faf 100644
+--- a/src/cairo-pattern.c
++++ b/src/cairo-pattern.c
+@@ -1020,6 +1020,8 @@ _cairo_pattern_acquire_surface_for_gradi
+     return status;
+ }
++#define MAX_CACHE_SIZE 16
++
+ static cairo_int_status_t
+ _cairo_pattern_acquire_surface_for_solid (cairo_solid_pattern_t            *pattern,
+                                         cairo_surface_t            *dst,
+@@ -1030,13 +1032,50 @@ _cairo_pattern_acquire_surface_for_solid
+                                         cairo_surface_t            **out,
+                                         cairo_surface_attributes_t *attribs)
+ {
+-    *out = _cairo_surface_create_similar_solid (dst,
+-                                              CAIRO_CONTENT_COLOR_ALPHA,
+-                                              1, 1,
+-                                              &pattern->color);
+-    if ((*out)->status)
++    /* We have a small cache here, because we don't want to constantly
++     * recreate surfaces for simple solid colors */
++    static struct {
++        cairo_color_t    color;
++        cairo_surface_t *surface;
++    } cache[MAX_CACHE_SIZE];
++    static int cache_size = 0;
++
++    cairo_surface_t *surface;
++    int i;
++
++    /* Check cache first */
++    for (i = 0; i < cache_size; i++)
++        if (cache[i].surface->backend == dst->backend &&
++            memcmp (&cache[i].color,
++                    &pattern->color,
++                    sizeof (cairo_color_t)) == 0)
++            goto DONE;
++
++    /* Not cached, need to create new */
++    surface = _cairo_surface_create_similar_solid (dst,
++                                                 CAIRO_CONTENT_COLOR_ALPHA,
++                                                 1, 1,
++                                                 &pattern->color);
++    if (surface->status)
+       return CAIRO_STATUS_NO_MEMORY;
++    /* Cache new */
++    if (cache_size < MAX_CACHE_SIZE)
++        cache_size++;
++    else {
++        i = random () % MAX_CACHE_SIZE;
++
++        /* Evict old */
++        cairo_surface_destroy (cache[i].surface);
++    }
++
++    cache[i].color   = pattern->color;
++    cache[i].surface = surface;
++
++DONE:
++
++    *out = cairo_surface_reference (cache[i].surface);
++
+     attribs->x_offset = attribs->y_offset = 0;
+     cairo_matrix_init_identity (&attribs->matrix);
+     attribs->extend = CAIRO_EXTEND_REPEAT;
diff --git a/packages/chibitracker/.mtn2git_empty b/packages/chibitracker/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/chibitracker/chibitracker_svn.bb b/packages/chibitracker/chibitracker_svn.bb
new file mode 100644 (file)
index 0000000..ec7d928
--- /dev/null
@@ -0,0 +1,13 @@
+DESCRIPTION = "Chibitracker is an impulse tracker clone based on SDL"
+LICENSE = "GPL"
+HOMEPAGE = "http://www.chibitracker.com"
+SECTION = "multimedia"
+AUTHOR = "Juan Linietsky <reduzio@gmail.com>"
+DEPENDS = "virtual/libsdl libsdl-mixer"
+PV = "0.9.9+svn${SRCDATE}"
+
+SRC_URI = "svn://svn.berlios.de/chibitracker;module=trunk"
+S = "${WORKDIR}/trunk"
+
+inherit scons
+
diff --git a/packages/dri/drm-kernel/.mtn2git_empty b/packages/dri/drm-kernel/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/dri/drm-kernel/make.patch b/packages/dri/drm-kernel/make.patch
new file mode 100644 (file)
index 0000000..f0dabec
--- /dev/null
@@ -0,0 +1,20 @@
+--- drm/linux-core/Makefile    2005-06-03 21:02:54.000000000 +0100
++++ drm/linux-core/Makefile    2005-06-17 21:40:34.000000000 +0100
+@@ -173,7 +173,7 @@
+ all: modules
+ modules: includes
+-      make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
++      $(MAKE) -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
+ ifeq ($(HEADERFROMBOOT),1)
+@@ -243,7 +243,7 @@
+       rm -rf $(CLEANFILES)
+ $(MODULE_LIST)::
+-      make DRM_MODULES=$@ modules
++       $(MAKE) DRM_MODULES=$@ modules
+ # Build test utilities
index 0c235a3..8e21988 100644 (file)
@@ -16,5 +16,3 @@ do_compile() {
 do_stage() {
        autotools_stage_all
 }
-
-
diff --git a/packages/dri/libdrm_2.3.0.bb b/packages/dri/libdrm_2.3.0.bb
new file mode 100644 (file)
index 0000000..9caf9b4
--- /dev/null
@@ -0,0 +1,10 @@
+SECTION = "x11/base"
+LICENSE = "MIT"
+SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2"
+PROVIDES = "drm"
+
+inherit autotools pkgconfig
+
+do_stage() {
+       autotools_stage_all
+}
diff --git a/packages/dri/make.patch b/packages/dri/make.patch
deleted file mode 100644 (file)
index f0dabec..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- drm/linux-core/Makefile    2005-06-03 21:02:54.000000000 +0100
-+++ drm/linux-core/Makefile    2005-06-17 21:40:34.000000000 +0100
-@@ -173,7 +173,7 @@
- all: modules
- modules: includes
--      make -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
-+      $(MAKE) -C $(LINUXDIR) $(GETCONFIG) SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
- ifeq ($(HEADERFROMBOOT),1)
-@@ -243,7 +243,7 @@
-       rm -rf $(CLEANFILES)
- $(MODULE_LIST)::
--      make DRM_MODULES=$@ modules
-+       $(MAKE) DRM_MODULES=$@ modules
- # Build test utilities
diff --git a/packages/e17/e-wm_0.16.999.036.bb b/packages/e17/e-wm_0.16.999.036.bb
deleted file mode 100644 (file)
index 3084fd9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "E17 - the Enlightenment Window Mananger"
-DEPENDS = "evas-x11 ecore-x11 edje eet embryo"
-LICENSE = "MIT"
-PR = "r4"
-
-inherit e update-alternatives
-
-SRC_URI = "${E_URI}/enlightenment-${PV}.tar.gz \
-           file://fix-configure.patch;patch=1 \
-           file://set-autoscroll-defaults.patch;patch=1 \
-           file://Xsession.d/98enlightenment"
-
-S = "${WORKDIR}/enlightenment-${PV}"
-
-PROFILE = "LOWRES_PDA"
-PROFILE_c7x0 = "HIRES_PDA"
-PROFILE_tosa = "HIRES_PDA"
-PROFILE_spitz = "HIRES_PDA"
-PROFILE_akita = "HIRES_PDA"
-
-EXTRA_OECONF = "--with-profile=${PROFILE} \
-                --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
-                --x-includes=${STAGING_INCDIR}/X11 \
-                --x-libraries=${STAGING_LIBDIR}"
-
-FILES_${PN} = "${bindir}/* ${libdir}/* ${datadir} ${sysconfdir}"
-
-do_compile_prepend() {
-        find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:'
-       find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:'
-}
-
-do_install_append() {
-       install -d ${D}/${sysconfdir}/X11/Xsession.d
-       install -m 755 ${WORKDIR}/Xsession.d/98enlightenment ${D}/${sysconfdir}/X11/Xsession.d
-}
-
-ALTERNATIVE_PATH = "${bindir}/enlightenment"
-ALTERNATIVE_NAME = "x-window-manager"
-ALTERNATIVE_LINK = "${bindir}/x-window-manager"
-ALTERNATIVE_PRIORITY = "16"
diff --git a/packages/e17/e-wm_0.16.999.037.bb b/packages/e17/e-wm_0.16.999.037.bb
new file mode 100644 (file)
index 0000000..3084fd9
--- /dev/null
@@ -0,0 +1,41 @@
+DESCRIPTION = "E17 - the Enlightenment Window Mananger"
+DEPENDS = "evas-x11 ecore-x11 edje eet embryo"
+LICENSE = "MIT"
+PR = "r4"
+
+inherit e update-alternatives
+
+SRC_URI = "${E_URI}/enlightenment-${PV}.tar.gz \
+           file://fix-configure.patch;patch=1 \
+           file://set-autoscroll-defaults.patch;patch=1 \
+           file://Xsession.d/98enlightenment"
+
+S = "${WORKDIR}/enlightenment-${PV}"
+
+PROFILE = "LOWRES_PDA"
+PROFILE_c7x0 = "HIRES_PDA"
+PROFILE_tosa = "HIRES_PDA"
+PROFILE_spitz = "HIRES_PDA"
+PROFILE_akita = "HIRES_PDA"
+
+EXTRA_OECONF = "--with-profile=${PROFILE} \
+                --with-edje-cc=${STAGING_BINDIR_NATIVE}/edje_cc \
+                --x-includes=${STAGING_INCDIR}/X11 \
+                --x-libraries=${STAGING_LIBDIR}"
+
+FILES_${PN} = "${bindir}/* ${libdir}/* ${datadir} ${sysconfdir}"
+
+do_compile_prepend() {
+        find ${S} -name Makefile | xargs sed -i 's:/usr/include:${STAGING_INCDIR}:'
+       find ${S} -name Makefile | xargs sed -i 's:/usr/X11R6/include:${STAGING_INCDIR}:'
+}
+
+do_install_append() {
+       install -d ${D}/${sysconfdir}/X11/Xsession.d
+       install -m 755 ${WORKDIR}/Xsession.d/98enlightenment ${D}/${sysconfdir}/X11/Xsession.d
+}
+
+ALTERNATIVE_PATH = "${bindir}/enlightenment"
+ALTERNATIVE_NAME = "x-window-manager"
+ALTERNATIVE_LINK = "${bindir}/x-window-manager"
+ALTERNATIVE_PRIORITY = "16"
index 7f0a9a1..50126cb 100644 (file)
@@ -1,10 +1,10 @@
 DESCRIPTION = "Entrance is the Enlightenment login manager"
 LICENSE = "MIT"
 # can also use pam and crypt
-DEPENDS = "edb edb-native evas-x11 ecore-x11 edje esmart-x11 bash keylaunch xserver-common login-manager"
+DEPENDS = "evas-x11 ecore-x11 edje esmart-x11 bash keylaunch xserver-common login-manager"
 RDEPENDS += "bash keylaunch xserver-common glibc-gconv-iso8859-1 login-manager entrance-themes"
 HOMEPAGE = "http://www.enlightenment.org"
-PR = "r13"
+PR = "r14"
 
 inherit e
 
diff --git a/packages/efl/ecore-fb_0.9.9.036.bb b/packages/efl/ecore-fb_0.9.9.036.bb
deleted file mode 100644 (file)
index 49c3292..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-require ecore.inc
-PR = "r2"
-
-EXTRA_OECONF = "--enable-ecore-fb \
-               --enable-ecore-job \
-               --enable-ecore-file \
-               --enable-poll \
-               --enable-ecore-dbus \
-               --enable-ecore-evas \
-        --enable-ecore-evas-buffer \
-               --enable-ecore-evas-fb \
-               --disable-ecore-evas-x \
-               --disable-ecore-evas-xrender \
-               --disable-ecore-evas-gl \
-               --enable-ecore-con \
-               --enable-ecore-config \
-               --enable-ecore-ipc \
-               --enable-ecore-txt \
-               --disable-ecore-x \
-               --disable-curl \
-               --without-curl-config \
-               --enable-ecore-config \
-        --enable-ecore-desktop \
-               --disable-openssl"
-
-parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
-        Ecore_Txt Ecore_Fb Ecore_Con \
-        Ecore_Ipc Ecore_Evas Ecore_Config \
-     Ecore_Desktop"
diff --git a/packages/efl/ecore-fb_0.9.9.037.bb b/packages/efl/ecore-fb_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..b856d38
--- /dev/null
@@ -0,0 +1,31 @@
+require ecore.inc
+PR = "r2"
+
+SRC_URI += "file://remove-bad-code.patch;patch=1"
+
+EXTRA_OECONF = "--enable-ecore-fb \
+               --enable-ecore-job \
+               --enable-ecore-file \
+               --enable-poll \
+               --enable-ecore-dbus \
+               --enable-ecore-evas \
+        --enable-ecore-evas-buffer \
+               --enable-ecore-evas-fb \
+               --disable-ecore-evas-x \
+               --disable-ecore-evas-xrender \
+               --disable-ecore-evas-gl \
+               --enable-ecore-con \
+               --enable-ecore-config \
+               --enable-ecore-ipc \
+               --enable-ecore-txt \
+               --disable-ecore-x \
+               --disable-curl \
+               --without-curl-config \
+               --enable-ecore-config \
+        --enable-ecore-desktop \
+               --disable-openssl"
+
+parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
+        Ecore_Txt Ecore_Fb Ecore_Con \
+        Ecore_Ipc Ecore_Evas Ecore_Config \
+     Ecore_Desktop"
diff --git a/packages/efl/ecore-native_0.9.9.036.bb b/packages/efl/ecore-native_0.9.9.036.bb
deleted file mode 100644 (file)
index 7d7ed23..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-require ecore-fb_${PV}.bb
-inherit native
-# disable curl for now (see EXTRA_OECONF in ecore-fb), we may reenable it when we need it
-# DEPENDS = "curl-native eet-native evas-native"
-DEPENDS = "eet-native evas-native"
-PROVIDES = "ecore-native"
\ No newline at end of file
diff --git a/packages/efl/ecore-native_0.9.9.037.bb b/packages/efl/ecore-native_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..7d7ed23
--- /dev/null
@@ -0,0 +1,6 @@
+require ecore-fb_${PV}.bb
+inherit native
+# disable curl for now (see EXTRA_OECONF in ecore-fb), we may reenable it when we need it
+# DEPENDS = "curl-native eet-native evas-native"
+DEPENDS = "eet-native evas-native"
+PROVIDES = "ecore-native"
\ No newline at end of file
diff --git a/packages/efl/ecore-x11_0.9.9.036.bb b/packages/efl/ecore-x11_0.9.9.036.bb
deleted file mode 100644 (file)
index 1deb641..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-require ecore.inc
-DEPENDS += "evas-x11"
-PR = "r3"
-
-SRC_URI += "file://configure-abstract-sockets.patch;patch=1"
-
-EXTRA_OECONF = "--disable-ecore-fb \
-        --disable-ecore-dfb \
-               --enable-ecore-job \
-               --enable-ecore-file \
-               --enable-ecore-dbus \
-               --disable-ecore-evas-fb \
-               --disable-ecore-evas-dfb \
-               --enable-ecore-evas-x \
-        --enable-ecore-evas-buffer \
-               --disable-ecore-evas-gl \
-               --enable-ecore-con \
-               --enable-ecore-ipc \
-               --enable-ecore-txt \
-               --enable-ecore-x \
-               --enable-ecore-config \
-               --disable-openssl \
-        --enable-ecore-desktop \
-               --x-includes=${STAGING_INCDIR}/X11 \
-               --x-libraries=${STAGING_LIBDIR} "
-
-parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
-        Ecore_Txt Ecore_Fb Ecore_Con \
-        Ecore_Ipc Ecore_Evas Ecore_Config \
-        Ecore_X Ecore_Desktop"
diff --git a/packages/efl/ecore-x11_0.9.9.037.bb b/packages/efl/ecore-x11_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..1deb641
--- /dev/null
@@ -0,0 +1,30 @@
+require ecore.inc
+DEPENDS += "evas-x11"
+PR = "r3"
+
+SRC_URI += "file://configure-abstract-sockets.patch;patch=1"
+
+EXTRA_OECONF = "--disable-ecore-fb \
+        --disable-ecore-dfb \
+               --enable-ecore-job \
+               --enable-ecore-file \
+               --enable-ecore-dbus \
+               --disable-ecore-evas-fb \
+               --disable-ecore-evas-dfb \
+               --enable-ecore-evas-x \
+        --enable-ecore-evas-buffer \
+               --disable-ecore-evas-gl \
+               --enable-ecore-con \
+               --enable-ecore-ipc \
+               --enable-ecore-txt \
+               --enable-ecore-x \
+               --enable-ecore-config \
+               --disable-openssl \
+        --enable-ecore-desktop \
+               --x-includes=${STAGING_INCDIR}/X11 \
+               --x-libraries=${STAGING_LIBDIR} "
+
+parts = "Ecore Ecore_Job Ecore_File Ecore_DBus \
+        Ecore_Txt Ecore_Fb Ecore_Con \
+        Ecore_Ipc Ecore_Evas Ecore_Config \
+        Ecore_X Ecore_Desktop"
index e0e65b6..7d89435 100644 (file)
@@ -3,7 +3,7 @@ foundation libraries. It makes makes doing selections, drag and drop, event loop
 timeouts and idle handlers fast, optimized, and convenient."
 LEAD_SONAME = "libecore.so"
 LICENSE = "MIT"
-# can also have openssl, dbus
+# can also have openssl, dbus, iconv
 DEPENDS += "virtual/evas curl eet"
 PROVIDES += "virtual/ecore"
 
index 5a23f90..2c82b27 100644 (file)
@@ -1,12 +1,12 @@
-diff -Nur ecore-0.9.9.015~/configure.in ecore-0.9.9.015/configure.in
---- ecore-0.9.9.015~/configure.in      2005-09-27 17:22:38.000000000 -0700
-+++ ecore-0.9.9.015/configure.in       2005-09-27 17:23:40.000000000 -0700
-@@ -103,7 +102,7 @@
- tslib_libs=""
- AC_CHECK_HEADER(tslib.h,
-   [
--    tslib_libs="-ltslib"
-+    tslib_libs="-lts"
-     AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_X Module])
-   ],[
-     AC_MSG_RESULT("No tslib header found. No tslib support being built")
+diff -Nur ecore-0.9.9.037~/configure.in ecore-0.9.9.037/configure.in
+--- ecore-0.9.9.037~/configure.in      2007-01-14 20:21:42.000000000 -0800
++++ ecore-0.9.9.037/configure.in       2007-01-14 20:22:18.000000000 -0800
+@@ -578,7 +578,7 @@
+ if test "x$want_ecore_fb" = "xyes"; then
  AC_CHECK_HEADER(tslib.h,
+     [
+-      tslib_libs="-ltslib"
++      tslib_libs="-lts"
+       AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
+     ]
+   )
diff --git a/packages/efl/edb-native/.mtn2git_empty b/packages/efl/edb-native/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/efl/edb-native/no-gtk-forkbomb.patch b/packages/efl/edb-native/no-gtk-forkbomb.patch
new file mode 100644 (file)
index 0000000..8fe2268
--- /dev/null
@@ -0,0 +1,12 @@
+diff -Nur edb-1.0.5.007~/configure.in edb-1.0.5.007/configure.in
+--- edb-1.0.5.007~/configure.in        2007-01-15 01:01:31.000000000 -0800
++++ edb-1.0.5.007/configure.in 2007-01-15 01:01:40.000000000 -0800
+@@ -404,7 +404,7 @@
+ ncurses_ok=no
+ gtk_ok=no
+-GTK_CONFIG=`which gtk-config`
++GTK_CONFIG=
+ if test -x "$GTK_CONFIG"; then 
+   AC_CHECK_LIB(gtk, gtk_init, gtk_ok=yes, gtk_ok=no, `$GTK_CONFIG --libs`)
+ fi
index 82095f0..f3f9408 100644 (file)
@@ -2,6 +2,8 @@ require edb_${PV}.bb
 inherit native
 DEPENDS = "zlib-native"
 
+SRC_URI += "file://no-gtk-forkbomb.patch;patch=1"
+
 EXTRA_OECONF += "--disable-gtk --disable-ncurses"
 
 do_stage_append () {
index a152530..9632fc4 100644 (file)
@@ -1,6 +1,7 @@
 DESCRIPTION = "EDB is a database convenience library wrapped around the \
 Berkeley DB 2.7.7 by Sleepycat Software."
 DEPENDS = "zlib ncurses"
+# can depend on gtk and tcl/tk
 LICENSE = "BSD"
 PR = "r4"
 
diff --git a/packages/efl/edje-native_0.5.0.036.bb b/packages/efl/edje-native_0.5.0.036.bb
deleted file mode 100644 (file)
index c66639d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-require edje_${PV}.bb
-PR = "r3"
-
-inherit native
-
-DEPENDS = "evas-native ecore-native eet-native embryo-native"
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/edje"
-
-do_configure_prepend() {
-       sed -i 's:EMBRYO_PREFIX"/bin:"${STAGING_BINDIR}:' ${S}/src/bin/edje_cc_out.c
-       sed -i 's:cpp -I:/usr/bin/cpp -I:' ${S}/src/bin/edje_cc_parse.c
-       sed -i 's:gcc -I:/usr/bin/gcc -I:' ${S}/src/bin/edje_cc_parse.c
-}
-
-do_stage_append() {
-       edje_data_dir=`${STAGING_BINDIR}/edje-config-native --datadir`
-       # could also use ${STAGING_DATADIR}/edje/include
-       install -d $edje_data_dir/include
-       install -m 0644 data/include/edje.inc $edje_data_dir/include
-}
diff --git a/packages/efl/edje-native_0.5.0.037.bb b/packages/efl/edje-native_0.5.0.037.bb
new file mode 100644 (file)
index 0000000..c66639d
--- /dev/null
@@ -0,0 +1,20 @@
+require edje_${PV}.bb
+PR = "r3"
+
+inherit native
+
+DEPENDS = "evas-native ecore-native eet-native embryo-native"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/edje"
+
+do_configure_prepend() {
+       sed -i 's:EMBRYO_PREFIX"/bin:"${STAGING_BINDIR}:' ${S}/src/bin/edje_cc_out.c
+       sed -i 's:cpp -I:/usr/bin/cpp -I:' ${S}/src/bin/edje_cc_parse.c
+       sed -i 's:gcc -I:/usr/bin/gcc -I:' ${S}/src/bin/edje_cc_parse.c
+}
+
+do_stage_append() {
+       edje_data_dir=`${STAGING_BINDIR}/edje-config-native --datadir`
+       # could also use ${STAGING_DATADIR}/edje/include
+       install -d $edje_data_dir/include
+       install -m 0644 data/include/edje.inc $edje_data_dir/include
+}
diff --git a/packages/efl/edje-utils_0.5.0.036.bb b/packages/efl/edje-utils_0.5.0.036.bb
deleted file mode 100644 (file)
index f8eb917..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Edje is a complex graphical design & layout library."
-DEPENDS = "edje embryo-utils gcc"
-LICENSE = "MIT"
-PR = "r6"
-
-inherit efl
-
-PACKAGES = "edje-utils"
-FILES_${PN} = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
-RDEPENDS_${PN} += "embryo-utils cpp cpp-symlinks gcc gcc-symlinks"
-
-SRC_URI = "${E_URI}/edje-${PV}.tar.gz \
-           ${E_CVS};module=e17/libs/edje/m4;date=20060101"
-S = "${WORKDIR}/edje-${PV}"
-
-libraries = ""
-headers = ""
-
-do_configure_prepend() {
-       install -d "${S}/m4"
-       install "${WORKDIR}/m4/"*.m4 "${S}/m4"
-       aclocal -I m4
-}
diff --git a/packages/efl/edje-utils_0.5.0.037.bb b/packages/efl/edje-utils_0.5.0.037.bb
new file mode 100644 (file)
index 0000000..f8eb917
--- /dev/null
@@ -0,0 +1,23 @@
+DESCRIPTION = "Edje is a complex graphical design & layout library."
+DEPENDS = "edje embryo-utils gcc"
+LICENSE = "MIT"
+PR = "r6"
+
+inherit efl
+
+PACKAGES = "edje-utils"
+FILES_${PN} = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
+RDEPENDS_${PN} += "embryo-utils cpp cpp-symlinks gcc gcc-symlinks"
+
+SRC_URI = "${E_URI}/edje-${PV}.tar.gz \
+           ${E_CVS};module=e17/libs/edje/m4;date=20060101"
+S = "${WORKDIR}/edje-${PV}"
+
+libraries = ""
+headers = ""
+
+do_configure_prepend() {
+       install -d "${S}/m4"
+       install "${WORKDIR}/m4/"*.m4 "${S}/m4"
+       aclocal -I m4
+}
diff --git a/packages/efl/edje_0.5.0.036.bb b/packages/efl/edje_0.5.0.036.bb
deleted file mode 100644 (file)
index d51dd11..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "Edje is a complex graphical design & layout library."
-# can also install vim data files
-DEPENDS = "virtual/evas virtual/ecore eet embryo edje-native"
-LICENSE = "MIT"
-PR = "r7"
-
-## package.bbclass kills packages when there are duplicates, this means
-##  that efl.bbclass can't have PACKAGES += and so the FILES for previous
-##  packages take precedence over -utils
-#PACKAGES = "edje-utils"
-#RPROVIDES_edje-utils += "libedje-utils"
-#FILES_edje-utils = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
-#RDEPENDS_edje-utils += "libembryo-utils cpp cpp-symlinks gcc gcc-symlinks"
-
-inherit efl
-
-SRC_URI += "${E_CVS};module=e17/libs/edje/m4;date=20060101"
-
-do_configure_prepend() {
-       install -d "${S}/m4"
-       install "${WORKDIR}/m4/"*.m4 "${S}/m4"
-       aclocal -I m4
-}
-
-LEAD_SONAME = "libedje.so"
-
-FILES_${PN}-examples = "${datadir}/edje/data/images \
-                        ${datadir}/edje/data/src \
-                        ${datadir}/edje/data/test \
-                        ${datadir}/edje/data/*.sh"
-
-FILES_${SRCNAME}-themes = ""
diff --git a/packages/efl/edje_0.5.0.037.bb b/packages/efl/edje_0.5.0.037.bb
new file mode 100644 (file)
index 0000000..d51dd11
--- /dev/null
@@ -0,0 +1,32 @@
+DESCRIPTION = "Edje is a complex graphical design & layout library."
+# can also install vim data files
+DEPENDS = "virtual/evas virtual/ecore eet embryo edje-native"
+LICENSE = "MIT"
+PR = "r7"
+
+## package.bbclass kills packages when there are duplicates, this means
+##  that efl.bbclass can't have PACKAGES += and so the FILES for previous
+##  packages take precedence over -utils
+#PACKAGES = "edje-utils"
+#RPROVIDES_edje-utils += "libedje-utils"
+#FILES_edje-utils = "${bindir}/edje ${bindir}/edje_* ${datadir}/edje/data/template ${datadir}/edje/include"
+#RDEPENDS_edje-utils += "libembryo-utils cpp cpp-symlinks gcc gcc-symlinks"
+
+inherit efl
+
+SRC_URI += "${E_CVS};module=e17/libs/edje/m4;date=20060101"
+
+do_configure_prepend() {
+       install -d "${S}/m4"
+       install "${WORKDIR}/m4/"*.m4 "${S}/m4"
+       aclocal -I m4
+}
+
+LEAD_SONAME = "libedje.so"
+
+FILES_${PN}-examples = "${datadir}/edje/data/images \
+                        ${datadir}/edje/data/src \
+                        ${datadir}/edje/data/test \
+                        ${datadir}/edje/data/*.sh"
+
+FILES_${SRCNAME}-themes = ""
diff --git a/packages/efl/eet-native_0.9.10.036.bb b/packages/efl/eet-native_0.9.10.036.bb
deleted file mode 100644 (file)
index 9e2426c..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-require eet_${PV}.bb
-inherit native
-DEPENDS = "zlib-native jpeg-native"
-
diff --git a/packages/efl/eet-native_0.9.10.037.bb b/packages/efl/eet-native_0.9.10.037.bb
new file mode 100644 (file)
index 0000000..9e2426c
--- /dev/null
@@ -0,0 +1,4 @@
+require eet_${PV}.bb
+inherit native
+DEPENDS = "zlib-native jpeg-native"
+
diff --git a/packages/efl/eet_0.9.10.036.bb b/packages/efl/eet_0.9.10.036.bb
deleted file mode 100644 (file)
index 6e6032e..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-DESCRIPTION = "EET is a tiny library designed to write an \
-arbitary set of chunks of data to a file and optionally compress \
-each chunk (very much like a zip file) and allow fast \
-random-access reading of the file later on."
-DEPENDS = "zlib jpeg"
-LICENSE = "BSD"
-PR = "r2"
-
-inherit efl
diff --git a/packages/efl/eet_0.9.10.037.bb b/packages/efl/eet_0.9.10.037.bb
new file mode 100644 (file)
index 0000000..6e6032e
--- /dev/null
@@ -0,0 +1,9 @@
+DESCRIPTION = "EET is a tiny library designed to write an \
+arbitary set of chunks of data to a file and optionally compress \
+each chunk (very much like a zip file) and allow fast \
+random-access reading of the file later on."
+DEPENDS = "zlib jpeg"
+LICENSE = "BSD"
+PR = "r2"
+
+inherit efl
diff --git a/packages/efl/embryo-native_0.9.1.036.bb b/packages/efl/embryo-native_0.9.1.036.bb
deleted file mode 100644 (file)
index 76fe80f..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-require embryo_${PV}.bb
-inherit native
-
-do_stage_append() {
-       install -d ${STAGING_DATADIR}/embryo/include
-       install -m 0644 include/default.inc ${STAGING_DATADIR}/embryo/include
-}
\ No newline at end of file
diff --git a/packages/efl/embryo-native_0.9.1.037.bb b/packages/efl/embryo-native_0.9.1.037.bb
new file mode 100644 (file)
index 0000000..76fe80f
--- /dev/null
@@ -0,0 +1,7 @@
+require embryo_${PV}.bb
+inherit native
+
+do_stage_append() {
+       install -d ${STAGING_DATADIR}/embryo/include
+       install -m 0644 include/default.inc ${STAGING_DATADIR}/embryo/include
+}
\ No newline at end of file
diff --git a/packages/efl/embryo-utils_0.9.1.036.bb b/packages/efl/embryo-utils_0.9.1.036.bb
deleted file mode 100644 (file)
index d507c53..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
-of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
-CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
-Embryo allows scripting capabilities in places that otherwise wouldn't support \
-basic programming structures such as in Edje EDCs."
-LICENSE = "MIT"
-PR = "r4"
-
-inherit efl
-
-SRC_URI = "${E_URI}/embryo-${PV}.tar.gz"
-S = "${WORKDIR}/embryo-${PV}"
-
-PACKAGES = "embryo-utils"
-FILES_${PN} = "${bindir}/embryo ${bindir}/embryo_* ${datadir}/embryo/include"
-
-libraries = ""
-headers = ""
diff --git a/packages/efl/embryo-utils_0.9.1.037.bb b/packages/efl/embryo-utils_0.9.1.037.bb
new file mode 100644 (file)
index 0000000..d507c53
--- /dev/null
@@ -0,0 +1,18 @@
+DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
+of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
+CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
+Embryo allows scripting capabilities in places that otherwise wouldn't support \
+basic programming structures such as in Edje EDCs."
+LICENSE = "MIT"
+PR = "r4"
+
+inherit efl
+
+SRC_URI = "${E_URI}/embryo-${PV}.tar.gz"
+S = "${WORKDIR}/embryo-${PV}"
+
+PACKAGES = "embryo-utils"
+FILES_${PN} = "${bindir}/embryo ${bindir}/embryo_* ${datadir}/embryo/include"
+
+libraries = ""
+headers = ""
diff --git a/packages/efl/embryo_0.9.1.036.bb b/packages/efl/embryo_0.9.1.036.bb
deleted file mode 100644 (file)
index 0009c0a..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
-of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
-CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
-Embryo allows scripting capabilities in places that otherwise wouldn't support \
-basic programming structures such as in Edje EDCs."
-LICENSE = "MIT"
-PR = "r4"
-
-inherit efl
-
-FILES_${PN}-examples = "${datadir}/${PN}/examples"
\ No newline at end of file
diff --git a/packages/efl/embryo_0.9.1.037.bb b/packages/efl/embryo_0.9.1.037.bb
new file mode 100644 (file)
index 0000000..0009c0a
--- /dev/null
@@ -0,0 +1,11 @@
+DESCRIPTION = "Embryo implements a C like scripting language used in various parts \
+of the Enlightenment project, namely Edje. Embryo's scripting language is based on \
+CompuPhase's Small language that was introduced in Dr Dobb's Journal in 1999. \
+Embryo allows scripting capabilities in places that otherwise wouldn't support \
+basic programming structures such as in Edje EDCs."
+LICENSE = "MIT"
+PR = "r4"
+
+inherit efl
+
+FILES_${PN}-examples = "${datadir}/${PN}/examples"
\ No newline at end of file
diff --git a/packages/efl/evas-fb_0.9.9.036.bb b/packages/efl/evas-fb_0.9.9.036.bb
deleted file mode 100644 (file)
index 3e29b80..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-require evas.inc
-PR = "r5"
-
-EXTRA_OECONF = "--enable-fb         \
-               --disable-directfb          \
-               --enable-buffer             \
-               --disable-software-qtopia   \
-               --disable-software-x11      \
-               --disable-gl-x11            \
-               --disable-xrender-x11       \
-               --enable-image-loader-eet   \
-               --disable-image-loader-edb  \
-               --enable-image-loader-png   \
-               --enable-image-loader-jpeg  \
-               --enable-small-dither-mask  \
-               --enable-cpu-c              \
-               --enable-font-loader-eet    \
-               --enable-scale-sample       \
-               --enable-scale-smooth       \
-               --enable-convert-yuv        \
-               --enable-convert-8-rgb-332 \
-               --enable-convert-8-rgb-666 \
-               --enable-convert-8-rgb-232 \
-               --enable-convert-8-rgb-222 \
-               --enable-convert-8-rgb-221 \
-               --enable-convert-8-rgb-121 \
-               --enable-convert-8-rgb-111 \
-               --enable-convert-16-rgb-565 \
-               --enable-convert-16-rgb-555     \
-               --enable-convert-16-rgb-444     \
-               --enable-convert-16-rgb-ipq     \
-               --enable-convert-16-rgb-rot-0   \
-               --enable-convert-16-rgb-rot-90  \
-               --enable-convert-16-rgb-rot-270 \
-               --enable-convert-24-rgb-888     \
-               --enable-convert-24-bgr-888     \
-               --enable-convert-32-rgb-8888    \
-               --enable-convert-32-rgbx-8888   \
-               --enable-convert-32-bgr-8888    \
-               --enable-convert-32-bgrx-8888   \
-               --enable-convert-32-rgb-rot-0   \
-               --enable-convert-32-rgb-rot-90  \
-               --enable-convert-32-rgb-rot-270"
-
-headers = "../modules/engines/buffer/Evas_Engine_Buffer.h \
-           ../modules/engines/fb/Evas_Engine_FB.h \
-           Evas.h"
diff --git a/packages/efl/evas-fb_0.9.9.037.bb b/packages/efl/evas-fb_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..3e29b80
--- /dev/null
@@ -0,0 +1,47 @@
+require evas.inc
+PR = "r5"
+
+EXTRA_OECONF = "--enable-fb         \
+               --disable-directfb          \
+               --enable-buffer             \
+               --disable-software-qtopia   \
+               --disable-software-x11      \
+               --disable-gl-x11            \
+               --disable-xrender-x11       \
+               --enable-image-loader-eet   \
+               --disable-image-loader-edb  \
+               --enable-image-loader-png   \
+               --enable-image-loader-jpeg  \
+               --enable-small-dither-mask  \
+               --enable-cpu-c              \
+               --enable-font-loader-eet    \
+               --enable-scale-sample       \
+               --enable-scale-smooth       \
+               --enable-convert-yuv        \
+               --enable-convert-8-rgb-332 \
+               --enable-convert-8-rgb-666 \
+               --enable-convert-8-rgb-232 \
+               --enable-convert-8-rgb-222 \
+               --enable-convert-8-rgb-221 \
+               --enable-convert-8-rgb-121 \
+               --enable-convert-8-rgb-111 \
+               --enable-convert-16-rgb-565 \
+               --enable-convert-16-rgb-555     \
+               --enable-convert-16-rgb-444     \
+               --enable-convert-16-rgb-ipq     \
+               --enable-convert-16-rgb-rot-0   \
+               --enable-convert-16-rgb-rot-90  \
+               --enable-convert-16-rgb-rot-270 \
+               --enable-convert-24-rgb-888     \
+               --enable-convert-24-bgr-888     \
+               --enable-convert-32-rgb-8888    \
+               --enable-convert-32-rgbx-8888   \
+               --enable-convert-32-bgr-8888    \
+               --enable-convert-32-bgrx-8888   \
+               --enable-convert-32-rgb-rot-0   \
+               --enable-convert-32-rgb-rot-90  \
+               --enable-convert-32-rgb-rot-270"
+
+headers = "../modules/engines/buffer/Evas_Engine_Buffer.h \
+           ../modules/engines/fb/Evas_Engine_FB.h \
+           Evas.h"
diff --git a/packages/efl/evas-native_0.9.9.036.bb b/packages/efl/evas-native_0.9.9.036.bb
deleted file mode 100644 (file)
index 68dacbc..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-require evas-fb_${PV}.bb
-inherit native
-DEPENDS = "freetype-native libpng-native jpeg-native eet-native"
-PROVIDES = "evas-native"
-
diff --git a/packages/efl/evas-native_0.9.9.037.bb b/packages/efl/evas-native_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..68dacbc
--- /dev/null
@@ -0,0 +1,5 @@
+require evas-fb_${PV}.bb
+inherit native
+DEPENDS = "freetype-native libpng-native jpeg-native eet-native"
+PROVIDES = "evas-native"
+
diff --git a/packages/efl/evas-x11_0.9.9.036.bb b/packages/efl/evas-x11_0.9.9.036.bb
deleted file mode 100644 (file)
index 1219225..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-require evas.inc
-DEPENDS += "edb virtual/libx11 libxext freetype"
-PR = "r7"
-
-EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11  \
-               --x-libraries=${STAGING_LIBDIR} \
-               --enable-fb                     \
-               --disable-directfb              \
-               --enable-buffer                 \
-               --disable-software-qtopia       \
-               --enable-software-x11           \
-               --disable-gl-x11                \
-               --enable-image-loader-eet       \
-               --enable-image-loader-edb       \
-               --enable-image-loader-png       \
-               --enable-image-loader-jpeg      \
-               --enable-small-dither-mask      \
-               --enable-cpu-c                  \
-               --enable-font-loader-eet        \
-               --enable-scale-sample           \
-               --enable-scale-smooth           \
-               --enable-convert-yuv            \
-        --disable-image-loader-svg  \
-               --disable-convert-8-rgb-332     \
-               --disable-convert-8-rgb-666     \
-               --disable-convert-8-rgb-232     \
-               --disable-convert-8-rgb-222     \
-               --disable-convert-8-rgb-221     \
-               --disable-convert-8-rgb-121     \
-               --disable-convert-8-rgb-111     \
-               --enable-convert-16-rgb-565     \
-               --disable-convert-16-rgb-555    \
-               --disable-convert-16-rgb-444    \
-               --disable-convert-16-rgb-ipq    \
-               --enable-convert-16-rgb-rot-0   \
-               --disable-convert-16-rgb-rot-90 \
-               --enable-convert-16-rgb-rot-270 \
-               --disable-convert-24-rgb-888    \
-               --disable-convert-24-bgr-888    \
-               --disable-convert-32-rgb-8888   \
-               --disable-convert-32-rgbx-8888  \
-               --disable-convert-32-bgr-8888   \
-               --disable-convert-32-bgrx-8888  \
-               --disable-convert-32-rgb-rot-0  \
-               --disable-convert-32-rgb-rot-90 \
-               --disable-convert-32-rgb-rot-270"
-
-headers = "../modules/engines/software_x11/Evas_Engine_Software_X11.h \
-           ../modules/engines/xrender_x11/Evas_Engine_XRender_X11.h \
-           ../modules/engines/buffer/Evas_Engine_Buffer.h \
-           ../modules/engines/fb/Evas_Engine_FB.h \
-           Evas.h"
-
diff --git a/packages/efl/evas-x11_0.9.9.037.bb b/packages/efl/evas-x11_0.9.9.037.bb
new file mode 100644 (file)
index 0000000..1219225
--- /dev/null
@@ -0,0 +1,53 @@
+require evas.inc
+DEPENDS += "edb virtual/libx11 libxext freetype"
+PR = "r7"
+
+EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11  \
+               --x-libraries=${STAGING_LIBDIR} \
+               --enable-fb                     \
+               --disable-directfb              \
+               --enable-buffer                 \
+               --disable-software-qtopia       \
+               --enable-software-x11           \
+               --disable-gl-x11                \
+               --enable-image-loader-eet       \
+               --enable-image-loader-edb       \
+               --enable-image-loader-png       \
+               --enable-image-loader-jpeg      \
+               --enable-small-dither-mask      \
+               --enable-cpu-c                  \
+               --enable-font-loader-eet        \
+               --enable-scale-sample           \
+               --enable-scale-smooth           \
+               --enable-convert-yuv            \
+        --disable-image-loader-svg  \
+               --disable-convert-8-rgb-332     \
+               --disable-convert-8-rgb-666     \
+               --disable-convert-8-rgb-232     \
+               --disable-convert-8-rgb-222     \
+               --disable-convert-8-rgb-221     \
+               --disable-convert-8-rgb-121     \
+               --disable-convert-8-rgb-111     \
+               --enable-convert-16-rgb-565     \
+               --disable-convert-16-rgb-555    \
+               --disable-convert-16-rgb-444    \
+               --disable-convert-16-rgb-ipq    \
+               --enable-convert-16-rgb-rot-0   \
+               --disable-convert-16-rgb-rot-90 \
+               --enable-convert-16-rgb-rot-270 \
+               --disable-convert-24-rgb-888    \
+               --disable-convert-24-bgr-888    \
+               --disable-convert-32-rgb-8888   \
+               --disable-convert-32-rgbx-8888  \
+               --disable-convert-32-bgr-8888   \
+               --disable-convert-32-bgrx-8888  \
+               --disable-convert-32-rgb-rot-0  \
+               --disable-convert-32-rgb-rot-90 \
+               --disable-convert-32-rgb-rot-270"
+
+headers = "../modules/engines/software_x11/Evas_Engine_Software_X11.h \
+           ../modules/engines/xrender_x11/Evas_Engine_XRender_X11.h \
+           ../modules/engines/buffer/Evas_Engine_Buffer.h \
+           ../modules/engines/fb/Evas_Engine_FB.h \
+           Evas.h"
+
index 61e2446..abf9b94 100644 (file)
@@ -1,17 +1,18 @@
---- evas-0.9.9.023/configure.in~       2006-01-11 21:34:57.000000000 -0800
-+++ evas-0.9.9.023/configure.in        2006-02-03 12:15:45.000000000 -0800
-@@ -152,9 +152,7 @@
+diff -Nur evas-0.9.9.037~/configure.in evas-0.9.9.037/configure.in
+--- evas-0.9.9.037~/configure.in       2007-01-14 20:09:57.000000000 -0800
++++ evas-0.9.9.037/configure.in        2007-01-14 20:11:09.000000000 -0800
+@@ -161,9 +161,7 @@
+   AC_CHECK_HEADER(X11/X.h,
      [
-       AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_X11, true)
        AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, 1, [Software X11 Rendering Backend])
 -      x_dir=${x_dir:-/usr/X11R6}
 -      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
 -      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
 +      x_libs="-lX11 -lXext"
-       ENGINE_SOFTWARE_X11_PRG="evas_software_x11_test evas_software_x11_perf_test evas_software_x11_perf_load"
      ],
      [
-@@ -423,10 +421,10 @@
+       AC_MSG_RESULT(disabling software X11 engine)
+@@ -407,10 +405,10 @@
              AC_DEFINE(BUILD_ENGINE_GL_X11, 1, [OpenGL X11 Rendering Backend])
              AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, true)
              AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
@@ -23,8 +24,8 @@
 +            gl_cflags=""
              gl_libs="-lGL -lGLU -lpthread"
              gl_dir=""
-             ENGINE_GL_X11_PRG="evas_gl_x11_test"
-@@ -489,7 +487,7 @@
+             ], [
+@@ -471,7 +469,7 @@
        AC_DEFINE(BUILD_ENGINE_CAIRO_X11, 1, [Cairo X11 Rendering Backend])
        AM_CONDITIONAL(BUILD_ENGINE_CAIRO_COMMON, true)
        AC_DEFINE(BUILD_ENGINE_CAIRO_COMMON, 1, [Generic Cairo Rendering Support])
@@ -32,4 +33,4 @@
 +      x_dir="";
        x_cflags="-I"$x_dir"/include"
        x_libs="-L"$x_dir"/lib -lX11 -lXext"
-       ENGINE_CAIRO_X11_PRG="evas_cairo_x11_test"
+     ], [
diff --git a/packages/gizmod/.mtn2git_empty b/packages/gizmod/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/gizmod/files/.mtn2git_empty b/packages/gizmod/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/gizmod/files/disable-bmp.patch b/packages/gizmod/files/disable-bmp.patch
new file mode 100644 (file)
index 0000000..89dfad3
--- /dev/null
@@ -0,0 +1,105 @@
+Index: gizmod-2.3/configure.ac
+===================================================================
+--- gizmod-2.3.orig/configure.ac
++++ gizmod-2.3/configure.ac
+@@ -319,76 +319,6 @@ fi
+ ###########################################################################
+ ##
+-## Check whether to build BMP plugin
+-##
+-
+-##################
+-## enabled?
+-########
+-
+-AC_MSG_CHECKING(Whether or not to build BMP plugin)
+-AC_ARG_ENABLE(bmp,
+-              [  --enable-bmp            build BMP plugin                     <default = no>],
+-              [enable_bmp="$enableval"], enable_bmp=no)
+-AC_MSG_RESULT($enable_bmp)
+-
+-AM_CONDITIONAL(BUILD_EXTERNALPLUGIN_BMP, test x$enable_bmp = xyes)
+-AM_CONDITIONAL(BUILD_PLUGIN_BMPCONTROL, test x$enable_bmp = xyes)
+-
+-##################
+-## can we build it if it's enabled?
+-########
+-
+-if test "$enable_bmp" == "yes"; then
+-
+-BEEP_CFLAGS=""
+-BEEP_LIBS=""
+-
+-#check stuff  
+-AM_PATH_GLIB_2_0(2.4.0, , 
+-      AC_MSG_ERROR([GTK+ >= 2.4.0 not installed - required for BMP plugin]))
+-AM_PATH_GTK_2_0(2.4.0, , 
+-      AC_MSG_ERROR([GTK+ >= 2.4.0 not installed - required for BMP plugin]))
+-
+-dnl check for beep
+-PKG_CHECK_MODULES(BEEP, [ bmp >= 0.9.7], , 
+-      AC_MSG_ERROR("You need the BEEP development files to build the BEEP plugin!"))
+-
+-BEEP_PLUGIN_DIR="`$PKG_CONFIG --variable=output_plugin_dir bmp`"
+-BEEP_INPUT_PLUGIN_DIR="`$PKG_CONFIG --variable=input_plugin_dir bmp`"
+-BEEP_OUTPUT_PLUGIN_DIR="`$PKG_CONFIG --variable=output_plugin_dir bmp`"
+-BEEP_GENERAL_PLUGIN_DIR="`$PKG_CONFIG --variable=general_plugin_dir bmp`"
+-BEEP_VISUALIZATION_PLUGIN_DIR="`$PKG_CONFIG --variable=visualization_plugin_dir bmp`"
+-BEEP_EFFECT_PLUGIN_DIR="`$PKG_CONFIG --variable=effect_plugin_dir bmp`"
+-BEEP_DATA_DIR="`$PKG_CONFIG --variable=data_dir bmp`"
+-
+-AC_SUBST(BEEP_PLUGIN_DIR)
+-AC_SUBST(BEEP_INPUT_PLUGIN_DIR)
+-AC_SUBST(BEEP_OUTPUT_PLUGIN_DIR)
+-AC_SUBST(BEEP_GENERAL_PLUGIN_DIR)
+-AC_SUBST(BEEP_VISUALIZATION_PLUGIN_DIR)
+-AC_SUBST(BEEP_EFFECT_PLUGIN_DIR)
+-AC_SUBST(BEEP_DATA_DIR)
+-      
+-dnl make BEEP_DATA_DIR a variable in config.h
+-AH_TEMPLATE(BEEP_DATA_DIR, "Path to bmp-touch.config")
+-AC_DEFINE_UNQUOTED(BEEP_DATA_DIR, "$BEEP_DATA_DIR")
+-      
+-CPPFLAGS="$CPPFLAGS $BEEP_CFLAGS"
+-
+-AC_CHECK_HEADER(bmp/beepctrl.h, [
+-      AC_DEFINE(HAVE_BEEPCTRL_H, 1, [Has bmp/beepctrl.h])
+-      ], [
+-      AC_MSG_ERROR([Cannot find beepctrl.h!])
+-      ])
+-      
+-AC_SUBST(BEEP_CFLAGS)
+-AC_SUBST(BEEP_LIBS)
+-
+-fi
+-
+-###########################################################################
+-##
+ ## Check whether to build Sound Visualization plugin
+ ##
+@@ -633,9 +563,7 @@ AC_CONFIG_FILES([
+       plugins/soundVisualization/Makefile
+       plugins/cpuUsage/Makefile
+       plugins/x11/Makefile
+-      plugins/bmpControl/Makefile
+       plugins/externalPlugins/Makefile
+-      plugins/externalPlugins/bmp/Makefile
+       plugins/lirc/Makefile
+ ])
+ AC_OUTPUT
+Index: gizmod-2.3/plugins/Makefile.am
+===================================================================
+--- gizmod-2.3.orig/plugins/Makefile.am
++++ gizmod-2.3/plugins/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS=scriptingPlugins powermate alsaMixer xosd generic externalPlugins soundVisualization cpuUsage x11 bmpControl lirc
++SUBDIRS=scriptingPlugins powermate alsaMixer xosd generic externalPlugins soundVisualization cpuUsage x11 lirc
+Index: gizmod-2.3/plugins/externalPlugins/Makefile.am
+===================================================================
+--- gizmod-2.3.orig/plugins/externalPlugins/Makefile.am
++++ gizmod-2.3/plugins/externalPlugins/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS=bmp
++SUBDIRS=
diff --git a/packages/gizmod/files/disable-xmms.patch b/packages/gizmod/files/disable-xmms.patch
new file mode 100644 (file)
index 0000000..e8aea12
--- /dev/null
@@ -0,0 +1,113 @@
+Index: gizmod-2.3/configure.ac
+===================================================================
+--- gizmod-2.3.orig/configure.ac
++++ gizmod-2.3/configure.ac
+@@ -393,60 +393,6 @@ fi
+ ###########################################################################
+ ##
+-## Check whether to build XMMS plugin
+-##
+-
+-##################
+-## enabled?
+-########
+-
+-AC_MSG_CHECKING(Whether or not to build XMMS plugin)
+-AC_ARG_ENABLE(xmms,
+-              [  --enable-xmms           build XMMS plugin                    <default = yes>],
+-              [enable_xmms="$enableval"], enable_xmms=yes)
+-AC_MSG_RESULT($enable_xmms)
+-
+-AM_CONDITIONAL(BUILD_EXTERNALPLUGIN_XMMS, test x$enable_xmms = xyes)
+-AM_CONDITIONAL(BUILD_PLUGIN_XMMSCONTROL, test x$enable_xmms = xyes)
+-
+-##################
+-## can we build it if it's enabled?
+-########
+-
+-if test "$enable_xmms" == "yes"; then
+-
+-XMMS_CFLAGS=""
+-XMMS_LIBS=""
+-
+-#check stuff
+-
+-AM_PATH_XMMS(1.2.4,
+-      XMMS_CFLAGS=`xmms-config --cflags`
+-      CPPFLAGS="$CPPFLAGS $XMMS_CFLAGS"
+-      XMMS_LIBS=`xmms-config --libs`
+-      ,
+-      AC_MSG_ERROR([You must have the XMMS development headers installed to build the XMMS plugin!])
+-)
+-
+-AC_CHECK_HEADER(xmms/xmmsctrl.h, [
+-      AC_DEFINE(HAVE_XMMSCTRL_H, 1, [Has xmms/xmmsctrl.h])
+-      ], [
+-      AC_MSG_ERROR([Cannot find xmmsctrl.h!])
+-      ])
+-      
+-AC_CHECK_HEADER(xmms/plugin.h, [
+-      AC_DEFINE(HAVE_XMMSPLUGIN_H, 1, [Has xmms/xmmsplugin.h])
+-      ], [
+-      AC_MSG_ERROR([Cannot find xmms/plugin.h!])
+-      ])
+-
+-AC_SUBST(XMMS_CFLAGS)
+-AC_SUBST(XMMS_LIBS)
+-
+-fi
+-
+-###########################################################################
+-##
+ ## Check whether to build Sound Visualization plugin
+ ##
+@@ -691,10 +637,8 @@ AC_CONFIG_FILES([
+       plugins/soundVisualization/Makefile
+       plugins/cpuUsage/Makefile
+       plugins/x11/Makefile
+-      plugins/xmmsControl/Makefile
+       plugins/bmpControl/Makefile
+       plugins/externalPlugins/Makefile
+-      plugins/externalPlugins/xmms/Makefile
+       plugins/externalPlugins/bmp/Makefile
+       plugins/lirc/Makefile
+ ])
+@@ -774,22 +718,10 @@ else
+       echo "          BMP Control plugin: Disabled"
+ fi
+-if test "$enable_xmms" == "yes"; then
+-      echo "         XMMS Control plugin: Enabled"
+-else
+-      echo "         XMMS Control plugin: Disabled"
+-fi
+-
+ if test "$enable_bmp" == "yes"; then
+       echo "    BMP Visualization plugin: Enabled"
+ else
+       echo "    BMP Visualization plugin: Disabled"
+ fi
+-if test "$enable_xmms" == "yes"; then
+-      echo "   XMMS Visualization plugin: Enabled"
+-else
+-      echo "   XMMS Visualization plugin: Disabled"
+-fi
+-
+ echo
+Index: gizmod-2.3/plugins/Makefile.am
+===================================================================
+--- gizmod-2.3.orig/plugins/Makefile.am
++++ gizmod-2.3/plugins/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS=scriptingPlugins powermate alsaMixer xosd generic externalPlugins soundVisualization cpuUsage x11 xmmsControl bmpControl lirc
++SUBDIRS=scriptingPlugins powermate alsaMixer xosd generic externalPlugins soundVisualization cpuUsage x11 bmpControl lirc
+Index: gizmod-2.3/plugins/externalPlugins/Makefile.am
+===================================================================
+--- gizmod-2.3.orig/plugins/externalPlugins/Makefile.am
++++ gizmod-2.3/plugins/externalPlugins/Makefile.am
+@@ -1 +1 @@
+-SUBDIRS=xmms bmp
++SUBDIRS=bmp
diff --git a/packages/gizmod/files/fix-python-configure.patch b/packages/gizmod/files/fix-python-configure.patch
new file mode 100644 (file)
index 0000000..9b48c97
--- /dev/null
@@ -0,0 +1,17 @@
+Index: gizmod-2.3/configure.ac
+===================================================================
+--- gizmod-2.3.orig/configure.ac
++++ gizmod-2.3/configure.ac
+@@ -162,11 +162,7 @@ CFLAGS="$PYTHON_INC $CFLAGS"
+ #     AC_MSG_ERROR([Cannot find python.h!])
+ #     ])
+-AC_CHECK_FILE(${py_prefix}/include/python${py_ver}/Python.h, [
+-      AC_DEFINE(HAVE_PYTHON_H, 1, [Has Python.h])
+-      ], [
+-      AC_MSG_ERROR([Cannot find Python.h!])
+-      ])
++AC_DEFINE(HAVE_PYTHON_H, 1, [Has Python.h])
+ CFLAGS="$OLD_CFLAGS"
+       
diff --git a/packages/gizmod/gizmod_2.3.bb b/packages/gizmod/gizmod_2.3.bb
new file mode 100644 (file)
index 0000000..c00293b
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "Gizmo Daemon"
+HOMEPAGE = "http://gizmod.sourceforge.net"
+LICENSE = "GPLv2"
+MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
+SECTION = "console/multimedia"
+DEPENDS = "python virtual/libx11 xf86vidmodeproto"
+SRC_URI = "${SOURCEFORGE_MIRROR}/gizmod/gizmod-${PV}.tar.bz2 \
+           file://disable-xmms.patch;patch=1 \
+           file://fix-python-configure.patch;patch=1 \
+           file://disable-bmp.patch;patch=1"
+
+PR = "r0"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-xmms --disable-bmp --disable-xosd"
+
+#do_configure_prepend() {
+#    sed -i 's/TARGET_SYS/${TARGET_SYS}/' ${S}/configure.ac
+#}
+
+FILES_${PN} += "${datadir}/gizmo/scripts ${datadir}/gizmo/plugins/*.so ${datadir}/gizmo/plugins/*.so.*"
+FILES_${PN}-dev += "${datadir}/gizmo/plugins/*.a ${datadir}/gizmo/plugins/*.la"
+FILES_${PN}-dbg += "${datadir}/gizmo/plugins/.debug"
\ No newline at end of file
diff --git a/packages/gnokii/gnokii_0.6.14.bb b/packages/gnokii/gnokii_0.6.14.bb
new file mode 100644 (file)
index 0000000..7a7a3d7
--- /dev/null
@@ -0,0 +1,26 @@
+LICENSE = "GPL"
+DESCRIPTION = "Cellphone tools and driver software"
+SRC_URI = "http://www.gnokii.org/download/gnokii/gnokii-${PV}.tar.bz2 \
+       file://configure.patch;patch=1"
+
+DEPENDS = "libxpm gtk+"
+
+inherit autotools pkgconfig
+
+PARALLEL_MAKE = ""
+
+PACKAGES += "libgnokii libgnokii-dev"
+
+FILES_${PN} = "${bindir} ${sbindir}"
+FILES_libgnokii-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
+                ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
+               /lib/*.a /lib/*.o ${datadir}/aclocal"
+FILES_${PN}-dev = ""
+FILES_libgnokii = "${libdir}/libgnokii.so.*"
+
+do_stage() {
+       autotools_stage_includes
+
+       oe_libinstall -C common -so libgnokii ${STAGING_LIBDIR}
+}
+
index 34d1ede..44582f3 100644 (file)
@@ -16,6 +16,10 @@ FILES_libgnokii-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
 FILES_${PN}-dev = ""
 FILES_libgnokii = "${libdir}/libgnokii.so.*"
 
+do_compile_prepend() {
+       sed -i s:foo::g Makefile.global
+}
+
 do_stage() {
        autotools_stage_includes
 
index 6efbe72..0c61764 100644 (file)
@@ -2,13 +2,13 @@ LICENSE = "GPL"
 DEPENDS = "libxml2 gconf gnutls avahi dbus bzip2 gnome-mime-data zlib"
 RRECOMMENDS = "gnome-vfs-plugin-file gnome-mime-data shared-mime-info"
 
-PR = "r1"
+PR = "r2"
 
 inherit gnome
 
 # This is to provide compatibility with the gnome-vfs DBus fork
 PROVIDES = "gnome-vfs-plugin-dbus"
-RRPEPLACES = "gnome-vfs-dbus"
+RREPLACES = "gnome-vfs-dbus"
 
 SRC_URI += "file://gconftool-lossage.patch;patch=1;pnum=1 \
            file://gnome-vfs-no-kerberos.patch;patch=1;pnum=0"
diff --git a/packages/gob2/.mtn2git_empty b/packages/gob2/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/gob2/gob2_2.0.14.bb b/packages/gob2/gob2_2.0.14.bb
new file mode 100644 (file)
index 0000000..89f64d0
--- /dev/null
@@ -0,0 +1,17 @@
+LICENSE = "LGPL"
+DESCRIPTION = "A library to make creating GObjects easier"
+HOMEPAGE = "http://www.5z.com/jirka/gob.html"
+SECTION = "libs"
+DEPENDS = "gtk+ bison flex"
+SRC_URI = "http://ftp.5z.com/pub/gob/gob2-${PV}.tar.gz"
+
+inherit autotools pkgconfig
+
+do_compile_prepend() {
+    find ${S} -name Makefile | xargs sed -i 's~-I/usr/include~-I${STAGING_INCDIR}~g'
+    find ${S} -name Makefile | xargs sed -i 's~-I$(includedir)~-I${STAGING_INCDIR}~g'
+}
+
+do_stage_append() {
+    install -m 0644 ${S}/gob2.m4 ${STAGING_DATADIR}/aclocal
+}
index 8bd4260..e239f21 100644 (file)
@@ -2,7 +2,6 @@ LICENSE = "GPL"
 SECTION = "gpe"
 inherit gpe
 
-DEPENDS = "virtual/libx11 esound-gpe"
-RDEPENDS_${PN} = "esd"
+DEPENDS = "virtual/libx11 esound"
 
 SRC_URI += "file://makefile-breakage.patch;patch=1"
index a7f0d6d..f0531dc 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "Plugins for GStreamer"
 SECTION = "multimedia"
 PRIORITY = "optional"
-DEPENDS = "gstreamer libmikmod libmad liboil libogg tremor libvorbis libid3tag esound-gpe"
+DEPENDS = "gstreamer libmikmod libmad liboil libogg tremor libvorbis libid3tag esound"
 PR = "r1"
 
 PACKAGES_DYNAMIC = "gst-plugin-*"
diff --git a/packages/gtk+/gtk+-2.6.10/compile-against-newer-glib.patch b/packages/gtk+/gtk+-2.6.10/compile-against-newer-glib.patch
new file mode 100644 (file)
index 0000000..3d8f3f6
--- /dev/null
@@ -0,0 +1,49 @@
+--- gtk+-2.6.10/gtk/gtkstatusbar.h     2005/03/20 07:01:22     1.17
++++ gtk+-2.6.10/gtk/gtkstatusbar.h     2005/12/06 14:25:30     1.17.2.1
+@@ -65,7 +65,7 @@
+ {
+   GtkHBoxClass parent_class;
+-  GMemChunk *messages_mem_chunk;
++  gpointer messages_mem_chunk;
+   void        (*text_pushed)  (GtkStatusbar   *statusbar,
+                        guint           context_id,
+--- gtk+-2.6.10/gtk/gtkstatusbar.c     2005/07/21 19:10:48     1.56
++++ gtk+-2.6.10/gtk/gtkstatusbar.c     2005/12/06 14:25:30     1.56.2.1
+@@ -302,7 +302,7 @@
+   g_return_val_if_fail (text != NULL, 0);
+   class = GTK_STATUSBAR_GET_CLASS (statusbar);
+-  msg = g_chunk_new (GtkStatusbarMsg, class->messages_mem_chunk);
++  msg = g_chunk_new (GtkStatusbarMsg, (GMemChunk *)class->messages_mem_chunk);
+   msg->text = g_strdup (text);
+   msg->context_id = context_id;
+   msg->message_id = statusbar->seq_message_id++;
+@@ -343,7 +343,7 @@
+             statusbar->messages = g_slist_remove_link (statusbar->messages,
+                                                        list);
+             g_free (msg->text);
+-            g_mem_chunk_free (class->messages_mem_chunk, msg);
++            g_mem_chunk_free ((GMemChunk *)class->messages_mem_chunk, msg);
+             g_slist_free_1 (list);
+             break;
+           }
+@@ -394,7 +394,7 @@
+             class = GTK_STATUSBAR_GET_CLASS (statusbar);
+             statusbar->messages = g_slist_remove_link (statusbar->messages, list);
+             g_free (msg->text);
+-            g_mem_chunk_free (class->messages_mem_chunk, msg);
++            g_mem_chunk_free ((GMemChunk *)class->messages_mem_chunk, msg);
+             g_slist_free_1 (list);
+             
+             break;
+@@ -459,7 +459,7 @@
+       msg = list->data;
+       g_free (msg->text);
+-      g_mem_chunk_free (class->messages_mem_chunk, msg);
++      g_mem_chunk_free ((GMemChunk *)class->messages_mem_chunk, msg);
+     }
+   g_slist_free (statusbar->messages);
+   statusbar->messages = NULL;
index 171c712..b0eb0db 100644 (file)
@@ -5,7 +5,7 @@ SECTION = "libs"
 LICENSE = "LGPL"
 PRIORITY = "optional"
 DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor gtk-doc libgcrypt"
-PR = "r4"
+PR = "r7"
 
 SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
            file://help.patch;patch=1 \
@@ -13,17 +13,18 @@ SRC_URI = "ftp://ftp.gtk.org/pub/gtk/v2.6/gtk+-${PV}.tar.bz2 \
            file://no-xwc.patch;patch=1 \
            file://automake-lossage.patch;patch=1 \
            file://gtk+-handhelds.patch;patch=1 \
-          file://spinbutton.patch;patch=1 \
-          file://hardcoded_libtool.patch;patch=1 \
-          file://disable-tooltips.patch;patch=1 \
-          file://gtklabel-resize-patch;patch=1 \
-          file://menu-deactivate.patch;patch=1 \
-          file://xsettings.patch;patch=1 \
-          file://scroll-timings.patch;patch=1 \
-          file://small-gtkfilesel.patch;patch=1 \
-          file://migration.patch;patch=1;pnum=0 \
-          file://single-click.patch;patch=1 \
-          file://menu-styling.patch;patch=1"
+           file://spinbutton.patch;patch=1 \
+           file://hardcoded_libtool.patch;patch=1 \
+           file://disable-tooltips.patch;patch=1 \
+           file://gtklabel-resize-patch;patch=1 \
+           file://menu-deactivate.patch;patch=1 \
+           file://xsettings.patch;patch=1 \
+           file://scroll-timings.patch;patch=1 \
+           file://small-gtkfilesel.patch;patch=1 \
+           file://migration.patch;patch=1;pnum=0 \
+           file://single-click.patch;patch=1 \
+           file://menu-styling.patch;patch=1 \
+           file://compile-against-newer-glib.patch;patch=1"
 
 inherit autotools pkgconfig
 
@@ -53,6 +54,13 @@ EXTRA_OECONF = "--without-libtiff --disable-xkb --disable-glibtest --enable-disp
 
 LIBV = "2.4.0"
 
+do_configure_prepend() {
+        for i in `find . -name "Makefile.am"`   
+        do
+                sed -i -e s,-DG_DISABLE_DEPRECATED,-DSED_ROCKS_DUDES, $i
+        done
+}
+
 do_stage () {
        oe_libinstall -so -C gtk libgtk-x11-2.0 ${STAGING_LIBDIR}
        oe_libinstall -so -C gdk libgdk-x11-2.0 ${STAGING_LIBDIR}
diff --git a/packages/hal/files/99_hal b/packages/hal/files/99_hal
new file mode 100644 (file)
index 0000000..f3d4772
--- /dev/null
@@ -0,0 +1 @@
+d root root 0700 /var/run/hald none
index 4b2196f..f608c40 100644 (file)
@@ -3,14 +3,15 @@ HOMEPAGE = "http://freedesktop.org/Software/hal"
 SECTION = "unknown"
 LICENSE = "GPL LGPL AFL"
 
-DEPENDS = "dbus-glib  expat libusb"
+DEPENDS = "dbus-glib udev intltool  expat libusb"
 RDEPENDS += "udev"
 #RDEPENDS_hal-device-manager = "python hal python-pygnome"
 RRECOMMENDS = "udev-utils"
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz"
+SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz \
+        file://99_hal"
 
 S = "${WORKDIR}/hal-${PV}"
 
@@ -24,6 +25,11 @@ EXTRA_OECONF = "--with-hwdata=${datadir}/hwdata \
                 --disable-policy-kit \
                 "
 
+do_install_append() {
+       install -d ${D}/etc/default/volatiles
+       install -m 0644 ${WORKDIR}/99_hal ${D}/etc/default/volatiles
+}
+
 do_stage() {
         autotools_stage_all
         install -d ${STAGING_LIBDIR}
@@ -31,6 +37,30 @@ do_stage() {
         install -m 755 libhal-storage/.libs/libhal-storage.so.1.0.0 ${STAGING_LIBDIR}/libhal-storage.so
 }
 
+# At the time the postinst runs, dbus might not be setup so only restart if running
+pkg_postinst_hal () {
+       # can't do this offline
+       if [ "x$D" != "x" ]; then
+               exit 1
+       fi
+
+       /etc/init.d/populate-volatile.sh update
+
+       grep haldaemon /etc/group || addgroup haldaemon
+       grep haldaemon /etc/passwd || adduser --disabled-password --system --home /var/run/hald --no-create-home haldaemon --ingroup haldaemon -g HAL
+
+       DBUSPID=`pidof dbus-daemon`
+
+       if [ "x$DBUSPID" != "x" ]; then
+               /etc/init.d/dbus-1 force-reload
+       fi
+}
+
+pkg_postrm_hal () {
+       deluser haldaemon || true
+       delgroup haldaemon || true
+}
+
 #PACKAGES += "hal-device-manager"
 
 #FILES_hal-device-manager = " \
index cf7d580..5d7fed7 100644 (file)
@@ -6,7 +6,7 @@
 DESCRIPTION = "Generic SlugOS image"
 HOMEPAGE = "http://www.nslu2-linux.org"
 LICENSE = "MIT"
-PR = "r43"
+PR = "r44"
 
 COMPATIBLE_MACHINE = "nslu2"
 
@@ -112,7 +112,7 @@ python () {
 # it is a bad idea to produce flash images without a valid RedBoot - that allows
 # an innocent user upgrade attempt to instantly brick the NSLU2.
 PACK_IMAGE += "${@['', 'slugos_pack_image;'][bb.data.getVar('SLUGOS_FLASH_IMAGE', d, 1) == '1']}"
-PACK_IMAGE_DEPENDS += "${@['', 'slugimage-native nslu2-linksys-firmware apex ixp4xx-npe'][bb.data.getVar('SLUGOS_FLASH_IMAGE', d, 1) == '1']}"
+PACK_IMAGE_DEPENDS += "${@['', 'slugimage-native nslu2-linksys-firmware ixp4xx-npe'][bb.data.getVar('SLUGOS_FLASH_IMAGE', d, 1) == '1']}"
 
 NSLU2_SLUGIMAGE_ARGS ?= ""
 
@@ -122,22 +122,21 @@ slugos_pack_image() {
                        ${STAGING_LIBDIR}/nslu2-binaries/Trailer \
                        ${STAGING_LIBDIR}/nslu2-binaries/SysConf \
                        ${DEPLOY_DIR_IMAGE}/slug/
-       install -m 0644 ${STAGING_LOADER_DIR}/apex.bin ${DEPLOY_DIR_IMAGE}/slug/
-       install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-nslu2${ARCH_BYTE_SEX} \
+       install -m 0644 ${DEPLOY_DIR_IMAGE}/zImage-nslu2${SITEINFO_ENDIANESS} \
                ${DEPLOY_DIR_IMAGE}/slug/vmlinuz
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/slug/flashdisk.jffs2
        install -m 0644 ${STAGING_FIRMWARE_DIR}/NPE-B ${DEPLOY_DIR_IMAGE}/slug/
        cd ${DEPLOY_DIR_IMAGE}/slug
-       slugimage -p -b RedBoot -s SysConf -L apex.bin -k vmlinuz \
-               -r Flashdisk:flashdisk.jffs2 -m NPE-B -t Trailer \
+       slugimage -p -b RedBoot -s SysConf -k vmlinuz \
+               -r Ramdisk:1,Flashdisk:flashdisk.jffs2 -m NPE-B -t Trailer \
                -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}-nslu2.bin \
                ${NSLU2_SLUGIMAGE_ARGS}
        rm -rf ${DEPLOY_DIR_IMAGE}/slug
 
        # Create an image for the DSM-G600 as well
        install -d ${DEPLOY_DIR_IMAGE}/firmupgrade
-       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-dsmg600${ARCH_BYTE_SEX} \
+       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-dsmg600${SITEINFO_ENDIANESS} \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz
@@ -154,7 +153,7 @@ slugos_pack_image() {
 
        # Create an image for the NAS 100d as well
        install -d ${DEPLOY_DIR_IMAGE}/firmupgrade
-       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-nas100d${ARCH_BYTE_SEX} \
+       install -m 0755 ${DEPLOY_DIR_IMAGE}/zImage-nas100d${SITEINFO_ENDIANESS} \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/ip-ramdisk
        install -m 0644 ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
                ${DEPLOY_DIR_IMAGE}/firmupgrade/rootfs.gz
index cb0a940..8a02aa7 100755 (executable)
@@ -189,16 +189,15 @@ fi
 #      and finally write the new mtab.
 #      This part is only needed if the rootfs was mounted ro.
 #
-if [ $(grep rootfs /proc/mounts | awk '{print $4}') = rw ]; then
-       exit 0
+ROOTFSDEV="/dev/root"
+if ! grep -q "^$ROOTFSDEV\w" /proc/mounts; then
+  ROOTFSDEV="rootfs"
 fi
-
-#       Add a second check, which seems to be needed for some kernel versions
-if [ $(grep "/dev/root" /proc/mounts | awk '{print $4}') = rw ]; then
-        exit 0
+if [ $(grep "^$ROOTFSDEV\w" /proc/mounts | awk '{print $4}') = rw ]; then
+       echo "Root filesystem already read-write, not remounting"
+       exit 0
 fi
 
-
 echo "Remounting root file system..."
 mount -n -o remount,$rootmode /
 if test "$rootmode" = rw
index 0648cee..06a6017 100644 (file)
@@ -5,7 +5,7 @@ DEPENDS = "makedevs"
 DEPENDS_openzaurus = "makedevs virtual/kernel"
 RDEPENDS = "makedevs"
 LICENSE = "GPL"
-PR = "r85"
+PR = "r86"
 
 SRC_URI = "file://halt \
            file://ramdisk \
diff --git a/packages/ipkg/ipkg-0.99.163/.mtn2git_empty b/packages/ipkg/ipkg-0.99.163/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename b/packages/ipkg/ipkg-0.99.163/patch-ipkg-localfilename
new file mode 100644 (file)
index 0000000..41f17fd
--- /dev/null
@@ -0,0 +1,29 @@
+--- ipkg-0.99.163.orig/ipkg_download.c Thu Apr 20 20:18:29 2006
++++ ipkg-0.99.163/ipkg_download.c      Thu Jan 18 05:54:52 2007
+@@ -108,6 +108,7 @@
+ {
+     int err;
+     char *url;
++    char *filename;
+     if (pkg->src == NULL) {
+       ipkg_message(conf,IPKG_ERROR, "ERROR: Package %s (parent %s) is not available from any configured src.\n",
+@@ -117,11 +118,16 @@
+     sprintf_alloc(&url, "%s/%s", pkg->src->value, pkg->filename);
+-    /* XXX: BUG: The pkg->filename might be something like
++    /* The pkg->filename might be something like
+        "../../foo.ipk". While this is correct, and exactly what we
+        want to use to construct url above, here we actually need to
+        use just the filename part, without any directory. */
+-    sprintf_alloc(&pkg->local_filename, "%s/%s", dir, pkg->filename);
++    filename = strrchr(pkg->filename, '/');
++    if(NULL == filename)
++        filename = pkg->filename;
++    else
++        filename++;
++    sprintf_alloc(&pkg->local_filename, "%s/%s", dir, filename);
+     err = ipkg_download(conf, url, pkg->local_filename);
+     free(url);
index 02509aa..c2ac30e 100644 (file)
@@ -4,8 +4,8 @@ PR = "r1"
 S = "${WORKDIR}/ipkg-${PV}"
 
 SRC_URI = "http://www.handhelds.org/pub/packages/ipkg/ipkg-${PV}.tar.gz \
-       file://terse.patch;patch=1"
-
+       file://terse.patch;patch=1 \
+       file://patch-ipkg-localfilename;patch=0"
 
 do_stage() {
        oe_libinstall -so libipkg ${STAGING_LIBDIR}
index be0d1f3..6b1ff0c 100644 (file)
@@ -18,6 +18,7 @@ RDEPENDS = "ixp4xx-csr"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -27,7 +28,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 
 EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
                'LD=${KERNEL_LD}' \
index 17a48e9..2fa04fc 100644 (file)
@@ -29,6 +29,7 @@ SRC_URI += "file://modprobe.conf"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -38,7 +39,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
 # The following controls the name of the ethernet devices which get
index ae2cdf2..5e25deb 100644 (file)
@@ -28,6 +28,7 @@ SRC_URI += "file://modprobe.conf"
 S = "${WORKDIR}"
 
 COMPATIBLE_HOST = "^arm.*-linux.*"
+COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 PROVIDES = "virtual/ixp-eth"
 RPROVIDES = "ixp-eth"
@@ -37,7 +38,7 @@ inherit module
 # This is a somewhat arbitrary choice:
 OSAL_DIR = "${STAGING_KERNEL_DIR}/ixp_osal"
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "-DIX_OSAL_ENSURE_ON=1"
 # The following controls the name of the ethernet devices which get
index 9983a84..009d45d 100644 (file)
@@ -33,7 +33,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 
 EXTRA_OEMAKE = "'CC=${KERNEL_CC}' \
                'LD=${KERNEL_LD}' \
index 96754b6..481033f 100644 (file)
@@ -49,7 +49,7 @@ do_pre_patch () {
 
 addtask pre_patch before do_patch
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 077515a..dd70289 100644 (file)
@@ -37,7 +37,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 9db1e7a..a160fe4 100644 (file)
@@ -38,7 +38,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 
 OSAL_PATH = "lib/ixp425/linux/${IX_TARGET}"
 # This is a somewhat arbitrary choice:
index 072db8f..cc063b5 100644 (file)
@@ -53,7 +53,7 @@ do_pre_patch () {
 
 addtask pre_patch before do_patch
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 440e22e..e72de05 100644 (file)
@@ -46,7 +46,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 
 inherit module
 
-IX_TARGET = "linux${ARCH_BYTE_SEX}"
+IX_TARGET = "linux${SITEINFO_ENDIANESS}"
 IX_ENSURE = ""
 #IX_ENSURE = "IX_OSAL_ENSURE_ON=1"
 
index 3370ad0..7fdc3ab 100644 (file)
@@ -11,14 +11,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 FILES_${PN} = "${base_libdir}/firmware/NPE-B"
 
 do_compile() {
-#        if test '${ARCH_BYTE_SEX}' = be
-#        then
-               ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -be
-#        fi
-#        if test '${ARCH_BYTE_SEX}' = le
-#        then
-#                ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -le
-#        fi
+       ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -be
 }
 
 do_install() {
index 571080b..c6d91ff 100644 (file)
@@ -11,14 +11,7 @@ COMPATIBLE_MACHINE = "(nslu2|ixp4xx)"
 FILES_${PN} = "${base_libdir}/firmware/NPE-B"
 
 do_compile() {
-#        if test '${ARCH_BYTE_SEX}' = be
-#        then
-               ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -be
-#        fi
-#        if test '${ARCH_BYTE_SEX}' = le
-#        then
-#                ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -le
-#        fi
+       ${STAGING_BINDIR_NATIVE}/IxNpeMicrocode-${PV} -be
 }
 
 do_install() {
index a441292..08fbc1e 100644 (file)
@@ -3,7 +3,7 @@ SECTION = "base"
 RDEPENDS = "initscripts console-tools"
 LICENSE = "GPL"
 PACKAGE_ARCH = "${MACHINE}"
-PR = "r12"
+PR = "r13"
 
 inherit update-rc.d
 
@@ -27,7 +27,7 @@ do_install () {
     install -m 0755 ${WORKDIR}/keymap ${D}${sysconfdir}/init.d/
 
     case ${MACHINE} in
-        c7x0 | tosa | spitz | akita | borzoi | collie | poodle | jornada6xx | h2200 | htuniversal )
+        c7x0 | tosa | spitz | akita | borzoi | collie | poodle | jornada6xx | h2200 | htcuniversal )
             install -m 0644 ${WORKDIR}/keymap-*.map    ${D}${sysconfdir}
             ;;
         *)
diff --git a/packages/libnl/files/fix-helpers.patch b/packages/libnl/files/fix-helpers.patch
new file mode 100644 (file)
index 0000000..b6a6ff8
--- /dev/null
@@ -0,0 +1,49 @@
+Index: libnl-0.5.0/lib/helpers.c
+===================================================================
+--- libnl-0.5.0.orig/lib/helpers.c
++++ libnl-0.5.0/lib/helpers.c
+@@ -29,6 +29,7 @@
+ #include <netlink/netlink.h>
+ #include <netlink/helpers.h>
+ #include <linux/socket.h>
++#include <linux/if_ether.h>
+ int nl_debug = 0;
+Index: libnl-0.5.0/lib/route/filter.c
+===================================================================
+--- libnl-0.5.0.orig/lib/route/filter.c
++++ libnl-0.5.0/lib/route/filter.c
+@@ -40,6 +40,7 @@
+ #include <netlink/route/filter.h>
+ #include <netlink/route/link.h>
+ #include <netlink/route/rtattr.h>
++#include <linux/if_ether.h>
+ static struct rtnl_filter_ops *filter_ops;
+Index: libnl-0.5.0/lib/Makefile
+===================================================================
+--- libnl-0.5.0.orig/lib/Makefile
++++ libnl-0.5.0/lib/Makefile
+@@ -68,7 +68,7 @@ distclean:
+ install:
+       mkdir -p $(DESTDIR)$(prefix)/lib/
+-      install -o root -g root -m 0644 $(OUT_SLIB) $(DESTDIR)$(prefix)/lib
++      install -m 0644 $(OUT_SLIB) $(DESTDIR)$(prefix)/lib
+       rm -f $(DESTDIR)$(prefix)/lib/$(LN1_SLIB) ; \
+       $(LN) -s $(DESTDIR)$(prefix)/lib/$(OUT_SLIB) $(DESTDIR)$(prefix)/lib/$(LN1_SLIB)
+       rm -f $(DESTDIR)$(prefix)/lib/$(LN_SLIB) ; \
+Index: libnl-0.5.0/include/Makefile
+===================================================================
+--- libnl-0.5.0.orig/include/Makefile
++++ libnl-0.5.0/include/Makefile
+@@ -37,5 +37,5 @@ distclean:
+ install:
+       mkdir -p $(DESTDIR)$(prefix)/include/netlink/route/
+-      install -o root -g root -m 0644 netlink/*.h $(DESTDIR)$(prefix)/include/netlink/
+-      install -o root -g root -m 0644 netlink/route/*.h $(DESTDIR)$(prefix)/include/netlink/route/
++      install -m 0644 netlink/*.h $(DESTDIR)$(prefix)/include/netlink/
++      install -m 0644 netlink/route/*.h $(DESTDIR)$(prefix)/include/netlink/route/
diff --git a/packages/libnl/files/libnl-0.5.0-include.diff b/packages/libnl/files/libnl-0.5.0-include.diff
new file mode 100644 (file)
index 0000000..f858953
--- /dev/null
@@ -0,0 +1,10 @@
+--- libnl-0.5.0.orig/include/netlink/route/tc.h        2005-09-08 19:13:15.000000000 -0300
++++ libnl-0.5.0/include/netlink/route/tc.h     2005-09-08 19:32:33.000000000 -0300
+@@ -24,6 +24,7 @@
+ #include <netlink/netlink.h>
+ #include <netlink/cache.h>
+ #include <netlink/data.h>
++#include <linux/pkt_sched.h>
+ #define TCA_HAS_HANDLE    0x001
+ #define TCA_HAS_PARENT    0x002
diff --git a/packages/libnl/libnl_0.5.0.bb b/packages/libnl/libnl_0.5.0.bb
new file mode 100644 (file)
index 0000000..5d1e8d3
--- /dev/null
@@ -0,0 +1,11 @@
+DESCRIPTION = "Netlink library"
+HOMEPAGE = "http://people.suug.ch/~tgr/libnl/"
+SECTION = "libraries/network"
+LICENSE = "GPLv2.1"
+PR = "r0"
+
+SRC_URI = "http://people.suug.ch/~tgr/libnl/files/libnl-0.5.0.tar.gz \
+           file://libnl-0.5.0-include.diff;patch=1 \
+           file://fix-helpers.patch;patch=1"
+
+inherit autotools
index afcdf8a..4348670 100644 (file)
@@ -1,7 +1,7 @@
 SECTION = "x11/libs"
 inherit gpe
 LICENSE = "LGPL"
-DEPENDS = "esound-gpe"
+DEPENDS = "esound"
 
 do_stage() {
        install -d ${STAGING_INCDIR}/gpe
index 1115b6e..28d3be1 100644 (file)
@@ -3,7 +3,7 @@ This version is configued for the usage with X11"
 SECTION = "libs"
 PRIORITY = "optional"
 LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound-gpe virtual/libx11 libxext libpng"
+DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound virtual/libx11 libxext libpng"
 PROVIDES = "virtual/libxine"
 PR = "r0"
 
index 270ac8f..7732eb8 100644 (file)
@@ -3,7 +3,7 @@ This version is configued for the usage with X11"
 SECTION = "libs"
 PRIORITY = "optional"
 LICENSE = "GPL"
-DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound-gpe virtual/libx11 libxext libpng"
+DEPENDS = "zlib libogg libvorbis tremor libmad libmodplug esound virtual/libx11 libxext libpng"
 PROVIDES = "virtual/libxine"
 PR = "r1"
 
index 992310b..16ce3c4 100644 (file)
@@ -4,8 +4,13 @@ IXP4XX_KERNEL_SVN_REPO ?= "http://svn.nslu2-linux.org/svnroot/kernel/trunk"
 
 do_svnpatch() {
        svn co ${IXP4XX_KERNEL_SVN_REPO}/patches/${IXP4XX_KERNEL_PATCH_DIR} --revision ${IXP4XX_KERNEL_SVN_REV} ${WORKDIR}/patches-${PV}
-       cp ${WORKDIR}/patches-${PV}/defconfig ${WORKDIR}/defconfig
+       if [ ! -f ${WORKDIR}/defconfig ] ; then \
+         cp ${WORKDIR}/patches-${PV}/defconfig ${WORKDIR}/defconfig ; \
+       fi
        rm -rf ${S}/patches
        cd ${S} && ln -s ${WORKDIR}/patches-${PV} ${S}/patches
+       if [ -f ${WORKDIR}/series ] ; then \
+         cp ${WORKDIR}/series ${WORKDIR}/patches-${PV}/series ; \
+       fi
        cd ${S} && rm -rf .pc && ${STAGING_BINDIR_NATIVE}/quilt push -av
 }
index 099bfca..3a80703 100644 (file)
@@ -149,7 +149,7 @@ SRC_URI  = "${IXP4XX_SRCURI}"
 SRC_URI += "${IXP4XX_PATCHES}"
 
 COMPATIBLE_HOST = 'arm.*-linux.*'
-COMPATIBLE_MACHINE = '(ixp4xx|loft|nslu2|nas100d|dsmg600|fsg3)'
+COMPATIBLE_MACHINE = '(ixp4xx|nslu2)'
 
 inherit kernel
 
@@ -186,7 +186,7 @@ EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'"
 do_configure_prepend() {
        rm -f ${S}/.config
        echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config'
-       if test '${ARCH_BYTE_SEX}' = be
+       if test '${SITEINFO_ENDIANESS}' = be
        then
                echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config'
        fi
@@ -238,7 +238,7 @@ do_configure_prepend() {
 # The generic package only includes the generic image, the other
 # packages are made below (they are kernel-image packages but
 # with a different ARCH).
-FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX}-${KERNEL_VERSION}"
+FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${MACHINE_ARCH}-${KERNEL_VERSION}"
 
 # MACHINE DEFINITIONS: one block for each machine
 
@@ -246,70 +246,56 @@ FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}-${IXP4XX_SUFFIX}-${KERNEL_VERSIO
 nslu2_MACHID = "597"
 PACKAGES += "kernel-image-nslu2"
 PKG_kernel-image-nslu2 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-nslu2 = "nslu2${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-nslu2 = "nslu2${SITEINFO_ENDIANESS}"
 DESCRIPTION_kernel-image-nslu2 = "Linux kernel for the LinkSys NSLU2"
-FILES_kernel-image-nslu2 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-nslu2 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${SITEINFO_ENDIANESS}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-nslu2 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${SITEINFO_ENDIANESS}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-nslu2 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
-}
-
-# The correct settings for Loft:
-loft_MACHID = "849"
-PACKAGES += "kernel-image-loft"
-PKG_kernel-image-loft = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-loft = "loft${ARCH_BYTE_SEX}"
-DESCRIPTION_kernel-image-loft = "Linux kernel for the Giant Shoulder Inc. Loft board"
-FILES_kernel-image-loft = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
-pkg_postinst_kernel-image-loft () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
-}
-pkg_postrm_kernel-image-loft () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-loft${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nslu2${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the NAS100D board:
 nas100d_MACHID = "865"
 PACKAGES += "kernel-image-nas100d"
 PKG_kernel-image-nas100d = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-nas100d = "nas100d${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-nas100d = "nas100d${SITEINFO_ENDIANESS}"
 DESCRIPTION_kernel-image-nas100d = "Linux kernel for the IOMega NAS100D"
-FILES_kernel-image-nas100d = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-nas100d = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${SITEINFO_ENDIANESS}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-nas100d () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${SITEINFO_ENDIANESS}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-nas100d () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-nas100d${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the DSMG600 board:
 dsmg600_MACHID = "964"
 PACKAGES += "kernel-image-dsmg600"
 PKG_kernel-image-dsmg600 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-dsmg600 = "dsmg600${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-dsmg600 = "dsmg600${SITEINFO_ENDIANESS}"
 DESCRIPTION_kernel-image-dsmg600 = "Linux kernel for the D-Link DSM-G600"
-FILES_kernel-image-dsmg600 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-dsmg600 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${SITEINFO_ENDIANESS}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-dsmg600 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${SITEINFO_ENDIANESS}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-dsmg600 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-dsmg600${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
 }
 
 # The correct settings for the FSG-3 board:
 fsg3_MACHID = "1091"
 PACKAGES += "kernel-image-fsg3"
 PKG_kernel-image-fsg3 = "kernel-image-${KERNEL_VERSION}"
-PACKAGE_ARCH_kernel-image-fsg3 = "fsg3${ARCH_BYTE_SEX}"
+PACKAGE_ARCH_kernel-image-fsg3 = "fsg3${SITEINFO_ENDIANESS}"
 DESCRIPTION_kernel-image-fsg3 = "Linux kernel for the Freecom FSG-3"
-FILES_kernel-image-fsg3 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION}"
+FILES_kernel-image-fsg3 = "/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION}"
 pkg_postinst_kernel-image-fsg3 () {
-       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
+       update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
 }
 pkg_postrm_kernel-image-fsg3 () {
-       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${ARCH_BYTE_SEX}-${KERNEL_VERSION} || true
+       update-alternatives --remove ${KERNEL_IMAGETYPE} /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-fsg3${SITEINFO_ENDIANESS}-${KERNEL_VERSION} || true
 }
 
 #FIXUP: the correct instructions to copy the kernel prepended with the le fixup
@@ -353,14 +339,13 @@ do_install_append() {
        # Overwrite the unshimmed generic image with a shimmed one (but without
        # any command line or machine id override).
        rm -f '${D}/${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE}-${KERNEL_VERISON}'
-       install_image '${IXP4XX_SUFFIX}'
+       install_image '${MACHINE_ARCH}'
 
        # Add the machine specific images, with appropriate suffixes
-       install_image 'nslu2${ARCH_BYTE_SEX}' '${nslu2_MACHID}'
-       install_image 'loft${ARCH_BYTE_SEX}' '${loft_MACHID}'
-       install_image 'nas100d${ARCH_BYTE_SEX}' '${nas100d_MACHID}'
-       install_image 'dsmg600${ARCH_BYTE_SEX}' '${dsmg600_MACHID}'
-       install_image 'fsg3${ARCH_BYTE_SEX}' '${fsg3_MACHID}'
+       install_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
+       install_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
+       install_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
+       install_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
 }
 
 do_deploy[dirs] = "${S}"
@@ -371,25 +356,13 @@ deploy_image() {
 
 do_deploy() {
         install -d ${DEPLOY_DIR_IMAGE}
-       deploy_image '${IXP4XX_SUFFIX}'
+       deploy_image '${MACHINE_ARCH}'
 
        # And the machine specific images
-       deploy_image 'nslu2${ARCH_BYTE_SEX}' '${nslu2_MACHID}'
-       deploy_image 'loft${ARCH_BYTE_SEX}' '${loft_MACHID}'
-       deploy_image 'nas100d${ARCH_BYTE_SEX}' '${nas100d_MACHID}'
-       deploy_image 'dsmg600${ARCH_BYTE_SEX}' '${dsmg600_MACHID}'
-       deploy_image 'fsg3${ARCH_BYTE_SEX}' '${fsg3_MACHID}'
+       deploy_image 'nslu2${SITEINFO_ENDIANESS}' '${nslu2_MACHID}'
+       deploy_image 'nas100d${SITEINFO_ENDIANESS}' '${nas100d_MACHID}'
+       deploy_image 'dsmg600${SITEINFO_ENDIANESS}' '${dsmg600_MACHID}'
+       deploy_image 'fsg3${SITEINFO_ENDIANESS}' '${fsg3_MACHID}'
 }
 
 addtask deploy before do_build after do_compile
-
-python () {
-    # check for IXP4XX_SUFFIX - if not set then we don't know what to build,
-    # also sanity check the SLUGOS_IMAGESEX
-    sex = bb.data.getVar("SLUGOS_IMAGESEX", d, 1)
-    if sex != 'little-endian' and sex != 'big-endian':
-        raise bb.parse.SkipPackage("slugos kernels require SLUGOS_IMAGESEX")
-    suffix = bb.data.getVar("IXP4XX_SUFFIX", d, 1)
-    if suffix == '':
-        raise bb.parse.SkipPackage("slugos kernels require IXP4XX_SUFFIX")
-}
diff --git a/packages/linux/ixp4xx-kernel/2.6.19/.mtn2git_empty b/packages/linux/ixp4xx-kernel/2.6.19/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/ixp4xx-kernel/2.6.19/defconfig b/packages/linux/ixp4xx-kernel/2.6.19/defconfig
new file mode 100644 (file)
index 0000000..4d88930
--- /dev/null
@@ -0,0 +1,1949 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.19
+# Sun Jan 14 08:22:40 2007
+#
+CONFIG_ARM=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+CONFIG_MACH_NSLU2=y
+CONFIG_MACH_AVILA=y
+CONFIG_MACH_LOFT=y
+# CONFIG_ARCH_ADI_COYOTE is not set
+CONFIG_ARCH_IXDP425=y
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_ARCH_IXCDP1100=y
+# CONFIG_ARCH_PRPMC1100 is not set
+CONFIG_MACH_NAS100D=y
+CONFIG_MACH_DSMG600=y
+CONFIG_ARCH_IXDP4XX=y
+CONFIG_MACH_FSG=y
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_DMABOUNCE=y
+# CONFIG_IXP4XX_INDIRECT_PCI is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_CPU_BIG_ENDIAN=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_H323=m
+CONFIG_IP_NF_SIP=m
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_NAT_H323=m
+CONFIG_IP_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+CONFIG_TIPC=m
+# CONFIG_TIPC_ADVANCED is not set
+# CONFIG_TIPC_DEBUG is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+CONFIG_MTD_REDBOOT_PARTS_READONLY=y
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+CONFIG_NFTL=y
+CONFIG_NFTL_RW=y
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+CONFIG_ISCSI_TCP=m
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+CONFIG_SATA_VIA=m
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+CONFIG_PATA_ARTOP=m
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+CONFIG_PATA_IXP4XX_CF=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_NPE=y
+CONFIG_IXP4XX_NPE_FW_LOAD=y
+CONFIG_IXP4XX_NPE_FW_MTD=y
+CONFIG_IXP4XX_MAC=y
+CONFIG_IXP4XX_CRYPTO=m
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_R8169_VLAN=y
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+CONFIG_VIA_VELOCITY=m
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_MYRI10GE is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_IXP4XX_BEEPER=y
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+# CONFIG_ROCKETPORT is not set
+# CONFIG_CYCLADES is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_ISI is not set
+# CONFIG_SYNCLINKMP is not set
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=m
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+CONFIG_I2C_ISA=m
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+CONFIG_SENSORS_PCF8574=m
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_MATROX is not set
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+CONFIG_SENSORS_W83781D=m
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_SENSORS_AD7418=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_IXP4XX=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_VIVI=m
+# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+# CONFIG_VIDEO_ZORAN_AVS6EYES is not set
+CONFIG_VIDEO_SAA7134=m
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+# CONFIG_VIDEO_CX88_BLACKBIRD is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+CONFIG_VIDEO_OVCAMCHIP=m
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_VIDEOBUF=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_U132_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+CONFIG_USB_YEALINK=m
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+CONFIG_USB_ADUTUX=m
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+# CONFIG_USB_IDMOUSE is not set
+CONFIG_USB_FTDI_ELAN=m
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+CONFIG_RTC_DRV_X1205=y
+CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_DS1553 is not set
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_DS1672=y
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
diff --git a/packages/linux/ixp4xx-kernel/2.6.19/series b/packages/linux/ixp4xx-kernel/2.6.19/series
new file mode 100644 (file)
index 0000000..ec0e7a8
--- /dev/null
@@ -0,0 +1,49 @@
+# Patches numbered 00 are externally maintained (large) patchsets
+# Patches numbered 01 to 10 are for immediate push upstream, and
+# must be all able to be applied independently in any order.
+# Patches marked with ## need reworking and are currently disabled
+
+squashfs/squashfs.patch
+squashfs/squashfs-ramdisk.patch
+squashfs/squashfs-force-O2.patch
+squashfs/squashfs-lzma.patch
+squashfs/squashfs-Kconfig.patch
+squashfs/squashfs-Makefile.patch
+00-linux-2.6.19.2.patch
+01-nslu2-led-swap.patch
+05-mtdpart-redboot-partition-truncate.patch
+07-remove-avila-ixdp425-setup.patch
+08-avila-loft-setup.patch
+10-bridging-fix.patch
+11-mtdpart-redboot-config-byteswap.patch
+30-ixp4xx-npe-driver-0.3.1.patch
+37-ixp4xx-net-driver-improve-mac-handling-0.3.1.patch
+39-ixp4xx-net-driver-mtd-load-fw-0.3.1.patch
+40-avila-setup-mac.patch
+41-nslu2-setup-mac.patch
+42-nas100d-setup-mac.patch
+43-nslu2-mtd-microcode.patch
+44-nas100d-mtd-microcode.patch
+45-eeprom-new-notifier.patch
+50-leds-arm-cpu-activity.patch
+52-nas100d-mtd-load-mac.patch
+53-nslu2-mtd-load-mac.patch
+55-increase-entropy-pools.patch
+60-nas100d-artop-temp-fix.patch
+66-hwmon-ad7418.patch
+75-dsmg600-support.patch
+76-dsmg600-pwrbtn.patch
+78-velocity-BE.patch
+80-kexec-arm-r3.patch
+85-nslu2-rtc-fixup.patch
+86-nas100d-rtc-fixup.patch
+87-dsmg600-rtc-fixup.patch
+88-dsmg600-dflt-cmdline.patch
+88-nas100d-dflt-cmdline.patch
+88-nslu2-dflt-cmdline.patch
+95-pata-ixp4xx.patch
+96-fsg3-support.patch
+97-avila-setup-pata.patch
+98-sata_via-add-pata-cleanly.patch
+99-avila-mtd-microcode.patch
+99-avila-loft-mac-platform.patch
diff --git a/packages/linux/ixp4xx-kernel/2.6.20/.mtn2git_empty b/packages/linux/ixp4xx-kernel/2.6.20/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/ixp4xx-kernel/2.6.20/defconfig b/packages/linux/ixp4xx-kernel/2.6.20/defconfig
new file mode 100644 (file)
index 0000000..255d952
--- /dev/null
@@ -0,0 +1,1988 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.20-rc5-git2
+# Wed Jan 24 01:08:16 2007
+#
+CONFIG_ARM=y
+CONFIG_GENERIC_TIME=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_VECTORS_BASE=0xffff0000
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+CONFIG_SYSFS_DEPRECATED=y
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+# CONFIG_SYSCTL_SYSCALL is not set
+# CONFIG_KALLSYMS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_VM_EVENT_COUNTERS is not set
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+
+#
+# System Type
+#
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_AT91 is not set
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_NETX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
+# CONFIG_ARCH_IOP13XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PNX4008 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+CONFIG_MACH_NSLU2=y
+CONFIG_MACH_AVILA=y
+CONFIG_MACH_LOFT=y
+# CONFIG_ARCH_ADI_COYOTE is not set
+CONFIG_ARCH_IXDP425=y
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_ARCH_IXCDP1100=y
+# CONFIG_ARCH_PRPMC1100 is not set
+CONFIG_MACH_NAS100D=y
+CONFIG_MACH_DSMG600=y
+CONFIG_ARCH_IXDP4XX=y
+CONFIG_MACH_FSG=y
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_DMABOUNCE=y
+# CONFIG_IXP4XX_INDIRECT_PCI is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+# CONFIG_CPU_DCACHE_DISABLE is not set
+# CONFIG_IWMMXT is not set
+CONFIG_XSCALE_PMU=y
+CONFIG_KEXEC=y
+
+#
+# Bus support
+#
+CONFIG_PCI=y
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_AEABI is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE=" noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+# CONFIG_APM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+# CONFIG_IPV6_ROUTER_PREF is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+# CONFIG_IPV6_MIP6 is not set
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_TRANSPORT=m
+CONFIG_INET6_XFRM_MODE_TUNNEL=m
+CONFIG_INET6_XFRM_MODE_BEET=m
+# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_TUNNEL=m
+# CONFIG_IPV6_MULTIPLE_TABLES is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK_SUPPORT=y
+# CONFIG_IP_NF_CONNTRACK_SUPPORT is not set
+CONFIG_NF_CONNTRACK=m
+# CONFIG_NF_CT_ACCT is not set
+# CONFIG_NF_CONNTRACK_MARK is not set
+# CONFIG_NF_CONNTRACK_EVENTS is not set
+CONFIG_NF_CT_PROTO_SCTP=m
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set
+# CONFIG_NF_CONNTRACK_PPTP is not set
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+# CONFIG_NETFILTER_XT_TARGET_DSCP is not set
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+# CONFIG_NETFILTER_XT_MATCH_HELPER is not set
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+# CONFIG_IP_NF_QUEUE is not set
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+# CONFIG_NF_NAT_SNMP_BASIC is not set
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=m
+# CONFIG_NF_NAT_PPTP is not set
+CONFIG_NF_NAT_H323=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_NF_CONNTRACK_IPV6 is not set
+# CONFIG_IP6_NF_QUEUE is not set
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_OWNER=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_LOG=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_RAW=m
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+CONFIG_TIPC=m
+# CONFIG_TIPC_ADVANCED is not set
+# CONFIG_TIPC_DEBUG is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_IEEE80211=m
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=m
+CONFIG_IEEE80211_CRYPT_CCMP=m
+CONFIG_IEEE80211_CRYPT_TKIP=m
+CONFIG_IEEE80211_SOFTMAC=m
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
+CONFIG_MTD_REDBOOT_PARTS_READONLY=y
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+CONFIG_NFTL=y
+CONFIG_NFTL_RW=y
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+# CONFIG_MTD_NAND_CAFE is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+CONFIG_ATA_OVER_ETH=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+CONFIG_CHR_DEV_ST=m
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+CONFIG_SCSI_ISCSI_ATTRS=m
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+
+#
+# SCSI low-level drivers
+#
+CONFIG_ISCSI_TCP=m
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_FC is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_SRP is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=m
+# CONFIG_SATA_AHCI is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SX4 is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIL24 is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_ULI is not set
+CONFIG_SATA_VIA=m
+# CONFIG_SATA_VITESSE is not set
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+CONFIG_PATA_ARTOP=m
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CS5520 is not set
+# CONFIG_PATA_CS5530 is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RZ1000 is not set
+# CONFIG_PATA_SC1200 is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+# CONFIG_PATA_PLATFORM is not set
+CONFIG_PATA_IXP4XX_CF=m
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_MD_RAID5_RESHAPE=y
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_NPE=y
+CONFIG_IXP4XX_NPE_FW_LOAD=y
+CONFIG_IXP4XX_NPE_FW_MTD=y
+CONFIG_IXP4XX_MAC=y
+CONFIG_IXP4XX_CRYPTO=m
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_R8169=m
+# CONFIG_R8169_NAPI is not set
+CONFIG_R8169_VLAN=y
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+CONFIG_VIA_VELOCITY=m
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+# CONFIG_QLA3XXX is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+# CONFIG_MYRI10GE is not set
+# CONFIG_NETXEN_NIC is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_BCM43XX is not set
+CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=y
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_IXP4XX_BEEPER=y
+CONFIG_INPUT_UINPUT=m
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_COMPUTONE is not set
+# CONFIG_ROCKETPORT is not set
+# CONFIG_CYCLADES is not set
+# CONFIG_DIGIEPCA is not set
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+# CONFIG_MOXA_SMARTIO_NEW is not set
+# CONFIG_ISI is not set
+# CONFIG_SYNCLINKMP is not set
+# CONFIG_SYNCLINK_GT is not set
+CONFIG_N_HDLC=m
+# CONFIG_RISCOM8 is not set
+# CONFIG_SPECIALIX is not set
+# CONFIG_SX is not set
+# CONFIG_RIO is not set
+# CONFIG_STALDRV is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=m
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+# CONFIG_NVRAM is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+CONFIG_I2C_ISA=m
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+CONFIG_SENSORS_PCF8574=m
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+CONFIG_W1=m
+
+#
+# 1-wire Bus Masters
+#
+# CONFIG_W1_MASTER_MATROX is not set
+CONFIG_W1_MASTER_DS2490=m
+CONFIG_W1_MASTER_DS2482=m
+
+#
+# 1-wire Slaves
+#
+CONFIG_W1_SLAVE_THERM=m
+CONFIG_W1_SLAVE_SMEM=m
+CONFIG_W1_SLAVE_DS2433=m
+CONFIG_W1_SLAVE_DS2433_CRC=y
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+CONFIG_SENSORS_W83781D=m
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_SENSORS_AD7418=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+# CONFIG_SGI_IOC4 is not set
+# CONFIG_TIFM_CORE is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_IXP4XX=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+# CONFIG_VIDEO_ADV_DEBUG is not set
+CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
+CONFIG_VIDEO_TDA9840=m
+CONFIG_VIDEO_TEA6415C=m
+CONFIG_VIDEO_TEA6420=m
+CONFIG_VIDEO_BT819=m
+CONFIG_VIDEO_BT856=m
+CONFIG_VIDEO_SAA7110=m
+CONFIG_VIDEO_SAA7111=m
+CONFIG_VIDEO_SAA7114=m
+CONFIG_VIDEO_VPX3220=m
+CONFIG_VIDEO_SAA7185=m
+CONFIG_VIDEO_ADV7170=m
+CONFIG_VIDEO_ADV7175=m
+CONFIG_VIDEO_VIVI=m
+# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN_ZR36060=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+# CONFIG_VIDEO_ZORAN_AVS6EYES is not set
+CONFIG_VIDEO_SAA7134=m
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_CX88_ALSA=m
+# CONFIG_VIDEO_CX88_BLACKBIRD is not set
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# V4L USB devices
+#
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_EM28XX is not set
+# CONFIG_VIDEO_USBVISION is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_QUICKCAM_MESSENGER is not set
+# CONFIG_USB_ET61X251 is not set
+CONFIG_VIDEO_OVCAMCHIP=m
+# CONFIG_USB_W9968CF is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_ZC0301 is not set
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+# CONFIG_USB_DSBR is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_VIDEOBUF=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+# CONFIG_USB_DABUSB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FIRMWARE_EDID is not set
+# CONFIG_FB is not set
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDA_INTEL is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=m
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_U132_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+CONFIG_USB_STORAGE_ONETOUCH=y
+CONFIG_USB_STORAGE_KARMA=y
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+# CONFIG_USB_HIDINPUT_POWERBOOK is not set
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_TOUCHSCREEN is not set
+CONFIG_USB_YEALINK=m
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_ATI_REMOTE2 is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET_MII=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+CONFIG_USB_NET_MCS7830=m
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_AIRCABLE=m
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_FUNSOFT=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+# CONFIG_USB_SERIAL_OPTION is not set
+CONFIG_USB_SERIAL_OMNINET=m
+# CONFIG_USB_SERIAL_DEBUG is not set
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+CONFIG_USB_ADUTUX=m
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+CONFIG_USB_PHIDGET=m
+CONFIG_USB_PHIDGETKIT=m
+CONFIG_USB_PHIDGETMOTORCONTROL=m
+CONFIG_USB_PHIDGETSERVO=m
+# CONFIG_USB_IDMOUSE is not set
+CONFIG_USB_FTDI_ELAN=m
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_USB_SISUSBVGA=m
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+CONFIG_RTC_DRV_X1205=y
+CONFIG_RTC_DRV_DS1307=y
+# CONFIG_RTC_DRV_DS1553 is not set
+CONFIG_RTC_DRV_ISL1208=y
+CONFIG_RTC_DRV_DS1672=y
+# CONFIG_RTC_DRV_DS1742 is not set
+CONFIG_RTC_DRV_PCF8563=y
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+CONFIG_FUSE_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_FS_XATTR is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_ROOT_NFS=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_WEAK_PW_HASH is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_LRW is not set
+CONFIG_CRYPTO_DES=y
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_PLIST=y
+CONFIG_IOMAP_COPY=y
diff --git a/packages/linux/ixp4xx-kernel/2.6.20/series b/packages/linux/ixp4xx-kernel/2.6.20/series
new file mode 100644 (file)
index 0000000..f362b61
--- /dev/null
@@ -0,0 +1,43 @@
+# Patches numbered 00 are externally maintained (large) patchsets
+# Patches numbered 01 to 10 are for immediate push upstream, and
+# must be all able to be applied independently in any order.
+# Patches marked with ## need reworking and are currently disabled
+
+squashfs/squashfs.patch
+squashfs/squashfs-ramdisk.patch
+squashfs/squashfs-force-O2.patch
+squashfs/squashfs-lzma.patch
+squashfs/squashfs-Kconfig.patch
+squashfs/squashfs-Makefile.patch
+07-remove-avila-ixdp425-setup.patch
+08-avila-loft-setup.patch
+09-avila-setup-pata.patch
+30-ixp4xx-npe-driver-0.3.1.patch
+37-ixp4xx-net-driver-improve-mac-handling.patch
+39-ixp4xx-net-driver-mtd-load-fw.patch
+40-avila-setup-mac.patch
+41-nslu2-setup-mac.patch
+42-nas100d-setup-mac.patch
+43-nslu2-mtd-microcode.patch
+44-nas100d-mtd-microcode.patch
+45-eeprom-new-notifier.patch
+50-leds-arm-cpu-activity.patch
+52-nas100d-mtd-load-mac.patch
+53-nslu2-mtd-load-mac.patch
+55-increase-entropy-pools.patch
+60-nas100d-artop-temp-fix.patch
+66-hwmon-ad7418.patch
+75-dsmg600-support.patch
+76-dsmg600-pwrbtn.patch
+78-velocity-BE.patch
+80-kexec-arm-r3.patch
+85-nslu2-rtc-fixup.patch
+86-nas100d-rtc-fixup.patch
+87-dsmg600-rtc-fixup.patch
+88-dsmg600-dflt-cmdline.patch
+88-nas100d-dflt-cmdline.patch
+88-nslu2-dflt-cmdline.patch
+96-fsg3-support.patch
+98-sata_via-pata-support-upstream.patch
+99-avila-mtd-microcode.patch
+99-avila-loft-mac-platform.patch
diff --git a/packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc4.bb b/packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc4.bb
deleted file mode 100644 (file)
index d7d4de3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# Kernel for IXP4xx
-#
-# This bitbake file pulls patches and the defconfig straight
-# from the NSLU2-Linux SVN repository. Information about this
-# repository can be found at:
-# http://trac.nslu2-linux.org/kernel/
-#
-# The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "659"
-#
-# The directory containing the patches to be applied is
-# specified below
-IXP4XX_KERNEL_PATCH_DIR = "2.6.20"
-#
-# Increment the number below (i.e. the digits after PR) when
-# the changes in SVN between revisions include changes in the
-# patches applied to the kernel, rather than simply defconfig
-# changes
-PR = "r1.${IXP4XX_KERNEL_SVN_REV}"
-
-require ixp4xx-kernel.inc
-require ixp4xx-kernel-svnpatch.inc
diff --git a/packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc6.bb b/packages/linux/ixp4xx-kernel_2.6.19+2.6.20-rc6.bb
new file mode 100644 (file)
index 0000000..5ab6d5c
--- /dev/null
@@ -0,0 +1,25 @@
+# Kernel for IXP4xx
+#
+# This bitbake file pulls patches and the defconfig straight
+# from the NSLU2-Linux SVN repository. Information about this
+# repository can be found at:
+# http://trac.nslu2-linux.org/kernel/
+#
+# The revision that is pulled from SVN is specified below
+IXP4XX_KERNEL_SVN_REV = "681"
+#
+# The directory containing the patches to be applied is
+# specified below
+IXP4XX_KERNEL_PATCH_DIR = "2.6.20"
+#
+# Increment the number below (i.e. the digits after PR) when
+# the changes in SVN between revisions include changes in the
+# patches applied to the kernel, rather than simply defconfig
+# changes
+PR = "r1.${IXP4XX_KERNEL_SVN_REV}"
+
+require ixp4xx-kernel.inc
+require ixp4xx-kernel-svnpatch.inc
+
+SRC_URI += "file://defconfig"
+SRC_URI += "file://series"
index 6ee29d3..3be13fd 100644 (file)
@@ -6,7 +6,7 @@
 # http://trac.nslu2-linux.org/kernel/
 #
 # The revision that is pulled from SVN is specified below
-IXP4XX_KERNEL_SVN_REV = "647"
+IXP4XX_KERNEL_SVN_REV = "681"
 #
 # The directory containing the patches to be applied is
 # specified below
@@ -20,3 +20,6 @@ PR = "r1.${IXP4XX_KERNEL_SVN_REV}"
 
 require ixp4xx-kernel.inc
 require ixp4xx-kernel-svnpatch.inc
+
+SRC_URI += "file://defconfig"
+SRC_URI += "file://series"
index 3cb0893..db84c23 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.19.2
-# Fri Jan 19 21:02:53 2007
+# Fri Jan 26 11:55:32 2007
 #
 CONFIG_X86_32=y
 CONFIG_GENERIC_TIME=y
@@ -343,7 +343,7 @@ CONFIG_SYN_COOKIES=y
 # CONFIG_INET_AH is not set
 # CONFIG_INET_ESP is not set
 # CONFIG_INET_IPCOMP is not set
-CONFIG_INET_XFRM_TUNNEL=y
+# CONFIG_INET_XFRM_TUNNEL is not set
 # CONFIG_INET_TUNNEL is not set
 CONFIG_INET_XFRM_MODE_TRANSPORT=y
 CONFIG_INET_XFRM_MODE_TUNNEL=y
@@ -996,7 +996,14 @@ CONFIG_AGP=y
 # CONFIG_AGP_SWORKS is not set
 CONFIG_AGP_VIA=y
 # CONFIG_AGP_EFFICEON is not set
-# CONFIG_DRM is not set
+CONFIG_DRM=y
+# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_R128 is not set
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_MGA is not set
+# CONFIG_DRM_SIS is not set
+CONFIG_DRM_VIA=y
+# CONFIG_DRM_SAVAGE is not set
 # CONFIG_MWAVE is not set
 # CONFIG_PC8736x_GPIO is not set
 # CONFIG_NSC_GPIO is not set
@@ -1058,7 +1065,6 @@ CONFIG_I2C_VIAPRO=m
 # CONFIG_SENSORS_DS1337 is not set
 # CONFIG_SENSORS_DS1374 is not set
 # CONFIG_SENSORS_EEPROM is not set
-CONFIG_SENSORS_VT1211=m
 # CONFIG_SENSORS_PCF8574 is not set
 # CONFIG_SENSORS_PCA9539 is not set
 # CONFIG_SENSORS_PCF8591 is not set
@@ -1117,6 +1123,7 @@ CONFIG_HWMON_VID=m
 # CONFIG_SENSORS_SMSC47M192 is not set
 # CONFIG_SENSORS_SMSC47B397 is not set
 # CONFIG_SENSORS_VIA686A is not set
+CONFIG_SENSORS_VT1211=m
 # CONFIG_SENSORS_VT8231 is not set
 # CONFIG_SENSORS_W83781D is not set
 # CONFIG_SENSORS_W83791D is not set
index a52f512..87d61b0 100644 (file)
@@ -1,7 +1,7 @@
 SECTION = "kernel"
 DESCRIPTION = "Linux kernel for VIA EPiA"
 LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
 
 KERNEL_CCSUFFIX = "-3.3.4"
 
index beb7a64..1321bf7 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux kernel version: 2.6.16.13
-# Thu May 18 19:40:25 2006
+# Sun Jan 21 10:52:04 2007
 #
 CONFIG_ARM=y
 CONFIG_MMU=y
@@ -14,7 +14,6 @@ CONFIG_ARCH_MTD_XIP=y
 #
 CONFIG_EXPERIMENTAL=y
 CONFIG_BROKEN_ON_SMP=y
-CONFIG_LOCK_KERNEL=y
 CONFIG_INIT_ENV_ARG_LIMIT=32
 
 #
@@ -124,6 +123,8 @@ CONFIG_IWMMXT=y
 CONFIG_PXA_SPI=y
 CONFIG_PXA_EZX_PCAP=y
 CONFIG_PXA_EZX_PCAP_EMU=m
+CONFIG_PXA_EZX_PCAP_EMU_USB=y
+# CONFIG_PXA_EZX_PCAP_EMU_UART is not set
 
 #
 # Processor Type
@@ -155,7 +156,8 @@ CONFIG_XSCALE_PMU=y
 #
 # CONFIG_PREEMPT is not set
 # CONFIG_NO_IDLE_HZ is not set
-# CONFIG_AEABI is not set
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
 # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
 CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_FLATMEM_MANUAL=y
@@ -172,7 +174,7 @@ CONFIG_ALIGNMENT_TRAP=y
 #
 CONFIG_ZBOOT_ROM_TEXT=0x0
 CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="mem=32M root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=1 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off console=ttyS2,115200n8 console=tty0"
+CONFIG_CMDLINE="console=ttyS2,115200n8 console=tty1 noinitrd root=/dev/mmcblk0p1 rootfstype=ext3 rootdelay=5 ip=192.168.1.2:192.168.1.10:192.168.1.10:255.255.255.0:ezx:usb0:off   debug mem=32M@0xA0000000 mem=16M@0xAC000000"
 # CONFIG_XIP_KERNEL is not set
 
 #
@@ -192,7 +194,6 @@ CONFIG_FPE_NWFPE=y
 CONFIG_BINFMT_ELF=y
 # CONFIG_BINFMT_AOUT is not set
 # CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
 
 #
 # Power management options
@@ -737,7 +738,6 @@ CONFIG_SERIAL_CORE=y
 CONFIG_SERIAL_CORE_CONSOLE=y
 CONFIG_UNIX98_PTYS=y
 # CONFIG_LEGACY_PTYS is not set
-# CONFIG_LEGACY_PTY_COUNT is not set
 
 #
 # IPMI
@@ -765,6 +765,8 @@ CONFIG_SA1100_RTC=y
 #
 # CONFIG_TCG_TPM is not set
 # CONFIG_TELCLOCK is not set
+CONFIG_TS0710_MUX=y
+CONFIG_TS0710_MUX_USB=y
 
 #
 # I2C support
@@ -841,9 +843,10 @@ CONFIG_SPI_BITBANG=m
 #
 # Motorola EZX devices
 #
-# CONFIG_KEYPAD_A780 is not set
+CONFIG_KEYPAD_A780=y
 # CONFIG_KEYPAD_E680 is not set
-# CONFIG_KEYLIGHT_A780 is not set
+CONFIG_KEYLIGHT_A780=y
+CONFIG_VIBRATOR_A780=y
 # CONFIG_FMRADIO_E680 is not set
 
 #
@@ -856,7 +859,6 @@ CONFIG_SPI_BITBANG=m
 CONFIG_NEW_LEDS=y
 CONFIG_LEDS_CLASS=y
 CONFIG_LEDS_TRIGGERS=y
-# CONFIG_LEDS_E680 is not set
 CONFIG_LEDS_A780=y
 CONFIG_LEDS_TRIGGER_TIMER=y
 
@@ -914,9 +916,10 @@ CONFIG_LOGO_LINUX_CLUT224=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_DEVICE=y
-CONFIG_BACKLIGHT_EZX=y
 CONFIG_LCD_CLASS_DEVICE=m
 CONFIG_LCD_DEVICE=y
+# CONFIG_BACKLIGHT_HP680 is not set
+CONFIG_BACKLIGHT_EZX=y
 
 #
 # Sound
@@ -928,7 +931,7 @@ CONFIG_LCD_DEVICE=y
 #
 CONFIG_USB_ARCH_HAS_HCD=y
 CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=m
+CONFIG_USB=y
 # CONFIG_USB_DEBUG is not set
 
 #
@@ -944,7 +947,7 @@ CONFIG_USB=m
 # USB Host Controller Drivers
 #
 # CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD=y
 # CONFIG_USB_OHCI_BIG_ENDIAN is not set
 CONFIG_USB_OHCI_LITTLE_ENDIAN=y
 # CONFIG_USB_SL811_HCD is not set
index 5d13af9..6e6f462 100644 (file)
@@ -4,7 +4,7 @@ AUTHOR = "Harald Welte and the OpenEZX Team <openezx-devel@lists.openezx.org>"
 HOMEPAGE = "http://www.openezx.org"
 LICENSE = "GPL"
 DEPENDS += "quilt-native"
-EZX = "ezx7"
+EZX = "ezx8"
 PR = "${EZX}-r1"
 
 inherit kernel
@@ -16,7 +16,9 @@ RPSRC = "http://www.rpsys.net/openzaurus/patches/archive"
 # source and patches
 #
 SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.16.tar.bz2 \
-           http://people.openezx.org/stefan/patches/patches-2.6.16-2.6.16.13-ezx7.tar.bz2 \
+           http://www.openezx.org/download/patches-2.6.16-2.6.16.13-${EZX}.tar.bz2 \
+           \
+           ${RPSRC}/xscale_cache_workaround-r1.patch;patch=1;status=merged \
            \
            file://sa1100-rtc-gcc4.diff;patch=1 \
           file://pxa-serial-gcc4.diff;patch=1 \
diff --git a/packages/linux/linux-hackndev-2.6/palmz72/.mtn2git_empty b/packages/linux/linux-hackndev-2.6/palmz72/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/linux-hackndev-2.6/palmz72/defconfig b/packages/linux/linux-hackndev-2.6/palmz72/defconfig
new file mode 100644 (file)
index 0000000..db628a2
--- /dev/null
@@ -0,0 +1,1084 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17-hnd0
+# Thu Jan 18 12:36:38 2007
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_ARCH_MTD_XIP=y
+CONFIG_VECTORS_BASE=0xffff0000
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+# CONFIG_IKCONFIG is not set
+# CONFIG_MINIMAL_OOPS is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_UID16=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_ELF_CORE is not set
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_USELIB=y
+# CONFIG_CORE_DUMP is not set
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+# CONFIG_DEFAULT_DEADLINE is not set
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_EP93XX is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IXP4XX is not set
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_IXP23XX is not set
+# CONFIG_ARCH_L7200 is not set
+CONFIG_ARCH_PXA=y
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+# CONFIG_ARCH_AT91RM9200 is not set
+
+#
+# Intel PXA2xx Implementations
+#
+# CONFIG_ARCH_LUBBOCK is not set
+# CONFIG_MACH_LOGICPD_PXA270 is not set
+# CONFIG_MACH_MAINSTONE is not set
+# CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_ARCH_ESERIES is not set
+# CONFIG_MACH_A620 is not set
+# CONFIG_MACH_A716 is not set
+# CONFIG_ARCH_H1900 is not set
+# CONFIG_ARCH_H2200 is not set
+# CONFIG_ARCH_H3900 is not set
+# CONFIG_MACH_H4000 is not set
+# CONFIG_MACH_H4700 is not set
+# CONFIG_MACH_HX2750 is not set
+# CONFIG_ARCH_H5400 is not set
+# CONFIG_MACH_HIMALAYA is not set
+# CONFIG_MACH_HTCUNIVERSAL is not set
+# CONFIG_MACH_HTCALPINE is not set
+# CONFIG_MACH_MAGICIAN is not set
+# CONFIG_MACH_HTCAPACHE is not set
+# CONFIG_MACH_BLUEANGEL is not set
+# CONFIG_MACH_HTCBEETLES is not set
+# CONFIG_ARCH_AXIMX5 is not set
+# CONFIG_ARCH_AXIMX3 is not set
+# CONFIG_ARCH_ROVERP1 is not set
+# CONFIG_ARCH_ROVERP5P is not set
+# CONFIG_MACH_XSCALE_PALMLD is not set
+# CONFIG_MACH_XSCALE_PALMTREO650 is not set
+# CONFIG_MACH_XSCALE_TREO680 is not set
+# CONFIG_MACH_TUNGE2 is not set
+# CONFIG_MACH_T3XSCALE is not set
+# CONFIG_MACH_XSCALE_PALMTT5 is not set
+# CONFIG_MACH_XSCALE_PALMTX is not set
+CONFIG_MACH_PALMZ72=y
+CONFIG_PALMZ72_AC97=y
+CONFIG_PALMZ72_PM=y
+CONFIG_GPIOED=m
+CONFIG_GPIOEDNG=m
+# CONFIG_MACH_OMAP_PALMTC is not set
+# CONFIG_PXA_SHARPSL is not set
+CONFIG_PXA27x=y
+CONFIG_PXA_RTC_EPOCH=1970
+# CONFIG_SA1100_H3100 is not set
+# CONFIG_SA1100_H3600 is not set
+# CONFIG_SA1100_H3800 is not set
+# CONFIG_GPIO_KEYS is not set
+
+#
+# Linux As Bootloader
+#
+# CONFIG_LAB is not set
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_ARMBOOT_PROC is not set
+CONFIG_XSCALE_PMU=y
+# CONFIG_KEXEC is not set
+
+#
+# Compaq/iPAQ Platforms
+#
+
+#
+# Compaq/iPAQ Drivers
+#
+
+#
+# Compaq/HP iPAQ Drivers
+#
+# CONFIG_IPAQ_HAMCOP is not set
+
+#
+# Bus support
+#
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+CONFIG_PREEMPT=y
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_HZ=100
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="mem=32M"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+CONFIG_PM=y
+CONFIG_PM_LEGACY=y
+CONFIG_PM_DEBUG=y
+CONFIG_APM=y
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+# CONFIG_NETDEBUG is not set
+# CONFIG_PACKET is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# CONFIG_INET6_TUNNEL is not set
+# CONFIG_NETFILTER is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+
+#
+# TIPC Configuration (EXPERIMENTAL)
+#
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+CONFIG_IRDA=y
+
+#
+# IrDA protocols
+#
+# CONFIG_IRLAN is not set
+# CONFIG_IRNET is not set
+# CONFIG_IRCOMM is not set
+# CONFIG_IRDA_ULTRA is not set
+
+#
+# IrDA options
+#
+# CONFIG_IRDA_CACHE_LAST_LSAP is not set
+# CONFIG_IRDA_FAST_RR is not set
+# CONFIG_IRDA_DEBUG is not set
+
+#
+# Infrared-port device drivers
+#
+
+#
+# SIR device drivers
+#
+CONFIG_IRTTY_SIR=y
+
+#
+# Dongle support
+#
+# CONFIG_DONGLE is not set
+
+#
+# Old SIR device drivers
+#
+# CONFIG_IRPORT_SIR is not set
+
+#
+# Old Serial dongle support
+#
+
+#
+# FIR device drivers
+#
+CONFIG_PXA_FICP=y
+CONFIG_BT=y
+# CONFIG_BT_L2CAP is not set
+# CONFIG_BT_SCO is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUART=y
+# CONFIG_BT_HCIUART_H4 is not set
+# CONFIG_BT_HCIUART_BCSP is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_IEEE80211=y
+# CONFIG_IEEE80211_DEBUG is not set
+# CONFIG_IEEE80211_CRYPT_WEP is not set
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+CONFIG_IEEE80211_SOFTMAC=y
+# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+# CONFIG_SCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=y
+CONFIG_INPUT_TSDEV_SCREEN_X=320
+CONFIG_INPUT_TSDEV_SCREEN_Y=480
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+CONFIG_KEYBOARD_PXA27x=y
+# CONFIG_KEYBOARD_PALMIR is not set
+CONFIG_KEYBOARD_PALMWK=y
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_LIBPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_PXA=y
+CONFIG_SERIAL_PXA_CONSOLE=y
+CONFIG_SERIAL_PXA_COUNT=4
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# L3 serial bus support
+#
+# CONFIG_L3 is not set
+
+#
+# Mice
+#
+# CONFIG_BUSMOUSE is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_SA1100_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# SPI support
+#
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_BITBANG is not set
+CONFIG_SPI_PXA2XX=y
+
+#
+# SPI Protocol Masters
+#
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
+
+#
+# SoC drivers
+#
+# CONFIG_SOC_MQ11XX is not set
+# CONFIG_SOC_T7L66XB is not set
+# CONFIG_SOC_TC6387XB is not set
+# CONFIG_SOC_TC6393XB is not set
+# CONFIG_HTC_ASIC2 is not set
+# CONFIG_HTC_ASIC3 is not set
+
+#
+# Misc devices
+#
+CONFIG_BATTERY_MONITOR=y
+# CONFIG_BATTCHARGE_MONITOR is not set
+
+#
+# Multimedia Capabilities Port drivers
+#
+# CONFIG_MCP is not set
+
+#
+# LED devices
+#
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+
+#
+# LED drivers
+#
+CONFIG_LEDS_PALMZ72=y
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=y
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=y
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L1_COMPAT=y
+CONFIG_VIDEO_V4L2=y
+
+#
+# Video Capture Adapters
+#
+
+#
+# Video Capture Adapters
+#
+CONFIG_VIDEO_ADV_DEBUG=y
+# CONFIG_VIDEO_VIVI is not set
+# CONFIG_VIDEO_CPIA is not set
+
+#
+# Encoders and Decoders
+#
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_MACMODES is not set
+CONFIG_FB_FIRMWARE_EDID=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# CONFIG_FB_IMAGEON is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_PXA=y
+CONFIG_FB_PXA_PARAMETERS=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+CONFIG_FONT_8x8=y
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_DEVICE=y
+# CONFIG_BACKLIGHT_CORGI is not set
+CONFIG_BACKLIGHT_PXAPWM=y
+# CONFIG_LCD_CLASS_DEVICE is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=y
+CONFIG_SND_PCM_OSS=y
+CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_DYNAMIC_MINORS is not set
+# CONFIG_SND_SUPPORT_OLD_API is not set
+# CONFIG_SND_VERBOSE_PROCFS is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+CONFIG_SND_AC97_CODEC=y
+CONFIG_SND_AC97_BUS=y
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# ALSA ARM devices
+#
+# CONFIG_SND_PXA2xx_I2SOUND is not set
+CONFIG_SND_PXA2XX_PCM=y
+CONFIG_SND_PXA2XX_AC97=y
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+# CONFIG_USB is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+CONFIG_USB_GADGET_SELECTED=y
+# CONFIG_USB_GADGET_NET2280 is not set
+# CONFIG_USB_GADGET_PXA2XX is not set
+CONFIG_USB_GADGET_PXA27X=y
+CONFIG_USB_PXA27X=y
+# CONFIG_USB_PXA27X_DMA is not set
+# CONFIG_USB_GADGET_GOKU is not set
+# CONFIG_USB_GADGET_MQ11XX is not set
+# CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_OMAP is not set
+# CONFIG_USB_GADGET_AT91 is not set
+# CONFIG_USB_GADGET_DUMMY_HCD is not set
+# CONFIG_USB_GADGET_DUALSPEED is not set
+# CONFIG_USB_ZERO is not set
+CONFIG_USB_ETH=y
+# CONFIG_USB_ETH_RNDIS is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FILE_STORAGE is not set
+# CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_G_CHAR is not set
+
+#
+# MMC/SD Card support
+#
+CONFIG_MMC=y
+# CONFIG_MMC_DEBUG is not set
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_PXA=y
+# CONFIG_MMC_TMIO is not set
+# CONFIG_MMC_SAMCOP is not set
+# CONFIG_MMC_ASIC3 is not set
+# CONFIG_MMC_WBSD_PALMT3 is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=m
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=m
+CONFIG_RTC_INTF_PROC=m
+CONFIG_RTC_INTF_DEV=m
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=m
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_INOTIFY is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=y
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+CONFIG_SQUASHFS_EMBEDDED=y
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_SQUASHFS_VMALLOC is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_UNION_FS=m
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+CONFIG_NLS_CODEPAGE_866=y
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+CONFIG_NLS_ISO8859_1=y
+CONFIG_NLS_ISO8859_2=y
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+CONFIG_NLS_KOI8_R=y
+# CONFIG_NLS_KOI8_U is not set
+CONFIG_NLS_UTF8=y
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_SMALLOOPS is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_UNWIND_INFO is not set
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=y
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
index 32868b5..7ef5ad5 100644 (file)
@@ -2,8 +2,9 @@ DESCRIPTION = "Hack&Dev's Linux kernel for Palm devices."
 HOMEPAGE = "http://www.hackndev.com/"
 SECTION = "kernel"
 LICENSE = "GPL"
+PR = "r1"
 
-COMPATIBLE_MACHINE = "(palmtx|palmld)"
+COMPATIBLE_MACHINE = "(palmtx|palmld|palmz72)"
 
 SRC_URI = "svn://svn.sourceforge.net/svnroot/hackndev/linux4palm/linux;module=trunk;proto=https \
           file://defconfig"
@@ -76,3 +77,12 @@ do_compile_prepend() {
                 cd -
        fi
 }
+
+do_deploy() {
+       install -d ${DEPLOY_DIR_IMAGE}
+       install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${PV}-${MACHINE}-${DATETIME}
+}   
+
+do_deploy[dirs] = "${S}"
+
+addtask deploy before do_build after do_compile
index d678a6c..52b2c87 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.19-hh7
-# Sun Dec 31 02:28:00 2006
+# Linux kernel version: 2.6.19-hh8
+# Mon Jan 22 05:03:33 2007
 #
 CONFIG_ARM=y
 # CONFIG_GENERIC_TIME is not set
@@ -38,7 +38,6 @@ CONFIG_SYSVIPC=y
 # CONFIG_UTS_NS is not set
 # CONFIG_AUDIT is not set
 CONFIG_IKCONFIG=y
-# CONFIG_MINIMAL_OOPS is not set
 CONFIG_IKCONFIG_PROC=y
 # CONFIG_RELAY is not set
 CONFIG_INITRAMFS_SOURCE=""
@@ -58,8 +57,6 @@ CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_SHMEM=y
-CONFIG_USELIB=y
-CONFIG_CORE_DUMP=y
 CONFIG_SLAB=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_RT_MUTEXES=y
@@ -146,7 +143,6 @@ CONFIG_MACH_H3900=y
 CONFIG_IPAQ_H3900_LCD=y
 CONFIG_IPAQ_H3900_BACKLIGHT=y
 CONFIG_IPAQ_H3900_BATTERY=y
-# CONFIG_IPAQ_H3900_MMC is not set
 # CONFIG_MACH_H4000 is not set
 # CONFIG_MACH_H4700 is not set
 # CONFIG_MACH_HX2750 is not set
@@ -169,14 +165,17 @@ CONFIG_IPAQ_H3900_BATTERY=y
 # CONFIG_PXA_SHARPSL is not set
 # CONFIG_MACH_TRIZEPS4 is not set
 CONFIG_PXA25x=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
 
 #
 # Linux As Bootloader
 #
 # CONFIG_LAB is not set
+CONFIG_PXA_IPAQ=y
+
+#
+# XScale-based iPAQ
+#
+CONFIG_IPAQ_HANDHELD=y
 
 #
 # Processor Type
@@ -199,16 +198,6 @@ CONFIG_XSCALE_PMU=y
 CONFIG_KEXEC=y
 
 #
-# Compaq/iPAQ Platforms
-#
-CONFIG_PXA_IPAQ=y
-
-#
-# XScale-based iPAQ
-#
-CONFIG_IPAQ_HANDHELD=y
-
-#
 # Compaq/iPAQ Drivers
 #
 
@@ -515,10 +504,7 @@ CONFIG_INPUT=y
 #
 # Userland interfaces
 #
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_JOYDEV is not set
 # CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=y
@@ -624,7 +610,42 @@ CONFIG_LEGACY_PTY_COUNT=32
 #
 # I2C support
 #
-# CONFIG_I2C is not set
+CONFIG_I2C=m
+# CONFIG_I2C_CHARDEV is not set
+
+#
+# I2C Algorithms
+#
+# CONFIG_I2C_ALGOBIT is not set
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_PXA=m
+# CONFIG_I2C_PXA_SLAVE is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+# CONFIG_SENSORS_EEPROM is not set
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCA9535 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
 
 #
 # SPI support
@@ -759,7 +780,17 @@ CONFIG_BACKLIGHT_CORGI=y
 #
 # Sound
 #
-# CONFIG_SOUND is not set
+CONFIG_SOUND=y
+
+#
+# Advanced Linux Sound Architecture
+#
+# CONFIG_SND is not set
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
 
 #
 # USB support
@@ -833,8 +864,15 @@ CONFIG_RTC_INTF_DEV=y
 #
 # RTC drivers
 #
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
 # CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
 # CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
 # CONFIG_RTC_DRV_M48T86 is not set
 CONFIG_RTC_DRV_SA1100=y
 # CONFIG_RTC_DRV_TEST is not set
index 28a78fa..f17812c 100644 (file)
@@ -1,11 +1,13 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.18-hh0
-# Sat Nov 18 21:26:56 2006
+# Linux kernel version: 2.6.19-hh8
+# Mon Jan 22 05:03:36 2007
 #
 CONFIG_ARM=y
+# CONFIG_GENERIC_TIME is not set
 CONFIG_MMU=y
 CONFIG_GENERIC_HARDIRQS=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
 CONFIG_HARDIRQS_SW_RESEND=y
 CONFIG_GENERIC_IRQ_PROBE=y
 CONFIG_RWSEM_GENERIC_SPINLOCK=y
@@ -29,19 +31,21 @@ CONFIG_LOCALVERSION=""
 CONFIG_LOCALVERSION_AUTO=y
 CONFIG_SWAP=y
 CONFIG_SYSVIPC=y
+# CONFIG_IPC_NS is not set
 # CONFIG_POSIX_MQUEUE is not set
 # CONFIG_BSD_PROCESS_ACCT is not set
 # CONFIG_TASKSTATS is not set
+# CONFIG_UTS_NS is not set
 # CONFIG_AUDIT is not set
 CONFIG_IKCONFIG=y
-# CONFIG_MINIMAL_OOPS is not set
 CONFIG_IKCONFIG_PROC=y
 # CONFIG_RELAY is not set
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_EMBEDDED=y
-CONFIG_UID16=y
 CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+# CONFIG_UID16 is not set
+CONFIG_SYSCTL_SYSCALL=y
 CONFIG_KALLSYMS=y
 # CONFIG_KALLSYMS_ALL is not set
 # CONFIG_KALLSYMS_EXTRA_PASS is not set
@@ -53,8 +57,6 @@ CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_SHMEM=y
-CONFIG_USELIB=y
-CONFIG_CORE_DUMP=y
 CONFIG_SLAB=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_RT_MUTEXES=y
@@ -75,6 +77,7 @@ CONFIG_KMOD=y
 #
 # Block layer
 #
+CONFIG_BLOCK=y
 # CONFIG_BLK_DEV_IO_TRACE is not set
 
 #
@@ -107,7 +110,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
 # CONFIG_ARCH_NETX is not set
 # CONFIG_ARCH_H720X is not set
 # CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_IOP3XX is not set
+# CONFIG_ARCH_IOP32X is not set
+# CONFIG_ARCH_IOP33X is not set
 # CONFIG_ARCH_IXP4XX is not set
 # CONFIG_ARCH_IXP2000 is not set
 # CONFIG_ARCH_IXP23XX is not set
@@ -128,6 +132,7 @@ CONFIG_ARCH_PXA=y
 # CONFIG_MACH_LOGICPD_PXA270 is not set
 # CONFIG_MACH_MAINSTONE is not set
 # CONFIG_ARCH_PXA_IDP is not set
+# CONFIG_TOSHIBA_TMIO_OHCI is not set
 # CONFIG_ARCH_ESERIES is not set
 # CONFIG_MACH_A620 is not set
 # CONFIG_MACH_A716 is not set
@@ -136,14 +141,15 @@ CONFIG_ARCH_PXA=y
 # CONFIG_ARCH_H2200 is not set
 # CONFIG_MACH_H3900 is not set
 CONFIG_MACH_H4000=y
-CONFIG_IPAQ_H4000_SERIAL=m
+# CONFIG_IPAQ_H4000_SERIAL is not set
 CONFIG_IPAQ_H4000_UDC=y
 CONFIG_IPAQ_H4000_LCD=y
 CONFIG_IPAQ_H4000_BACKLIGHT=y
 CONFIG_IPAQ_H4000_TS=y
-CONFIG_IPAQ_H4000_PCMCIA=y
 CONFIG_IPAQ_H4000_BUTTONS=y
 CONFIG_IPAQ_H4000_BATT=y
+CONFIG_IPAQ_H4000_LEDS=y
+CONFIG_IPAQ_H4000_BT=y
 CONFIG_IPAQ_H4300_KBD=m
 # CONFIG_MACH_H4700 is not set
 # CONFIG_MACH_HX2750 is not set
@@ -164,15 +170,20 @@ CONFIG_IPAQ_H4300_KBD=m
 # CONFIG_MACH_XSCALE_PALMLD is not set
 # CONFIG_MACH_T3XSCALE is not set
 # CONFIG_PXA_SHARPSL is not set
+# CONFIG_MACH_TRIZEPS4 is not set
 CONFIG_PXA25x=y
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
+CONFIG_PXA_SSP=y
 
 #
 # Linux As Bootloader
 #
 # CONFIG_LAB is not set
+CONFIG_PXA_IPAQ=y
+
+#
+# XScale-based iPAQ
+#
+CONFIG_IPAQ_HANDHELD=y
 
 #
 # Processor Type
@@ -183,25 +194,18 @@ CONFIG_CPU_32v5=y
 CONFIG_CPU_ABRT_EV5T=y
 CONFIG_CPU_CACHE_VIVT=y
 CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_CP15=y
+CONFIG_CPU_CP15_MMU=y
 
 #
 # Processor Features
 #
 CONFIG_ARM_THUMB=y
+# CONFIG_CPU_DCACHE_DISABLE is not set
 CONFIG_XSCALE_PMU=y
 CONFIG_KEXEC=y
 
 #
-# Compaq/iPAQ Platforms
-#
-CONFIG_PXA_IPAQ=y
-
-#
-# XScale-based iPAQ
-#
-CONFIG_IPAQ_HANDHELD=y
-
-#
 # Compaq/iPAQ Drivers
 #
 
@@ -209,8 +213,6 @@ CONFIG_IPAQ_HANDHELD=y
 # Compaq/HP iPAQ Drivers
 #
 # CONFIG_IPAQ_SLEEVE is not set
-# CONFIG_IPAQ_SAMCOP is not set
-# CONFIG_IPAQ_HAMCOP is not set
 
 #
 # Bus support
@@ -228,7 +230,7 @@ CONFIG_PCMCIA_IOCTL=y
 #
 # PC-card bridges
 #
-CONFIG_PCMCIA_PXA2XX=y
+# CONFIG_PCMCIA_PXA2XX is not set
 
 #
 # Kernel Features
@@ -236,7 +238,8 @@ CONFIG_PCMCIA_PXA2XX=y
 # CONFIG_PREEMPT is not set
 CONFIG_NO_IDLE_HZ=y
 CONFIG_HZ=100
-# CONFIG_AEABI is not set
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
 # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
 CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_FLATMEM_MANUAL=y
@@ -260,20 +263,7 @@ CONFIG_CMDLINE="keepinitrd"
 #
 # CPU Frequency scaling
 #
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_FREQ_DEBUG=y
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPU_FREQ_PXA=y
-CONFIG_PXA25x_ALTERNATE_FREQS=y
+# CONFIG_CPU_FREQ is not set
 
 #
 # Floating point emulation
@@ -292,7 +282,6 @@ CONFIG_FPE_NWFPE=y
 CONFIG_BINFMT_ELF=y
 # CONFIG_BINFMT_AOUT is not set
 # CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
 
 #
 # Power management options
@@ -300,6 +289,8 @@ CONFIG_BINFMT_ELF=y
 CONFIG_PM=y
 # CONFIG_PM_LEGACY is not set
 CONFIG_PM_DEBUG=y
+# CONFIG_DISABLE_CONSOLE_SUSPEND is not set
+CONFIG_PM_SYSFS_DEPRECATED=y
 CONFIG_APM=y
 
 #
@@ -316,6 +307,7 @@ CONFIG_PACKET_MMAP=y
 CONFIG_UNIX=y
 CONFIG_XFRM=y
 # CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
 # CONFIG_NET_KEY is not set
 CONFIG_INET=y
 CONFIG_IP_MULTICAST=y
@@ -335,31 +327,24 @@ CONFIG_IP_PNP=y
 # CONFIG_INET_IPCOMP is not set
 # CONFIG_INET_XFRM_TUNNEL is not set
 # CONFIG_INET_TUNNEL is not set
-CONFIG_INET_XFRM_MODE_TRANSPORT=y
-CONFIG_INET_XFRM_MODE_TUNNEL=y
+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
+# CONFIG_INET_XFRM_MODE_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_BEET=y
 # CONFIG_INET_DIAG is not set
 # CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
 
 #
 # IP: Virtual Server Configuration
 #
 # CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-# CONFIG_IPV6_ROUTER_PREF is not set
-# CONFIG_INET6_AH is not set
-# CONFIG_INET6_ESP is not set
-# CONFIG_INET6_IPCOMP is not set
+# CONFIG_IPV6 is not set
 # CONFIG_INET6_XFRM_TUNNEL is not set
 # CONFIG_INET6_TUNNEL is not set
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-# CONFIG_IPV6_TUNNEL is not set
 # CONFIG_NETWORK_SECMARK is not set
 CONFIG_NETFILTER=y
 # CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
 
 #
 # Core Netfilter Configuration
@@ -386,16 +371,6 @@ CONFIG_IP_NF_IRC=m
 # CONFIG_IP_NF_QUEUE is not set
 
 #
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-
-#
 # DCCP Configuration (EXPERIMENTAL)
 #
 # CONFIG_IP_DCCP is not set
@@ -410,10 +385,9 @@ CONFIG_IP_NF_IRC=m
 #
 # CONFIG_TIPC is not set
 # CONFIG_ATM is not set
-CONFIG_BRIDGE=m
+# CONFIG_BRIDGE is not set
 # CONFIG_VLAN_8021Q is not set
 # CONFIG_DECNET is not set
-CONFIG_LLC=m
 # CONFIG_LLC2 is not set
 # CONFIG_IPX is not set
 # CONFIG_ATALK is not set
@@ -432,72 +406,9 @@ CONFIG_LLC=m
 #
 # CONFIG_NET_PKTGEN is not set
 # CONFIG_HAMRADIO is not set
-CONFIG_IRDA=y
-
-#
-# IrDA protocols
-#
-CONFIG_IRLAN=m
-CONFIG_IRCOMM=y
-# CONFIG_IRDA_ULTRA is not set
-
-#
-# IrDA options
-#
-# CONFIG_IRDA_CACHE_LAST_LSAP is not set
-# CONFIG_IRDA_FAST_RR is not set
-CONFIG_IRDA_DEBUG=y
-
-#
-# Infrared-port device drivers
-#
-
-#
-# SIR device drivers
-#
-CONFIG_IRTTY_SIR=m
-
-#
-# Dongle support
-#
-# CONFIG_DONGLE is not set
-
-#
-# Old SIR device drivers
-#
-# CONFIG_IRPORT_SIR is not set
-
-#
-# Old Serial dongle support
-#
-
-#
-# FIR device drivers
-#
-CONFIG_PXA_FICP=y
-CONFIG_BT=y
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_H4=y
-CONFIG_BT_HCIUART_BCSP=y
-# CONFIG_BT_HCIDTL1 is not set
-# CONFIG_BT_HCIBT3C is not set
-# CONFIG_BT_HCIBLUECARD is not set
-# CONFIG_BT_HCIBTUART is not set
-# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
 # CONFIG_IEEE80211 is not set
-CONFIG_WIRELESS_EXT=y
 
 #
 # Device Drivers
@@ -520,98 +431,7 @@ CONFIG_FW_LOADER=y
 #
 # Memory Technology Devices (MTD)
 #
-CONFIG_MTD=y
-CONFIG_MTD_DEBUG=y
-CONFIG_MTD_DEBUG_VERBOSE=1
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=m
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=m
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=m
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=m
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-CONFIG_MTD_XIP=y
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_IPAQ is not set
-# CONFIG_MTD_SHARP_SL is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_DATAFLASH is not set
-# CONFIG_MTD_M25P80 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-CONFIG_MTD_NAND=y
-# CONFIG_MTD_NAND_VERIFY_WRITE is not set
-# CONFIG_MTD_NAND_ECC_SMC is not set
-# CONFIG_MTD_NAND_H1900 is not set
-CONFIG_MTD_NAND_IDS=y
-CONFIG_MTD_NAND_DISKONCHIP=y
-# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set
-CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
-# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
-# CONFIG_MTD_NAND_SHARPSL is not set
-# CONFIG_MTD_NAND_NANDSIM is not set
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD is not set
 
 #
 # Parallel port support
@@ -626,11 +446,10 @@ CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
 # Block devices
 #
 # CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=y
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_LOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
 CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=6
+CONFIG_BLK_DEV_RAM_COUNT=4
 CONFIG_BLK_DEV_RAM_SIZE=8192
 CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
 CONFIG_BLK_DEV_INITRD=y
@@ -640,35 +459,19 @@ CONFIG_BLK_DEV_INITRD=y
 #
 # ATA/ATAPI/MFM/RLL support
 #
-CONFIG_IDE=m
-CONFIG_BLK_DEV_IDE=m
-
-#
-# Please see Documentation/ide.txt for help/info on IDE drives
-#
-# CONFIG_BLK_DEV_IDE_SATA is not set
-CONFIG_BLK_DEV_IDEDISK=m
-# CONFIG_IDEDISK_MULTI_MODE is not set
-CONFIG_BLK_DEV_IDECS=m
-# CONFIG_BLK_DEV_IDECD is not set
-# CONFIG_BLK_DEV_IDETAPE is not set
-# CONFIG_BLK_DEV_IDEFLOPPY is not set
-# CONFIG_IDE_TASK_IOCTL is not set
-
-#
-# IDE chipset support/bugfixes
-#
-# CONFIG_IDE_GENERIC is not set
-# CONFIG_IDE_ARM is not set
-# CONFIG_BLK_DEV_IDEDMA is not set
-# CONFIG_IDEDMA_AUTO is not set
-# CONFIG_BLK_DEV_HD is not set
+# CONFIG_IDE is not set
 
 #
 # SCSI device support
 #
 # CONFIG_RAID_ATTRS is not set
 # CONFIG_SCSI is not set
+# CONFIG_SCSI_NETLINK is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+# CONFIG_ATA is not set
 
 #
 # Multi-device support (RAID and LVM)
@@ -691,81 +494,7 @@ CONFIG_BLK_DEV_IDECS=m
 #
 # Network device support
 #
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# PHY device support
-#
-
-#
-# Ethernet (10 or 100Mbit)
-#
-# CONFIG_NET_ETHERNET is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-
-#
-# Ethernet (10000 Mbit)
-#
-
-#
-# Token Ring devices
-#
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-# CONFIG_NET_WIRELESS_RTNETLINK is not set
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-# CONFIG_PCMCIA_WAVELAN is not set
-# CONFIG_PCMCIA_NETWAVE is not set
-
-#
-# Wireless 802.11 Frequency Hopping cards support
-#
-# CONFIG_PCMCIA_RAYCS is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Wireless 802.11b Pcmcia/Cardbus cards support
-#
-# CONFIG_AIRO_CS is not set
-# CONFIG_PCMCIA_WL3501 is not set
-# CONFIG_HOSTAP is not set
-CONFIG_ACX=y
-CONFIG_ACX_MEM=y
-# CONFIG_ACX_H4000 is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# PCMCIA network device support
-#
-# CONFIG_NET_PCMCIA is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_SHAPER is not set
-# CONFIG_NETCONSOLE is not set
+# CONFIG_NETDEVICES is not set
 # CONFIG_NETPOLL is not set
 # CONFIG_NET_POLL_CONTROLLER is not set
 
@@ -778,15 +507,14 @@ CONFIG_NET_WIRELESS=y
 # Input device support
 #
 CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
 
 #
 # Userland interfaces
 #
 # CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_TSDEV=y
-CONFIG_INPUT_TSDEV_SCREEN_X=240
-CONFIG_INPUT_TSDEV_SCREEN_Y=320
+# CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=y
 # CONFIG_INPUT_EVBUG is not set
 
@@ -799,9 +527,14 @@ CONFIG_INPUT_KEYBOARD=y
 # CONFIG_KEYBOARD_LKKBD is not set
 # CONFIG_KEYBOARD_XTKBD is not set
 # CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
 CONFIG_GPIO_KEYS=y
 CONFIG_KEYBOARD_ASIC3=y
-# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_NAVPOINT is not set
+# CONFIG_MOUSE_VSXXXAA is not set
 # CONFIG_INPUT_JOYSTICK is not set
 # CONFIG_INPUT_TOUCHSCREEN is not set
 # CONFIG_INPUT_MISC is not set
@@ -839,10 +572,42 @@ CONFIG_LEGACY_PTYS=y
 CONFIG_LEGACY_PTY_COUNT=32
 
 #
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_HW_RANDOM is not set
+# CONFIG_NVRAM is not set
+# CONFIG_SA1100_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
 # I2C support
 #
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
+CONFIG_I2C=m
+# CONFIG_I2C_CHARDEV is not set
 
 #
 # I2C Algorithms
@@ -854,8 +619,7 @@ CONFIG_I2C_CHARDEV=y
 #
 # I2C Hardware Bus support
 #
-# CONFIG_I2C_ELV is not set
-CONFIG_I2C_PXA=y
+CONFIG_I2C_PXA=m
 # CONFIG_I2C_PXA_SLAVE is not set
 # CONFIG_I2C_OCORES is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
@@ -872,6 +636,7 @@ CONFIG_I2C_PXA=y
 # CONFIG_SENSORS_PCA9539 is not set
 # CONFIG_SENSORS_PCA9535 is not set
 # CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
 # CONFIG_SENSORS_MAX6875 is not set
 # CONFIG_I2C_DEBUG_CORE is not set
 # CONFIG_I2C_DEBUG_ALGO is not set
@@ -879,112 +644,31 @@ CONFIG_I2C_PXA=y
 # CONFIG_I2C_DEBUG_CHIP is not set
 
 #
-# L3 serial bus support
-#
-# CONFIG_L3 is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-CONFIG_HW_RANDOM=y
-# CONFIG_NVRAM is not set
-CONFIG_SA1100_RTC=y
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-
-#
-# PCMCIA character devices
-#
-# CONFIG_SYNCLINK_CS is not set
-# CONFIG_CARDMAN_4000 is not set
-# CONFIG_CARDMAN_4040 is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-
-#
 # SPI support
 #
-CONFIG_SPI=y
-CONFIG_SPI_DEBUG=y
-CONFIG_SPI_MASTER=y
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
 
 #
-# SPI Master Controller Drivers
+# Dallas's 1-wire bus
 #
-# CONFIG_SPI_BITBANG is not set
-# CONFIG_SPI_PXA2XX is not set
+# CONFIG_W1 is not set
 
 #
-# SPI Protocol Masters
+# Hardware Monitoring support
 #
+# CONFIG_HWMON is not set
+# CONFIG_HWMON_VID is not set
 
 #
-# Dallas's 1-wire bus
+# Hardware Monitoring - Battery
 #
+# CONFIG_BATTERY_MONITOR is not set
 
 #
-# Hardware Monitoring support
+# L3 serial bus support
 #
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ABITUGURU is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
+# CONFIG_L3 is not set
 
 #
 # SoC drivers
@@ -993,38 +677,45 @@ CONFIG_HWMON=y
 # CONFIG_SOC_T7L66XB is not set
 # CONFIG_SOC_TC6387XB is not set
 # CONFIG_SOC_TC6393XB is not set
+# CONFIG_SOC_SAMCOP is not set
+# CONFIG_SOC_HAMCOP is not set
 # CONFIG_HTC_ASIC2 is not set
 CONFIG_HTC_ASIC3=y
+# CONFIG_HTC_ASIC3_DS1WM is not set
 # CONFIG_SOC_TSC2101 is not set
+# CONFIG_SOC_TSC2200 is not set
 
 #
 # Misc devices
 #
-CONFIG_BATTERY_MONITOR=y
 
 #
 # Multimedia Capabilities Port drivers
 #
 # CONFIG_MCP is not set
+CONFIG_ADC_ADS7846_SSP=y
+# CONFIG_TIFM_CORE is not set
 
 #
 # LED devices
 #
-# CONFIG_NEW_LEDS is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
 
 #
 # LED drivers
 #
+CONFIG_LEDS_ASIC3=y
 
 #
 # LED Triggers
 #
+# CONFIG_LEDS_TRIGGERS is not set
 
 #
 # Multimedia devices
 #
 # CONFIG_VIDEO_DEV is not set
-CONFIG_VIDEO_V4L2=y
 
 #
 # Digital Video Broadcasting Devices
@@ -1034,7 +725,7 @@ CONFIG_VIDEO_V4L2=y
 #
 # Graphics support
 #
-CONFIG_FIRMWARE_EDID=y
+# CONFIG_FIRMWARE_EDID is not set
 CONFIG_FB=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_COPYAREA=y
@@ -1042,13 +733,14 @@ CONFIG_FB_CFB_IMAGEBLIT=y
 # CONFIG_FB_MACMODES is not set
 # CONFIG_FB_BACKLIGHT is not set
 # CONFIG_FB_MODE_HELPERS is not set
-CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_TILEBLITTING is not set
 # CONFIG_FB_IMAGEON is not set
 # CONFIG_FB_S1D13XXX is not set
 CONFIG_FB_PXA=y
-CONFIG_FB_PXA_PARAMETERS=y
+# CONFIG_FB_PXA_PARAMETERS is not set
 # CONFIG_FB_MBX is not set
 # CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_VSFB is not set
 
 #
 # Console display driver support
@@ -1088,21 +780,19 @@ CONFIG_SOUND=y
 #
 # Advanced Linux Sound Architecture
 #
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
 # CONFIG_SND_SEQUENCER is not set
 CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
 CONFIG_SND_PCM_OSS_PLUGINS=y
 # CONFIG_SND_DYNAMIC_MINORS is not set
-# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_SUPPORT_OLD_API=y
 CONFIG_SND_VERBOSE_PROCFS=y
-CONFIG_SND_VERBOSE_PRINTK=y
-CONFIG_SND_DEBUG=y
-CONFIG_SND_DEBUG_DETECT=y
-# CONFIG_SND_PCM_XRUN_DEBUG is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
 
 #
 # Generic devices
@@ -1115,9 +805,8 @@ CONFIG_SND_DEBUG_DETECT=y
 #
 # ALSA ARM devices
 #
-CONFIG_SND_H4000=y
-# CONFIG_SND_HTCSABLE is not set
-CONFIG_SND_PXA2xx_I2SOUND=y
+CONFIG_SND_H4000=m
+CONFIG_SND_PXA2xx_I2SOUND=m
 # CONFIG_SND_PXA2XX_AC97 is not set
 
 #
@@ -1125,7 +814,12 @@ CONFIG_SND_PXA2xx_I2SOUND=y
 #
 # CONFIG_SND_VXPOCKET is not set
 # CONFIG_SND_PDAUDIOCF is not set
-CONFIG_SND_UDA1380=y
+
+#
+# SoC audio support
+#
+# CONFIG_SND_SOC is not set
+CONFIG_SND_UDA1380=m
 
 #
 # Open Sound System
@@ -1148,7 +842,7 @@ CONFIG_USB_ARCH_HAS_HCD=y
 # USB Gadget Support
 #
 CONFIG_USB_GADGET=y
-CONFIG_USB_GADGET_DEBUG_FILES=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
 CONFIG_USB_GADGET_SELECTED=y
 # CONFIG_USB_GADGET_NET2280 is not set
 CONFIG_USB_GADGET_PXA2XX=y
@@ -1158,16 +852,18 @@ CONFIG_USB_PXA2XX=y
 # CONFIG_USB_GADGET_GOKU is not set
 # CONFIG_USB_GADGET_MQ11XX is not set
 # CONFIG_USB_GADGET_LH7A40X is not set
+# CONFIG_USB_GADGET_S3C2410 is not set
 # CONFIG_USB_GADGET_OMAP is not set
 # CONFIG_USB_GADGET_AT91 is not set
 # CONFIG_USB_GADGET_DUMMY_HCD is not set
 # CONFIG_USB_GADGET_DUALSPEED is not set
 # CONFIG_USB_ZERO is not set
 CONFIG_USB_ETH=y
-# CONFIG_USB_ETH_RNDIS is not set
+CONFIG_USB_ETH_RNDIS=y
 # CONFIG_USB_GADGETFS is not set
 # CONFIG_USB_FILE_STORAGE is not set
 # CONFIG_USB_G_SERIAL is not set
+# CONFIG_USB_MIDI_GADGET is not set
 # CONFIG_USB_G_CHAR is not set
 
 #
@@ -1177,6 +873,7 @@ CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
 CONFIG_MMC_BLOCK=y
 # CONFIG_MMC_PXA is not set
+# CONFIG_MMC_TIFM_SD is not set
 # CONFIG_MMC_TMIO is not set
 # CONFIG_MMC_SAMCOP is not set
 CONFIG_MMC_ASIC3=y
@@ -1185,7 +882,35 @@ CONFIG_MMC_ASIC3=y
 # Real Time Clock
 #
 CONFIG_RTC_LIB=y
-# CONFIG_RTC_CLASS is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_DEBUG=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SA1100=y
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_V3020 is not set
 
 #
 # File systems
@@ -1194,10 +919,12 @@ CONFIG_EXT2_FS=y
 # CONFIG_EXT2_FS_XATTR is not set
 # CONFIG_EXT2_FS_XIP is not set
 # CONFIG_EXT3_FS is not set
+# CONFIG_EXT4DEV_FS is not set
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
 # CONFIG_FS_POSIX_ACL is not set
 # CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
 # CONFIG_OCFS2_FS is not set
 # CONFIG_MINIX_FS is not set
 # CONFIG_ROMFS_FS is not set
@@ -1229,8 +956,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
 # Pseudo filesystems
 #
 CONFIG_PROC_FS=y
+CONFIG_PROC_SYSCTL=y
 CONFIG_SYSFS=y
 CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
 # CONFIG_HUGETLB_PAGE is not set
 CONFIG_RAMFS=y
 # CONFIG_CONFIGFS_FS is not set
@@ -1245,16 +974,6 @@ CONFIG_RAMFS=y
 # CONFIG_BEFS_FS is not set
 # CONFIG_BFS_FS is not set
 # CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_FS_DEBUG=1
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_FS_XATTR is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
 # CONFIG_CRAMFS is not set
 # CONFIG_VXFS_FS is not set
 # CONFIG_HPFS_FS is not set
@@ -1344,11 +1063,12 @@ CONFIG_NLS_UTF8=y
 #
 # Kernel hacking
 #
-# CONFIG_PRINTK_TIME is not set
+CONFIG_PRINTK_TIME=y
+CONFIG_ENABLE_MUST_CHECK=y
 # CONFIG_MAGIC_SYSRQ is not set
 # CONFIG_UNUSED_SYMBOLS is not set
 CONFIG_DEBUG_KERNEL=y
-CONFIG_LOG_BUF_SHIFT=15
+CONFIG_LOG_BUF_SHIFT=16
 CONFIG_DETECT_SOFTLOCKUP=y
 # CONFIG_SCHEDSTATS is not set
 # CONFIG_DEBUG_SLAB is not set
@@ -1364,9 +1084,10 @@ CONFIG_DEBUG_MUTEXES=y
 # CONFIG_DEBUG_INFO is not set
 # CONFIG_DEBUG_FS is not set
 CONFIG_DEBUG_VM=y
+# CONFIG_DEBUG_LIST is not set
 CONFIG_FRAME_POINTER=y
-# CONFIG_UNWIND_INFO is not set
 CONFIG_FORCED_INLINING=y
+# CONFIG_HEADERS_CHECK is not set
 # CONFIG_RCU_TORTURE_TEST is not set
 CONFIG_DEBUG_USER=y
 # CONFIG_DEBUG_WAITQ is not set
@@ -1383,6 +1104,9 @@ CONFIG_DEBUG_ERRORS=y
 # Cryptographic options
 #
 CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_MANAGER=y
 CONFIG_CRYPTO_HMAC=y
 # CONFIG_CRYPTO_NULL is not set
 # CONFIG_CRYPTO_MD4 is not set
@@ -1392,6 +1116,8 @@ CONFIG_CRYPTO_SHA1=y
 # CONFIG_CRYPTO_SHA512 is not set
 # CONFIG_CRYPTO_WP512 is not set
 # CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_ECB is not set
+# CONFIG_CRYPTO_CBC is not set
 CONFIG_CRYPTO_DES=y
 # CONFIG_CRYPTO_BLOWFISH is not set
 # CONFIG_CRYPTO_TWOFISH is not set
@@ -1421,6 +1147,4 @@ CONFIG_CRC32=y
 # CONFIG_LIBCRC32C is not set
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=y
-CONFIG_REED_SOLOMON=y
-CONFIG_REED_SOLOMON_DEC16=y
 CONFIG_PLIST=y
index 35ae57e..cf5cea0 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.19-hh4
-# Sat Dec 16 17:40:31 2006
+# Linux kernel version: 2.6.19-hh8
+# Mon Jan 22 13:41:47 2007
 #
 CONFIG_ARM=y
 # CONFIG_GENERIC_TIME is not set
@@ -37,13 +37,12 @@ CONFIG_SYSVIPC=y
 # CONFIG_UTS_NS is not set
 # CONFIG_AUDIT is not set
 CONFIG_IKCONFIG=y
-# CONFIG_MINIMAL_OOPS is not set
 CONFIG_IKCONFIG_PROC=y
 # CONFIG_RELAY is not set
 CONFIG_INITRAMFS_SOURCE=""
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
 CONFIG_SYSCTL=y
-# CONFIG_EMBEDDED is not set
+CONFIG_EMBEDDED=y
 CONFIG_UID16=y
 CONFIG_SYSCTL_SYSCALL=y
 CONFIG_KALLSYMS=y
@@ -56,8 +55,6 @@ CONFIG_BASE_FULL=y
 CONFIG_FUTEX=y
 CONFIG_EPOLL=y
 CONFIG_SHMEM=y
-CONFIG_USELIB=y
-CONFIG_CORE_DUMP=y
 CONFIG_SLAB=y
 CONFIG_VM_EVENT_COUNTERS=y
 CONFIG_RT_MUTEXES=y
@@ -125,9 +122,6 @@ CONFIG_ARCH_S3C2410=y
 # CONFIG_ARCH_SHARK is not set
 # CONFIG_ARCH_LH7A40X is not set
 # CONFIG_ARCH_OMAP is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
 
 #
 # S3C24XX Implementations
@@ -146,10 +140,12 @@ CONFIG_PM_H1940=y
 CONFIG_MACH_RX3715=y
 CONFIG_RX3715_LEDS=m
 CONFIG_RX3715_BLUETOOTH=m
-CONFIG_RX3715_DS1WM=m
+# CONFIG_MACH_HTCHERMES is not set
+# CONFIG_MACH_HTC_TRINITY is not set
 # CONFIG_MACH_OTOM is not set
 # CONFIG_MACH_NEXCODER_2440 is not set
 # CONFIG_MACH_VSTMS is not set
+# CONFIG_MACH_G500 is not set
 CONFIG_S3C2410_CLOCK=y
 CONFIG_S3C2410_PM=y
 CONFIG_CPU_S3C244X=y
@@ -199,10 +195,6 @@ CONFIG_ARM_THUMB=y
 # CONFIG_KEXEC is not set
 
 #
-# Compaq/iPAQ Platforms
-#
-
-#
 # Compaq/iPAQ Drivers
 #
 
@@ -225,7 +217,8 @@ CONFIG_ARM_THUMB=y
 # CONFIG_PREEMPT is not set
 # CONFIG_NO_IDLE_HZ is not set
 CONFIG_HZ=200
-# CONFIG_AEABI is not set
+CONFIG_AEABI=y
+CONFIG_OABI_COMPAT=y
 # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
 CONFIG_SELECT_MEMORY_MODEL=y
 CONFIG_FLATMEM_MANUAL=y
@@ -263,7 +256,6 @@ CONFIG_FPE_NWFPE=y
 CONFIG_BINFMT_ELF=y
 # CONFIG_BINFMT_AOUT is not set
 CONFIG_BINFMT_MISC=y
-# CONFIG_ARTHUR is not set
 
 #
 # Power management options
@@ -687,14 +679,9 @@ CONFIG_INPUT=y
 #
 # Userland interfaces
 #
-CONFIG_INPUT_MOUSEDEV=y
-# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
-CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
-CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_MOUSEDEV is not set
 # CONFIG_INPUT_JOYDEV is not set
-CONFIG_INPUT_TSDEV=y
-CONFIG_INPUT_TSDEV_SCREEN_X=240
-CONFIG_INPUT_TSDEV_SCREEN_Y=320
+# CONFIG_INPUT_TSDEV is not set
 CONFIG_INPUT_EVDEV=y
 # CONFIG_INPUT_EVBUG is not set
 
@@ -710,11 +697,10 @@ CONFIG_INPUT_KEYBOARD=y
 # CONFIG_KEYBOARD_STOWAWAY is not set
 CONFIG_GPIO_KEYS=y
 CONFIG_KEYBOARD_ASIC3=y
+# CONFIG_S3C2410_BUTTONS is not set
 # CONFIG_INPUT_MOUSE is not set
 # CONFIG_INPUT_JOYSTICK is not set
 CONFIG_INPUT_TOUCHSCREEN=y
-CONFIG_TOUCHSCREEN_S3C2410=y
-# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
 # CONFIG_TOUCHSCREEN_GUNZE is not set
 # CONFIG_TOUCHSCREEN_ELO is not set
 # CONFIG_TOUCHSCREEN_MTOUCH is not set
@@ -725,6 +711,9 @@ CONFIG_TOUCHSCREEN_S3C2410=y
 # CONFIG_TOUCHSCREEN_PENMOUNT is not set
 # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
 # CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+CONFIG_TOUCHSCREEN_S3C2410=y
+# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set
+# CONFIG_TOUCHSCREEN_S3C2410_ALT is not set
 # CONFIG_INPUT_MISC is not set
 
 #
@@ -732,6 +721,7 @@ CONFIG_TOUCHSCREEN_S3C2410=y
 #
 CONFIG_SERIO=y
 CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_LIBPS2 is not set
 # CONFIG_SERIO_RAW is not set
 # CONFIG_GAMEPORT is not set
 
@@ -807,7 +797,6 @@ CONFIG_I2C_CHARDEV=y
 #
 # I2C Hardware Bus support
 #
-# CONFIG_I2C_ELV is not set
 # CONFIG_I2C_OCORES is not set
 # CONFIG_I2C_PARPORT_LIGHT is not set
 CONFIG_I2C_S3C2410=m
@@ -824,6 +813,7 @@ CONFIG_I2C_S3C2410=m
 # CONFIG_SENSORS_PCA9539 is not set
 # CONFIG_SENSORS_PCA9535 is not set
 # CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
 # CONFIG_SENSORS_MAX6875 is not set
 # CONFIG_I2C_DEBUG_CORE is not set
 # CONFIG_I2C_DEBUG_ALGO is not set
@@ -882,6 +872,7 @@ CONFIG_RX3715_BATTERY=m
 # CONFIG_SOC_HAMCOP is not set
 # CONFIG_HTC_ASIC2 is not set
 CONFIG_HTC_ASIC3=y
+CONFIG_HTC_ASIC3_DS1WM=y
 # CONFIG_SOC_TSC2101 is not set
 # CONFIG_SOC_TSC2200 is not set
 
@@ -1053,10 +1044,10 @@ CONFIG_USB_GADGET_SELECTED=y
 # CONFIG_USB_GADGET_GOKU is not set
 # CONFIG_USB_GADGET_MQ11XX is not set
 # CONFIG_USB_GADGET_LH7A40X is not set
-# CONFIG_USB_GADGET_OMAP is not set
 CONFIG_USB_GADGET_S3C2410=y
 CONFIG_USB_S3C2410=y
 # CONFIG_USB_S3C2410_DEBUG is not set
+# CONFIG_USB_GADGET_OMAP is not set
 # CONFIG_USB_GADGET_AT91 is not set
 # CONFIG_USB_GADGET_DUMMY_HCD is not set
 # CONFIG_USB_GADGET_DUALSPEED is not set
@@ -1075,6 +1066,7 @@ CONFIG_USB_ETH_RNDIS=y
 CONFIG_MMC=y
 # CONFIG_MMC_DEBUG is not set
 CONFIG_MMC_BLOCK=y
+# CONFIG_MMC_S3C2440 is not set
 # CONFIG_MMC_TIFM_SD is not set
 # CONFIG_MMC_TMIO is not set
 # CONFIG_MMC_SAMCOP is not set
@@ -1286,7 +1278,7 @@ CONFIG_ENABLE_MUST_CHECK=y
 # CONFIG_UNUSED_SYMBOLS is not set
 # CONFIG_DEBUG_KERNEL is not set
 CONFIG_LOG_BUF_SHIFT=14
-CONFIG_DEBUG_BUGVERBOSE=y
+# CONFIG_DEBUG_BUGVERBOSE is not set
 # CONFIG_DEBUG_FS is not set
 CONFIG_FRAME_POINTER=y
 # CONFIG_HEADERS_CHECK is not set
index b34d463..ec5844b 100644 (file)
@@ -1,7 +1,7 @@
 SECTION = "kernel"
 DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices."
 LICENSE = "GPL"
-PR = "r0"
+PR = "r1"
 
 DEFAULT_PREFERENCE = "-1"
 
index 8e78ac1..ac7d398 100644 (file)
@@ -10,6 +10,8 @@ inherit kernel
 KERNEL_IMAGETYPE = "vmlinux"
 KERNEL_OUTPUT = "${KERNEL_IMAGETYPE}"
 
+module_autoload_ohci-hcd_omap5912osk = "ohci-hcd"
+
 do_configure_prepend() {
 
         if [ "${TARGET_OS}" == "linux-gnueabi" -o  "${TARGET_OS}" == "linux-uclibcgnueabi" ]; then
diff --git a/packages/linux/nslu2-kernel.inc b/packages/linux/nslu2-kernel.inc
deleted file mode 100644 (file)
index 129d5e4..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-# Standard definitions for any NSLU2 Linux kernel.
-# Include this file in a .bb which specifies, at least,
-# PN,PV,PR for the desired kernel
-#
-# Define the following *before* including this file as
-# required:
-#
-# N2K_PATCHES - full list of patches to apply, to add files
-#   generate a patch against /dev/null
-# N2K_SUFFIX - the suffix to add after 'zImage-' in the
-#   deploy/images directory, should identify the image config
-#
-# DEFAULT_PREFERENCE is set automagically in this file as
-# follows:
-#
-#  10  For *released* kernels
-#   8  For mm or ac patched versions of released kernels
-#   6  For rc patched kernels (release candidates)
-#   4  For mm or ac patched rc (release candidate) kernels
-#   2  For pre or bk versions
-#   0  For mm or ac patched pre or bk versions
-#
-# --------------------------------------------------------------
-#
-# Within this file bitbake variables local to the file are
-# named N2K_FOO
-#
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for the Linksys NSLU2 device"
-LICENSE = "GPL"
-
-DEPENDS += "devio-native"
-
-# Linux kernel source has the general form linux-X.Y.Z-patchP,
-# X.Y is the major version number, Z (which may have multiple
-# parts) is a sub-version and 'patch' is something like 'mm' or
-# 'ac' with a patch version.  The original bz2 archive will be
-# in a directory/file vX.Y/linux-X.Y.Z.tar.bz2.  The unpacked
-# source will be in the directory linux-X.Y.Z and this directory
-# name corresponds to the module directory (in /lib/modules).
-#
-# The corresponding .bb file should be called:
-#
-#      package_X.Y.Z-patchP
-#
-# Giving PN=package PV=X.Y.Z-patchP (and PR is set in the .bb
-# file).  Files, including the all important defconfig, are
-# searched for in the following directories (last one first):
-#
-#      nslu2-kernel/files
-#      nslu2-kernel/X.Y
-#      nslu2-kernel/X.Y.Z
-#      nslu2-kernel/X.Y.Z-patch
-#      nslu2-kernel/X.Y.Z-patchP
-#      package-X.Y.Z-patchP
-#
-# This allows sharing of patch files and other useful source!
-# To share a file or patch with an earlier version put it in
-# the shared directory - e.g. to use foo.patch on 2.6.11.2 and
-# 2.6.11.4 it should be in directory nslu2-kernel/2.6.11.
-#
-# Note that when there are multiple patches the X.Y.Z-patch form
-# uses base-patch (e.g. 2.6.12-mm) whereas X.Y.Z-patchP has the
-# full form, for example 2.6.12-rc3-mm1 (in the same case).
-
-#PN=package-name
-#PV=package-version (full)
-
-# The patch has the general form (rcN|preN|acN|mmN|bkN)* with the
-# separate patch items being separated by '-' characters.  The
-# rc patch is first and has the important property that it
-# requires the *preceding* kernel base version and that this
-# will be the source directory name.
-python () {
-    # The patches list may be empty.  This code starts with the base
-    # kernel version and steps through the patches.  Because the rc and
-    # pre patches actually require the *preceding* kernel version the code
-    # fixes that up appropriately.
-    pv = bb.data.getVar("PV",d,1).split('-')
-    kernel = pv[0].split('.')
-    base = pv[0]
-    name = [base]
-    major = '.'.join(name[0].split('.')[0:2])
-    minor = '.'.join(name[0].split('.')[0:3])
-    patch_uri = [ None ]
-    filedir = "${FILE_DIRNAME}/nslu2-kernel/%s"
-    # This entry will become the last one (everything is inserted before it)
-    filepath = [ filedir % "files" ]
-    pref = 10
-    mmac = 0
-    for patch in pv[1:]:
-       name.append(patch)
-       pname = '-'.join(name)
-       if patch[0:2] == "rc" or patch[0:3] == "pre":
-           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/testing/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname))
-           kernel[-1] = str(int(kernel[-1]) - 1)
-           if patch[0:2] == "rc" and pref == 10:
-               pref = 6
-               filepath[0:0] = [ filedir % name[0] ]
-               filepath[0:0] = [ filedir % (name[0] + "-rc") ]
-           else:
-               pref = 2
-       elif patch[0:2] == "bk" or patch[0:3] == "git":
-           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/snapshots/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname))
-           pref = 2
-       elif patch[0:2] == "ac":
-           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/alan/linux-%s/%s/patch-%s" % (major, base, pname))
-           mmac = 2
-           filepath[0:0] = [ filedir % (name[0] + "-ac") ]
-       elif patch[0:2] == "mm":
-           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/akpm/patches/%s/%s/%s/%s.bz2;patch=1;pname=%s" % (major, base, pname, pname, pname))
-           mmac = 2
-           filepath[0:0] = [ filedir % (name[0] + "-mm") ]
-       else:
-           raise bb.build.FuncFailed("nslu2-kernel: patch %s not recognized in %s" % (patch, '-'.join(pv)))
-       filepath[0:0] = [ filedir % pname ]
-       base = pname
-
-    base = '.'.join(kernel)
-    patch_uri[0] = "${KERNELORG_MIRROR}/pub/linux/kernel/v%s/linux-%s.tar.bz2" % (major, base)
-    filepath[-1:-1] = [ filedir % base ]
-    if base != minor:
-           filepath[-1:-1] = [ filedir % minor ]
-    filepath[-1:-1] = [ filedir % major ]
-
-    bb.data.setVar("N2K_SRCMAJ", major, d)
-    # bb.note("N2K_SRCMAJ := %s" % major)
-    bb.data.setVar("N2K_SRCVER", base, d)
-    # bb.note("N2K_SRCVER := %s" % base)
-    bb.data.setVar("N2K_SRCURI", ' '.join(patch_uri), d)
-    # bb.note("N2K_SRCURI := %s" % ' '.join(patch_uri))
-    bb.data.setVar("N2K_FILESPATH", ':'.join(filepath), d)
-    # bb.note("N2K_FILESPATH := %s" % ' '.join(filepath))
-    bb.data.setVar("DEFAULT_PREFERENCE", pref-mmac, d)
-    # bb.note("DEFAULT_PREFERENCE := %s" % (pref-mmac))
-}
-
-# FILESPATH: this list is in order last-searched-first, therefore
-# the first entry is the *latest* and/or most specific
-FILESPATH = "${FILE_DIRNAME}/${P}:${N2K_FILESPATH}"
-
-# The working directory will be the 'base' version (which may not be the
-# same as implied by the PV variable because it corresponds to the prior
-# minor version for rc and pre patched versions).
-S = "${WORKDIR}/linux-${N2K_SRCVER}"
-
-# N2K_PATCHES is the list of patches.
-N2K_PATCHES ?= ""
-
-# Image suffix - actually set in conf/machine/nslu2.conf as it is also
-# used by anything which needs to know the name of the generated image.
-# Should be overridden in the distro if patches or defconfig are changed.
-N2K_SUFFIX ?= "nslu2${ARCH_BYTE_SEX}"
-
-SRC_URI  = "${N2K_SRCURI}"
-SRC_URI += "${N2K_PATCHES}"
-SRC_URI += "file://defconfig"
-
-COMPATIBLE_HOST = 'arm.*-linux'
-
-inherit kernel
-
-ARCH = "arm"
-KERNEL_IMAGETYPE = "zImage"
-# To specify the console set KERNEL_CONSOLE in the .bb file.
-# CMDLINE_ROOT contains the boot options, CMDLINE_KERNEL_OPTIONS
-# contains the things for a specific kernel.
-CMDLINE_KERNEL_OPTIONS ?= "reboot=s"
-CMDLINE_ROOT ?= "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc"
-# Add distro specific debug (or non-debug) options to this
-CMDLINE_DEBUG ?= ""
-CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_KERNEL_OPTIONS} ${CMDLINE_DEBUG} ${CMDLINE_CONSOLE}"
-
-# Set EXTRAVERSION and LOCALVERSION to "" so that the kernel version
-# remains pinned to the x.y.z form, also turn off the directory
-# printing which provides almost all the output of an incremental build.
-EXTRA_OEMAKE += "EXTRAVERSION="
-EXTRA_OEMAKE += "LOCALVERSION="
-EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'"
-
-addtask unpacklocal before do_patch after do_unpack
-
-# NOTE: in MM kernel builds the config options (oldconfig, menuconfig
-# and so on) do not allow an option to be overridden, so the following
-# removes the options which must be changed.
-do_configure_prepend() {
-       rm -f ${S}/.config
-       echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config'
-       if test '${ARCH_BYTE_SEX}' = be
-       then
-               echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config'
-       fi
-       if test '${SLUGOS_IMAGESEX}' = big-endian
-       then
-               echo 'CONFIG_JFFS2_BIG_ENDIAN=y' >>'${S}/.config'
-       fi
-       if test '${SLUGOS_IMAGESEX}' = little-endian
-       then
-               echo 'CONFIG_JFFS2_LITTLE_ENDIAN=y' >>'${S}/.config'
-       fi
-       sed -e '/CONFIG_CPU_BIG_ENDIAN/d' -e '/CONFIG_CMDLINE=/d' \
-               -e '/CONFIG_JFFS2_NATIVE_ENDIAN=/d' \
-               -e '/CONFIG_JFFS2_BIG_ENDIAN=/d' \
-               -e '/CONFIG_JFFS2_LITTLE_ENDIAN=/d' \
-               '${WORKDIR}/defconfig' >>'${S}/.config'
-       rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \
-              ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch
-}
-
-# This function adds the required prefix to the image to deal with two
-# problems:
-#
-# 1) The machine type set by RedBoot is wrong - the type for an ixdp425, not an NSLU2
-#    e3a01c02 e3811055
-# 2) For LE kernels it is necessary to prefix change-to-le code to the kernel image:
-#    ee110f10 e3c00080 ee010f10
-#    and to byte swap the (LE) image to match the BE flash layout
-#
-# The argument to the function is the destination directory
-redboot_fixup_armeb() {
-       rm -f "$1".new
-       devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \
-               'wb 0xe3a01c02,4' \
-               'wb 0xe3811055,4' \
-               'cp$'
-       mv "$1".new "$1"
-}
-
-redboot_fixup_arm() {
-       rm -f "$1".new
-       devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \
-               'wb 0xe3a01c02,4' \
-               'wb 0xe3811055,4' \
-               'wb 0xee110f10,4' \
-               'wb 0xe3c00080,4' \
-               'wb 0xee010f10,4' \
-               'xp $,4' || {
-               echo 'ERROR: arch/${ARCH}/boot/${KERNEL_IMAGETYPE}: failed to byteswap zImage' >&2
-               return 1
-       }
-       mv "$1".new "$1"
-}
-
-do_install_append() {
-       redboot_fixup '${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}'
-}
-
-do_deploy[dirs] = "${S}"
-do_deploy() {
-        install -d ${DEPLOY_DIR_IMAGE}
-       redboot_fixup '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${N2K_SUFFIX}'
-}
-
-addtask deploy before do_build after do_compile
-
-COMPATIBLE_MACHINE = "nslu2"
diff --git a/packages/linux/nslu2-kernel/.mtn2git_empty b/packages/linux/nslu2-kernel/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.11-mm/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch b/packages/linux/nslu2-kernel/2.6.11-mm/bootramdisk.patch
deleted file mode 100644 (file)
index c03a0d9..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- linux-2.6.11/arch/arm/kernel/setup.c.orig  Mon Mar  7 09:41:40 2005
-+++ linux-2.6.11/arch/arm/kernel/setup.c       Mon Mar  7 09:42:15 2005
-@@ -431,8 +431,10 @@
-       rd_prompt = prompt;
-       rd_doload = doload;
-+#if 0 /* rd_size is not exported by 2.6.11-mm1 */
-       if (rd_sz)
-               rd_size = rd_sz;
-+#endif
- #endif
- }
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/defconfig b/packages/linux/nslu2-kernel/2.6.11-mm/defconfig
deleted file mode 100644 (file)
index 7ca968a..0000000
+++ /dev/null
@@ -1,1204 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.11-mm4
-# Sat May  7 11:48:09 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_EMBEDDED=y
-# CONFIG_KALLSYMS is not set
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=1
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-CONFIG_ARCH_IXP4XX=y
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-
-#
-# Intel IXP4xx Implementation Options
-#
-
-#
-# IXP4xx Platforms
-#
-# CONFIG_ARCH_AVILA is not set
-# CONFIG_ARCH_ADI_COYOTE is not set
-# CONFIG_ARCH_IXDP425 is not set
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
-CONFIG_ARCH_NSLU2=y
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_MACH_GTWX5715 is not set
-
-#
-# IXP4xx Options
-#
-CONFIG_IXP4XX_INDIRECT_PCI=y
-CONFIG_DMABOUNCE=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-CONFIG_CPU_MINICACHE=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_ARM_THUMB_INTERWORK is not set
-# CONFIG_ARCH_XSCALE is not set
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_XSCALE_PMU=y
-
-#
-# General setup
-#
-CONFIG_PCI=y
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-# CONFIG_XIP_KERNEL is not set
-# CONFIG_PCI_LEGACY_PROC is not set
-# CONFIG_PCI_NAMES is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# At least one math emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-# CONFIG_PM is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8"
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_BLK_DEV_RAM_SIZE=10240
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-# CONFIG_NETLINK_DEV is not set
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_TUNNEL=m
-CONFIG_IP_TCPDIAG=m
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_KGDBOE is not set
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-# CONFIG_HOSTAP is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-CONFIG_NETCONSOLE=m
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-# CONFIG_ISCSI_IF is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=y
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-# CONFIG_INPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IXP4XX_WATCHDOG=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-CONFIG_RTC=m
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_I810 is not set
-# CONFIG_I2C_IOP3XX is not set
-# CONFIG_I2C_ISA is not set
-CONFIG_I2C_IXP4XX=y
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_PROSAVAGE is not set
-# CONFIG_I2C_SAVAGE4 is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_VOODOO3 is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Hardware Sensors Chip support
-#
-CONFIG_I2C_SENSOR=y
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-
-#
-# Other I2C Chip support
-#
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-CONFIG_SENSORS_X1205=y
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-# CONFIG_EXT2_FS_XATTR is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-# CONFIG_EXT3_FS_POSIX_ACL is not set
-# CONFIG_EXT3_FS_SECURITY is not set
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISER4_FS=m
-# CONFIG_REISER4_DEBUG is not set
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_REISERFS_FS_XATTR is not set
-# CONFIG_JFS_FS is not set
-
-#
-# XFS support
-#
-# CONFIG_XFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-
-#
-# Caches
-#
-# CONFIG_FSCACHE is not set
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_JFFS2_FS_NAND is not set
-# CONFIG_JFFS2_FS_NOR_ECC is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V4 is not set
-# CONFIG_NFS_DIRECTIO is not set
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V4 is not set
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_SUNRPC=m
-# CONFIG_RPCSEC_GSS_KRB5 is not set
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-# CONFIG_CIFS_XATTR is not set
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Graphics support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# Misc devices
-#
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_SPLIT_ISO is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-
-#
-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
-#
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_RW_DETECT is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-
-#
-# USB Input Devices
-#
-# CONFIG_USB_HID is not set
-
-#
-# USB HID Boot Protocol drivers
-#
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-
-#
-# USB Host-to-Host Cables
-#
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_GENESYS=y
-CONFIG_USB_NET1080=y
-CONFIG_USB_PL2301=y
-CONFIG_USB_KC2190=y
-
-#
-# Intelligent USB Devices/Gadgets
-#
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_ZAURUS=y
-CONFIG_USB_CDCETHER=y
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_AX8817X=y
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB ATM/DSL drivers
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch b/packages/linux/nslu2-kernel/2.6.11-mm/reiser4.patch
deleted file mode 100644 (file)
index b752dda..0000000
+++ /dev/null
@@ -1,617 +0,0 @@
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.c     2005-03-27 21:36:10.656270448 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 23:39:18.967076480 -0800
-@@ -467,19 +467,15 @@
-       return 0;
- }
--#define FORMAT40_ROOT_LOCALITY 41
--#define FORMAT40_ROOT_OBJECTID 42
-+#define FORMAT40_ROOT_LOCALITY 41ull
-+#define FORMAT40_ROOT_OBJECTID 42ull
- /* plugin->u.format.root_dir_key */
- reiser4_internal const reiser4_key *
- root_dir_key_format40(const struct super_block *super UNUSED_ARG)
- {
-       static const reiser4_key FORMAT40_ROOT_DIR_KEY = {
--              .el = {{(FORMAT40_ROOT_LOCALITY << 4) | KEY_SD_MINOR},
--#if REISER4_LARGE_KEY
--                     {0ull},
--#endif
--                     {FORMAT40_ROOT_OBJECTID}, {0ull}}
-+              .el = { KEY_INIT(KEY_SD_MINOR,FORMAT40_ROOT_LOCALITY,0ull,0,FORMAT40_ROOT_OBJECTID,0ull) }
-       };
-       return &FORMAT40_ROOT_DIR_KEY;
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.h     2005-03-27 21:24:00.618253096 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:02.747929336 -0800
-@@ -49,7 +49,7 @@
-       /*  70 */ d16 formatting_policy;
-       /*  72 */ d64 flags;
-       /*  72 */ char not_used[432];
--} format40_disk_super_block;
-+} PACKED64 format40_disk_super_block;
- /* format 40 specific part of reiser4_super_info_data */
- typedef struct format40_super_info {
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/file/invert.c   2005-03-27 21:24:00.625252032 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/file/invert.c       2005-03-27 21:24:02.747929336 -0800
-@@ -240,14 +240,14 @@
- typedef struct flow_header {
-       d32 fl_magic;
-       d16 fl_nr;              /* number of subfiles in the flow */
--};
-+} PACKED32;
- typedef struct subfile_header {
-       d32 sh_magic;           /* subfile magic */
-       d16 sh_type;            /* type of subfile: light-weight, ordinary, invert */
-       d16 sh_arg_len;         /* lenght of lookup argument (filename, key) */
-       d32 sh_body_len;        /* lenght of subfile body */
--};
-+} PACKED32;
- /* functions to get/set fields of flow header */
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/static_stat.c      2005-03-27 21:24:00.648248536 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/static_stat.c  2005-03-27 21:34:27.331978128 -0800
-@@ -19,6 +19,38 @@
- /* see static_stat.h for explanation */
-+/* compile time verify of the data structure sizes and alignments */
-+static inline void
-+r4static_stat_verify(void)
-+{
-+      /* All these structures are PACKED, so the __alignof__ should
-+       * be 1.  The sizes need to be correct as they map to disk
-+       * structures.
-+       */
-+      cassert(sizeof (reiser4_stat_data_base) == 2);
-+      /* cassert(sizeof (reiser4_light_weight_stat) == 16);
-+       * 14 bytes, comments in code do not take into account PACKED!
-+       */
-+      cassert(sizeof (reiser4_light_weight_stat) == 14);
-+      cassert(sizeof (reiser4_unix_stat) == 28);
-+      cassert(sizeof (reiser4_symlink_stat) == 0);
-+      cassert(sizeof (reiser4_plugin_slot) == 4);
-+      cassert(sizeof (reiser4_plugin_stat) == 2);
-+      cassert(sizeof (reiser4_flags_stat) == 4);
-+      /* cassert(sizeof (reiser4_capabilities_stat) == 16);
-+       * comments in the file look wrong - capabilities are 2 x d32
-+       * not 2 x d64 in the declaration.
-+       */
-+      cassert(sizeof (reiser4_capabilities_stat) == 8);
-+      cassert(sizeof (reiser4_cluster_stat) == 1);
-+      cassert(sizeof (reiser4_crypto_stat) == 2);
-+      /* cassert(sizeof (reiser4_large_times_stat) == 24);
-+       * should be 12 bytes - 3 x d32, probably a bug in the def in
-+       * the header file (meant to be 3 x d64?)
-+       */
-+      cassert(sizeof (reiser4_large_times_stat) == 12);
-+}
-+
- /* helper function used while we are dumping/loading inode/plugin state
-     to/from the stat-data. */
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/acl.h      2005-03-27 21:24:00.629251424 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/acl.h  2005-03-27 21:24:02.749929032 -0800
-@@ -26,7 +26,7 @@
-       obj_key_id id;
-       /* file name. Null terminated string. */
-       d8 name[0];
--} directory_entry_format;
-+} PACKEDt(obj_key_id) directory_entry_format;
- void print_de(const char *prefix, coord_t * coord);
- int extract_key_de(const coord_t * coord, reiser4_key * key);
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/cde.h      2005-03-27 21:24:00.632250968 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/cde.h  2005-03-27 21:24:02.750928880 -0800
-@@ -15,12 +15,12 @@
- typedef struct cde_unit_header {
-       de_id hash;
-       d16 offset;
--} cde_unit_header;
-+} PACKEDt2(de_id,d16) cde_unit_header;
- typedef struct cde_item_format {
-       d16 num_of_entries;
-       cde_unit_header entry[0];
--} cde_item_format;
-+} PACKEDt2(d16,cde_unit_header) cde_item_format;
- typedef struct cde_entry {
-       const struct inode *dir;
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/extent.h   2005-03-27 21:32:13.758284416 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/extent.h       2005-03-27 21:32:30.786695704 -0800
-@@ -7,7 +7,7 @@
- typedef struct {
-       reiser4_dblock_nr start;
-       reiser4_dblock_nr width;
--} reiser4_extent;
-+} PACKED64 reiser4_extent;
- typedef struct extent_stat {
-       int unallocated_units;
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/internal.h 2005-03-27 21:33:08.971890672 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/internal.h     2005-03-27 22:15:43.290575208 -0800
-@@ -13,7 +13,7 @@
- typedef struct internal_item_layout {
-       /*  0 */ reiser4_dblock_nr pointer;
-       /*  4 */
--} internal_item_layout;
-+} PACKED64 internal_item_layout;
- struct cut_list;
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/sde.h      2005-03-27 21:24:00.646248840 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/item/sde.h  2005-03-27 21:24:02.750928880 -0800
-@@ -26,7 +26,7 @@
-       obj_key_id id;
-       /* file name. Null terminated string. */
-       d8 name[0];
--} directory_entry_format;
-+} PACKEDt(obj_key_id) directory_entry_format;
- void print_de(const char *prefix, coord_t * coord);
- int extract_key_de(const coord_t * coord, reiser4_key * key);
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node40.c   2005-03-27 21:24:00.654247624 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/node/node40.c       2005-03-27 21:35:08.677692624 -0800
-@@ -32,6 +32,22 @@
-    magic (32)
-    flush_time (32)
- */
-+/* compile time verify of the data structure sizes and alignments */
-+static inline void
-+r4node40_stat_verify(void)
-+{
-+      /* The alignment of these structures is intended to be '1', but
-+       * it doesn't matter so long as the size is right.
-+       */
-+      cassert(sizeof (common_node_header) == 2);
-+      cassert(sizeof (node40_header) ==  28);
-+#if REISER4_LARGE_KEY
-+      cassert(sizeof (item_header40) == 38);
-+#else
-+      cassert(sizeof (item_header40) == 30);
-+#endif
-+}
-+
- /* NIKITA-FIXME-HANS: I told you guys not less than 10 times to not call it r4fs.  Change to "ReIs". */
- /* magic number that is stored in ->magic field of node header */
- static const __u32 REISER4_NODE_MAGIC = 0x52344653;   /* (*(__u32 *)"R4FS"); */
---- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node.h     2005-03-27 21:24:00.656247320 -0800
-+++ linux-2.6.11/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:02.753928424 -0800
-@@ -250,7 +250,7 @@
-       /* identifier of node plugin. Must be located at the very beginning
-          of a node. */
-       d16 plugin_id;
--} common_node_header;
-+} PACKED16 common_node_header;
- /* __REISER4_NODE_H__ */
- #endif
---- linux-2.6.11/.pc/reiser4/fs/reiser4/debug.c        2005-03-27 21:24:00.563261456 -0800
-+++ linux-2.6.11/fs/reiser4/debug.c    2005-03-27 23:27:58.569512632 -0800
-@@ -75,6 +75,72 @@
-       va_list args;
-       /*
-+       * this is here to make sure that we don't compile code which we
-+       * know a-priori will panic, or fail without panicing, since this
-+       * compiles first if you find a duplicate case label error then
-+       * you need to rewrite this code to match your compiler.
-+       */
-+      cassert(sizeof (d8) == 1);
-+      cassert(__alignof__ (d8) == 1);
-+      {
-+              struct {
-+                      __u8 pad;
-+                      d8 data;
-+              } PACKED8 test;
-+              cassert(sizeof test == 2);
-+              cassert(sizeof test.data == 1);
-+              cassert(__alignof__ test.data == 1);
-+              cassert(__alignof__ test == 1);
-+      }
-+      cassert(sizeof (d16) == 2);
-+      cassert(__alignof__ (d16) == 2);
-+      {
-+              struct {
-+                      __u8 pad;
-+                      d16 data;
-+              } PACKED16 test;
-+              cassert(sizeof test == 4);
-+              cassert(sizeof test.data == 2);
-+#if !__arm__
-+              cassert(__alignof__ test.data == 2);
-+#endif
-+              cassert(__alignof__ test == 2);
-+#if !__arm__
-+              cassert(test.data.datum - &test.pad == 2);
-+#endif
-+      }
-+      cassert(sizeof (d32) == 4);
-+      cassert(__alignof__ (d32) == 4);
-+      {
-+              struct {
-+                      __u8 pad;
-+                      d32 data;
-+              } PACKED32 test;
-+              cassert(sizeof test == 8);
-+              cassert(sizeof test.data == 4);
-+              cassert(__alignof__ test.data == 4);
-+              cassert(__alignof__ test == 4);
-+              cassert(test.data.datum - &test.pad == 4);
-+      }
-+      cassert(sizeof (d64) == 8);
-+      cassert(__alignof__ (d64) == 8);
-+      {
-+              struct {
-+                      __u8 pad;
-+                      d64 data;
-+              } PACKED64 test;
-+              cassert(sizeof test == 16);
-+              cassert(sizeof test.data == 8);
-+              cassert(__alignof__ test.data == 8);
-+              cassert(__alignof__ test == 8);
-+              cassert(test.data.datum - &test.pad == 8);
-+      }
-+
-+      /* This is just a test of a struct with a single d64 element. */
-+      cassert(sizeof (reiser4_dblock_nr) == 8);
-+      cassert(__alignof__(reiser4_dblock_nr) == 8);
-+
-+      /*
-        * check for recursive panic.
-        */
-       if (in_panic == 0) {
---- linux-2.6.11/.pc/reiser4/fs/reiser4/flush_queue.c  2005-03-27 21:24:00.577259328 -0800
-+++ linux-2.6.11/fs/reiser4/flush_queue.c      2005-03-27 21:24:02.755928120 -0800
-@@ -447,7 +447,7 @@
-               /* If all write requests registered in this "fq" are done we up
-                * the semaphore. */
--              if (atomic_sub_and_test(bio->bi_vcnt, &fq->nr_submitted))
-+              if (atomic_sub_return(bio->bi_vcnt, &fq->nr_submitted) == 0)
-                       up(&fq->io_sem);
-       }
---- linux-2.6.11/.pc/reiser4/fs/reiser4/key.c  2005-03-27 22:42:43.481268784 -0800
-+++ linux-2.6.11/fs/reiser4/key.c      2005-03-27 23:42:53.958392832 -0800
-@@ -13,10 +13,10 @@
-    independent of key scheme. */
- static const reiser4_key MINIMAL_KEY = {
-       .el = {
--              {0ull},
--              ON_LARGE_KEY({0ull},)
--              {0ull},
--              {0ull}
-+              {{0,0,0,0,0,0,0,0}},
-+              ON_LARGE_KEY({{0,0,0,0,0,0,0,0}},)
-+              {{0,0,0,0,0,0,0,0}},
-+              {{0,0,0,0,0,0,0,0}}
-       }
- };
-@@ -24,10 +24,10 @@
-    independent of key scheme. */
- static const reiser4_key MAXIMAL_KEY = {
-       .el = {
--              {~0ull},
--              ON_LARGE_KEY({~0ull},)
--              {~0ull},
--              {~0ull}
-+              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
-+              ON_LARGE_KEY({{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},)
-+              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
-+              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}
-       }
- };
---- linux-2.6.11/.pc/reiser4/fs/reiser4/safe_link.c    2005-03-27 21:24:00.677244128 -0800
-+++ linux-2.6.11/fs/reiser4/safe_link.c        2005-03-27 21:24:02.756927968 -0800
-@@ -61,7 +61,7 @@
-       reiser4_key sdkey; /* key of stat-data for the file safe-link is
-                           * for */
-       d64 size;          /* size to which file should be truncated */
--} safelink_t;
-+} PACKEDt2(reiser4_key, d64) safelink_t;
- /*
-  * locality where safe-link items are stored. Next to the objectid of root
---- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.c 2005-03-27 21:24:00.682243368 -0800
-+++ linux-2.6.11/fs/reiser4/status_flags.c     2005-03-27 21:24:02.756927968 -0800
-@@ -153,6 +153,7 @@
-                &statuspage->stacktrace[no])
-       GETFRAME(0);
-+#ifndef __arm__
-       GETFRAME(1);
-       GETFRAME(2);
-       GETFRAME(3);
-@@ -162,6 +163,7 @@
-       GETFRAME(7);
-       GETFRAME(8);
-       GETFRAME(9);
-+#endif
- #undef GETFRAME
- #endif
---- linux-2.6.11/.pc/reiser4/fs/reiser4/dformat.h      2005-03-27 21:24:00.564261304 -0800
-+++ linux-2.6.11/fs/reiser4/dformat.h  2005-03-27 23:29:03.223683704 -0800
-@@ -28,43 +28,84 @@
- /* code on-disk data-types as structs with a single field
-    to rely on compiler type-checking. Like include/asm-i386/page.h */
-+/* This code did not work on the arm with gcc 3.4.3 because the
-+ * arm has a minimum structure size of 4 - packed is necessary to
-+ * allow these types to be smaller than 4 - and because this version
-+ * of gcc 'loses' the alignment if the structure contains just one
-+ * element of alignment 8 (or probably any value greater than 4).
-+ * To fix this and to make the code much more portable all the basic
-+ * types are now just done as arrays of bytes - __u8.
-+ *
-+ * This is highly tricky, however the check code in debug.c should
-+ * fire a compile time assert if it goes wrong.
-+ */
-+#if __arm__
-+#define PACKED8  __attribute__ ((packed,aligned(1)))
-+/* Warning: the presence of the packed attribute here means that any
-+ * d16 in a structure so marked will lose its alignment.  That doesn't
-+ * seem to matter because there don't seem to be any d16's with odd
-+ * structure offsets, but it might.
-+ */
-+#define PACKED16 __attribute__ ((packed,aligned(2)))
-+#define PACKED32 __attribute__ ((aligned(4)))
-+#define PACKED64 __attribute__ ((aligned(8)))
-+#else
-+#define PACKED8  __attribute__ ((aligned(1)))
-+#define PACKED16 __attribute__ ((aligned(2)))
-+#define PACKED32 __attribute__ ((aligned(4)))
-+#define PACKED64 __attribute__ ((aligned(8)))
-+#endif
- typedef struct d8 {
--      __u8 datum;
--} d8 __attribute__ ((aligned(1)));
-+      __u8 datum[1];
-+} PACKED8 d8;
- typedef struct d16 {
--      __u16 datum;
--} d16 __attribute__ ((aligned(2)));
-+      __u8 datum[2];
-+} PACKED16 d16;
- typedef struct d32 {
--      __u32 datum;
--} d32 __attribute__ ((aligned(4)));
-+      __u8 datum[4];
-+} PACKED32 d32;
- typedef struct d64 {
--      __u64 datum;
--} d64 __attribute__ ((aligned(8)));
-+      __u8 datum[8];
-+} PACKED64 d64;
-+#define PACKEDt(t) __attribute__ ((packed,aligned(__alignof__ (t)) ))
-+#define PACKEDt2(t1,t2) __attribute__ ((packed,aligned(\
-+              __alignof__ (t1) < __alignof__ (t2) ? __alignof__ (t2) : __alignof__ (t1) )))
- #define PACKED __attribute__((packed))
- static inline __u8
- d8tocpu(const d8 * ondisk /* on-disk value to convert */ )
- {
--      return ondisk->datum;
-+      return ondisk->datum[0];
- }
- static inline __u16
- d16tocpu(const d16 * ondisk /* on-disk value to convert */ )
- {
--      return __le16_to_cpu(get_unaligned(&ondisk->datum));
-+      return ondisk->datum[0] + (ondisk->datum[1] << 8);
- }
- static inline __u32
- d32tocpu(const d32 * ondisk /* on-disk value to convert */ )
- {
--      return __le32_to_cpu(get_unaligned(&ondisk->datum));
-+      return ondisk->datum[0] +
-+              (ondisk->datum[1] << 8) +
-+              (ondisk->datum[2] << 16) +
-+              (ondisk->datum[3] << 24);
- }
- static inline __u64
- d64tocpu(const d64 * ondisk /* on-disk value to convert */ )
- {
--      return __le64_to_cpu(get_unaligned(&ondisk->datum));
-+      __u32 low = ondisk->datum[0] +
-+              (ondisk->datum[1] << 8) +
-+              (ondisk->datum[2] << 16) +
-+              (ondisk->datum[3] << 24);
-+      __u64 high = ondisk->datum[4] +
-+              (ondisk->datum[5] << 8) +
-+              (ondisk->datum[6] << 16) +
-+              (ondisk->datum[7] << 24);
-+      return low + (high << 32);
- }
- static inline d8 *
-@@ -72,7 +113,7 @@
-       d8 * ondisk /* result */ )
- {
-       assert("nikita-1264", oncpu < 0x100);
--      put_unaligned(oncpu, &ondisk->datum);
-+      ondisk->datum[0] = oncpu;
-       return ondisk;
- }
-@@ -81,7 +122,8 @@
-        d16 * ondisk /* result */ )
- {
-       assert("nikita-1265", oncpu < 0x10000);
--      put_unaligned(__cpu_to_le16(oncpu), &ondisk->datum);
-+      ondisk->datum[0] = oncpu;
-+      ondisk->datum[1] = oncpu >> 8;
-       return ondisk;
- }
-@@ -89,15 +131,27 @@
- cputod32(__u32 oncpu /* CPU value to convert */ ,
-        d32 * ondisk /* result */ )
- {
--      put_unaligned(__cpu_to_le32(oncpu), &ondisk->datum);
-+      ondisk->datum[0] = oncpu; oncpu >>= 8;
-+      ondisk->datum[1] = oncpu; oncpu >>= 8;
-+      ondisk->datum[2] = oncpu; oncpu >>= 8;
-+      ondisk->datum[3] = oncpu;
-       return ondisk;
- }
- static inline d64 *
--cputod64(__u64 oncpu /* CPU value to convert */ ,
-+cputod64(__u64 oncpuIn /* CPU value to convert */ ,
-        d64 * ondisk /* result */ )
- {
--      put_unaligned(__cpu_to_le64(oncpu), &ondisk->datum);
-+      __u32 oncpu = oncpuIn;
-+      ondisk->datum[0] = oncpu; oncpu >>= 8;
-+      ondisk->datum[1] = oncpu; oncpu >>= 8;
-+      ondisk->datum[2] = oncpu; oncpu >>= 8;
-+      ondisk->datum[3] = oncpu;
-+      oncpu = oncpuIn >> 32;
-+      ondisk->datum[4] = oncpu; oncpu >>= 8;
-+      ondisk->datum[5] = oncpu; oncpu >>= 8;
-+      ondisk->datum[6] = oncpu; oncpu >>= 8;
-+      ondisk->datum[7] = oncpu;
-       return ondisk;
- }
-@@ -111,7 +165,7 @@
- /* data-type for block number on disk, disk format */
- union reiser4_dblock_nr {
-       d64 blk;
--};
-+} PACKED64;
- static inline reiser4_block_nr
- dblock_to_cpu(const reiser4_dblock_nr * dblock)
-@@ -148,7 +202,7 @@
-       char uuid[16];          /* unique id */
-       char label[16];         /* filesystem label */
-       d64 diskmap;            /* location of the diskmap. 0 if not present */
--} reiser4_master_sb;
-+} PACKED64 reiser4_master_sb;
- /* __FS_REISER4_DFORMAT_H__ */
- #endif
---- linux-2.6.11/.pc/reiser4/fs/reiser4/kassign.h      2005-03-27 21:24:00.588257656 -0800
-+++ linux-2.6.11/fs/reiser4/kassign.h  2005-03-27 21:24:02.757927816 -0800
-@@ -46,7 +46,7 @@
-       d8 locality[sizeof (__u64)];
-       ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
-       d8 objectid[sizeof (__u64)];
--} obj_key_id;
-+} PACKED8 obj_key_id;
- /* Information sufficient to uniquely identify directory entry within
-    compressed directory item.
-@@ -57,7 +57,7 @@
-       ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
-       d8 objectid[sizeof (__u64)];
-       d8 offset[sizeof (__u64)];
--} de_id;
-+} PACKED8 de_id;
- extern int inode_onwire_size(const struct inode *obj);
- extern char *build_inode_onwire(const struct inode *obj, char *area);
---- linux-2.6.11/.pc/reiser4/fs/reiser4/key.h  2005-03-27 21:24:00.591257200 -0800
-+++ linux-2.6.11/fs/reiser4/key.h      2005-03-27 23:41:07.744539792 -0800
-@@ -106,7 +106,7 @@
- union reiser4_key {
-       d64 el[KEY_LAST_INDEX];
-       int pad;
--};
-+} PACKED64;
- /* bitmasks showing where within reiser4_key particular key is
-     stored. */
-@@ -138,6 +138,20 @@
-       KEY_ORDERING_SHIFT = 0,
- } reiser4_key_field_shift;
-+/* initialise a key, this is a compile time constant initialiser expressed as
-+ * three or four (as appropriate) 8 byte initialisers, there are braces around
-+ * each 8 byte quantity but not around the whole initializer.
-+ */
-+#define KEY_INIT(type,loc,order,band,oid,off)\
-+{{ (0xf&(type))+(0xf0&((loc) << 4)), 0xff&((loc) >> 4), 0xff&((loc) >> 12), 0xff&((loc) >> 20),\
-+      0xff&((loc) >> 28), 0xff&((loc) >> 36), 0xff&((loc) >> 44), 0xff&((loc) >> 52) }},\
-+ON_LARGE_KEY({{ 0xff&(order), 0xff&((order)>>8), 0xff&((order)>>16), 0xff&((order)>>24),\
-+      0xff&((order)>>32), 0xff&((order)>>40), 0xff&((order)>>48), 0xff&((order)>>56) }},)\
-+{{ 0xff&(oid), 0xff&((oid)>>8), 0xff&((oid)>>16), 0xff&((oid)>>24),\
-+      0xff&((oid)>>32), 0xff&((oid)>>40), 0xff&((oid)>>48), (0xf&((oid)>>56))+(0xf0&((band)<<4))}},\
-+{{ 0xff&(off), 0xff&((off)>>8), 0xff&((off)>>16), 0xff&((off)>>24),\
-+      0xff&((off)>>32), 0xff&((off)>>40), 0xff&((off)>>48), 0xff&((off)>>56) }}
-+
- static inline __u64
- get_key_el(const reiser4_key * key, reiser4_key_field_index off)
- {
---- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.h 2005-03-27 21:24:00.682243368 -0800
-+++ linux-2.6.11/fs/reiser4/status_flags.h     2005-03-27 21:24:02.758927664 -0800
-@@ -33,7 +33,7 @@
-                               last sector where io error happened if status is "io error encountered" */
-       d64 stacktrace[10];  /* Last ten functional calls made (addresses)*/
-       char texterror[REISER4_TEXTERROR_LEN]; /* Any error message if appropriate, otherwise filled with zeroes */
--};
-+} PACKED64;
- int reiser4_status_init(reiser4_block_nr block);
- int reiser4_status_query(u64 *status, u64 *extended);
---- linux-2.6.11/.pc/reiser4/fs/reiser4/wander.h       2005-03-27 21:24:00.709239264 -0800
-+++ linux-2.6.11/fs/reiser4/wander.h   2005-03-27 22:14:59.663207576 -0800
-@@ -19,7 +19,7 @@
- struct journal_header {
-       /* last written transaction head location */
-       d64 last_committed_tx;
--};
-+} PACKED64;
- typedef struct journal_location {
-       reiser4_block_nr footer;
-@@ -46,7 +46,7 @@
-          super block */
-       d64 nr_files;
-       d64 next_oid;
--};
-+} PACKED64;
- /* Each wander record (except the first one) has unified format with wander
-    record header followed by an array of log entries */
-@@ -66,7 +66,7 @@
-       /* number of previous block in commit */
-       d64 next_block;
--};
-+} PACKED64;
- /* The first wander record (transaction head) of written transaction has the
-    special format */
-@@ -98,7 +98,7 @@
-          separately from super block */
-       d64 nr_files;
-       d64 next_oid;
--};
-+} PACKED64;
- /* A transaction gets written to disk as a set of wander records (each wander
-    record size is fs block) */
-@@ -108,7 +108,7 @@
- struct wander_entry {
-       d64 original;           /* block original location */
-       d64 wandered;           /* block wandered location */
--};
-+} PACKED64;
- /* REISER4 JOURNAL WRITER FUNCTIONS   */
diff --git a/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch b/packages/linux/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch
deleted file mode 100644 (file)
index 6ef6bef..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- original/drivers/i2c/chips/x1205-rtc.c     Sat Mar  5 23:41:12 2005
-+++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar  5 23:41:25 2005
-@@ -139,7 +139,6 @@
- };
- static struct i2c_client x1205_i2c_client = {
--      .id             =       I2C_DRIVERID_X1205,
-       .flags          =       0,
-       .addr           =       X1205_I2C_BUS_ADDR,     // chip address - NOTE: 7bit
-       .adapter        =       NULL,                   // the adapter we sit on assigned in attach
-@@ -301,7 +300,6 @@
-       int errno;
-               
-       x1205_i2c_client.adapter = adapter;
--      x1205_i2c_client.id++;
-       if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR)      //test for functional driver 
-               return -EIO;
diff --git a/packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.12/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.12/defconfig b/packages/linux/nslu2-kernel/2.6.12/defconfig
deleted file mode 100644 (file)
index 9397245..0000000
+++ /dev/null
@@ -1,1226 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.12
-# Sat Jun 18 17:17:09 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_GENERIC_IOMAP=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_EMBEDDED=y
-# CONFIG_KALLSYMS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=1
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-CONFIG_ARCH_IXP4XX=y
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-
-#
-# Intel IXP4xx Implementation Options
-#
-
-#
-# IXP4xx Platforms
-#
-# CONFIG_ARCH_AVILA is not set
-# CONFIG_ARCH_ADI_COYOTE is not set
-# CONFIG_ARCH_IXDP425 is not set
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
-CONFIG_ARCH_NSLU2=y
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_MACH_GTWX5715 is not set
-
-#
-# IXP4xx Options
-#
-CONFIG_IXP4XX_INDIRECT_PCI=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-# CONFIG_ARM_THUMB_INTERWORK is not set
-# CONFIG_ARCH_XSCALE is not set
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_XSCALE_PMU=y
-CONFIG_DMABOUNCE=y
-
-#
-# Bus support
-#
-CONFIG_ISA_DMA_API=y
-CONFIG_PCI=y
-# CONFIG_PCI_LEGACY_PROC is not set
-# CONFIG_PCI_NAMES is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_SMP is not set
-# CONFIG_PREEMPT is not set
-# CONFIG_DISCONTIGMEM is not set
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-# CONFIG_FW_LOADER is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-CONFIG_MTD_CMDLINE_PARTS=y
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_PCI is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_BLK_DEV_RAM_SIZE=10240
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-# CONFIG_SCSI_MULTI_LUN is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=y
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Networking support
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_TUNNEL=m
-CONFIG_IP_TCPDIAG=m
-# CONFIG_IP_TCPDIAG_IPV6 is not set
-# CONFIG_IPV6 is not set
-# CONFIG_NETFILTER is not set
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-# CONFIG_BRIDGE is not set
-CONFIG_VLAN_8021Q=m
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_NET_CLS_ROUTE is not set
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-CONFIG_NETCONSOLE=m
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-# CONFIG_INPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IXP4XX_WATCHDOG=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-CONFIG_RTC=m
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_I810 is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_IOP3XX is not set
-# CONFIG_I2C_ISA is not set
-CONFIG_I2C_IXP4XX=y
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PROSAVAGE is not set
-# CONFIG_I2C_SAVAGE4 is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_VOODOO3 is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Hardware Sensors Chip support
-#
-CONFIG_I2C_SENSOR=y
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-
-#
-# Other I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-CONFIG_SENSORS_X1205=y
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-
-#
-# Graphics support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-# CONFIG_USB_EHCI_SPLIT_ISO is not set
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-
-#
-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
-#
-# CONFIG_USB_ACM is not set
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-
-#
-# USB Input Devices
-#
-# CONFIG_USB_HID is not set
-
-#
-# USB HID Boot Protocol drivers
-#
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-
-#
-# Video4Linux support is needed for USB Multimedia device support
-#
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-
-#
-# USB Host-to-Host Cables
-#
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_GENESYS=y
-CONFIG_USB_NET1080=y
-CONFIG_USB_PL2301=y
-CONFIG_USB_KC2190=y
-
-#
-# Intelligent USB Devices/Gadgets
-#
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_ZAURUS=y
-CONFIG_USB_CDCETHER=y
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_AX8817X=y
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB ATM/DSL drivers
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-
-#
-# XFS support
-#
-# CONFIG_XFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVPTS_FS_XATTR is not set
-CONFIG_TMPFS=y
-# CONFIG_TMPFS_XATTR is not set
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-# CONFIG_JFFS2_FS_NAND is not set
-# CONFIG_JFFS2_FS_NOR_ECC is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=m
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6.12/disk_led_blinking.patch b/packages/linux/nslu2-kernel/2.6.12/disk_led_blinking.patch
deleted file mode 100644 (file)
index 7487cf3..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
---- linux-2.6.12.2/drivers/usb/core/hub.c.bak  2005-09-19 20:29:14.000000000 +0000
-+++ linux-2.6.12.2/drivers/usb/core/hub.c      2005-09-19 20:30:44.000000000 +0000
-@@ -1026,6 +1026,19 @@
-       dev_info (&udev->dev, "USB disconnect, address %d\n", udev->devnum);
-+      // --- Forward-Ported Linksys Disk 1 & Disk 2 LED Control (Port done 16.Sept.05 by Philipp Kirchhofer) ---
-+      // Copy & paste from nslu2-io.c
-+      #define DISK1_OFF       0x00000008      //0b0000 0000 0000 1000
-+      #define DISK2_OFF       0x00000004      //0b0000 0000 0000 0100
-+      // Copy & Paste end
-+
-+      if (*udev->devpath == 0x31) {
-+              *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;
-+      } else if (*udev->devpath == 0x32) {
-+              *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;
-+      }
-+      // --- End LED Control ---
-+
-       /* Free up all the children before we remove this device */
-       for (i = 0; i < USB_MAXCHILDREN; i++) {
-               if (udev->children[i])
-@@ -2175,6 +2188,19 @@
-                       udev->bus->controller->driver->name,
-                       udev->devnum);
-+      // --- Start LED Control ---
-+      // Copy & paste from nslu2-io.c
-+      #define DISK1_ON        0xfffffff7      //0b1111 1111 1111 0111
-+      #define DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
-+      // Copy & Paste end
-+
-+      if (*udev->devpath == 0x31) {
-+              *IXP4XX_GPIO_GPOUTR &= DISK1_ON;
-+      } else if (*udev->devpath == 0x32) {
-+              *IXP4XX_GPIO_GPOUTR &= DISK2_ON;
-+      }
-+      // --- End LED Control ---
-+
-       /* Set up TT records, if needed  */
-       if (hdev->tt) {
-               udev->tt = hdev->tt;
---- linux-2.6.12.2/drivers/usb/storage/transport.c.bak 2005-09-19 20:29:25.000000000 +0000
-+++ linux-2.6.12.2/drivers/usb/storage/transport.c     2005-09-19 20:29:55.000000000 +0000
-@@ -60,6 +60,60 @@
- #include "scsiglue.h"
- #include "debug.h"
-+// --- Forward-Ported Linksys Disk 1 & Disk 2 LED Activity Blinking Part 1 (Port done 16.Sept.05 by Philipp Kirchhofer) ---
-+// Copy & Paste from nslu2-io.c
-+#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
-+#define DISK2_ON      0xfffffffb      //0b1111 1111 1111 1011
-+
-+#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
-+#define DISK2_OFF     0x00000004      //0b0000 0000 0000 0100
-+// Copy & Paste End
-+
-+#define JIFFIES_BLINKING_TIME 6
-+#define ON_LED_INTERVAL 3
-+unsigned long turn_on_time;
-+
-+static struct timer_list usb1_led_timer;    /* ide led switch */
-+static struct timer_list usb2_led_timer;    /* ide led switch */
-+
-+// Turns on Disk 1 LED
-+static void turn_on_led_usb1(unsigned long ptr) {
-+      *IXP4XX_GPIO_GPOUTR &= DISK1_ON; // 0xfff7
-+      return;
-+}
-+
-+// Turns on Disk 2 LED
-+static void turn_on_led_usb2(unsigned long ptr) {
-+      *IXP4XX_GPIO_GPOUTR &= DISK2_ON; // 0xfffb
-+        return;
-+}
-+
-+// Turns on Disk 1 LED after ON_LED_INTERVAL jiffies
-+static void usb_1_led_timer(void) {
-+      usb1_led_timer.expires = jiffies + ON_LED_INTERVAL;
-+      add_timer(&usb1_led_timer);
-+      return;
-+}
-+
-+// Turns on Disk 2 LED after ON_LED_INTERVAL jiffies
-+static void usb_2_led_timer(void) {
-+        usb2_led_timer.expires = jiffies + ON_LED_INTERVAL;
-+        add_timer(&usb2_led_timer);
-+        return;
-+}
-+
-+// Initializes Timers
-+unsigned long initialized_timers = 0;
-+static void initializeTimers() {
-+      if (initialized_timers != 1) {
-+              init_timer(&usb1_led_timer);
-+              usb1_led_timer.function = turn_on_led_usb1;
-+              init_timer(&usb2_led_timer);
-+              usb2_led_timer.function = turn_on_led_usb2;
-+              initialized_timers = 1;
-+      }
-+}
-+// --- End Disk LED Activity Blinking Part 1 ---
- /***********************************************************************
-  * Data transfer routines
-@@ -499,6 +553,21 @@
-       /* are we scatter-gathering? */
-       if (use_sg) {
-+              // --- Disk LED Activity Blinking Part 2 ---
-+              initializeTimers();
-+              if ((jiffies - turn_on_time) >= JIFFIES_BLINKING_TIME) {
-+                      if (*us->pusb_dev->devpath == 0x31) {
-+                              del_timer_sync(&usb1_led_timer);
-+                              *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;
-+                              usb_1_led_timer();
-+                      } else if (*us->pusb_dev->devpath == 0x32) {
-+                              del_timer_sync(&usb2_led_timer);
-+                              *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;
-+                              usb_2_led_timer();
-+                      }
-+                      turn_on_time = jiffies;
-+              }
-+              // --- End Disk LED Activity Blinking Part 2 ---
-               /* use the usb core scatter-gather primitives */
-               result = usb_stor_bulk_transfer_sglist(us, pipe,
-                               (struct scatterlist *) buf, use_sg,
diff --git a/packages/linux/nslu2-kernel/2.6.12/missing-exports.patch b/packages/linux/nslu2-kernel/2.6.12/missing-exports.patch
deleted file mode 100644 (file)
index 935dd29..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
---- linux-2.6.12/drivers/char/random.c~        2005-05-14 16:42:24.000000000 -0400
-+++ linux-2.6.12/drivers/char/random.c 2005-05-14 16:42:46.000000000 -0400
-@@ -646,6 +646,7 @@ extern void add_input_randomness(unsigne
-       add_timer_randomness(&input_timer_state,
-                            (type << 4) ^ code ^ (code >> 4) ^ value);
- }
-+EXPORT_SYMBOL_GPL(add_input_randomness);
- void add_interrupt_randomness(int irq)
- {
---- linux-2.6.12/lib/kobject_uevent.c~ 2005-05-14 16:45:13.000000000 -0400
-+++ linux-2.6.12/lib/kobject_uevent.c  2005-05-14 16:45:27.000000000 -0400
-@@ -178,6 +178,7 @@ static inline int send_uevent(const char
- #ifdef CONFIG_HOTPLUG
- char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug";
-+EXPORT_SYMBOL_GPL(hotplug_path);
- u64 hotplug_seqnum;
- static DEFINE_SPINLOCK(sequence_lock);
diff --git a/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch b/packages/linux/nslu2-kernel/2.6.12/nslu2-arch.patch
deleted file mode 100644 (file)
index 6a41f02..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
---- linux-2.6.11/arch/arm/boot/compressed/head.S       2005-06-17 17:51:27.245788998 -0700
-+++ linux-2.6.11/arch/arm/boot/compressed/head.S       2005-06-17 17:54:45.041806429 -0700
-@@ -37,6 +37,7 @@
-     defined(CONFIG_ARCH_INTEGRATOR) || \
-     defined(CONFIG_ARCH_PXA) || \
-     defined(CONFIG_ARCH_IXP4XX) || \
-+    defined(CONFIG_ARCH_NSLU2) || \
-     defined(CONFIG_ARCH_IXP2000) || \
-     defined(CONFIG_ARCH_LH7A40X) || \
-     defined(CONFIG_ARCH_OMAP)
---- linux-2.6.11/.pc/2.6.patch/arch/arm/boot/compressed/head-xscale.S  2005-03-01 23:37:52.000000000 -0800
-+++ linux-2.6.11/arch/arm/boot/compressed/head-xscale.S        2005-06-17 17:51:32.546985425 -0700
-@@ -47,3 +47,8 @@
-                orr     r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00)
- #endif
-+#ifdef CONFIG_ARCH_NSLU2
-+               mov     r7, #(MACH_TYPE_NSLU2 & 0xff)
-+               orr     r7, r7, #(MACH_TYPE_NSLU2 & 0xff00)
-+#endif
-+
---- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Kconfig    2005-06-17 17:51:27.365770810 -0700
-+++ linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig  2005-06-17 17:51:32.560983303 -0700
-@@ -43,6 +43,12 @@
-         IXDP465 Development Platform (Also known as BMP).
-         For more information on this platform, see <file:Documentation/arm/IXP4xx>.
-+config ARCH_NSLU2
-+       bool "NSLU2"
-+       help
-+         Say 'Y' here if you want your kernel to support Linksys's 
-+         NSLU2 NAS device. For more information on this platform, 
-+         see http://www.nslu2-linux.org
- #
- # IXCDP1100 is the exact same HW as IXDP425, but with a different machine 
---- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Makefile   2005-06-17 17:51:27.365770810 -0700
-+++ linux-2.6.11/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:32.560983303 -0700
-@@ -8,4 +8,4 @@
- obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
- obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
--
-+obj-$(CONFIG_ARCH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-part.o nslu2-io.o
---- linux-2.6.11/.pc/2.6.patch/arch/arm/tools/mach-types       2005-06-17 17:51:27.423762020 -0700
-+++ linux-2.6.11/arch/arm/tools/mach-types     2005-06-17 17:51:32.564982697 -0700
-@@ -604,7 +604,7 @@
- roverp7                       MACH_ROVERP7            ROVERP7                 594
- pr818s                        MACH_PR818S             PR818S                  595
- trxpro                        MACH_TRXPRO             TRXPRO                  596
--nslu2                 MACH_NSLU2              NSLU2                   597
-+nslu2                 ARCH_NSLU2              NSLU2                   597
- e400                  MACH_E400               E400                    598
- trab                  MACH_TRAB               TRAB                    599
- cmc_pu2                       MACH_CMC_PU2            CMC_PU2                 600
---- linux-2.6.11/.pc/2.6.patch/drivers/mtd/maps/ixp4xx.c       2005-03-01 23:37:30.000000000 -0800
-+++ linux-2.6.11/drivers/mtd/maps/ixp4xx.c     2005-06-17 17:51:32.566982394 -0700
-@@ -94,7 +94,11 @@
-       struct resource *res;
- };
-+#ifdef CONFIG_ARCH_NSLU2
-+static const char *probes[] = { "cmdlinepart", "RedBoot", "NSLU2", NULL };
-+#else
- static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
-+#endif
- static int ixp4xx_flash_remove(struct device *_dev)
- {
---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/hardware.h  2005-03-01 23:37:51.000000000 -0800
-+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h        2005-06-17 17:51:32.567982242 -0700
-@@ -44,5 +44,6 @@
- #include "ixdp425.h"
- #include "coyote.h"
- #include "prpmc1100.h"
-+#include "nslu2.h"
- #endif  /* _ASM_ARCH_HARDWARE_H */
---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/irqs.h      2005-03-01 23:38:12.000000000 -0800
-+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h    2005-06-17 17:51:32.568982091 -0700
-@@ -93,4 +93,11 @@
- #define       IRQ_COYOTE_PCI_SLOT1    IRQ_IXP4XX_GPIO11
- #define       IRQ_COYOTE_IDE          IRQ_IXP4XX_GPIO5
-+/*
-+ * NSLU2 board IRQs
-+ */
-+#define        IRQ_NSLU2_PCI_INTA      IRQ_IXP4XX_GPIO11
-+#define        IRQ_NSLU2_PCI_INTB      IRQ_IXP4XX_GPIO10
-+#define        IRQ_NSLU2_PCI_INTC      IRQ_IXP4XX_GPIO9
-+
- #endif
diff --git a/packages/linux/nslu2-kernel/2.6.12/nslu2-setup.c b/packages/linux/nslu2-kernel/2.6.12/nslu2-setup.c
deleted file mode 100644 (file)
index fcb8566..0000000
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * arch/arm/mach-ixp4xx/nslu2-setup.c
- *
- * NSLU2 board-setup
- *
- * based ixdp425-setup.c:
- *      Copyright (C) 2003-2004 MontaVista Software, Inc.
- *
- * Author: Mark Rakes <mrakes at mac.com>
- * Maintainers: http://www.nslu2-linux.org/
- *
- * Fixed missing init_time in MACHINE_START kas11 10/22/04
- * Changed to conform to new style __init ixdp425 kas11 10/22/04 
- */
-
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/device.h>
-#include <linux/serial.h>
-#include <linux/tty.h>
-#include <linux/serial_8250.h>
-
-#include <asm/types.h>
-#include <asm/setup.h>
-#include <asm/memory.h>
-#include <asm/hardware.h>
-#include <asm/mach-types.h>
-#include <asm/irq.h>
-#include <asm/mach/arch.h>
-#include <asm/mach/flash.h>
-
-void __init nslu2_map_io(void) 
-{
-       ixp4xx_map_io();
-}
-
-static struct flash_platform_data nslu2_flash_data = {
-       .map_name       = "cfi_probe",
-       .width          = 2,
-};
-
-static struct resource nslu2_flash_resource = {
-       .start          = NSLU2_FLASH_BASE,
-       .end            = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE,
-       .flags          = IORESOURCE_MEM,
-};
-
-static struct platform_device nslu2_flash = {
-       .name           = "IXP4XX-Flash",
-       .id             = 0,
-       .dev            = {
-               .platform_data = &nslu2_flash_data,
-       },
-       .num_resources  = 1,
-       .resource       = &nslu2_flash_resource,
-};
-
-static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = {
-       .sda_pin        = NSLU2_SDA_PIN,
-       .scl_pin        = NSLU2_SCL_PIN,
-};
-
-static struct platform_device nslu2_i2c_controller = {
-       .name           = "IXP4XX-I2C",
-       .id             = 0,
-       .dev            = {
-               .platform_data = &nslu2_i2c_gpio_pins,
-       },
-       .num_resources  = 0
-};
-
-static struct resource nslu2_uart_resources[] = {
-       {
-               .start          = IXP4XX_UART1_BASE_PHYS,
-               .end            = IXP4XX_UART1_BASE_PHYS + 0x0fff,
-               .flags          = IORESOURCE_MEM
-       },
-       {
-               .start          = IXP4XX_UART2_BASE_PHYS,
-               .end            = IXP4XX_UART2_BASE_PHYS + 0x0fff,
-               .flags          = IORESOURCE_MEM
-       }
-};
-
-static struct plat_serial8250_port nslu2_uart_data[] = {
-       {
-               .mapbase        = IXP4XX_UART1_BASE_PHYS,
-               .membase        = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
-               .irq            = IRQ_IXP4XX_UART1,
-               .flags          = UPF_BOOT_AUTOCONF,
-               .iotype         = UPIO_MEM,
-               .regshift       = 2,
-               .uartclk        = IXP4XX_UART_XTAL,
-       },
-       {
-               .mapbase        = IXP4XX_UART2_BASE_PHYS,
-               .membase        = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
-               .irq            = IRQ_IXP4XX_UART2,
-               .flags          = UPF_BOOT_AUTOCONF,
-               .iotype         = UPIO_MEM,
-               .regshift       = 2,
-               .uartclk        = IXP4XX_UART_XTAL,
-       }
-};
-
-static struct platform_device nslu2_uart = {
-       .name                   = "serial8250",
-       .id                     = 0,
-       .dev.platform_data      = nslu2_uart_data,
-       .num_resources          = 2,
-       .resource               = nslu2_uart_resources
-};
-
-static struct platform_device *nslu2_devices[] __initdata = {
-       &nslu2_i2c_controller,
-       &nslu2_flash,
-       &nslu2_uart
-};
-
-static void n2_power_off(void)
-{
-        /* This causes the box to drop the power and go dead. */
-#define GPIO_PO_BM              0x0100  //b0000 0001 0000 0000
-        *IXP4XX_GPIO_GPOER &= ~GPIO_PO_BM;      // enable the pwr cntl gpio
-        *IXP4XX_GPIO_GPOUTR |= GPIO_PO_BM;      // do the deed
-}
-
-static void __init nslu2_init(void)
-{
-       ixp4xx_sys_init();
-
-       pm_power_off = n2_power_off;
-       platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices));
-}
-
-MACHINE_START(NSLU2, "Linksys NSLU2")
-               BOOT_MEM(PHYS_OFFSET, IXP4XX_PERIPHERAL_BASE_PHYS, 
-                       IXP4XX_PERIPHERAL_BASE_VIRT)
-               MAPIO(nslu2_map_io)
-               INITIRQ(ixp4xx_init_irq)        //FIXME: all irq are off here
-               .timer          = &ixp4xx_timer,
-               // INITTIME(ixp4xx_init_time)   //this was missing in 2.6.7 code ...soft reboot needed?
-               BOOT_PARAMS(0x0100)
-               INIT_MACHINE(nslu2_init)
-MACHINE_END
-
diff --git a/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch b/packages/linux/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch
deleted file mode 100644 (file)
index 6ef6bef..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- original/drivers/i2c/chips/x1205-rtc.c     Sat Mar  5 23:41:12 2005
-+++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar  5 23:41:25 2005
-@@ -139,7 +139,6 @@
- };
- static struct i2c_client x1205_i2c_client = {
--      .id             =       I2C_DRIVERID_X1205,
-       .flags          =       0,
-       .addr           =       X1205_I2C_BUS_ADDR,     // chip address - NOTE: 7bit
-       .adapter        =       NULL,                   // the adapter we sit on assigned in attach
-@@ -301,7 +300,6 @@
-       int errno;
-               
-       x1205_i2c_client.adapter = adapter;
--      x1205_i2c_client.id++;
-       if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR)      //test for functional driver 
-               return -EIO;
diff --git a/packages/linux/nslu2-kernel/2.6.14-mm/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.14-mm/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch b/packages/linux/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch
deleted file mode 100644 (file)
index 999b69e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h.orig     2005-11-07 23:16:48.456117450 -0800
-+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h  2005-11-07 23:16:58.160728123 -0800
-@@ -8,6 +8,7 @@
- #define __ASM_ARCH_MEMORY_H
- #include <asm/sizes.h>
-+#include <asm/page.h>
- /*
-  * Physical DRAM offset.
diff --git a/packages/linux/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch b/packages/linux/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch
deleted file mode 100644 (file)
index 67cbd4c..0000000
+++ /dev/null
@@ -1,1036 +0,0 @@
---- linux-2.6.14/drivers/i2c/chips/Kconfig.orig        2005-11-07 22:30:30.413306237 -0800
-+++ linux-2.6.14/drivers/i2c/chips/Kconfig     2005-11-07 22:41:15.785916976 -0800
-@@ -126,13 +126,13 @@ config SENSORS_MAX6875
-         This driver can also be built as a module.  If so, the module
-         will be called max6875.
--config RTC_X1205_I2C
--      tristate "Xicor X1205 RTC chip"
--      depends on I2C && EXPERIMENTAL
--      help
--        If you say yes here you get support for the Xicor X1205 RTC chip.
-+config SENSORS_X1205
-+       tristate "Xicor X1205 RTC chip"
-+       depends on I2C
-+       help
-+         If you say yes here you get support for the Xicor X1205 RTC chip.
--        This driver can also be built as a module. If so, the module
--        will be called x1205.
-+         This driver can also be built as a module.  If so, the module
-+         will be called x1205
- endmenu
---- linux-2.6.14/drivers/i2c/chips/Makefile.orig       2005-11-07 22:30:30.417306489 -0800
-+++ linux-2.6.14/drivers/i2c/chips/Makefile    2005-11-07 22:41:59.616675071 -0800
-@@ -13,7 +13,7 @@ obj-$(CONFIG_SENSORS_PCF8591)        += pcf8591
- obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o
- obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
- obj-$(CONFIG_TPS65010)                += tps65010.o
--obj-$(CONFIG_RTC_X1205_I2C)   += x1205.o
-+obj-$(CONFIG_SENSORS_X1205)     += x1205.o
- ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
- EXTRA_CFLAGS += -DDEBUG
---- linux-2.6.14/drivers/i2c/chips/x1205.c.orig        2005-11-07 22:30:30.421306741 -0800
-+++ linux-2.6.14/drivers/i2c/chips/x1205.c     2005-11-07 22:42:54.960157617 -0800
-@@ -1,14 +1,16 @@
- /*
-- *  x1205.c - An i2c driver for the Xicor X1205 RTC
-+ *  linux/drivers/i2c/chips/x1205.c
-+ *
-+ *  x1205.c - An 12c driver for the Xicor X1205 RTC
-  *  Copyright 2004 Karen Spearel
-  *  Copyright 2005 Alessandro Zummo
-  *
-  *  please send all reports to:
-  *    kas11 at tampabay dot rr dot com
-  *      a dot zummo at towertech dot it
-- *
-+ *     
-  *  based on the other drivers in this same directory.
-- *
-+ *   
-  *  This program is free software; you can redistribute it and/or modify
-  *  it under the terms of the GNU General Public License as published by
-  *  the Free Software Foundation; either version 2 of the License, or
-@@ -26,83 +28,36 @@
- #include <linux/x1205.h>
--#define DRV_VERSION "0.9.9"
-+#define       EPOCH_1900      1900
-+#define       EPOCH_1970      1970
-+
-+#define DRIVER_VERSION        "0.9.6"
-+#define DRIVER_NAME   (x1205_driver.name)
--/* Addresses to scan: none. This chip is located at
-- * 0x6f and uses a two bytes register addressing.
-- * Two bytes need to be written to read a single register,
-- * while most other chips just require one and take the second
-- * one as the data to be written. To prevent corrupting
-- * unknown chips, the user must explicitely set the probe parameter.
-- */
--static unsigned short normal_i2c[] = { I2C_CLIENT_END };
-+/* Addresses to scan */
-+static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END };
- /* Insmod parameters */
- I2C_CLIENT_INSMOD;
- I2C_CLIENT_MODULE_PARM(hctosys,
-       "Set the system time from the hardware clock upon initialization");
--/* offsets into CCR area */
--
--#define CCR_SEC                       0
--#define CCR_MIN                       1
--#define CCR_HOUR              2
--#define CCR_MDAY              3
--#define CCR_MONTH             4
--#define CCR_YEAR              5
--#define CCR_WDAY              6
--#define CCR_Y2K                       7
--
--#define X1205_REG_SR          0x3F    /* status register */
--#define X1205_REG_Y2K         0x37
--#define X1205_REG_DW          0x36
--#define X1205_REG_YR          0x35
--#define X1205_REG_MO          0x34
--#define X1205_REG_DT          0x33
--#define X1205_REG_HR          0x32
--#define X1205_REG_MN          0x31
--#define X1205_REG_SC          0x30
--#define X1205_REG_DTR         0x13
--#define X1205_REG_ATR         0x12
--#define X1205_REG_INT         0x11
--#define X1205_REG_0           0x10
--#define X1205_REG_Y2K1                0x0F
--#define X1205_REG_DWA1                0x0E
--#define X1205_REG_YRA1                0x0D
--#define X1205_REG_MOA1                0x0C
--#define X1205_REG_DTA1                0x0B
--#define X1205_REG_HRA1                0x0A
--#define X1205_REG_MNA1                0x09
--#define X1205_REG_SCA1                0x08
--#define X1205_REG_Y2K0                0x07
--#define X1205_REG_DWA0                0x06
--#define X1205_REG_YRA0                0x05
--#define X1205_REG_MOA0                0x04
--#define X1205_REG_DTA0                0x03
--#define X1205_REG_HRA0                0x02
--#define X1205_REG_MNA0                0x01
--#define X1205_REG_SCA0                0x00
--
--#define X1205_CCR_BASE                0x30    /* Base address of CCR */
--#define X1205_ALM0_BASE               0x00    /* Base address of ALARM0 */
--
--#define X1205_SR_RTCF         0x01    /* Clock failure */
--#define X1205_SR_WEL          0x02    /* Write Enable Latch */
--#define X1205_SR_RWEL         0x04    /* Register Write Enable */
--
--#define X1205_DTR_DTR0                0x01
--#define X1205_DTR_DTR1                0x02
--#define X1205_DTR_DTR2                0x04
--
--#define X1205_HR_MIL          0x80    /* Set in ccr.hour for 24 hr mode */
--
- /* Prototypes */
-+
- static int x1205_attach(struct i2c_adapter *adapter);
- static int x1205_detach(struct i2c_client *client);
- static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
--static int x1205_command(struct i2c_client *client, unsigned int cmd,
--      void *arg);
-+static int x1205_validate_client(struct i2c_client *client);
-+
-+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              u8 reg_base);
-+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              int datetoo, u8 reg_base);
-+static int x1205_validate_tm(struct rtc_time *tm);
-+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg);
-+static int x1205_hctosys(struct i2c_client *client);
-+
- static struct i2c_driver x1205_driver = {
-       .owner          = THIS_MODULE,
-@@ -110,6 +65,7 @@ static struct i2c_driver x1205_driver = 
-       .flags          = I2C_DF_NOTIFY,
-       .attach_adapter = &x1205_attach,
-       .detach_client  = &x1205_detach,
-+/*    .command        = &x1205_command,*/
- };
- struct x1205_data {
-@@ -118,8 +74,9 @@ struct x1205_data {
-       unsigned int epoch;
- };
--static const unsigned char days_in_mo[] =
--      { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
-+
-+static const unsigned char days_in_mo[] = 
-+{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- static LIST_HEAD(x1205_clients);
-@@ -127,6 +84,7 @@ static LIST_HEAD(x1205_clients);
-  * commands to a specific client. This function will send the command
-  * to the first client.
-  */
-+
- int x1205_do_command(unsigned int cmd, void *arg)
- {
-       struct list_head *walk;
-@@ -141,114 +99,98 @@ int x1205_do_command(unsigned int cmd, v
-       return -ENODEV;
- }
--#define is_leap(year) \
--      ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
--
--/* make sure the rtc_time values are in bounds */
--static int x1205_validate_tm(struct rtc_time *tm)
--{
--      int year = tm->tm_year + 1900;
--
--      if ((tm->tm_year < 70) || (tm->tm_year > 255))
--              return -EINVAL;
--
--      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
--              return -EINVAL;
--
--      if (tm->tm_mday > days_in_mo[tm->tm_mon]
--              + ((tm->tm_mon == 1) && is_leap(year)))
--              return -EINVAL;
--
--      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
--              return -EINVAL;
--
--      return 0;
--}
- /*
-- * In the routines that deal directly with the x1205 hardware, we use
-+ * in the routines that deal directly with the x1205 hardware, we use
-  * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
-- * Epoch is initialized as 2000. Time is set to UTC.
-+ * Epoch is inited as 2000. Time is set to UT
-  */
-+
- static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
-                               u8 reg_base)
- {
--      unsigned char dt_addr[2] = { 0, reg_base };
--      static unsigned char sr_addr[2] = { 0, X1205_REG_SR };
-+      static unsigned char dt_addr[] = { 0, };
-+      static unsigned char sr_addr[] = { 0, };
--      unsigned char buf[8], sr;
-+      unsigned char buf[8], sr;       
-       struct i2c_msg msgs[] = {
--              { client->addr, 0, 2, sr_addr },        /* setup read ptr */
--              { client->addr, I2C_M_RD, 1, &sr },     /* read status */
--              { client->addr, 0, 2, dt_addr },        /* setup read ptr */
--              { client->addr, I2C_M_RD, 8, buf },     /* read date */
-+              { client->addr, 0, 2, sr_addr },        /* random read */
-+              { client->addr, I2C_M_RD, 1, &sr }, 
-+              { client->addr, 0, 2, dt_addr },        /* random read */
-+              { client->addr, I2C_M_RD, 8, buf },
-       };
--      struct x1205_data *data = i2c_get_clientdata(client);
-+      struct x1205_data *xdata = i2c_get_clientdata(client);
--      /* read status register */
--      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
--              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
--              return -EIO;
--      }
-+      dt_addr[1] = reg_base;
-+      sr_addr[1] = X1205_REG_SR;
--      /* check for battery failure */
--      if (sr & X1205_SR_RTCF) {
--              dev_warn(&client->dev,
--                      "Clock had a power failure, you must set the date.\n");
--              return -EINVAL;
--      }
-+      if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) ==
-+              ARRAY_SIZE(msgs)) {
-+              /* did we read the correct number of messages? */
-+
-+              /* check for battery failure */
-+              if (sr & X1205_SR_RTCF)
-+              {       
-+                      dev_info(&client->adapter->dev,
-+                              "%s: Clock had a power failure, you must set the date.\n",
-+                              DRIVER_NAME);
--      /* read date registers */
--      if ((i2c_transfer(client->adapter, &msgs[2], 2)) != 2) {
--              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
--              return -EIO;
--      }
--
--      dev_dbg(&client->dev,
--              "%s: raw read data - sec=%02x, min=%02x, hr=%02x, "
--              "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n",
--              __FUNCTION__,
--              buf[0], buf[1], buf[2], buf[3],
--              buf[4], buf[5], buf[6], buf[7]);
--
--      tm->tm_sec = BCD2BIN(buf[CCR_SEC]);
--      tm->tm_min = BCD2BIN(buf[CCR_MIN]);
--      tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */
--      tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
--      tm->tm_mon = BCD2BIN(buf[CCR_MONTH]);
--      data->epoch = BCD2BIN(buf[CCR_Y2K]) * 100;
--      tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + data->epoch - 1900;
--      tm->tm_wday = buf[CCR_WDAY];
-+                      return -EINVAL;
-+              }
--      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
--              "mday=%d, mon=%d, year=%d, wday=%d\n",
--              __FUNCTION__,
--              tm->tm_sec, tm->tm_min, tm->tm_hour,
--              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+              dev_dbg(&client->dev,
-+                      "%s: raw read data - sec-%02x min-%02x hr-%02x"
-+                      " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", 
-+                      __FUNCTION__,
-+                      buf[0], buf[1], buf[2], buf[3],
-+                      buf[4], buf[5], buf[6], buf[7]);
-+
-+              tm->tm_sec  = BCD2BIN(buf[CCR_SEC]);
-+              tm->tm_min  = BCD2BIN(buf[CCR_MIN]);
-+              buf[CCR_HOUR] &= ~X1205_HR_MIL;
-+              tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */
-+              tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
-+              tm->tm_mon  = BCD2BIN(buf[CCR_MONTH]);
-+              xdata->epoch   = BCD2BIN(buf[CCR_Y2K]) * 100;
-+              tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900;
-+              tm->tm_wday = buf[CCR_WDAY];
-+
-+              dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
-+                      "mday=%d, mon=%d, year=%d, wday=%d\n",
-+                      __FUNCTION__,
-+                      tm->tm_sec, tm->tm_min, tm->tm_hour,
-+                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+      } else {
-+              dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }               
-+      
-       return 0;
- }
-+
- static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
-                               int datetoo, u8 reg_base)
- {
-       int i, err, xfer;
--      unsigned char buf[8];
-+      static unsigned char wel[3]   = { 0, X1205_REG_SR,
-+                                      X1205_SR_WEL };
--      static const unsigned char wel[3] = { 0, X1205_REG_SR,
--                                              X1205_SR_WEL };
--      static const unsigned char rwel[3] = { 0, X1205_REG_SR,
--                                              X1205_SR_WEL | X1205_SR_RWEL };
-+      static unsigned char rwel[3]  = { 0, X1205_REG_SR,
-+                                      X1205_SR_WEL | X1205_SR_RWEL };
--      static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
-+      static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
--      struct x1205_data *data = i2c_get_clientdata(client);
-+      static unsigned char data[3]  = { 0, };
-+      static unsigned char buf[8];
-+
-+      struct x1205_data *xdata = i2c_get_clientdata(client);
--      /* check if all values in the tm struct are correct */
-       if ((err = x1205_validate_tm(tm)) < 0)
-               return err;
-@@ -258,124 +200,52 @@ static int x1205_set_datetime(struct i2c
-               tm->tm_sec, tm->tm_min, tm->tm_hour,
-               tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
--      buf[CCR_SEC] = BIN2BCD(tm->tm_sec);
--      buf[CCR_MIN] = BIN2BCD(tm->tm_min);
--      /* set hour and 24hr bit */
-+      buf[CCR_SEC]  = BIN2BCD(tm->tm_sec);
-+      buf[CCR_MIN]  = BIN2BCD(tm->tm_min);
-+
-+      /* Set 24HR format */
-       buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
--      /* should we also set the date? */
--      if (datetoo) {
--              buf[CCR_MDAY] = BIN2BCD(tm->tm_mday);
-+      if (datetoo == X1205_DATETOO) {
-+              buf[CCR_MDAY]  = BIN2BCD(tm->tm_mday);
-               /* month, 0 - 11 */
--              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);
-+              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);   /* input is 0-11 */
-               /* year, since 1900 */
--              buf[CCR_YEAR] = BIN2BCD(tm->tm_year + 1900 - data->epoch);
--              buf[CCR_WDAY] = tm->tm_wday & 0x07;
--              buf[CCR_Y2K] = BIN2BCD(data->epoch / 100);
-+              buf[CCR_YEAR]  = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch));
-+              buf[CCR_WDAY]  = tm->tm_wday & 7;
-+              buf[CCR_Y2K]   = BIN2BCD(xdata->epoch / 100);
-       }
--      /* this sequence is required to unlock the chip */
-       xfer = i2c_master_send(client, wel, 3);
--      if (xfer != 3) {
--              dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer);
-+      dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-               return -EIO;
--      }
-       xfer = i2c_master_send(client, rwel, 3);
--      if (xfer != 3) {
--              dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer);
-+      dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-               return -EIO;
--      }
--      /* write register's data */
--      for (i = 0; i < (datetoo ? 8 : 3); i++) {
--              unsigned char rdata[3] = { 0, reg_base + i, buf[i] };
--
--              xfer = i2c_master_send(client, rdata, 3);
--              if (xfer != 3) {
--                      dev_err(&client->dev,
--                              "%s: xfer=%d addr=%02x, data=%02x\n",
--                              __FUNCTION__,
--                               xfer, rdata[1], rdata[2]);
-+      for (i = 0; i < 8; i++) {
-+              data[1] = i + reg_base;
-+              data[2] =  buf[i];
-+              xfer = i2c_master_send(client, data, 3);
-+
-+              dev_dbg(&client->dev, "%s: xfer %d addr, %02x,  data %02x\n",
-+                      __FUNCTION__,
-+                       xfer, data[1], data[2]);
-+
-+              if (xfer != 3)
-                       return -EIO;
--              }
-       };
--      /* disable further writes */
-       xfer = i2c_master_send(client, diswe, 3);
--      if (xfer != 3) {
--              dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer);
--              return -EIO;
--      }
--
--      return 0;
--}
--
--static int x1205_get_dtrim(struct i2c_client *client, int *trim)
--{
--      unsigned char dtr;
--      static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR };
--
--      struct i2c_msg msgs[] = {
--              { client->addr, 0, 2, dtr_addr },       /* setup read ptr */
--              { client->addr, I2C_M_RD, 1, &dtr },    /* read dtr */
--      };
--
--      /* read dtr register */
--      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
--              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
--              return -EIO;
--      }
--
--      dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr);
--
--      *trim = 0;
--
--      if (dtr & X1205_DTR_DTR0)
--              *trim += 20;
--
--      if (dtr & X1205_DTR_DTR1)
--              *trim += 10;
--
--      if (dtr & X1205_DTR_DTR2)
--              *trim = -*trim;
--
--      return 0;
--}
--
--static int x1205_get_atrim(struct i2c_client *client, int *trim)
--{
--      s8 atr;
--      static unsigned char atr_addr[2] = { 0, X1205_REG_ATR };
--
--      struct i2c_msg msgs[] = {
--              { client->addr, 0, 2, atr_addr },       /* setup read ptr */
--              { client->addr, I2C_M_RD, 1, &atr },    /* read atr */
--      };
--
--      /* read atr register */
--      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
--              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
--              return -EIO;
--      }
--
--      dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr);
--
--      /* atr is a two's complement value on 6 bits,
--       * perform sign extension. The formula is
--       * Catr = (atr * 0.25pF) + 11.00pF.
--       */
--      if (atr & 0x20)
--              atr |= 0xC0;
--
--      dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr);
--
--      *trim = (atr * 250) + 11000;
--
--      dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim);
-+      dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-+              return -EIO;            
-       return 0;
- }
-@@ -386,24 +256,28 @@ static int x1205_hctosys(struct i2c_clie
-       struct rtc_time tm;
-       struct timespec tv;
-+      
-       err = x1205_command(client, X1205_CMD_GETDATETIME, &tm);
--      if (err) {
--              dev_err(&client->dev,
--                      "Unable to set the system clock\n");
-+      if (err)
-+      {
-+              dev_info(&client->adapter->dev,
-+                      "%s: Unable to set the system clock\n",
-+                      DRIVER_NAME);
-+
-               return err;
-+
-       }
--      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
--       * whether it stores the most close value or the value with partial
--       * seconds truncated. However, it is important that we use it to store
--       * the truncated value. This is because otherwise it is necessary,
--       * in an rtc sync function, to read both xtime.tv_sec and
--       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
--       * of >32bits is not possible. So storing the most close value would
--       * slow down the sync API. So here we have the truncated value and
--       * the best guess is to add 0.5s.
-+      /* IMPORTANT: the RTC only stores whole seconds.  It is arbitrary whether
-+       * it stores the most close value or the value with partial seconds
-+       * truncated, however it is important for x1205_sync_rtc that it be
-+       * defined to store the truncated value.  This is because otherwise it
-+       * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the
-+       * sync function, and atomic reads of >32bits on ARM are not possible.
-+       * So storing the most close value would slow down the sync API.  So
-+       * Here we have the truncated value and the best guess is to add 0.5s
-        */
-       tv.tv_nsec = NSEC_PER_SEC >> 1;
-@@ -413,15 +287,16 @@ static int x1205_hctosys(struct i2c_clie
-        * the month to be in the range 1-12
-        */
--      tv.tv_sec  = mktime(tm.tm_year + 1900, tm.tm_mon + 1,
-+      tv.tv_sec  = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
-                               tm.tm_mday, tm.tm_hour,
-                               tm.tm_min, tm.tm_sec);
-       do_settimeofday(&tv);
--      dev_info(&client->dev,
--              "setting the system clock to %d-%d-%d %d:%d:%d\n",
--              tm.tm_year + 1900, tm.tm_mon + 1,
-+      dev_info(&client->adapter->dev,
-+              "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n",
-+              DRIVER_NAME,
-+              tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
-               tm.tm_mday, tm.tm_hour, tm.tm_min,
-               tm.tm_sec);
-@@ -432,7 +307,7 @@ struct x1205_limit
- {
-       unsigned char reg;
-       unsigned char mask;
--      unsigned char min;
-+      unsigned char min;      
-       unsigned char max;
- };
-@@ -443,16 +318,34 @@ static int x1205_validate_client(struct 
-       /* Probe array. We will read the register at the specified
-        * address and check if the given bits are zero.
-        */
--      static const unsigned char probe_zero_pattern[] = {
--              /* register, mask */
-+
-+      const unsigned char probe_zero_pattern[] = {
-+
-               X1205_REG_SR,   0x18,
-+              X1205_REG_Y2K,  0xC6,
-+              X1205_REG_DW,   0xF8,
-+              X1205_REG_MO,   0xE0,
-+              X1205_REG_DT,   0xC0,
-+              X1205_REG_HR,   0x40,
-+              X1205_REG_MN,   0x80,
-+              X1205_REG_SC,   0x80,
-               X1205_REG_DTR,  0xF8,
-               X1205_REG_ATR,  0xC0,
-               X1205_REG_INT,  0x18,
-               X1205_REG_0,    0xFF,
-+              X1205_REG_Y2K1, 0xC6,
-+              X1205_REG_DWA1, 0x78,
-+              X1205_REG_MOA1, 0x60,
-+              X1205_REG_DTA1, 0x40,
-+              X1205_REG_HRA1, 0x40,
-+              X1205_REG_Y2K0, 0xC6,
-+              X1205_REG_DWA0, 0x78,
-+              X1205_REG_MOA0, 0x60,
-+              X1205_REG_DTA0, 0x40,
-+              X1205_REG_HRA0, 0x40,
-       };
--      static const struct x1205_limit probe_limits_pattern[] = {
-+      const struct x1205_limit probe_limits_pattern[] = {
-               /* register, mask, min, max */
-               { X1205_REG_Y2K,        0xFF,   19,     20      },
-               { X1205_REG_DW,         0xFF,   0,      6       },
-@@ -463,23 +356,41 @@ static int x1205_validate_client(struct 
-               { X1205_REG_MN,         0xFF,   0,      59      },
-               { X1205_REG_SC,         0xFF,   0,      59      },
-               { X1205_REG_Y2K1,       0xFF,   19,     20      },
-+              { X1205_REG_DWA1,       0x7F,   0,      6       },
-+              { X1205_REG_MOA1,       0x7F,   0,      12      },
-+              { X1205_REG_DTA1,       0x7F,   0,      31      },
-+              { X1205_REG_HRA1,       0x7F,   0,      23      },
-+              { X1205_REG_MNA1,       0x7F,   0,      59      },
-+              { X1205_REG_SCA1,       0x7F,   0,      59      },
-               { X1205_REG_Y2K0,       0xFF,   19,     20      },
-+              { X1205_REG_DWA0,       0x7F,   0,      6       },
-+              { X1205_REG_MOA0,       0x7F,   0,      12      },
-+              { X1205_REG_DTA0,       0x7F,   0,      31      },
-+              { X1205_REG_HRA0,       0x7F,   0,      23      },
-+              { X1205_REG_MNA0,       0x7F,   0,      59      },
-+              { X1205_REG_SCA0,       0x7F,   0,      59      },
-       };
-       /* check that registers have bits a 0 where expected */
--      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) {
-+
-+      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2)
-+      {
-               unsigned char buf;
--              unsigned char addr[2] = { 0, probe_zero_pattern[i] };
-+              static unsigned char addr[2];
-               struct i2c_msg msgs[2] = {
--                      { client->addr, 0, 2, addr },
-+                      { client->addr, 0, 2, addr },   /* random read */
-                       { client->addr, I2C_M_RD, 1, &buf },
-               };
-+              addr[0] = 0x00;
-+              addr[1] = probe_zero_pattern[i];
-+
-               xfer = i2c_transfer(client->adapter, msgs, 2);
-+
-               if (xfer != 2) {
--                      dev_err(&client->adapter->dev,
-+                      dev_dbg(&client->adapter->dev, 
-                               "%s: could not read register %x\n",
-                               __FUNCTION__, addr[1]);
-@@ -487,42 +398,47 @@ static int x1205_validate_client(struct 
-               }
-               if ((buf & probe_zero_pattern[i+1]) != 0) {
--                      dev_err(&client->adapter->dev,
--                              "%s: register=%02x, zero pattern=%d, value=%x\n",
-+                      dev_dbg(&client->adapter->dev,
-+                              "%s: register %x, zero pattern %d: %x\n",
-                               __FUNCTION__, addr[1], i, buf);
-                       return -ENODEV;
-               }
-       }
--      /* check limits (only registers with bcd values) */
--      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) {
--              unsigned char reg, value;
-+      /* check limits */
--              unsigned char addr[2] = { 0, probe_limits_pattern[i].reg };
-+      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++)
-+      {
-+              unsigned char buf, val;
-+
-+              static unsigned char addr[2];
-               struct i2c_msg msgs[2] = {
--                      { client->addr, 0, 2, addr },
--                      { client->addr, I2C_M_RD, 1, &reg },
-+                      { client->addr, 0, 2, addr },   /* random read */
-+                      { client->addr, I2C_M_RD, 1, &buf },
-               };
-+              addr[0] = 0x00;
-+              addr[1] = probe_limits_pattern[i].reg;
-+
-               xfer = i2c_transfer(client->adapter, msgs, 2);
-               if (xfer != 2) {
--                      dev_err(&client->adapter->dev,
-+                      dev_dbg(&client->adapter->dev, 
-                               "%s: could not read register %x\n",
-                               __FUNCTION__, addr[1]);
-                       return -EIO;
-               }
--              value = BCD2BIN(reg & probe_limits_pattern[i].mask);
-+              val = BCD2BIN(buf & probe_limits_pattern[i].mask);
--              if (value > probe_limits_pattern[i].max ||
--                      value < probe_limits_pattern[i].min) {
-+              if (val > probe_limits_pattern[i].max ||
-+                      val < probe_limits_pattern[i].min) {
-                       dev_dbg(&client->adapter->dev,
--                              "%s: register=%x, lim pattern=%d, value=%d\n",
--                              __FUNCTION__, addr[1], i, value);
-+                              "%s: register %x, lim pattern %d: %d\n",
-+                              __FUNCTION__, addr[1], i, val);
-                       return -ENODEV;
-               }
-@@ -538,79 +454,66 @@ static int x1205_attach(struct i2c_adapt
-       return i2c_probe(adapter, &addr_data, x1205_probe);
- }
--int x1205_direct_attach(int adapter_id,
--      struct i2c_client_address_data *address_data)
--{
--      int err;
--      struct i2c_adapter *adapter = i2c_get_adapter(adapter_id);
--
--      if (adapter) {
--              err = i2c_probe(adapter,
--                      address_data, x1205_probe);
--
--              i2c_put_adapter(adapter);
--
--              return err;
--      }
--
--      return -ENODEV;
--}
--
- static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
- {
--      struct i2c_client *client;
--      struct x1205_data *data;
-+      struct i2c_client *new_client;
-+      struct x1205_data *xdata;
-       int err = 0;
-       dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
--      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
--              err = -ENODEV;
--              goto exit;
--      }
--
--      if (!(data = kzalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
-+      if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
-               err = -ENOMEM;
-               goto exit;
-       }
--      /* Initialize our structures */
--      data->epoch = 2000;
-+      /* Fill our data structure */
--      client = &data->client;
--      client->addr = address;
--      client->driver = &x1205_driver;
--      client->adapter = adapter;
-+      memset(xdata, 0, sizeof(struct x1205_data));
--      strlcpy(client->name, "x1205", I2C_NAME_SIZE);
-+      xdata->epoch = 2000;
-+
-+
-+      /* Prepare i2c_client structure */
-+
-+      new_client              = &xdata->client;
-+      i2c_set_clientdata(new_client, xdata);
-+      new_client->addr        = address;
-+      new_client->adapter     = adapter;
-+      new_client->driver      = &x1205_driver;
-+      new_client->flags       = 0;
-+      
-+      strlcpy(new_client->name, "x1205", I2C_NAME_SIZE);
--      i2c_set_clientdata(client, data);
-       /* Verify the chip is really an X1205 */
--      if (kind < 0) {
--              if (x1205_validate_client(client) < 0) {
-+
-+      if (kind < 0)
-+      {
-+              if (x1205_validate_client(new_client) < 0) {
-                       err = -ENODEV;
-                       goto exit_kfree;
-               }
-       }
-       /* Inform the i2c layer */
--      if ((err = i2c_attach_client(client)))
-+      if ((err = i2c_attach_client(new_client)))
-               goto exit_kfree;
--      list_add(&data->list, &x1205_clients);
-+      list_add(&xdata->list, &x1205_clients);
--      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
-+      dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n",
-+                      DRIVER_NAME);
--      /* If requested, set the system time */
-+      /* If requested, se the system time */
-       if (hctosys)
--              x1205_hctosys(client);
-+              x1205_hctosys(new_client);
-       return 0;
- exit_kfree:
--      kfree(data);
-+      kfree(xdata);
- exit:
-       return err;
-@@ -620,23 +523,44 @@ static int x1205_detach(struct i2c_clien
- {
-       int err;
-       struct x1205_data *data = i2c_get_clientdata(client);
--
-+      
-       dev_dbg(&client->dev, "%s\n", __FUNCTION__);
-       if ((err = i2c_detach_client(client)))
-               return err;
-       list_del(&data->list);
--
-       kfree(data);
-+      return 0;
-+}
-+
-+/* make sure the rtc_time values are in bounds */
-+static int x1205_validate_tm(struct rtc_time *tm)
-+{
-+      tm->tm_year += 1900;
-+
-+      if (tm->tm_year < EPOCH_1970)
-+              return -EINVAL;
-+
-+      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
-+              return -EINVAL;
-+
-+      if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && 
-+              ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400)))))
-+              return -EINVAL;
-+
-+      if ((tm->tm_year -= EPOCH_1900) > 255)
-+              return -EINVAL;
-+                      
-+      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
-+              return -EINVAL;
-       return 0;
- }
--static int x1205_command(struct i2c_client *client, unsigned int cmd,
--      void *param)
-+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm)
- {
--      if (param == NULL)
-+      if (client == NULL || tm == NULL)
-               return -EINVAL;
-       if (!capable(CAP_SYS_TIME))
-@@ -646,34 +570,26 @@ static int x1205_command(struct i2c_clie
-       switch (cmd) {
-       case X1205_CMD_GETDATETIME:
--              return x1205_get_datetime(client, param, X1205_CCR_BASE);
-+              return x1205_get_datetime(client, tm, X1205_CCR_BASE);
-       case X1205_CMD_SETTIME:
--              return x1205_set_datetime(client, param, 0,
--                              X1205_CCR_BASE);
-+              return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE);
-       case X1205_CMD_SETDATETIME:
--              return x1205_set_datetime(client, param, 1,
--                              X1205_CCR_BASE);
-+              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE);
-       case X1205_CMD_GETALARM:
--              return x1205_get_datetime(client, param, X1205_ALM0_BASE);
-+              return x1205_get_datetime(client, tm, X1205_ALM0_BASE);
-       case X1205_CMD_SETALARM:
--              return x1205_set_datetime(client, param, 1,
--                              X1205_ALM0_BASE);
--
--      case X1205_CMD_GETDTRIM:
--              return x1205_get_dtrim(client, param);
--
--      case X1205_CMD_GETATRIM:
--              return x1205_get_atrim(client, param);
-+              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE);
-       default:
-               return -EINVAL;
-       }
- }
-+
- static int __init x1205_init(void)
- {
-       return i2c_add_driver(&x1205_driver);
-@@ -689,10 +605,8 @@ MODULE_AUTHOR(
-       "Alessandro Zummo <a.zummo@towertech.it>");
- MODULE_DESCRIPTION("Xicor X1205 RTC driver");
- MODULE_LICENSE("GPL");
--MODULE_VERSION(DRV_VERSION);
- EXPORT_SYMBOL_GPL(x1205_do_command);
--EXPORT_SYMBOL_GPL(x1205_direct_attach);
- module_init(x1205_init);
- module_exit(x1205_exit);
---- linux-2.6.14/include/linux/x1205.h.orig    2005-11-07 22:38:42.196252187 -0800
-+++ linux-2.6.14/include/linux/x1205.h 2005-11-07 22:42:54.960157617 -0800
-@@ -1,31 +1,67 @@
--/*
-- *  x1205.h - defines for drivers/i2c/chips/x1205.c
-- *  Copyright 2004 Karen Spearel
-- *  Copyright 2005 Alessandro Zummo
-- *
-- *  This program is free software; you can redistribute it and/or modify
-- *  it under the terms of the GNU General Public License as published by
-- *  the Free Software Foundation; either version 2 of the License, or
-- *  (at your option) any later version.
-- */
--
--#ifndef __LINUX_X1205_H__
--#define __LINUX_X1205_H__
- /* commands */
--#define X1205_CMD_GETDATETIME 0
--#define X1205_CMD_SETTIME     1
--#define X1205_CMD_SETDATETIME 2
-+#define       X1205_CMD_GETDATETIME   0
-+#define       X1205_CMD_SETTIME       1
-+#define       X1205_CMD_SETDATETIME   2
- #define X1205_CMD_GETALARM    3
- #define X1205_CMD_SETALARM    4
--#define X1205_CMD_GETDTRIM    5
--#define X1205_CMD_SETDTRIM    6
--#define X1205_CMD_GETATRIM    7
--#define X1205_CMD_SETATRIM    8
-+
-+/* flags */
-+
-+#define       X1205_NODATE            0
-+#define       X1205_DATETOO           1
-+
-+/*  offsets into read buf - add 2 for write buf */
-+
-+#define       CCR_SEC                 0
-+#define       CCR_MIN                 1
-+#define       CCR_HOUR                2
-+#define       CCR_MDAY                3
-+#define       CCR_MONTH               4
-+#define       CCR_YEAR                5
-+#define       CCR_WDAY                6
-+#define       CCR_Y2K                 7
-+
-+#define       X1205_REG_SR            0x3F    /* status register */
-+#define       X1205_REG_Y2K           0x37
-+#define       X1205_REG_DW            0x36
-+#define       X1205_REG_YR            0x35
-+#define       X1205_REG_MO            0x34
-+#define       X1205_REG_DT            0x33
-+#define       X1205_REG_HR            0x32
-+#define       X1205_REG_MN            0x31
-+#define       X1205_REG_SC            0x30
-+#define       X1205_REG_DTR           0x13
-+#define       X1205_REG_ATR           0x12
-+#define       X1205_REG_INT           0x11
-+#define       X1205_REG_0             0x10
-+#define       X1205_REG_Y2K1          0x0F
-+#define       X1205_REG_DWA1          0x0E
-+#define       X1205_REG_YRA1          0x0D
-+#define       X1205_REG_MOA1          0x0C
-+#define       X1205_REG_DTA1          0x0B
-+#define       X1205_REG_HRA1          0x0A
-+#define       X1205_REG_MNA1          0x09
-+#define       X1205_REG_SCA1          0x08
-+#define       X1205_REG_Y2K0          0x07
-+#define       X1205_REG_DWA0          0x06
-+#define       X1205_REG_YRA0          0x05
-+#define       X1205_REG_MOA0          0x04
-+#define       X1205_REG_DTA0          0x03
-+#define       X1205_REG_HRA0          0x02
-+#define       X1205_REG_MNA0          0x01
-+#define       X1205_REG_SCA0          0x00
-+
-+#define       X1205_I2C_BUS_ADDR      0x6f    /* hardwired into x1205 */
-+#define       X1205_CCR_BASE          0x30    /* Base address of CCR */
-+#define       X1205_ALM0_BASE         0x00    /* Base address of ALARM0 */
-+
-+#define X1205_SR_RTCF         0x01
-+#define       X1205_SR_WEL            0x02    /* Write Enable Latch bit */
-+#define       X1205_SR_RWEL           0x04    /* Register Write Enable Bit */
-+
-+#define       X1205_HR_MIL            0x80    /* set in ccr.hour for 24 hr mode */
- extern int x1205_do_command(unsigned int cmd, void *arg);
--extern int x1205_direct_attach(int adapter_id,
--      struct i2c_client_address_data *address_data);
--#endif /* __LINUX_X1205_H__ */
diff --git a/packages/linux/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch b/packages/linux/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch
deleted file mode 100644 (file)
index 116f95b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c.orig  2005-11-07 22:26:36.010556202 -0800
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c       2005-11-07 22:27:15.921067613 -0800
-@@ -504,7 +504,7 @@ static int __init n2iom_init(void)
-               return -EBUSY;
-       }
-       else {
--              class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
-+              class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
-       }
- #endif
-@@ -513,7 +513,7 @@ static int __init n2iom_init(void)
-               return -EBUSY;
-       }
-       else {
--              class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
-+              class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
-       }
-       return 0;
diff --git a/packages/linux/nslu2-kernel/2.6.14-mm/defconfig b/packages/linux/nslu2-kernel/2.6.14-mm/defconfig
deleted file mode 100644 (file)
index ecb422f..0000000
+++ /dev/null
@@ -1,1595 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.14
-# Mon Nov  7 22:59:39 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SWAP_PREFETCH=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_EMBEDDED=y
-# CONFIG_KALLSYMS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-CONFIG_SLAB=y
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=1
-# CONFIG_SLOB is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-CONFIG_ARCH_IXP4XX=y
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_AAEC2000 is not set
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-
-#
-# Intel IXP4xx Implementation Options
-#
-
-#
-# IXP4xx Platforms
-#
-# CONFIG_ARCH_AVILA is not set
-# CONFIG_ARCH_ADI_COYOTE is not set
-# CONFIG_ARCH_IXDP425 is not set
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
-CONFIG_MACH_NSLU2=y
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_MACH_GTWX5715 is not set
-
-#
-# IXP4xx Options
-#
-CONFIG_IXP4XX_INDIRECT_PCI=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_XSCALE_PMU=y
-CONFIG_DMABOUNCE=y
-
-#
-# Bus support
-#
-CONFIG_ISA_DMA_API=y
-CONFIG_PCI=y
-# CONFIG_PCI_LEGACY_PROC is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_PREEMPT is not set
-# CONFIG_NO_IDLE_HZ is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc x1205.hctosys=1 noirqdebug console=ttyS0,115200n8"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
-# CONFIG_NETFILTER_NETLINK is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=m
-# CONFIG_IP_NF_CT_ACCT is not set
-# CONFIG_IP_NF_CONNTRACK_MARK is not set
-# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
-CONFIG_IP_NF_CT_PROTO_SCTP=m
-CONFIG_IP_NF_FTP=m
-CONFIG_IP_NF_IRC=m
-# CONFIG_IP_NF_NETBIOS_NS is not set
-CONFIG_IP_NF_TFTP=m
-CONFIG_IP_NF_AMANDA=m
-# CONFIG_IP_NF_PPTP is not set
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_LIMIT=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=m
-CONFIG_IP_NF_MATCH_MULTIPORT=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=m
-CONFIG_IP_NF_MATCH_CONNTRACK=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_PHYSDEV=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_MATCH_REALM=m
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-CONFIG_IP_NF_MATCH_COMMENT=m
-CONFIG_IP_NF_MATCH_HASHLIMIT=m
-# CONFIG_IP_NF_MATCH_STRING is not set
-CONFIG_IP_NF_FILTER=m
-# CONFIG_IP_NF_TARGET_REJECT is not set
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_SAME=m
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=m
-CONFIG_IP_NF_NAT_FTP=m
-CONFIG_IP_NF_NAT_TFTP=m
-CONFIG_IP_NF_NAT_AMANDA=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=m
-CONFIG_IP_NF_TARGET_CLASSIFY=m
-# CONFIG_IP_NF_TARGET_TTL is not set
-# CONFIG_IP_NF_RAW is not set
-# CONFIG_IP_NF_ARPTABLES is not set
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-CONFIG_NET_CLS_ROUTE=y
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=m
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-# CONFIG_MTD_CFI_NOSWAP is not set
-CONFIG_MTD_CFI_BE_BYTE_SWAP=y
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_BLK_DEV_RAM_SIZE=10240
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_BLK_DEV_IO_TRACE is not set
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_DEFAULT_AS is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-
-#
-# SCSI Transport Layers
-#
-# CONFIG_SAS_CLASS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=y
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
-CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_CRYPT is not set
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SKY2 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_AIRO is not set
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-# CONFIG_HOSTAP is not set
-# CONFIG_ACX is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-CONFIG_NETCONSOLE=m
-# CONFIG_KGDBOE is not set
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=m
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IXP4XX_WATCHDOG=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-CONFIG_RTC=m
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_I810 is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_IOP3XX is not set
-CONFIG_I2C_IXP4XX=y
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PROSAVAGE is not set
-# CONFIG_I2C_SAVAGE4 is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_VOODOO3 is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-CONFIG_SENSORS_X1205=y
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Hardware Monitoring support
-#
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-
-#
-# Video For Linux
-#
-
-#
-# Video Adapters
-#
-CONFIG_VIDEO_BT848=m
-# CONFIG_VIDEO_SAA6588 is not set
-CONFIG_VIDEO_CPIA=m
-CONFIG_VIDEO_CPIA_USB=m
-CONFIG_VIDEO_SAA5246A=m
-CONFIG_VIDEO_SAA5249=m
-CONFIG_TUNER_3036=m
-CONFIG_VIDEO_STRADIS=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_DPC=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_CX88=m
-# CONFIG_VIDEO_EM28XX is not set
-CONFIG_VIDEO_OVCAMCHIP=m
-
-#
-# Radio Adapters
-#
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_VIDEOBUF=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_BUF=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
-CONFIG_VIDEO_TVEEPROM=m
-
-#
-# Graphics support
-#
-# CONFIG_FB is not set
-
-#
-# Speakup console speech
-#
-# CONFIG_SPEAKUP is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-# CONFIG_SND_RTCTIMER is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
-
-#
-# ALSA ARM devices
-#
-
-#
-# USB devices
-#
-CONFIG_SND_USB_AUDIO=m
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-# CONFIG_USB_LIBUSUAL is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_USB_HIDINPUT=y
-# CONFIG_HID_FF is not set
-CONFIG_USB_HIDDEV=y
-
-#
-# USB HID Boot Protocol drivers
-#
-CONFIG_USB_KBD=m
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_ACECAD is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_MTOUCH is not set
-# CONFIG_USB_ITMTOUCH is not set
-# CONFIG_USB_EGALAX is not set
-# CONFIG_USB_YEALINK is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-# CONFIG_USB_KEYSPAN_REMOTE is not set
-# CONFIG_USB_APPLETOUCH is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_W9968CF is not set
-CONFIG_USB_PWC=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# CONFIG_USB_NET_PLUSB is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_GOTEMP is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-# CONFIG_REISER4_FS is not set
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_OCFS2_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-# CONFIG_CONFIGFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_ASFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6.14/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.14/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch b/packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch
deleted file mode 100644 (file)
index f3da2e0..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
---- linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-27 17:02:08.000000000 -0700
-+++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-29 23:11:24.990820968 -0700
-@@ -38,10 +38,14 @@
- #define       BYTE1(h)        ((h) & 0xFF)
- #endif
-+#define FLASHWORD(a)  (*(__u16*)(a))
-+#define FLASHVAL(a)   FLASHWORD(a)
-+#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0)
-+
- static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs)
- {
-       map_word val;
--      val.x[0] = *(__u16 *) (map->map_priv_1 + ofs);
-+      val.x[0] = FLASHVAL(map->map_priv_1 + ofs);
-       return val;
- }
-@@ -53,19 +57,25 @@ static map_word ixp4xx_read16(struct map
- static void ixp4xx_copy_from(struct map_info *map, void *to,
-                            unsigned long from, ssize_t len)
- {
--      int i;
--      u8 *dest = (u8 *) to;
--      u16 *src = (u16 *) (map->map_priv_1 + from);
--      u16 data;
--
--      for (i = 0; i < (len / 2); i++) {
--              data = src[i];
--              dest[i * 2] = BYTE0(data);
--              dest[i * 2 + 1] = BYTE1(data);
-+      u8 *dest, *src;
-+
-+      if (len <= 0)
-+              return;
-+
-+      dest = (u8 *) to;
-+      src  = (u8 *) (map->map_priv_1 + from);
-+      if (from & 1)
-+              *dest++ = BYTE1(FLASHVAL(src-1)), ++src, --len;
-+
-+      while (len >= 2) {
-+              u16 data = FLASHVAL(src); src += 2;
-+              *dest++ = BYTE0(data);
-+              *dest++ = BYTE1(data);
-+              len -= 2;
-       }
--      if (len & 1)
--              dest[len - 1] = BYTE0(src[i]);
-+      if (len > 0)
-+              *dest++ = BYTE0(FLASHVAL(src));
- }
- /* 
-@@ -75,7 +85,7 @@ static void ixp4xx_copy_from(struct map_
- static void ixp4xx_probe_write16(struct map_info *map, map_word d, unsigned long adr)
- {
-       if (!(adr & 1))
--             *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
-+             FLASHSET(map->map_priv_1 + adr, d.x[0]);
- }
- /* 
-@@ -83,7 +93,7 @@ static void ixp4xx_probe_write16(struct 
-  */
- static void ixp4xx_write16(struct map_info *map, map_word d, unsigned long adr)
- {
--       *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
-+       FLASHSET(map->map_priv_1 + adr, d.x[0]);
- }
- struct ixp4xx_flash_info {
diff --git a/packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-le.patch b/packages/linux/nslu2-kernel/2.6.14/10-ixp4xx-le.patch
deleted file mode 100644 (file)
index 0b50e4e..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
---- linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-27 17:02:08.000000000 -0700
-+++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-29 23:11:24.990820968 -0700
-@@ -22,6 +22,7 @@
- #include <linux/string.h>
- #include <linux/mtd/mtd.h>
- #include <linux/mtd/map.h>
-+#include <linux/mtd/cfi_endian.h>
- #include <linux/mtd/partitions.h>
- #include <linux/ioport.h>
- #include <linux/device.h>
-@@ -30,17 +31,40 @@
- #include <linux/reboot.h>
-+/* On a little-endian IXP4XX system (tested on NSLU2) an LDRH or STRH
-+ * will flip the second address bit - i.e. XOR the address with 10b.
-+ * This causes the cfi commands (sent to the command address, 0xAA for
-+ * 16 bit flash) to fail.  This is fixed here by XOR'ing the address
-+ * before use with 10b.  The cost of this is that the flash layout ends
-+ * up with pdp-endiannes (on an LE system), however this is not a problem
-+ * as the access code consistently only accesses half words - so the
-+ * endianness is not determinable on stuff which is written and read
-+ * consistently in the little endian world.
-+ *
-+ * For flash data from the big-endian world, however, the results are
-+ * weird - the pdp-endianness results in the data apparently being
-+ * 2-byte swapped (as in dd conv=swab).  To work round this the 16
-+ * bit values are written and read using cpu_to_cfi16 and cfi16_to_cpu,
-+ * by default these are no-ops, but if the MTD driver is configed with
-+ * CONFIG_MTD_CFI_BE_BYTE_SWAP the macros will byte swap the data,
-+ * resulting in a consistently BE view of the flash on both BE (no
-+ * op) and LE systems.  This config setting also causes the command
-+ * data from the CFI implementation to get swapped - as is required
-+ * so that this code will *unswap* it and give the correct command
-+ * data to the flash.
-+ */
- #ifndef __ARMEB__
- #define       BYTE0(h)        ((h) & 0xFF)
- #define       BYTE1(h)        (((h) >> 8) & 0xFF)
-+#define       FLASHWORD(a)    (*(__u16*)((u32)(a) ^ 2))
- #else
- #define       BYTE0(h)        (((h) >> 8) & 0xFF)
- #define       BYTE1(h)        ((h) & 0xFF)
-+#define       FLASHWORD(a)    (*(__u16*)(a))
- #endif
--#define FLASHWORD(a)  (*(__u16*)(a))
--#define FLASHVAL(a)   FLASHWORD(a)
--#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0)
-+#define FLASHVAL(a)   cfi16_to_cpu(FLASHWORD(a))
-+#define FLASHSET(a,v) (FLASHWORD(a) = cpu_to_cfi16(v))
- static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs)
- {
diff --git a/packages/linux/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch b/packages/linux/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch
deleted file mode 100644 (file)
index 3fa0535..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-drivers/mtd/redboot.c: recognise a foreign byte sex partition table
-
-The RedBoot boot loader writes flash partition tables containing native
-byte sex 32 bit values.  When booting an opposite byte sex kernel (e.g.  an
-LE kernel from BE RedBoot) the current MTD driver fails to handle the
-partition table and therefore is unable to generate the correct partition
-map for the flash.
-
-The patch recognises that the FIS directory (the partition table) is
-byte-reversed by examining the partition table size, which is known to be
-one erase block (this is an assumption made elsewhere in redboot.c).  If
-the size matches the erase block after byte swapping the value then
-byte-reversal is assumed, if not no further action is taken.  The patched
-code is fail safe; should redboot.c be changed to support a partition table
-with a modified size field the test will fail and the partition table will
-be assumed to have the host byte sex.
-
-If byte-reversal is detected the patch byte swaps the remainder of the 32
-bit fields in the copy of the table; this copy is then used to set up the
-MTD partition map.
-
-Signed-off-by: John Bowler <jbowler@acm.org>
-Signed-off-by: Andrew Morton <akpm@osdl.org>
-Modified slightly and
-Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-
-Index: drivers/mtd/redboot.c
-===================================================================
-RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v
-retrieving revision 1.18
-retrieving revision 1.19
-diff -u -p -r1.18 -r1.19
---- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
-@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru
-                       i = numslots;
-                       break;
-               }
--              if (!memcmp(buf[i].name, "FIS directory", 14))
-+              if (!memcmp(buf[i].name, "FIS directory", 14)) {
-+                      /* This is apparently the FIS directory entry for the
-+                       * FIS directory itself.  The FIS directory size is
-+                       * one erase block; if the buf[i].size field is
-+                       * swab32(erasesize) then we know we are looking at
-+                       * a byte swapped FIS directory - swap all the entries!
-+                       * (NOTE: this is 'size' not 'data_length'; size is
-+                       * the full size of the entry.)
-+                       */
-+                      if (swab32(buf[i].size) == master->erasesize) {
-+                              int j;
-+                              for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) {
-+                                      /* The unsigned long fields were written with the
-+                                       * wrong byte sex, name and pad have no byte sex.
-+                                       */
-+                                      swab32s(&buf[j].flash_base);
-+                                      swab32s(&buf[j].mem_base);
-+                                      swab32s(&buf[j].size);
-+                                      swab32s(&buf[j].entry_point);
-+                                      swab32s(&buf[j].data_length);
-+                                      swab32s(&buf[j].desc_cksum);
-+                                      swab32s(&buf[j].file_cksum);
-+                              }
-+                      }
-                       break;
-+              }
-       }
-       if (i == numslots) {
-               /* Didn't find it */
-
-
diff --git a/packages/linux/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch b/packages/linux/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch
deleted file mode 100644 (file)
index 6ac0807..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# The inline caller of these APIs were changed to have
-# const vaddr parameters...
---- linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h.orig 2005-09-24 17:06:19.968099976 -0700
-+++ linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h      2005-09-24 17:06:52.542149731 -0700
-@@ -113,7 +113,7 @@
- }
- static inline void
--__ixp4xx_writesb(u32 bus_addr, u8 *vaddr, int count)
-+__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count)
- {
-       while (count--)
-               writeb(*vaddr++, bus_addr);
-@@ -136,7 +136,7 @@
- }
- static inline void
--__ixp4xx_writesw(u32 bus_addr, u16 *vaddr, int count)
-+__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count)
- {
-       while (count--)
-               writew(*vaddr++, bus_addr);
-@@ -154,7 +154,7 @@
- }
- static inline void
--__ixp4xx_writesl(u32 bus_addr, u32 *vaddr, int count)
-+__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count)
- {
-       while (count--)
-               writel(*vaddr++, bus_addr);
diff --git a/packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch b/packages/linux/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch
deleted file mode 100644 (file)
index 5813bbb..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
---- linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h      2005-10-29 23:33:21.757679882 -0700
-+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h      2005-10-29 23:47:02.581331058 -0700
-@@ -80,9 +80,9 @@ __ixp4xx_iounmap(void __iomem *addr)
- #define __arch_ioremap(a, s, f, x)    __ixp4xx_ioremap(a, s, f, x)
- #define       __arch_iounmap(a)               __ixp4xx_iounmap(a)
--#define       writeb(p, v)                    __ixp4xx_writeb(p, v)
--#define       writew(p, v)                    __ixp4xx_writew(p, v)
--#define       writel(p, v)                    __ixp4xx_writel(p, v)
-+#define       writeb(v, p)                    __ixp4xx_writeb(v, p)
-+#define       writew(v, p)                    __ixp4xx_writew(v, p)
-+#define       writel(v, p)                    __ixp4xx_writel(v, p)
- #define       writesb(p, v, l)                __ixp4xx_writesb(p, v, l)
- #define       writesw(p, v, l)                __ixp4xx_writesw(p, v, l)
-@@ -97,8 +97,9 @@ __ixp4xx_iounmap(void __iomem *addr)
- #define       readsl(p, v, l)                 __ixp4xx_readsl(p, v, l)
- static inline void 
--__ixp4xx_writeb(u8 value, u32 addr)
-+__ixp4xx_writeb(u8 value, volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       u32 n, byte_enables, data;
-       if (addr >= VMALLOC_START) {
-@@ -113,15 +114,16 @@ __ixp4xx_writeb(u8 value, u32 addr)
- }
- static inline void
--__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count)
-+__ixp4xx_writesb(volatile void __iomem *bus_addr, const u8 *vaddr, int count)
- {
-       while (count--)
-               writeb(*vaddr++, bus_addr);
- }
- static inline void 
--__ixp4xx_writew(u16 value, u32 addr)
-+__ixp4xx_writew(u16 value, volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       u32 n, byte_enables, data;
-       if (addr >= VMALLOC_START) {
-@@ -136,15 +138,16 @@ __ixp4xx_writew(u16 value, u32 addr)
- }
- static inline void
--__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count)
-+__ixp4xx_writesw(volatile void __iomem *bus_addr, const u16 *vaddr, int count)
- {
-       while (count--)
-               writew(*vaddr++, bus_addr);
- }
- static inline void 
--__ixp4xx_writel(u32 value, u32 addr)
-+__ixp4xx_writel(u32 value, volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       if (addr >= VMALLOC_START) {
-               __raw_writel(value, addr);
-               return;
-@@ -154,15 +157,16 @@ __ixp4xx_writel(u32 value, u32 addr)
- }
- static inline void
--__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count)
-+__ixp4xx_writesl(volatile void __iomem *bus_addr, const u32 *vaddr, int count)
- {
-       while (count--)
-               writel(*vaddr++, bus_addr);
- }
- static inline unsigned char 
--__ixp4xx_readb(u32 addr)
-+__ixp4xx_readb(const volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       u32 n, byte_enables, data;
-       if (addr >= VMALLOC_START)
-@@ -177,15 +181,16 @@ __ixp4xx_readb(u32 addr)
- }
- static inline void
--__ixp4xx_readsb(u32 bus_addr, u8 *vaddr, u32 count)
-+__ixp4xx_readsb(const volatile void __iomem *bus_addr, u8 *vaddr, u32 count)
- {
-       while (count--)
-               *vaddr++ = readb(bus_addr);
- }
- static inline unsigned short 
--__ixp4xx_readw(u32 addr)
-+__ixp4xx_readw(const volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       u32 n, byte_enables, data;
-       if (addr >= VMALLOC_START)
-@@ -200,15 +205,16 @@ __ixp4xx_readw(u32 addr)
- }
- static inline void 
--__ixp4xx_readsw(u32 bus_addr, u16 *vaddr, u32 count)
-+__ixp4xx_readsw(const volatile void __iomem *bus_addr, u16 *vaddr, u32 count)
- {
-       while (count--)
-               *vaddr++ = readw(bus_addr);
- }
- static inline unsigned long 
--__ixp4xx_readl(u32 addr)
-+__ixp4xx_readl(const volatile void __iomem *p)
- {
-+      u32 addr = (u32)p;
-       u32 data;
-       if (addr >= VMALLOC_START)
-@@ -221,7 +227,7 @@ __ixp4xx_readl(u32 addr)
- }
- static inline void 
--__ixp4xx_readsl(u32 bus_addr, u32 *vaddr, u32 count)
-+__ixp4xx_readsl(const volatile void __iomem *bus_addr, u32 *vaddr, u32 count)
- {
-       while (count--)
-               *vaddr++ = readl(bus_addr);
-@@ -239,7 +245,7 @@ __ixp4xx_readsl(u32 bus_addr, u32 *vaddr
-                               eth_copy_and_sum((s),__mem_pci(c),(l),(b))
- static inline int
--check_signature(unsigned long bus_addr, const unsigned char *signature,
-+check_signature(const unsigned char __iomem *bus_addr, const unsigned char *signature,
-               int length)
- {
-       int retval = 0;
-@@ -389,7 +395,7 @@ __ixp4xx_insl(u32 io_addr, u32 *vaddr, u
- #define       __is_io_address(p)      (((unsigned long)p >= PIO_OFFSET) && \
-                                       ((unsigned long)p <= (PIO_MASK + PIO_OFFSET)))
- static inline unsigned int
--__ixp4xx_ioread8(void __iomem *addr)
-+__ixp4xx_ioread8(const void __iomem *addr)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -398,12 +404,12 @@ __ixp4xx_ioread8(void __iomem *addr)
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               return (unsigned int)__raw_readb(port);
- #else
--              return (unsigned int)__ixp4xx_readb(port);
-+              return (unsigned int)__ixp4xx_readb(addr);
- #endif
- }
- static inline void
--__ixp4xx_ioread8_rep(void __iomem *addr, void *vaddr, u32 count)
-+__ixp4xx_ioread8_rep(const void __iomem *addr, void *vaddr, u32 count)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -412,12 +418,12 @@ __ixp4xx_ioread8_rep(void __iomem *addr,
- #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_readsb(addr, vaddr, count);
- #else
--              __ixp4xx_readsb(port, vaddr, count);
-+              __ixp4xx_readsb(addr, vaddr, count);
- #endif
- }
- static inline unsigned int
--__ixp4xx_ioread16(void __iomem *addr)
-+__ixp4xx_ioread16(const void __iomem *addr)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -426,12 +432,12 @@ __ixp4xx_ioread16(void __iomem *addr)
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               return le16_to_cpu(__raw_readw((u32)port));
- #else
--              return (unsigned int)__ixp4xx_readw((u32)port);
-+              return (unsigned int)__ixp4xx_readw(addr);
- #endif
- }
- static inline void
--__ixp4xx_ioread16_rep(void __iomem *addr, void *vaddr, u32 count)
-+__ixp4xx_ioread16_rep(const void __iomem *addr, void *vaddr, u32 count)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -440,12 +446,12 @@ __ixp4xx_ioread16_rep(void __iomem *addr
- #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_readsw(addr, vaddr, count);
- #else
--              __ixp4xx_readsw(port, vaddr, count);
-+              __ixp4xx_readsw(addr, vaddr, count);
- #endif
- }
- static inline unsigned int
--__ixp4xx_ioread32(void __iomem *addr)
-+__ixp4xx_ioread32(const void __iomem *addr)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -454,13 +460,13 @@ __ixp4xx_ioread32(void __iomem *addr)
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               return le32_to_cpu(__raw_readl((u32)port));
- #else
--              return (unsigned int)__ixp4xx_readl((u32)port);
-+              return (unsigned int)__ixp4xx_readl(addr);
- #endif
-       }
- }
- static inline void
--__ixp4xx_ioread32_rep(void __iomem *addr, void *vaddr, u32 count)
-+__ixp4xx_ioread32_rep(const void __iomem *addr, void *vaddr, u32 count)
- {
-       unsigned long port = (unsigned long __force)addr;
-       if (__is_io_address(port))
-@@ -469,7 +475,7 @@ __ixp4xx_ioread32_rep(void __iomem *addr
- #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_readsl(addr, vaddr, count);
- #else
--              __ixp4xx_readsl(port, vaddr, count);
-+              __ixp4xx_readsl(addr, vaddr, count);
- #endif
- }
-@@ -483,7 +489,7 @@ __ixp4xx_iowrite8(u8 value, void __iomem
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writeb(value, port);
- #else
--              __ixp4xx_writeb(value, port);
-+              __ixp4xx_writeb(value, addr);
- #endif
- }
-@@ -497,7 +503,7 @@ __ixp4xx_iowrite8_rep(void __iomem *addr
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writesb(addr, vaddr, count);
- #else
--              __ixp4xx_writesb(port, vaddr, count);
-+              __ixp4xx_writesb(addr, vaddr, count);
- #endif
- }
-@@ -511,7 +517,7 @@ __ixp4xx_iowrite16(u16 value, void __iom
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writew(cpu_to_le16(value), addr);
- #else
--              __ixp4xx_writew(value, port);
-+              __ixp4xx_writew(value, addr);
- #endif
- }
-@@ -525,7 +531,7 @@ __ixp4xx_iowrite16_rep(void __iomem *add
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writesw(addr, vaddr, count);
- #else
--              __ixp4xx_writesw(port, vaddr, count);
-+              __ixp4xx_writesw(addr, vaddr, count);
- #endif
- }
-@@ -539,7 +545,7 @@ __ixp4xx_iowrite32(u32 value, void __iom
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writel(cpu_to_le32(value), port);
- #else
--              __ixp4xx_writel(value, port);
-+              __ixp4xx_writel(value, addr);
- #endif
- }
-@@ -553,7 +559,7 @@ __ixp4xx_iowrite32_rep(void __iomem *add
- #ifndef CONFIG_IXP4XX_INDIRECT_PCI
-               __raw_writesl(addr, vaddr, count);
- #else
--              __ixp4xx_writesl(port, vaddr, count);
-+              __ixp4xx_writesl(addr, vaddr, count);
- #endif
- }
diff --git a/packages/linux/nslu2-kernel/2.6.14/19-jffs2-force-be.patch b/packages/linux/nslu2-kernel/2.6.14/19-jffs2-force-be.patch
deleted file mode 100644 (file)
index 4406d17..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- linux-2.6.14.1/fs/jffs2/nodelist.h.orig    2005-11-09 23:12:29.641449728 -0800
-+++ linux-2.6.14.1/fs/jffs2/nodelist.h 2005-11-09 23:13:19.228570049 -0800
-@@ -44,7 +44,9 @@
- #define D2(x)
- #endif
--#define JFFS2_NATIVE_ENDIAN
-+#undef JFFS2_NATIVE_ENDIAN
-+#define JFFS2_BIG_ENDIAN 1
-+#undef JFFS2_LITTLE_ENDIAN
- /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
-    whatever OS we're actually running on here too. */
diff --git a/packages/linux/nslu2-kernel/2.6.14/20-timer.patch b/packages/linux/nslu2-kernel/2.6.14/20-timer.patch
deleted file mode 100644 (file)
index 3d4a03f..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
---- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
-@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void)
-  * IXP4xx timer tick
-  * We use OS timer1 on the CPU for the timer tick and the timestamp 
-  * counter as a source of real clock ticks to account for missed jiffies.
-+ *
-+ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second,
-+ * this is significantly greater than the actual number on any ixp4xx
-+ * board.  Neither this nor 'LATCH' are required by this code because
-+ * the only requirement is to generate HZ timer_tick calls per second.
-  *************************************************************************/
-+#if TICK_NSEC * HZ != 1000000000
-+      /* This will cause the jiffies to drift unnecessarily. */
-+#     error CLOCK_TICK_RATE should be a multiple of HZ for this code
-+#endif
-+
-+/* These are the control registers for the interrupt handler, they must
-+ * only be read and written by the interrupt handler and by the init
-+ * method (which sets them to 0).
-+ */
-+static volatile u32 last_timer_time;
-+static volatile int accumulated_error;
-+
-+/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset
-+ * this from the board level code if required.  The following variables
-+ * must be *written* only by set_board_tick_rate
-+ */
-+static u32 board_tick_rate;
-+static u32 board_tick_per_1000; /* board_tick_rate/1000 */
-+static u32 timer_count;
-+
-+/* The following symbol may be written to change the current tick rate,
-+ * it is read by the interrupt handler and used to reload the timer.
-+ * The 'real' value (the one in use) is 'board_tick_rate' above.
-+ * NOTE: this can be tweaked to match the actual crystal on a particular
-+ * machine.
-+ */
-+volatile u32 ixp4xx_board_tick_rate = 66666600;
-+EXPORT_SYMBOL(ixp4xx_board_tick_rate);
-+
-+/* The set API may run asynchronously in the presence of interrupts,
-+ * everything it does it is both atomic and complete (notice that it
-+ * doesn't change any of the 'volatile' values).  The mathematics in
-+ * here require the following values.  Changing the board tick rate
-+ * implies an unknown error in the current timestamp tick count.
-+ */
-+#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1
-+#     error unexpected value for timer reload mask
-+#endif
-+static void set_board_tick_rate(u32 rate) {
-+      u32 reload;
-+
-+      /* Store the two effectively informational rate values, the
-+       * error calculation is (rate - count*HZ) (above), and rate
-+       * is changed first, this can cause a temporary error which
-+       * will be corrected on the next interrupt.
-+       */
-+      board_tick_rate = rate;
-+      board_tick_per_1000 = (rate+500)/1000;
-+
-+      /* Calculate the correct value to load into the timer countdown
-+       * register, the low two bits must be b01 (to enable the timer).
-+       * Select the top bits to be as close to the desired value as
-+       * possible.
-+       *
-+       * First find the best value, regardless of the low two bits -
-+       * this is the value used in the interrupt calculation even though
-+       * it cannot necessarily be set into the register.
-+       */
-+      timer_count = (rate + (HZ/2))/HZ;
-+
-+      /* Now the timer_ticks are being generated at this rate, calculate
-+       * an appropriate value for the register.  This stores a 30 bit
-+       * value which gives a period of 4*x+1, we want:
-+       *
-+       *   4*x+1 = board_tick_rate/HZ
-+       *
-+       * This needs to be rounded to the closest 4*HZ value:
-+       * 
-+       *   x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ
-+       *   x = (board_tick_rate+HZ) / (4*HZ);
-+       */
-+      reload = (board_tick_rate + HZ) / HZ;
-+      reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+      *IXP4XX_OSRT1 = reload;
--static unsigned volatile last_jiffy_time;
-+      /* If the clock is drifing, look in syslog: */
-+      printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload);
-+}
--#define CLOCK_TICKS_PER_USEC  ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
-+/* This returns the time in timer ticks since the 'last_timer_time'
-+ * recorded above.  Use this to avoid arithmetic errors because of
-+ * the overflow when the timer wraps.
-+ */
-+static inline u32 ixp4xx_timer_delta(void)
-+{
-+      return *IXP4XX_OSTS - last_timer_time;
-+}
- /* IRQs are disabled before entering here from do_gettimeofday() */
- static unsigned long ixp4xx_gettimeoffset(void)
- {
--      u32 elapsed;
--
--      elapsed = *IXP4XX_OSTS - last_jiffy_time;
-+      /* Return the offset of the current time from the last time
-+       * timer tick in microseconds.  This is only used for the
-+       * gettimeofday call.
-+       *
-+       * The result of this API is at most about 20000 (for a 50Hz
-+       * HZ - 20000 uS/tick), the input delta is at most about
-+       * 1.3M - 21 bits.
-+       */
-+      u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */
-+      /* return delta * 1000000 / board_tick_rate; */
-+      return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000;
-+}
--      return elapsed / CLOCK_TICKS_PER_USEC;
-+/* This is the correct adjustment to the counter to compensate for an
-+ * error iff timer_count-1 <= exact_count <= timer_count+1
-+ */
-+static inline int adjustment(int error) {
-+      if (error >= HZ)
-+              return 1;
-+      else if (error <= -HZ)
-+              return -1;
-+      return 0;
- }
- static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
- {
-+      u32 rate;
-+      u32 count;
-+      int error;
-+
-       write_seqlock(&xtime_lock);
-       /* Clear Pending Interrupt by writing '1' to it */
-       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
-+      /* If the board tick rate has been changed update the cached
-+       * value.
-+       */
-+      if (ixp4xx_board_tick_rate != board_tick_rate) {
-+              set_board_tick_rate(ixp4xx_board_tick_rate);
-+              accumulated_error = 0;
-+      }
-+
-       /*
-        * Catch up with the real idea of time
-+       *
-+       * board_tick_rate: actual ixp4xx ticks/second, read-only
-+       * accumulated_error: aggregate error/tick * HZ, read/write
-+       * timer_count: best ixp4xx ticks per timer_tick, read-only
-        */
--      while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
-+      rate = board_tick_rate;
-+      error = accumulated_error;
-+      count = timer_count;
-+      do {
-+              u32 adjusted_count = count + adjustment(error);
-+              if (ixp4xx_timer_delta() < adjusted_count)
-+                      break;
-               timer_tick(regs);
--              last_jiffy_time += LATCH;
--      }
-+              last_timer_time += adjusted_count;
-+              error += rate - adjusted_count*HZ;
-+      } while (1);
-+      accumulated_error = error;
-       write_sequnlock(&xtime_lock);
-@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq
-       .handler        = ixp4xx_timer_interrupt,
- };
-+u32 ixp4xx_get_board_tick_rate(void) {
-+      return board_tick_rate;
-+}
-+
-+EXPORT_SYMBOL(ixp4xx_get_board_tick_rate);
-+
-+void ixp4xx_set_board_tick_rate(u32 rate) {
-+      ixp4xx_board_tick_rate = rate;
-+}
-+
-+EXPORT_SYMBOL(ixp4xx_set_board_tick_rate);
-+
- static void __init ixp4xx_timer_init(void)
- {
-       /* Clear Pending Interrupt by writing '1' to it */
-       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
-       /* Setup the Timer counter value */
--      *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+      set_board_tick_rate(ixp4xx_board_tick_rate);
-       /* Reset time-stamp counter */
-       *IXP4XX_OSTS = 0;
--      last_jiffy_time = 0;
-+      last_timer_time = 0;
-+      accumulated_error = 0;
-       /* Connect the interrupt handler and enable the interrupt */
-       setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq);
-@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void)
-                               ARRAY_SIZE(ixp46x_devices));
-       }
- }
--
---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-@@ -119,6 +119,11 @@ static void nslu2_power_off(void)
- static void __init nslu2_init(void)
- {
-+      /* The NSLU2 has a 33MHz crystal on board - 1.01% different
-+       * from the typical value.
-+       */
-+      ixp4xx_set_board_tick_rate(66000000);
-+
-       ixp4xx_sys_init();
-       pm_power_off = nslu2_power_off;
---- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input
-       }
-       if (value > 20 && value < 32767)
--              count = (NSLU2_FREQ / (value*4)) - 1;
-+              count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1;
-       spin_lock_irqsave(&beep_lock, flags);
---- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-@@ -38,11 +38,6 @@
- #define NSLU2_PCI_INTD_PIN    8
--/* NSLU2 Timer */
--#define NSLU2_FREQ 66000000
--#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
--#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
--
- /* GPIO */
- #define NSLU2_GPIO0           0
---- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
-@@ -6,10 +6,23 @@
- #include <asm/hardware.h>
- /*
-- * We use IXP425 General purpose timer for our timer needs, it runs at 
-- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
-- * timer register ignores the bottom 2 bits of the LATCH value.
-+ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and
-+ * is the number of internal counts per timer interrupt.  Thus
-+ * CLOCK_TICK_RATE is LATCH*HZ.
-+ *
-+ * The actual values of these numbers do not matter, because they
-+ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed
-+ * point number), so the value here gives a LATCH of 1 and pretty
-+ * much guarantees to flush out any off-by-one errors.
-+ *
-+ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of
-+ * HZ, this is checked in the ixp4xx/common.c code.
-  */
--#define FREQ 66666666
--#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
-+#define CLOCK_TICK_RATE HZ
-+/* The following allow the exact board tick rate to be set and
-+ * discovered.  The value should be exactly twice the frequency
-+ * (in Hz) of the onboard crystal.
-+ */
-+extern u32 ixp4xx_get_board_tick_rate(void);
-+extern void ixp4xx_set_board_tick_rate(u32 new_rate);
diff --git a/packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch b/packages/linux/nslu2-kernel/2.6.14/28-spinlock-up.patch
deleted file mode 100644 (file)
index 3ae5178..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
---- linux-2.6.14-rc5/include/linux/spinlock_up.h       2005-10-26 08:37:20.164248408 -0700
-+++ patched/include/linux/spinlock_up.h        2005-10-26 12:15:13.458898975 -0700
-@@ -47,6 +47,14 @@ static inline void __raw_spin_unlock(raw
-       lock->slock = 1;
- }
-+#else /* DEBUG_SPINLOCK */
-+#define __raw_spin_is_locked(lock)    ((void)(lock), 0)
-+/* for sched.c and kernel_lock.c: */
-+# define __raw_spin_lock(lock)                do { (void)(lock); } while (0)
-+# define __raw_spin_unlock(lock)      do { (void)(lock); } while (0)
-+# define __raw_spin_trylock(lock)     ({ (void)(lock); 1; })
-+#endif /* DEBUG_SPINLOCK */
-+
- /*
-  * Read-write spinlocks. No debug version.
-  */
-@@ -57,14 +65,6 @@ static inline void __raw_spin_unlock(raw
- #define __raw_read_unlock(lock)               do { (void)(lock); } while (0)
- #define __raw_write_unlock(lock)      do { (void)(lock); } while (0)
--#else /* DEBUG_SPINLOCK */
--#define __raw_spin_is_locked(lock)    ((void)(lock), 0)
--/* for sched.c and kernel_lock.c: */
--# define __raw_spin_lock(lock)                do { (void)(lock); } while (0)
--# define __raw_spin_unlock(lock)      do { (void)(lock); } while (0)
--# define __raw_spin_trylock(lock)     ({ (void)(lock); 1; })
--#endif /* DEBUG_SPINLOCK */
--
- #define __raw_read_can_lock(lock)     (((void)(lock), 1))
- #define __raw_write_can_lock(lock)    (((void)(lock), 1))
diff --git a/packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch b/packages/linux/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch
deleted file mode 100644 (file)
index 93e0705..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-2.6.14-rc5/net/ipv4/route.c  2005-10-26 08:37:20.752285410 -0700
-+++ patched/net/ipv4/route.c   2005-10-26 12:17:00.761651111 -0700
-@@ -231,7 +231,7 @@ static spinlock_t  *rt_hash_locks;
-                       spin_lock_init(&rt_hash_locks[i]); \
-               }
- #else
--# define rt_hash_lock_addr(slot) NULL
-+# define rt_hash_lock_addr(slot) ((spinlock_t*)NULL)
- # define rt_hash_lock_init()
- #endif
diff --git a/packages/linux/nslu2-kernel/2.6.14/30-i2c-x1205.patch b/packages/linux/nslu2-kernel/2.6.14/30-i2c-x1205.patch
deleted file mode 100644 (file)
index 1e775ba..0000000
+++ /dev/null
@@ -1,714 +0,0 @@
-diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Kconfig test9/drivers/i2c/chips/Kconfig
---- linux-2.6.14-rc3/drivers/i2c/chips/Kconfig 2005-10-01 13:46:50.000000000 +0200
-+++ test9/drivers/i2c/chips/Kconfig    2005-10-03 16:10:22.000000000 +0200
-@@ -126,4 +126,13 @@
-         This driver can also be built as a module.  If so, the module
-         will be called max6875.
-+config SENSORS_X1205
-+       tristate "Xicor X1205 RTC chip"
-+       depends on I2C
-+       help
-+         If you say yes here you get support for the Xicor X1205 RTC chip.
-+
-+         This driver can also be built as a module.  If so, the module
-+         will be called x1205
-+
- endmenu
-diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Makefile test9/drivers/i2c/chips/Makefile
---- linux-2.6.14-rc3/drivers/i2c/chips/Makefile        2005-09-17 12:42:33.000000000 +0200
-+++ test9/drivers/i2c/chips/Makefile   2005-10-01 15:30:06.000000000 +0200
-@@ -13,6 +13,7 @@
- obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o
- obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
- obj-$(CONFIG_TPS65010)                += tps65010.o
-+obj-$(CONFIG_SENSORS_X1205)     += x1205.o
- ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
- EXTRA_CFLAGS += -DDEBUG
-diff -urN linux-2.6.14-rc3/drivers/i2c/chips/x1205.c test9/drivers/i2c/chips/x1205.c
---- linux-2.6.14-rc3/drivers/i2c/chips/x1205.c 1970-01-01 01:00:00.000000000 +0100
-+++ test9/drivers/i2c/chips/x1205.c    2005-10-03 16:02:57.000000000 +0200
-@@ -0,0 +1,612 @@
-+/*
-+ *  linux/drivers/i2c/chips/x1205.c
-+ *
-+ *  x1205.c - An 12c driver for the Xicor X1205 RTC
-+ *  Copyright 2004 Karen Spearel
-+ *  Copyright 2005 Alessandro Zummo
-+ *
-+ *  please send all reports to:
-+ *    kas11 at tampabay dot rr dot com
-+ *      a dot zummo at towertech dot it
-+ *     
-+ *  based on the other drivers in this same directory.
-+ *   
-+ *  This program is free software; you can redistribute it and/or modify
-+ *  it under the terms of the GNU General Public License as published by
-+ *  the Free Software Foundation; either version 2 of the License, or
-+ *  (at your option) any later version.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/i2c.h>
-+#include <linux/string.h>
-+#include <linux/bcd.h>
-+#include <linux/rtc.h>
-+#include <linux/list.h>
-+
-+#include <linux/x1205.h>
-+
-+#define       EPOCH_1900      1900
-+#define       EPOCH_1970      1970
-+
-+#define DRIVER_VERSION        "0.9.6"
-+#define DRIVER_NAME   (x1205_driver.name)
-+
-+
-+/* Addresses to scan */
-+static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END };
-+
-+/* Insmod parameters */
-+I2C_CLIENT_INSMOD;
-+I2C_CLIENT_MODULE_PARM(hctosys,
-+      "Set the system time from the hardware clock upon initialization");
-+
-+/* Prototypes */
-+
-+static int x1205_attach(struct i2c_adapter *adapter);
-+static int x1205_detach(struct i2c_client *client);
-+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
-+static int x1205_validate_client(struct i2c_client *client);
-+
-+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              u8 reg_base);
-+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              int datetoo, u8 reg_base);
-+static int x1205_validate_tm(struct rtc_time *tm);
-+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg);
-+static int x1205_hctosys(struct i2c_client *client);
-+
-+
-+static struct i2c_driver x1205_driver = {
-+      .owner          = THIS_MODULE,
-+      .name           = "x1205",
-+      .flags          = I2C_DF_NOTIFY,
-+      .attach_adapter = &x1205_attach,
-+      .detach_client  = &x1205_detach,
-+/*    .command        = &x1205_command,*/
-+};
-+
-+struct x1205_data {
-+      struct i2c_client client;
-+      struct list_head list;
-+      unsigned int epoch;
-+};
-+
-+
-+static const unsigned char days_in_mo[] = 
-+{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
-+
-+static LIST_HEAD(x1205_clients);
-+
-+/* Workaround until the I2C subsytem will allow to send
-+ * commands to a specific client. This function will send the command
-+ * to the first client.
-+ */
-+
-+int x1205_do_command(unsigned int cmd, void *arg)
-+{
-+      struct list_head *walk;
-+      struct list_head *tmp;
-+      struct x1205_data *data;
-+
-+      list_for_each_safe(walk, tmp, &x1205_clients) {
-+              data = list_entry(walk, struct x1205_data, list);
-+              return x1205_command(&data->client, cmd, arg);
-+      }
-+
-+      return -ENODEV;
-+}
-+
-+
-+/*
-+ * in the routines that deal directly with the x1205 hardware, we use
-+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
-+ * Epoch is inited as 2000. Time is set to UT
-+ */
-+
-+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              u8 reg_base)
-+{
-+      static unsigned char dt_addr[] = { 0, };
-+      static unsigned char sr_addr[] = { 0, };
-+
-+      unsigned char buf[8], sr;       
-+
-+      struct i2c_msg msgs[] = {
-+              { client->addr, 0, 2, sr_addr },        /* random read */
-+              { client->addr, I2C_M_RD, 1, &sr }, 
-+              { client->addr, 0, 2, dt_addr },        /* random read */
-+              { client->addr, I2C_M_RD, 8, buf },
-+      };
-+
-+      struct x1205_data *xdata = i2c_get_clientdata(client);
-+
-+      dt_addr[1] = reg_base;
-+      sr_addr[1] = X1205_REG_SR;
-+
-+      if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) ==
-+              ARRAY_SIZE(msgs)) {
-+              /* did we read the correct number of messages? */
-+
-+              /* check for battery failure */
-+              if (sr & X1205_SR_RTCF)
-+              {       
-+                      dev_info(&client->adapter->dev,
-+                              "%s: Clock had a power failure, you must set the date.\n",
-+                              DRIVER_NAME);
-+
-+                      return -EINVAL;
-+              }
-+
-+              dev_dbg(&client->dev,
-+                      "%s: raw read data - sec-%02x min-%02x hr-%02x"
-+                      " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", 
-+                      __FUNCTION__,
-+                      buf[0], buf[1], buf[2], buf[3],
-+                      buf[4], buf[5], buf[6], buf[7]);
-+
-+              tm->tm_sec  = BCD2BIN(buf[CCR_SEC]);
-+              tm->tm_min  = BCD2BIN(buf[CCR_MIN]);
-+              buf[CCR_HOUR] &= ~X1205_HR_MIL;
-+              tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */
-+              tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
-+              tm->tm_mon  = BCD2BIN(buf[CCR_MONTH]);
-+              xdata->epoch   = BCD2BIN(buf[CCR_Y2K]) * 100;
-+              tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900;
-+              tm->tm_wday = buf[CCR_WDAY];
-+
-+              dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
-+                      "mday=%d, mon=%d, year=%d, wday=%d\n",
-+                      __FUNCTION__,
-+                      tm->tm_sec, tm->tm_min, tm->tm_hour,
-+                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+      } else {
-+              dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }               
-+      
-+      return 0;
-+}
-+
-+
-+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              int datetoo, u8 reg_base)
-+{
-+      int i, err, xfer;
-+
-+      static unsigned char wel[3]   = { 0, X1205_REG_SR,
-+                                      X1205_SR_WEL };
-+
-+
-+      static unsigned char rwel[3]  = { 0, X1205_REG_SR,
-+                                      X1205_SR_WEL | X1205_SR_RWEL };
-+
-+      static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
-+
-+      static unsigned char data[3]  = { 0, };
-+      static unsigned char buf[8];
-+
-+      struct x1205_data *xdata = i2c_get_clientdata(client);
-+
-+      if ((err = x1205_validate_tm(tm)) < 0)
-+              return err;
-+
-+      dev_dbg(&client->dev, "%s: secs=%d, mins=%d, hours=%d, "
-+              "mday=%d, mon=%d, year=%d, wday=%d\n",
-+              __FUNCTION__,
-+              tm->tm_sec, tm->tm_min, tm->tm_hour,
-+              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+
-+      buf[CCR_SEC]  = BIN2BCD(tm->tm_sec);
-+      buf[CCR_MIN]  = BIN2BCD(tm->tm_min);
-+
-+      /* Set 24HR format */
-+      buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
-+
-+      if (datetoo == X1205_DATETOO) {
-+              buf[CCR_MDAY]  = BIN2BCD(tm->tm_mday);
-+
-+              /* month, 0 - 11 */
-+              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);   /* input is 0-11 */
-+
-+              /* year, since 1900 */
-+              buf[CCR_YEAR]  = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch));
-+              buf[CCR_WDAY]  = tm->tm_wday & 7;
-+              buf[CCR_Y2K]   = BIN2BCD(xdata->epoch / 100);
-+      }
-+
-+      xfer = i2c_master_send(client, wel, 3);
-+      dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-+              return -EIO;
-+
-+      xfer = i2c_master_send(client, rwel, 3);
-+      dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-+              return -EIO;
-+
-+      for (i = 0; i < 8; i++) {
-+              data[1] = i + reg_base;
-+              data[2] =  buf[i];
-+              xfer = i2c_master_send(client, data, 3);
-+
-+              dev_dbg(&client->dev, "%s: xfer %d addr, %02x,  data %02x\n",
-+                      __FUNCTION__,
-+                       xfer, data[1], data[2]);
-+
-+              if (xfer != 3)
-+                      return -EIO;
-+      };
-+
-+      xfer = i2c_master_send(client, diswe, 3);
-+      dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer);
-+      if (xfer != 3)
-+              return -EIO;            
-+
-+      return 0;
-+}
-+
-+static int x1205_hctosys(struct i2c_client *client)
-+{
-+      int err;
-+
-+      struct rtc_time tm;
-+      struct timespec tv;
-+      
-+
-+      err = x1205_command(client, X1205_CMD_GETDATETIME, &tm);
-+
-+      if (err)
-+      {
-+              dev_info(&client->adapter->dev,
-+                      "%s: Unable to set the system clock\n",
-+                      DRIVER_NAME);
-+
-+              return err;
-+
-+      }
-+
-+      /* IMPORTANT: the RTC only stores whole seconds.  It is arbitrary whether
-+       * it stores the most close value or the value with partial seconds
-+       * truncated, however it is important for x1205_sync_rtc that it be
-+       * defined to store the truncated value.  This is because otherwise it
-+       * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the
-+       * sync function, and atomic reads of >32bits on ARM are not possible.
-+       * So storing the most close value would slow down the sync API.  So
-+       * Here we have the truncated value and the best guess is to add 0.5s
-+       */
-+
-+      tv.tv_nsec = NSEC_PER_SEC >> 1;
-+
-+      /* WARNING: this is not the C library 'mktime' call, it is a built in
-+       * inline function from include/linux/time.h.  It expects (requires)
-+       * the month to be in the range 1-12
-+       */
-+
-+      tv.tv_sec  = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
-+                              tm.tm_mday, tm.tm_hour,
-+                              tm.tm_min, tm.tm_sec);
-+
-+      do_settimeofday(&tv);
-+
-+      dev_info(&client->adapter->dev,
-+              "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n",
-+              DRIVER_NAME,
-+              tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
-+              tm.tm_mday, tm.tm_hour, tm.tm_min,
-+              tm.tm_sec);
-+
-+      return 0;
-+}
-+
-+struct x1205_limit
-+{
-+      unsigned char reg;
-+      unsigned char mask;
-+      unsigned char min;      
-+      unsigned char max;
-+};
-+
-+static int x1205_validate_client(struct i2c_client *client)
-+{
-+      int i, xfer;
-+
-+      /* Probe array. We will read the register at the specified
-+       * address and check if the given bits are zero.
-+       */
-+
-+      const unsigned char probe_zero_pattern[] = {
-+
-+              X1205_REG_SR,   0x18,
-+              X1205_REG_Y2K,  0xC6,
-+              X1205_REG_DW,   0xF8,
-+              X1205_REG_MO,   0xE0,
-+              X1205_REG_DT,   0xC0,
-+              X1205_REG_HR,   0x40,
-+              X1205_REG_MN,   0x80,
-+              X1205_REG_SC,   0x80,
-+              X1205_REG_DTR,  0xF8,
-+              X1205_REG_ATR,  0xC0,
-+              X1205_REG_INT,  0x18,
-+              X1205_REG_0,    0xFF,
-+              X1205_REG_Y2K1, 0xC6,
-+              X1205_REG_DWA1, 0x78,
-+              X1205_REG_MOA1, 0x60,
-+              X1205_REG_DTA1, 0x40,
-+              X1205_REG_HRA1, 0x40,
-+              X1205_REG_Y2K0, 0xC6,
-+              X1205_REG_DWA0, 0x78,
-+              X1205_REG_MOA0, 0x60,
-+              X1205_REG_DTA0, 0x40,
-+              X1205_REG_HRA0, 0x40,
-+      };
-+
-+      const struct x1205_limit probe_limits_pattern[] = {
-+              /* register, mask, min, max */
-+              { X1205_REG_Y2K,        0xFF,   19,     20      },
-+              { X1205_REG_DW,         0xFF,   0,      6       },
-+              { X1205_REG_YR,         0xFF,   0,      99      },
-+              { X1205_REG_MO,         0xFF,   0,      12      },
-+              { X1205_REG_DT,         0xFF,   0,      31      },
-+              { X1205_REG_HR,         0x7F,   0,      23      },
-+              { X1205_REG_MN,         0xFF,   0,      59      },
-+              { X1205_REG_SC,         0xFF,   0,      59      },
-+              { X1205_REG_Y2K1,       0xFF,   19,     20      },
-+              { X1205_REG_DWA1,       0x7F,   0,      6       },
-+              { X1205_REG_MOA1,       0x7F,   0,      12      },
-+              { X1205_REG_DTA1,       0x7F,   0,      31      },
-+              { X1205_REG_HRA1,       0x7F,   0,      23      },
-+              { X1205_REG_MNA1,       0x7F,   0,      59      },
-+              { X1205_REG_SCA1,       0x7F,   0,      59      },
-+              { X1205_REG_Y2K0,       0xFF,   19,     20      },
-+              { X1205_REG_DWA0,       0x7F,   0,      6       },
-+              { X1205_REG_MOA0,       0x7F,   0,      12      },
-+              { X1205_REG_DTA0,       0x7F,   0,      31      },
-+              { X1205_REG_HRA0,       0x7F,   0,      23      },
-+              { X1205_REG_MNA0,       0x7F,   0,      59      },
-+              { X1205_REG_SCA0,       0x7F,   0,      59      },
-+      };
-+
-+      /* check that registers have bits a 0 where expected */
-+
-+      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2)
-+      {
-+              unsigned char buf;
-+
-+              static unsigned char addr[2];
-+
-+              struct i2c_msg msgs[2] = {
-+                      { client->addr, 0, 2, addr },   /* random read */
-+                      { client->addr, I2C_M_RD, 1, &buf },
-+              };
-+
-+              addr[0] = 0x00;
-+              addr[1] = probe_zero_pattern[i];
-+
-+              xfer = i2c_transfer(client->adapter, msgs, 2);
-+
-+              if (xfer != 2) {
-+                      dev_dbg(&client->adapter->dev, 
-+                              "%s: could not read register %x\n",
-+                              __FUNCTION__, addr[1]);
-+
-+                      return -EIO;
-+              }
-+
-+              if ((buf & probe_zero_pattern[i+1]) != 0) {
-+                      dev_dbg(&client->adapter->dev,
-+                              "%s: register %x, zero pattern %d: %x\n",
-+                              __FUNCTION__, addr[1], i, buf);
-+
-+                      return -ENODEV;
-+              }
-+      }
-+
-+      /* check limits */
-+
-+      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++)
-+      {
-+              unsigned char buf, val;
-+
-+              static unsigned char addr[2];
-+
-+              struct i2c_msg msgs[2] = {
-+                      { client->addr, 0, 2, addr },   /* random read */
-+                      { client->addr, I2C_M_RD, 1, &buf },
-+              };
-+
-+              addr[0] = 0x00;
-+              addr[1] = probe_limits_pattern[i].reg;
-+
-+              xfer = i2c_transfer(client->adapter, msgs, 2);
-+
-+              if (xfer != 2) {
-+                      dev_dbg(&client->adapter->dev, 
-+                              "%s: could not read register %x\n",
-+                              __FUNCTION__, addr[1]);
-+
-+                      return -EIO;
-+              }
-+
-+              val = BCD2BIN(buf & probe_limits_pattern[i].mask);
-+
-+              if (val > probe_limits_pattern[i].max ||
-+                      val < probe_limits_pattern[i].min) {
-+                      dev_dbg(&client->adapter->dev,
-+                              "%s: register %x, lim pattern %d: %d\n",
-+                              __FUNCTION__, addr[1], i, val);
-+
-+                      return -ENODEV;
-+              }
-+      }
-+
-+      return 0;
-+}
-+
-+static int x1205_attach(struct i2c_adapter *adapter)
-+{
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      return i2c_probe(adapter, &addr_data, x1205_probe);
-+}
-+
-+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
-+{
-+      struct i2c_client *new_client;
-+      struct x1205_data *xdata;
-+
-+      int err = 0;
-+
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
-+              err = -ENOMEM;
-+              goto exit;
-+      }
-+
-+      /* Fill our data structure */
-+
-+      memset(xdata, 0, sizeof(struct x1205_data));
-+
-+      xdata->epoch = 2000;
-+
-+
-+      /* Prepare i2c_client structure */
-+
-+      new_client              = &xdata->client;
-+      i2c_set_clientdata(new_client, xdata);
-+      new_client->addr        = address;
-+      new_client->adapter     = adapter;
-+      new_client->driver      = &x1205_driver;
-+      new_client->flags       = 0;
-+      
-+      strlcpy(new_client->name, "x1205", I2C_NAME_SIZE);
-+
-+
-+      /* Verify the chip is really an X1205 */
-+
-+      if (kind < 0)
-+      {
-+              if (x1205_validate_client(new_client) < 0) {
-+                      err = -ENODEV;
-+                      goto exit_kfree;
-+              }
-+      }
-+
-+      /* Inform the i2c layer */
-+      if ((err = i2c_attach_client(new_client)))
-+              goto exit_kfree;
-+
-+      list_add(&xdata->list, &x1205_clients);
-+
-+      dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n",
-+                      DRIVER_NAME);
-+
-+      /* If requested, se the system time */
-+      if (hctosys)
-+              x1205_hctosys(new_client);
-+
-+      return 0;
-+
-+exit_kfree:
-+      kfree(xdata);
-+
-+exit:
-+      return err;
-+}
-+
-+static int x1205_detach(struct i2c_client *client)
-+{
-+      int err;
-+      struct x1205_data *data = i2c_get_clientdata(client);
-+      
-+      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
-+
-+      if ((err = i2c_detach_client(client)))
-+              return err;
-+
-+      list_del(&data->list);
-+      kfree(data);
-+      return 0;
-+}
-+
-+/* make sure the rtc_time values are in bounds */
-+static int x1205_validate_tm(struct rtc_time *tm)
-+{
-+      tm->tm_year += 1900;
-+
-+      if (tm->tm_year < EPOCH_1970)
-+              return -EINVAL;
-+
-+      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
-+              return -EINVAL;
-+
-+      if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && 
-+              ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400)))))
-+              return -EINVAL;
-+
-+      if ((tm->tm_year -= EPOCH_1900) > 255)
-+              return -EINVAL;
-+                      
-+      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
-+              return -EINVAL;
-+
-+      return 0;
-+}
-+
-+static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm)
-+{
-+      if (client == NULL || tm == NULL)
-+              return -EINVAL;
-+
-+      if (!capable(CAP_SYS_TIME))
-+              return -EACCES;
-+
-+      dev_dbg(&client->dev, "%s: cmd=%d\n", __FUNCTION__, cmd);
-+
-+      switch (cmd) {
-+      case X1205_CMD_GETDATETIME:
-+              return x1205_get_datetime(client, tm, X1205_CCR_BASE);
-+
-+      case X1205_CMD_SETTIME:
-+              return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE);
-+
-+      case X1205_CMD_SETDATETIME:
-+              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE);
-+
-+      case X1205_CMD_GETALARM:
-+              return x1205_get_datetime(client, tm, X1205_ALM0_BASE);
-+
-+      case X1205_CMD_SETALARM:
-+              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE);
-+
-+      default:
-+              return -EINVAL;
-+      }
-+}
-+
-+
-+static int __init x1205_init(void)
-+{
-+      return i2c_add_driver(&x1205_driver);
-+}
-+
-+static void __exit x1205_exit(void)
-+{
-+      i2c_del_driver(&x1205_driver);
-+}
-+
-+MODULE_AUTHOR(
-+      "Karen Spearel <kas11@tampabay.rr.com>, "
-+      "Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("Xicor X1205 RTC driver");
-+MODULE_LICENSE("GPL");
-+
-+EXPORT_SYMBOL_GPL(x1205_do_command);
-+
-+module_init(x1205_init);
-+module_exit(x1205_exit);
---- linux-2.6.14-rc3/include/linux/x1205.h     1970-01-01 01:00:00.000000000 +0100
-+++ test9/include/linux/x1205.h        2005-10-03 15:38:21.000000000 +0200
-@@ -0,0 +1,67 @@
-+
-+/* commands */
-+
-+#define       X1205_CMD_GETDATETIME   0
-+#define       X1205_CMD_SETTIME       1
-+#define       X1205_CMD_SETDATETIME   2
-+#define X1205_CMD_GETALARM    3
-+#define X1205_CMD_SETALARM    4
-+
-+/* flags */
-+
-+#define       X1205_NODATE            0
-+#define       X1205_DATETOO           1
-+
-+/*  offsets into read buf - add 2 for write buf */
-+
-+#define       CCR_SEC                 0
-+#define       CCR_MIN                 1
-+#define       CCR_HOUR                2
-+#define       CCR_MDAY                3
-+#define       CCR_MONTH               4
-+#define       CCR_YEAR                5
-+#define       CCR_WDAY                6
-+#define       CCR_Y2K                 7
-+
-+#define       X1205_REG_SR            0x3F    /* status register */
-+#define       X1205_REG_Y2K           0x37
-+#define       X1205_REG_DW            0x36
-+#define       X1205_REG_YR            0x35
-+#define       X1205_REG_MO            0x34
-+#define       X1205_REG_DT            0x33
-+#define       X1205_REG_HR            0x32
-+#define       X1205_REG_MN            0x31
-+#define       X1205_REG_SC            0x30
-+#define       X1205_REG_DTR           0x13
-+#define       X1205_REG_ATR           0x12
-+#define       X1205_REG_INT           0x11
-+#define       X1205_REG_0             0x10
-+#define       X1205_REG_Y2K1          0x0F
-+#define       X1205_REG_DWA1          0x0E
-+#define       X1205_REG_YRA1          0x0D
-+#define       X1205_REG_MOA1          0x0C
-+#define       X1205_REG_DTA1          0x0B
-+#define       X1205_REG_HRA1          0x0A
-+#define       X1205_REG_MNA1          0x09
-+#define       X1205_REG_SCA1          0x08
-+#define       X1205_REG_Y2K0          0x07
-+#define       X1205_REG_DWA0          0x06
-+#define       X1205_REG_YRA0          0x05
-+#define       X1205_REG_MOA0          0x04
-+#define       X1205_REG_DTA0          0x03
-+#define       X1205_REG_HRA0          0x02
-+#define       X1205_REG_MNA0          0x01
-+#define       X1205_REG_SCA0          0x00
-+
-+#define       X1205_I2C_BUS_ADDR      0x6f    /* hardwired into x1205 */
-+#define       X1205_CCR_BASE          0x30    /* Base address of CCR */
-+#define       X1205_ALM0_BASE         0x00    /* Base address of ALARM0 */
-+
-+#define X1205_SR_RTCF         0x01
-+#define       X1205_SR_WEL            0x02    /* Write Enable Latch bit */
-+#define       X1205_SR_RWEL           0x04    /* Register Write Enable Bit */
-+
-+#define       X1205_HR_MIL            0x80    /* set in ccr.hour for 24 hr mode */
-+
-+extern int x1205_do_command(unsigned int cmd, void *arg);
-+
diff --git a/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch b/packages/linux/nslu2-kernel/2.6.14/50-nslu2-arch.patch
deleted file mode 100644 (file)
index 038c71c..0000000
+++ /dev/null
@@ -1,461 +0,0 @@
---- linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
-@@ -8,6 +8,16 @@ menu "Intel IXP4xx Implementation Option
- comment "IXP4xx Platforms"
-+# This entry is placed on top because otherwise it would have
-+# been shown as a submenu.
-+config MACH_NSLU2
-+      bool
-+      prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715)
-+      help
-+        Say 'Y' here if you want your kernel to support Linksys's
-+        NSLU2 NAS device. For more information on this platform,
-+        see http://www.nslu2-linux.org
-+
- config ARCH_AVILA
-       bool "Avila"
-       help
---- linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-@@ -8,4 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
- obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
- obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
-+obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c      1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c      1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,77 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-pci.c
-+ *
-+ * NSLU2 board-level PCI initialization
-+ *
-+ * based on ixdp425-pci.c:
-+ *    Copyright (C) 2002 Intel Corporation.
-+ *    Copyright (C) 2003-2004 MontaVista Software, Inc.
-+ *
-+ * Maintainer: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/pci.h>
-+#include <linux/init.h>
-+
-+#include <asm/mach/pci.h>
-+#include <asm/mach-types.h>
-+
-+void __init nslu2_pci_preinit(void)
-+{
-+      set_irq_type(IRQ_NSLU2_PCI_INTA, IRQT_LOW);
-+      set_irq_type(IRQ_NSLU2_PCI_INTB, IRQT_LOW);
-+      set_irq_type(IRQ_NSLU2_PCI_INTC, IRQT_LOW);
-+
-+      gpio_line_isr_clear(NSLU2_PCI_INTA_PIN);
-+      gpio_line_isr_clear(NSLU2_PCI_INTB_PIN);
-+      gpio_line_isr_clear(NSLU2_PCI_INTC_PIN);
-+
-+      /* INTD is not configured as GPIO is used
-+       * for the power input button.
-+       */
-+
-+      ixp4xx_pci_preinit();
-+}
-+
-+static int __init nslu2_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
-+{
-+      static int pci_irq_table[NSLU2_PCI_IRQ_LINES] = {
-+              IRQ_NSLU2_PCI_INTA,
-+              IRQ_NSLU2_PCI_INTB,
-+              IRQ_NSLU2_PCI_INTC,
-+      };
-+
-+      int irq = -1;
-+
-+      if (slot >= 1 && slot <= NSLU2_PCI_MAX_DEV &&
-+              pin >= 1 && pin <= NSLU2_PCI_IRQ_LINES) {
-+                      irq = pci_irq_table[(slot + pin - 2) % NSLU2_PCI_IRQ_LINES];
-+      }
-+
-+      return irq;
-+}
-+
-+struct hw_pci __initdata nslu2_pci = {
-+      .nr_controllers = 1,
-+      .preinit        = nslu2_pci_preinit,
-+      .swizzle        = pci_std_swizzle,
-+      .setup          = ixp4xx_setup,
-+      .scan           = ixp4xx_scan_bus,
-+      .map_irq        = nslu2_map_irq,
-+};
-+
-+int __init nslu2_pci_init(void) /* monkey see, monkey do */
-+{
-+      if (machine_is_nslu2())
-+              pci_common_init(&nslu2_pci);
-+
-+      return 0;
-+}
-+
-+subsys_initcall(nslu2_pci_init);
---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c    1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,92 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-power.c
-+ *
-+ * NSLU2 Power/Reset driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on nslu2-io.c
-+ *  Copyright (C) 2004 Karen Spearel
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/reboot.h>
-+#include <linux/interrupt.h>
-+
-+#include <asm/mach-types.h>
-+
-+extern void ctrl_alt_del(void);
-+
-+static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+      /* Signal init to do the ctrlaltdel action, this will bypass init if
-+       * it hasn't started and do a kernel_restart.
-+       */
-+      ctrl_alt_del();
-+
-+      return IRQ_HANDLED;
-+}
-+
-+static irqreturn_t nslu2_reset_handler(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+      /* This is the paper-clip reset, it shuts the machine down directly.
-+       */
-+      machine_power_off();
-+
-+      return IRQ_HANDLED;
-+}
-+
-+static int __init nslu2_power_init(void)
-+{
-+      if (!(machine_is_nslu2()))
-+              return 0;
-+
-+      *IXP4XX_GPIO_GPISR = 0x20400000;        /* read the 2 irqs to clr */
-+
-+      set_irq_type(NSLU2_RB_IRQ, IRQT_LOW);
-+      set_irq_type(NSLU2_PB_IRQ, IRQT_HIGH);
-+
-+      gpio_line_isr_clear(NSLU2_RB_GPIO);
-+      gpio_line_isr_clear(NSLU2_PB_GPIO);
-+
-+      if (request_irq(NSLU2_RB_IRQ, &nslu2_reset_handler,
-+              SA_INTERRUPT, "NSLU2 reset button", NULL) < 0) {
-+
-+              printk(KERN_DEBUG "Reset Button IRQ %d not available\n",
-+                      NSLU2_RB_IRQ);
-+
-+              return -EIO;
-+      }
-+
-+      if (request_irq(NSLU2_PB_IRQ, &nslu2_power_handler,
-+              SA_INTERRUPT, "NSLU2 power button", NULL) < 0) {
-+
-+              printk(KERN_DEBUG "Power Button IRQ %d not available\n",
-+                      NSLU2_PB_IRQ);
-+
-+              return -EIO;
-+      }
-+
-+      return 0;
-+}
-+
-+static void __exit nslu2_power_exit(void)
-+{
-+      free_irq(NSLU2_RB_IRQ, NULL);
-+      free_irq(NSLU2_PB_IRQ, NULL);
-+}
-+
-+module_init(nslu2_power_init);
-+module_exit(nslu2_power_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("NSLU2 Power/Reset driver");
-+MODULE_LICENSE("GPL");
---- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,134 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-setup.c
-+ *
-+ * NSLU2 board-setup
-+ *
-+ * based ixdp425-setup.c:
-+ *      Copyright (C) 2003-2004 MontaVista Software, Inc.
-+ *
-+ * Author: Mark Rakes <mrakes at mac.com>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * Fixed missing init_time in MACHINE_START kas11 10/22/04
-+ * Changed to conform to new style __init ixdp425 kas11 10/22/04
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/serial.h>
-+#include <linux/serial_8250.h>
-+
-+#include <asm/mach-types.h>
-+#include <asm/mach/arch.h>
-+#include <asm/mach/flash.h>
-+
-+static struct flash_platform_data nslu2_flash_data = {
-+      .map_name               = "cfi_probe",
-+      .width                  = 2,
-+};
-+
-+static struct resource nslu2_flash_resource = {
-+      .start                  = NSLU2_FLASH_BASE,
-+      .end                    = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE,
-+      .flags                  = IORESOURCE_MEM,
-+};
-+
-+static struct platform_device nslu2_flash = {
-+      .name                   = "IXP4XX-Flash",
-+      .id                     = 0,
-+      .dev.platform_data      = &nslu2_flash_data,
-+      .num_resources          = 1,
-+      .resource               = &nslu2_flash_resource,
-+};
-+
-+static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = {
-+      .sda_pin                = NSLU2_SDA_PIN,
-+      .scl_pin                = NSLU2_SCL_PIN,
-+};
-+
-+static struct platform_device nslu2_i2c_controller = {
-+      .name                   = "IXP4XX-I2C",
-+      .id                     = 0,
-+      .dev.platform_data      = &nslu2_i2c_gpio_pins,
-+      .num_resources          = 0,
-+};
-+
-+static struct resource nslu2_uart_resources[] = {
-+      {
-+              .start          = IXP4XX_UART1_BASE_PHYS,
-+              .end            = IXP4XX_UART1_BASE_PHYS + 0x0fff,
-+              .flags          = IORESOURCE_MEM,
-+      },
-+      {
-+              .start          = IXP4XX_UART2_BASE_PHYS,
-+              .end            = IXP4XX_UART2_BASE_PHYS + 0x0fff,
-+              .flags          = IORESOURCE_MEM,
-+      }
-+};
-+
-+static struct plat_serial8250_port nslu2_uart_data[] = {
-+      {
-+              .mapbase        = IXP4XX_UART1_BASE_PHYS,
-+              .membase        = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
-+              .irq            = IRQ_IXP4XX_UART1,
-+              .flags          = UPF_BOOT_AUTOCONF,
-+              .iotype         = UPIO_MEM,
-+              .regshift       = 2,
-+              .uartclk        = IXP4XX_UART_XTAL,
-+      },
-+      {
-+              .mapbase        = IXP4XX_UART2_BASE_PHYS,
-+              .membase        = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
-+              .irq            = IRQ_IXP4XX_UART2,
-+              .flags          = UPF_BOOT_AUTOCONF,
-+              .iotype         = UPIO_MEM,
-+              .regshift       = 2,
-+              .uartclk        = IXP4XX_UART_XTAL,
-+      },
-+      { }
-+};
-+
-+static struct platform_device nslu2_uart = {
-+      .name                   = "serial8250",
-+      .id                     = PLAT8250_DEV_PLATFORM,
-+      .dev.platform_data      = nslu2_uart_data,
-+      .num_resources          = 2,
-+      .resource               = nslu2_uart_resources,
-+};
-+
-+static struct platform_device *nslu2_devices[] __initdata = {
-+      &nslu2_i2c_controller,
-+      &nslu2_flash,
-+      &nslu2_uart,
-+};
-+
-+static void nslu2_power_off(void)
-+{
-+      /* This causes the box to drop the power and go dead. */
-+
-+      /* enable the pwr cntl gpio */
-+      gpio_line_config(NSLU2_PO_GPIO, IXP4XX_GPIO_OUT);
-+
-+      /* do the deed */
-+      gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH);
-+}
-+
-+static void __init nslu2_init(void)
-+{
-+      ixp4xx_sys_init();
-+
-+      pm_power_off = nslu2_power_off;
-+
-+      platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices));
-+}
-+
-+MACHINE_START(NSLU2, "Linksys NSLU2")
-+      /* Maintainer: www.nslu2-linux.org */
-+      .phys_ram       = PHYS_OFFSET,
-+      .phys_io        = IXP4XX_PERIPHERAL_BASE_PHYS,
-+      .io_pg_offst    = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC,
-+      .boot_params    = 0x00000100,
-+      .map_io         = ixp4xx_map_io,
-+      .init_irq       = ixp4xx_init_irq,
-+      .timer          = &ixp4xx_timer,
-+      .init_machine   = nslu2_init,
-+MACHINE_END
---- linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h        1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h        1970-01-01 00:00:00.000000000 +0000
-@@ -44,5 +44,6 @@ extern unsigned int processor_id;
- #include "ixdp425.h"
- #include "coyote.h"
- #include "prpmc1100.h"
-+#include "nslu2.h"
- #endif  /* _ASM_ARCH_HARDWARE_H */
---- linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h    1970-01-01 00:00:00.000000000 +0000
-@@ -93,4 +93,11 @@
- #define       IRQ_COYOTE_PCI_SLOT1    IRQ_IXP4XX_GPIO11
- #define       IRQ_COYOTE_IDE          IRQ_IXP4XX_GPIO5
-+/*
-+ * NSLU2 board IRQs
-+ */
-+#define        IRQ_NSLU2_PCI_INTA      IRQ_IXP4XX_GPIO11
-+#define        IRQ_NSLU2_PCI_INTB      IRQ_IXP4XX_GPIO10
-+#define        IRQ_NSLU2_PCI_INTC      IRQ_IXP4XX_GPIO9
-+
- #endif
---- linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,96 @@
-+/*
-+ * include/asm-arm/arch-ixp4xx/nslu2.h
-+ *
-+ * NSLU2 platform specific definitions
-+ *
-+ * Author: Mark Rakes <mrakes AT mac.com>
-+ * Maintainers: http://www.nslu2-linux.org
-+ *
-+ * based on ixdp425.h:
-+ *    Copyright 2004 (c) MontaVista, Software, Inc.
-+ *
-+ * This file is licensed under  the terms of the GNU General Public
-+ * License version 2. This program is licensed "as is" without any
-+ * warranty of any kind, whether express or implied.
-+ */
-+
-+#ifndef __ASM_ARCH_HARDWARE_H__
-+#error "Do not include this directly, instead #include <asm/hardware.h>"
-+#endif
-+
-+#define NSLU2_FLASH_BASE      IXP4XX_EXP_BUS_CS0_BASE_PHYS
-+#define NSLU2_FLASH_SIZE      IXP4XX_EXP_BUS_CSX_REGION_SIZE
-+
-+#define NSLU2_SDA_PIN         7
-+#define NSLU2_SCL_PIN         6
-+
-+/*
-+ * NSLU2 PCI IRQs
-+ */
-+#define NSLU2_PCI_MAX_DEV     3
-+#define NSLU2_PCI_IRQ_LINES   3
-+
-+
-+/* PCI controller GPIO to IRQ pin mappings */
-+#define NSLU2_PCI_INTA_PIN    11
-+#define NSLU2_PCI_INTB_PIN    10
-+#define NSLU2_PCI_INTC_PIN    9
-+#define NSLU2_PCI_INTD_PIN    8
-+
-+
-+/* NSLU2 Timer */
-+#define NSLU2_FREQ 66000000
-+#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
-+#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
-+
-+/* GPIO */
-+
-+#define NSLU2_GPIO0           0
-+#define NSLU2_GPIO1           1
-+#define NSLU2_GPIO2           2
-+#define NSLU2_GPIO3           3
-+#define NSLU2_GPIO4           4
-+#define NSLU2_GPIO5           5
-+#define NSLU2_GPIO6           6
-+#define NSLU2_GPIO7           7
-+#define NSLU2_GPIO8           8
-+#define NSLU2_GPIO9           9
-+#define NSLU2_GPIO10          10
-+#define NSLU2_GPIO11          11
-+#define NSLU2_GPIO12          12
-+#define NSLU2_GPIO13          13
-+#define NSLU2_GPIO14          14
-+#define NSLU2_GPIO15          15
-+
-+/* Buttons */
-+
-+#define NSLU2_PB_GPIO         NSLU2_GPIO5
-+#define NSLU2_PO_GPIO         NSLU2_GPIO8     /* power off */
-+#define NSLU2_RB_GPIO         NSLU2_GPIO12
-+
-+#define NSLU2_PB_IRQ          IRQ_IXP4XX_GPIO5
-+#define NSLU2_RB_IRQ          IRQ_IXP4XX_GPIO12
-+
-+#define NSLU2_PB_BM           (1L << NSLU2_PB_GPIO)
-+#define NSLU2_PO_BM           (1L << NSLU2_PO_GPIO)
-+#define NSLU2_RB_BM           (1L << NSLU2_RB_GPIO)
-+
-+/* Buzzer */
-+
-+#define NSLU2_GPIO_BUZZ               4
-+#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
-+/* LEDs */
-+
-+#define NSLU2_LED_RED         NSLU2_GPIO0
-+#define NSLU2_LED_GRN         NSLU2_GPIO1
-+
-+#define NSLU2_LED_RED_BM      (1L << NSLU2_LED_RED)
-+#define NSLU2_LED_GRN_BM      (1L << NSLU2_LED_GRN)
-+
-+#define NSLU2_LED_DISK1               NSLU2_GPIO2
-+#define NSLU2_LED_DISK2               NSLU2_GPIO3
-+
-+#define NSLU2_LED_DISK1_BM    (1L << NSLU2_GPIO2)
-+#define NSLU2_LED_DISK2_BM    (1L << NSLU2_GPIO3)
-+
-+
diff --git a/packages/linux/nslu2-kernel/2.6.14/55-nslu2-rtc.patch b/packages/linux/nslu2-kernel/2.6.14/55-nslu2-rtc.patch
deleted file mode 100644 (file)
index be1f696..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
---- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/Makefile  2005-10-26 15:19:43.171472071 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:23:52.923187955 -0700
-@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
- obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
- obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
--obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
-+obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o
---- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/nslu2-rtc.c       2005-10-26 15:19:43.443489188 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-rtc.c      2005-10-26 15:23:52.923187955 -0700
-@@ -0,0 +1,113 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-rtc.c
-+ *
-+ * NSLU2 RTC driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on x1205-rtc.c  
-+ *  Copyright (C) 2004 Karen Spearel
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/time.h>
-+#include <linux/rtc.h>
-+#include <linux/init.h>
-+
-+#include <linux/x1205.h>
-+
-+#include <asm/rtc.h>
-+#include <asm/mach-types.h>
-+
-+extern int (*set_rtc)(void);
-+
-+static int nslu2_set_rtc(void)
-+{
-+      struct rtc_time new_tm, old_tm;
-+      unsigned long cur_secs = xtime.tv_sec;
-+
-+      if (x1205_do_command(X1205_CMD_GETDATETIME, &old_tm))
-+              return 0;
-+
-+      /* FIXME      xtime.tv_nsec = old_tm.tm_sec * 10000000; */
-+      new_tm.tm_sec  = cur_secs % 60;
-+      cur_secs /= 60;
-+      new_tm.tm_min  = cur_secs % 60;
-+      cur_secs /= 60;
-+      new_tm.tm_hour = cur_secs % 24;
-+
-+       /*
-+      * avoid writing when we're going to change the day
-+      * of the month.  We will retry in the next minute.
-+      * This basically means that if the RTC must not drift
-+      * by more than 1 minute in 11 minutes.
-+      */
-+      if ((old_tm.tm_hour == 23 && old_tm.tm_min == 59) ||
-+          (new_tm.tm_hour == 23 && new_tm.tm_min == 59))
-+              return 1;
-+
-+      return x1205_do_command(X1205_CMD_SETTIME, &new_tm);
-+}
-+
-+static int rtc_read_alarm(struct rtc_wkalrm *alrm)
-+{
-+      return x1205_do_command(X1205_CMD_GETALARM, &alrm->time);
-+}
-+
-+static int rtc_set_alarm(struct rtc_wkalrm *alrm)
-+{
-+      return x1205_do_command(X1205_CMD_SETALARM, &alrm->time);
-+}
-+
-+static int rtc_read_time(struct rtc_time *tm)
-+{
-+      return x1205_do_command(X1205_CMD_GETDATETIME, tm);
-+}
-+
-+static int rtc_set_time(struct rtc_time *tm)
-+{
-+      return x1205_do_command(X1205_CMD_SETDATETIME, tm);
-+}
-+
-+static struct rtc_ops rtc_ops = {
-+      .owner          = THIS_MODULE,
-+      .read_time      = rtc_read_time,
-+      .set_time       = rtc_set_time,
-+      .read_alarm     = rtc_read_alarm,
-+      .set_alarm      = rtc_set_alarm,
-+};
-+
-+static int __init nslu2_rtc_init(void)
-+{
-+      int ret;
-+
-+      if (!(machine_is_nslu2()))
-+              return 0;
-+
-+      printk(KERN_INFO "NSLU2: rtc\n");
-+
-+      if ((ret = register_rtc(&rtc_ops)) != 0)
-+              return ret;
-+
-+      set_rtc = nslu2_set_rtc;
-+
-+      return 0;
-+}
-+
-+static void __exit nslu2_rtc_exit(void)
-+{
-+      set_rtc = NULL;
-+
-+      unregister_rtc(&rtc_ops);
-+}
-+
-+module_init(nslu2_rtc_init);
-+module_exit(nslu2_rtc_exit);
diff --git a/packages/linux/nslu2-kernel/2.6.14/60-nslu2-beeper.patch b/packages/linux/nslu2-kernel/2.6.14/60-nslu2-beeper.patch
deleted file mode 100644 (file)
index e8a0373..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Kconfig  2005-08-28 16:41:01.000000000 -0700
-+++ linux-2.6.13/drivers/input/misc/Kconfig    2005-10-26 15:24:01.199708764 -0700
-@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP
-       tristate "M68k Beeper support"
-       depends on M68K
-+config INPUT_NSLU2_BEEPER
-+      tristate "NSLU2 Beeper support"
-+      depends on MACH_NSLU2
-+      help
-+        Say Y here if you want the embedded beeper on the LinkSys NSLU2
-+        to be used for bells and whistles.
-+
-+        If unsure, say Y.
-+
-+        To compile this driver as a module, choose M here: the
-+        module will be called nslu2spkr.
-+
- config INPUT_UINPUT
-       tristate "User level driver support"
-       help
---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Makefile 2005-08-28 16:41:01.000000000 -0700
-+++ linux-2.6.13/drivers/input/misc/Makefile   2005-10-26 15:24:01.199708764 -0700
-@@ -10,3 +10,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP)                += m68ksp
- obj-$(CONFIG_INPUT_98SPKR)            += 98spkr.o
- obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
- obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
-+obj-$(CONFIG_INPUT_NSLU2_BEEPER)      += nslu2spkr.o
---- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/nslu2spkr.c      2005-10-26 15:19:43.711506053 -0700
-+++ linux-2.6.13/drivers/input/misc/nslu2spkr.c        2005-10-26 15:24:01.199708764 -0700
-@@ -0,0 +1,144 @@
-+/*
-+ * drivers/input/misc/nslu2spkr.c
-+ *
-+ * NSLU2 Beeper driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on nslu2-io.c  
-+ *  Copyright (C) 2004 Karen Spearel
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/input.h>
-+#include <linux/delay.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+
-+static unsigned int beep_on_startup = 1;
-+module_param(beep_on_startup, bool, 0);
-+MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup");
-+
-+DEFINE_SPINLOCK(beep_lock);
-+
-+static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
-+{
-+      unsigned int count = 0;
-+      unsigned long flags;
-+
-+      if (type != EV_SND)
-+              return -1;
-+
-+      switch (code) {
-+              case SND_BELL:
-+                      if (value) value = 1000;
-+              case SND_TONE:
-+                      break;
-+              default:
-+                      return -1;
-+      }
-+
-+      if (value > 20 && value < 32767)
-+              count = (NSLU2_FREQ / (value*4)) - 1;
-+
-+      spin_lock_irqsave(&beep_lock, flags);
-+
-+       if (count) {
-+
-+              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT);
-+              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW);
-+
-+              *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+
-+      } else {
-+
-+              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN);
-+              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH);
-+
-+              *IXP4XX_OSRT2 = 0;
-+      }
-+
-+      spin_unlock_irqrestore(&beep_lock, flags);
-+
-+      return 0;
-+}
-+
-+static struct input_dev nslu2_spkr_dev = {
-+      .phys           = "ixp420/gpio4",
-+      .name           = "NSLU2 Beeper",
-+      .evbit[0]       = BIT(EV_SND),
-+      .sndbit[0]      = BIT(SND_BELL) | BIT(SND_TONE),
-+      .event          = nslu2_spkr_event,
-+      .id             = {
-+              .bustype        = BUS_HOST,
-+              .vendor         = 0x001f,
-+              .product        = 0x0001,
-+              .version        = 0x0100
-+      }
-+};
-+
-+static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+      /* clear interrupt */
-+      *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
-+
-+      /* flip the beeper output */
-+      *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM;
-+
-+      return IRQ_HANDLED;
-+}
-+
-+static int __init nslu2_spkr_init(void)
-+{
-+      if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler,
-+              SA_INTERRUPT | SA_TIMER, "NSLU2 beeper", NULL < 0)) {
-+                      
-+              printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n",
-+                      IRQ_IXP4XX_TIMER2);
-+
-+              return -EIO;
-+      }
-+
-+      input_register_device(&nslu2_spkr_dev);
-+
-+      /* do a little beep to tell the world we are alive */
-+      if (beep_on_startup)
-+      {
-+              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440);
-+              msleep(120);
-+              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0);
-+      }
-+
-+        printk(KERN_INFO "NSLU2: beeper\n");
-+      return 0;
-+}
-+
-+static void __exit nslu2_spkr_exit(void)
-+{
-+      input_unregister_device(&nslu2_spkr_dev);
-+
-+      disable_irq(IRQ_IXP4XX_TIMER2);
-+
-+      /* turn it off */
-+      nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0);
-+
-+      free_irq(IRQ_IXP4XX_TIMER2, NULL);
-+}
-+
-+module_init(nslu2_spkr_init);
-+module_exit(nslu2_spkr_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("NSLU2 Beeper driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/nslu2-kernel/2.6.14/70-nslu2-io.patch b/packages/linux/nslu2-kernel/2.6.14/70-nslu2-io.patch
deleted file mode 100644 (file)
index d3d200e..0000000
+++ /dev/null
@@ -1,560 +0,0 @@
---- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/Makefile   2005-10-26 15:19:43.443489188 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:08.652177718 -0700
-@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
- obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
- obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
--obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o
-+obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o nslu2-io.o
---- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/nslu2-io.c 2005-10-26 15:19:43.979522918 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-io.c       2005-10-26 15:24:08.652177718 -0700
-@@ -0,0 +1,548 @@
-+//=============================================================================
-+//
-+// n2-io.c version 0.1.7
-+// Author: Karen Spearel <kas11 at tampabay.rr.com>
-+// please report problems/bugs directly to the address above
-+//
-+// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per
-+// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk
-+//
-+// NOTE: THIS IS INCOMPLETE.  INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD,
-+// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff.  EVENTUALLY IT
-+// WILL TALK TO THE n2_pbd DAEMON.  EVENTUALLY THE LED DRIVER
-+// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS.
-+// 
-+//=============================================================================
-+//    GPIO            Function        State
-+//    0               Red LED         Status          
-+//    1               Green LED       Ready = 1
-+//    2               Disk 2 LED      On = 0
-+//    3               Disk 1 LED      On = 0
-+//    4               Buzzer
-+//    5               Power Button    Pressed = 1
-+//    8               Power Down      Output = 1 powers down NSLU2
-+//    12              Reset           Pressed = 0
-+
-+#include <linux/config.h>
-+#include <linux/version.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/proc_fs.h>
-+#include <linux/device.h>
-+#include <linux/reboot.h>
-+
-+#include <asm/uaccess.h>
-+#include <asm-arm/irq.h>
-+#include <asm-arm/delay.h>
-+
-+/* Set this to 1 to output lots of debug messages. */
-+#define NSLU2_IO_DEBUG 0
-+
-+#if NSLU2_IO_DEBUG
-+#define nslu2_io_debug(args) printk args
-+#else
-+#define nslu2_io_debug(args) ((void)0)
-+#endif
-+
-+#define VERSION                       "0.1.7"
-+
-+#define       NSLU2BZ_MAJOR           62              //buzzer
-+#define NSLU2LM_MAJOR         126
-+
-+
-+#define NSLU2_BEEP_DUR_LONG   2000
-+#define NSLU2_BEEP_DUR_MED    400
-+#define NSLU2_BEEP_DUR_SHORT  100
-+#define NSLU2_BEEP_PITCH_HIGH 250
-+#define NSLU2_BEEP_PITCH_MED  500
-+#define NSLU2_BEEP_PITCH_LOW  1000
-+#define NSLU2_LONG_DELAY      30000
-+
-+#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
-+
-+// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe
-+
-+#define NSLU2BZ_BEEP_STOP             _IO('M',0)       //stop multi-beep at end of audible
-+#define NSLU2BZ_BEEP          _IO('M',1)       //one beep at current defaults
-+#define NSLU2BZ_BEEPS         _IOW('M',3,long) //param beeps at current defaults
-+#define NSLU2BZ_TONESET               _IOW('M',4,long) //set tone: range is high=250 to low=2000
-+#define NSLU2BZ_ONTIME                _IOW('M',5,long) //ontime for multi-beeps in jiffies
-+#define       NSLU2BZ_SILENTTIME              _IOW('M',6,long) //offtime for multi-beeps in jiffies
-+#define NSLU2BZ_REPEATCNT             _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever
-+#define NSLU2BZ_COMBINED              _IOW('M',8,long) //combine all params in a long
-+
-+#define NSLU2LM_OFF           _IOW('M',32,long)
-+#define NSLU2LM_ON                    _IOW('M',33,long)
-+#define NSLU2LM_BLINK         _IOW('M',34,long)
-+#define NSLU2LM_ALT           _IOW('M',35,long)
-+#define NSLU2LM_ALL_ON                _IO('M',36)
-+#define NSLU2LM_ALL_OFF               _IO('M',37)
-+
-+#define PHYS_LEDS             4
-+#define BLINK_DELAY           25
-+
-+//  OR Masks to turn these LEDs ON
-+
-+#define       RS_RED_ON       0x00000001      //0b0000 0000 0000 0010
-+#define       RS_GRN_ON       0x00000002      //0b0000 0000 0000 0001
-+#define RS_YEL_ON     0x00000003      //0b0000 0000 0000 0011
-+
-+// AND Masks to turn these LEDs OFF
-+
-+#define       RS_RED_OFF      0xfffffffe      //0b1111 1111 1111 1101
-+#define       RS_GRN_OFF      0xfffffffd      //0b1111 1111 1111 1110
-+#define RS_YEL_OFF    0xfffffffc      //0b1111 1111 1111 1100
-+
-+// AND Masks to turn these LEDs ON
-+
-+#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
-+#define       DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
-+
-+// Or Masks to turn these LEDs OFF
-+
-+#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
-+#define       DISK2_OFF       0x00000004      //0b0000 0000 0000 0100 
-+
-+// EOR masks for toggling LEDs on/off
-+
-+#define RS_RG_ALT     0x00000003      //eor mask to toggle rs rg bits
-+#define RS_GRN_TGL    0x00000002
-+#define RS_RED_TGL    0x00000001
-+#define DISK1_TGL     0x00000008
-+#define DISK2_TGL     0x00000004
-+
-+// The LED names for switches
-+
-+#define LED_RS_RED    0
-+#define LED_RS_GRN    1
-+#define       LED_DISK1       2
-+#define LED_DISK2     3
-+#define LED_ALL               4
-+
-+static unsigned long ontime = 50;
-+static unsigned long offtime = 450;
-+static unsigned long bz_repeatcnt = 10;
-+static unsigned long tone = 1000;
-+
-+static struct timer_list n2lm_rsg_timer;      //rs green 
-+static struct timer_list n2lm_rsr_timer;      //rs red
-+static struct timer_list n2lm_d1_timer;               //drive 1
-+static struct timer_list n2lm_d2_timer;               //drive 2
-+static struct timer_list n2bz_timer;          //beeper
-+
-+// sysfs class
-+static struct class *n2lm_class;
-+
-+//==================================================================================================
-+//
-+// Blinking is handled entirely by the 4 timer handlers.  On timeout, the bit in the
-+// GPIO output register is xor'd with a mask corresponding to the selected led which simply
-+// flips that bit.  No record of what any of the other leds is doing is needed.
-+//
-+//==================================================================================================
-+// this blinks rs green or green/yellow if rs red is on
-+#ifndef CONFIG_LEDS
-+static void n2lm_rsg_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL;                      //flip the led
-+      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;         //next timeout
-+      add_timer(&n2lm_rsg_timer);                             //reinit timer
-+      return;
-+}
-+
-+// this blinks or alternates rs red green... inited wit green on/red off
-+static void n2lm_rsr_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data;
-+      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_rsr_timer);
-+      return; 
-+}
-+// blinks disk 1
-+static void n2lm_d1_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL;
-+      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_d1_timer);
-+      return;
-+}
-+// blinks disk 2
-+static void n2lm_d2_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL;
-+      n2lm_d2_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_d2_timer);
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static void n2lm_timer_start(unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led));
-+
-+      switch(led) {
-+              case LED_RS_RED:
-+                      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_rsr_timer);
-+                      break;
-+
-+              case LED_RS_GRN:
-+                      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_rsg_timer);
-+                      break;
-+
-+              case LED_DISK1:
-+                      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_d1_timer);
-+                      break;
-+
-+              case LED_DISK2:
-+                      n2lm_d2_timer.expires = jiffies + BLINK_DELAY; 
-+                      add_timer(&n2lm_d2_timer);
-+                      break;
-+
-+              default:
-+                      break;
-+      }
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static void n2lm_timer_stop(unsigned long led)
-+{
-+      switch (led) {
-+              case LED_RS_RED:
-+                      del_timer(&n2lm_rsr_timer);
-+                      break;
-+              case LED_RS_GRN:
-+                      del_timer(&n2lm_rsg_timer);
-+                      break;
-+              case LED_DISK1:
-+                      del_timer(&n2lm_d1_timer);
-+                      break;
-+              case LED_DISK2: 
-+                      del_timer(&n2lm_d2_timer);
-+                      break;
-+              default:
-+                      break;
-+      }
-+      return;
-+}
-+
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_timer_stop_all(void)
-+{
-+      del_timer(&n2lm_rsg_timer);
-+      del_timer(&n2lm_rsr_timer);
-+      del_timer(&n2lm_d1_timer); 
-+      del_timer(&n2lm_d2_timer);
-+      return;
-+}
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_ledon(unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led));
-+
-+      switch (led) {
-+              case LED_RS_RED:        
-+                      *IXP4XX_GPIO_GPOUTR |= RS_RED_ON;       //1
-+                      return;
-+              case LED_RS_GRN:
-+                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;       //2
-+                      return;
-+              case LED_DISK1:
-+                      *IXP4XX_GPIO_GPOUTR &= DISK1_ON;        //0xfffffff7
-+                      return;
-+              case LED_DISK2: 
-+                      *IXP4XX_GPIO_GPOUTR &= DISK2_ON;        //0xfffffffb
-+                      return;
-+              case LED_ALL:                                   //all green
-+                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;
-+                      *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON);
-+                      return; 
-+      }
-+}
-+
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_ledoff(unsigned long led)
-+{
-+
-+      switch (led) {
-+              case LED_RS_RED:        
-+                      *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF;      //0xffffffffe
-+                      return;
-+              case LED_RS_GRN:
-+                      *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF;      //0xfffffffd
-+                      return;
-+              case LED_DISK1:
-+                      *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;       //0x00000008
-+                      return;
-+              case LED_DISK2: 
-+                      *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;       //0x00000004
-+                      return;
-+              case LED_ALL:
-+                      *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF);
-+                      *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF);
-+      }
-+}
-+
-+//==================================================================================================
-+
-+static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led));
-+      
-+      if (led < 0 || led >= PHYS_LEDS)
-+              return -EINVAL;
-+
-+      switch (cmd ) {
-+              case NSLU2LM_ON:
-+                      n2lm_timer_stop(led);
-+                      n2lm_ledon(led);
-+                      break;
-+                      
-+              case NSLU2LM_OFF:
-+                      n2lm_timer_stop(led);
-+                      n2lm_ledoff(led);
-+                      break;
-+                      
-+              case NSLU2LM_BLINK:
-+                      n2lm_ledon(led);
-+                      if (led == LED_RS_RED)
-+                              n2lm_rsr_timer.data = RS_RED_TGL;
-+                      n2lm_timer_start(led);
-+                      break;
-+
-+              case NSLU2LM_ALT:
-+                      if (led == LED_RS_RED)
-+                      {
-+                              n2lm_ledon(LED_RS_GRN);
-+                              n2lm_ledoff(LED_RS_RED);
-+                              n2lm_rsr_timer.data = RS_RG_ALT;
-+                              n2lm_timer_start(LED_RS_RED);
-+                              break;
-+                      } else
-+                              return -EINVAL;
-+              
-+              case NSLU2LM_ALL_ON:
-+                      n2lm_timer_stop_all();
-+                      n2lm_ledon(LED_ALL);
-+                      break;
-+              
-+              case NSLU2LM_ALL_OFF:
-+                      n2lm_timer_stop_all();
-+                      n2lm_ledoff(LED_ALL);
-+                      break;
-+              
-+              default:
-+                      return -EINVAL;
-+      }
-+
-+      return 0;
-+}
-+
-+static struct file_operations n2lm_fops = {
-+      .owner          = THIS_MODULE,
-+      .ioctl          = n2lm_ioctl,
-+};
-+#endif
-+//==================================================================================================
-+// We can't do anything fancy here since the system tick rate is far below that required to
-+// generate a desirable tone.  Therefore we haven't much choice but to use a busy loop until
-+// I get up to speed on the timers.  The saving grace is that for the normal uses, nothing 
-+// important should be haprepening. 
-+//==================================================================================================
-+
-+static void n2_buzz(int tone_delay, int duration)
-+{
-+      int i;
-+
-+      *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM;
-+              
-+      for (i = 1; i < duration; i++) {
-+              *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM;
-+              udelay(tone_delay);
-+              *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM;
-+              udelay(tone_delay);
-+      }
-+      *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM;
-+
-+      return;
-+}
-+//=================================================================================================
-+
-+// this handles the buzzer duty cycle
-+static void n2bz_handler(unsigned long data)
-+{
-+      if (--bz_repeatcnt > 0) {                       //if just one beep left to do
-+              n2bz_timer.expires = jiffies + ontime + offtime;        //next timeout
-+              add_timer(&n2bz_timer);                                 //reinit timer
-+      }
-+      n2_buzz(tone/2, ontime);
-+      nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime));
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param)
-+{
-+      switch (cmd) {
-+              case NSLU2BZ_BEEP:
-+                      n2_buzz(tone/2, ontime);
-+                      break;
-+      
-+              case NSLU2BZ_BEEP_STOP:
-+                      del_timer(&n2bz_timer);
-+                      break;
-+
-+              case NSLU2BZ_BEEPS:
-+                      if (param == 0)
-+                              bz_repeatcnt = 0xffffffff;
-+                      else
-+                              bz_repeatcnt = param;
-+                      n2bz_handler(0);
-+                      break;
-+      
-+              case NSLU2BZ_TONESET:
-+                      if (param >= 250 && param <= 2000)
-+                              tone = param;
-+                      break;
-+
-+              case NSLU2BZ_ONTIME:
-+                      if (param > 4 && param < 201)
-+                              ontime = param;
-+                      break;
-+
-+              case NSLU2BZ_SILENTTIME:
-+                      if (param > ontime)                     //enforce a reasonable duty cycle
-+                              offtime = param;
-+                      else
-+                              offtime = ontime;
-+                      break;
-+
-+              case NSLU2BZ_REPEATCNT:
-+                      if (param == 0)
-+                              bz_repeatcnt = 0xffffffff;
-+                      else
-+                              bz_repeatcnt = param;
-+                      break;
-+
-+              case NSLU2BZ_COMBINED:
-+                      bz_repeatcnt =  (param & 0xF0000000) >> 28;     //repeat 1 - 16
-+                      ontime =        (param & 0x0FF00000) >> 20;     //ontime 1 - 256 jiffies
-+                      offtime =       (param & 0x000FFF00) >> 8;      //offtime 1 - 4095 jiffies
-+                      tone =          (param & 0x000000FF) << 4;      //tone (1 - 255) * 16
-+                      break;
-+
-+              default:
-+                      break;
-+      }
-+      return 0;
-+}
-+
-+static struct file_operations n2bz_fops = {
-+      .owner          = THIS_MODULE,
-+      .ioctl          = n2bz_ioctl,
-+};
-+
-+static void n2iom_initarch(void)
-+{
-+#ifndef CONFIG_LEDS
-+      init_timer(&n2lm_rsg_timer);
-+      init_timer(&n2lm_rsr_timer);
-+      init_timer(&n2lm_d1_timer);
-+      init_timer(&n2lm_d2_timer);
-+
-+      n2lm_rsr_timer.function = n2lm_rsr_handler;
-+      n2lm_rsg_timer.function = n2lm_rsg_handler;
-+      n2lm_d2_timer.function = n2lm_d2_handler;
-+      n2lm_d1_timer.function = n2lm_d1_handler;
-+#endif
-+
-+      init_timer(&n2bz_timer);
-+      n2bz_timer.function = n2bz_handler;
-+
-+      n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0;
-+
-+#ifndef CONFIG_LEDS
-+      *IXP4XX_GPIO_GPOER &= 0xfffffff0;       //enable gpio 0-3
-+      *IXP4XX_GPIO_GPOUTR |= 0x00000003;      //turn off the leds
-+      *IXP4XX_GPIO_GPOUTR &= 0xfffffffc;
-+      n2lm_ledon(LED_ALL);
-+      n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT);
-+      n2lm_ledoff(LED_ALL);
-+
-+      // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit
-+      n2lm_ledon(LED_RS_RED);
-+#endif
-+
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static int __init n2iom_init(void)
-+{
-+      printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION);
-+      
-+      n2iom_initarch();
-+
-+      n2lm_class = class_create(THIS_MODULE, "nslu2");
-+
-+#ifndef CONFIG_LEDS
-+      if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) {
-+              printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR);
-+              return -EBUSY;
-+      }
-+      else {
-+              class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
-+      }
-+#endif
-+
-+      if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) {
-+              printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR);
-+              return -EBUSY;
-+      }
-+      else {
-+              class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
-+      }
-+
-+      return 0;
-+}
-+
-+//==================================================================================================
-+
-+static void __exit n2iom_exit(void)
-+{
-+
-+#ifndef CONFIG_LEDS
-+      del_timer(&n2lm_rsg_timer);
-+      del_timer(&n2lm_rsr_timer);
-+      del_timer(&n2lm_d1_timer);
-+      del_timer(&n2lm_d2_timer);      
-+
-+      unregister_chrdev(NSLU2LM_MAJOR, "n2lm" );
-+      class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0));
-+#endif
-+
-+      unregister_chrdev(NSLU2BZ_MAJOR, "n2bz");
-+      class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0));
-+
-+      class_destroy(n2lm_class);
-+}
-+
-+module_init(n2iom_init);
-+module_exit(n2iom_exit);
-+
-+MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>");
-+MODULE_DESCRIPTION("NSLU2 I/O driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/nslu2-kernel/2.6.14/75-nslu2-leds.patch b/packages/linux/nslu2-kernel/2.6.14/75-nslu2-leds.patch
deleted file mode 100644 (file)
index 2701c01..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/Kconfig      2005-10-26 15:19:34.490925838 -0700
-+++ linux-2.6.13/arch/arm/Kconfig      2005-10-26 15:24:18.628805508 -0700
-@@ -389,7 +389,8 @@ config LEDS
-                  ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
-                  ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
-                  ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
--                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE
-+                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
-+                 MACH_NSLU2
-       help
-         If you say Y here, the LEDs on your machine will be used
-         to provide useful information about your current system status.
-@@ -403,7 +404,7 @@ config LEDS
- config LEDS_TIMER
-       bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
--                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
-+                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2
-       depends on LEDS
-       default y if ARCH_EBSA110
-       help
-@@ -419,7 +420,8 @@ config LEDS_TIMER
- config LEDS_CPU
-       bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
--                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
-+                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \
-+                      || MACH_NSLU2
-       depends on LEDS
-       help
-         If you say Y here, the red LED will be used to give a good real
---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:19:43.979522918 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:18.632805759 -0700
-@@ -10,3 +10,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE)        += coyote-
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
- obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o nslu2-io.o
-+leds-$(CONFIG_MACH_NSLU2)     += nslu2-leds.o
-+obj-$(CONFIG_LEDS)            += $(leds-y)
-+
-+
---- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/nslu2-leds.c     2005-10-26 15:19:44.251540035 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-leds.c     2005-10-26 15:24:18.632805759 -0700
-@@ -0,0 +1,223 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-leds.c
-+ *
-+ * NSLU2 LEDs driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on nslu2-io.c  
-+ *  Copyright (C) 2004 Karen Spearel
-+ * and arch/arm/mach-footbridge/netwinder-leds.c
-+ *  Copyright (C) 1998-1999 Russell King 
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/spinlock.h>
-+#include <linux/notifier.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/system.h>
-+
-+#define LED_STATE_ENABLED     0x01
-+#define LED_STATE_CLAIMED     0x02
-+#define LED_STATE_IDLE                0x04
-+
-+static unsigned char led_state;
-+static unsigned int hw_led_state;
-+
-+static const unsigned long idle_seq[4] = {
-+      
-+      NSLU2_LED_GRN_BM, 0,
-+      NSLU2_LED_GRN_BM, 0,
-+};
-+
-+static const unsigned long busy_seq[4] = {
-+
-+      NSLU2_LED_GRN_BM, 0,
-+      NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0,
-+};
-+
-+static unsigned char led_count = 0;
-+
-+static DEFINE_SPINLOCK(leds_lock);
-+extern spinlock_t gpio_lock;
-+
-+static void nslu2_leds_event(led_event_t evt)
-+{
-+      unsigned long flags;
-+
-+      spin_lock_irqsave(&leds_lock, flags);
-+
-+      switch (evt) {
-+      case led_start:
-+              /* Let's rock! Red led on, all others off. Remember
-+               * that disk1/disk2 works inverted. On the NSLU2, the
-+               * interface starts in a claimed state. XXX
-+               */
-+              led_state = LED_STATE_ENABLED | LED_STATE_CLAIMED;
-+              hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM
-+                              | NSLU2_LED_RED_BM;
-+              break;
-+
-+      case led_stop:
-+              led_state &= ~LED_STATE_ENABLED;
-+              break;
-+
-+      case led_claim:
-+              /* The user claimed the interface, red and green off */
-+              led_state |= LED_STATE_CLAIMED;
-+              hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_release:
-+              /* The user released the interface, preserve the last
-+               * status of the leds, except red/green.
-+               */
-+              led_state &= ~LED_STATE_CLAIMED;
-+              hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C;
-+              break;
-+
-+#ifdef CONFIG_LEDS_TIMER
-+      case led_timer:
-+              /* Pulse green led */
-+              if (!(led_state & LED_STATE_CLAIMED))
-+              {
-+                      /* clear red and green bits */
-+                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+
-+                      /* copy the right sequence in */
-+                      if (led_state & LED_STATE_IDLE)
-+                              hw_led_state |= idle_seq[led_count % 4];
-+                      else
-+                              hw_led_state |= busy_seq[led_count % 4];
-+
-+                      led_count++;
-+              }
-+              break;
-+#endif
-+
-+#ifdef CONFIG_LEDS_CPU
-+
-+      case led_idle_start:
-+              led_state |= LED_STATE_IDLE;
-+#ifndef CONFIG_LEDS_TIMER
-+              /* green on, red off */
-+              hw_led_state |= NSLU2_LED_GRN_BM;
-+              hw_led_state &= ~NSLU2_LED_RED_BM;
-+#endif
-+              break;
-+
-+      case led_idle_end:
-+              led_state &= ~LED_STATE_IDLE;
-+#ifndef CONFIG_LEDS_TIMER
-+              /* green on, red on -> amber on */
-+              hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM;
-+#endif
-+              break;
-+#endif
-+
-+      case led_halted:
-+              if (!(led_state & LED_STATE_CLAIMED))
-+                      hw_led_state |= NSLU2_LED_RED_BM;
-+              break;
-+
-+      /* leds */
-+
-+      case led_green_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= NSLU2_LED_GRN_BM;
-+              break;
-+
-+      case led_green_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~NSLU2_LED_GRN_BM;
-+              break;
-+
-+      case led_amber_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_amber_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_red_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= NSLU2_LED_RED_BM;
-+              break;
-+
-+      case led_red_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~NSLU2_LED_RED_BM;
-+              break;
-+
-+      default:
-+              break;
-+      }
-+
-+      spin_unlock_irqrestore(&leds_lock, flags);
-+
-+      if  (led_state & LED_STATE_ENABLED) {
-+              spin_lock_irqsave(&gpio_lock, flags);
-+              *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state;
-+              spin_unlock_irqrestore(&gpio_lock, flags);
-+      }
-+}
-+
-+static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event,
-+      void *ptr)
-+{
-+      leds_event(led_green_off);
-+      leds_event(led_red_on);
-+
-+      return NOTIFY_DONE;
-+}
-+
-+static struct notifier_block nslu2_leds_panic_block = {
-+      .notifier_call  = nslu2_leds_panic_event,
-+};
-+
-+static int __init nslu2_leds_init(void)
-+{
-+      if (!(machine_is_nslu2()))
-+              return 0;
-+
-+      printk(KERN_INFO "NSLU2: leds\n");
-+
-+      /* register panic notifier */
-+      notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block);
-+
-+      /* enable gpio 0-3 */
-+      gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT);
-+
-+      leds_event = nslu2_leds_event;
-+
-+      /* this will also initialize the leds to the
-+       * default state.
-+       */
-+
-+      leds_event(led_start);
-+
-+      return 0;
-+}
-+
-+module_init(nslu2_leds_init);
-+
diff --git a/packages/linux/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch b/packages/linux/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch
deleted file mode 100644 (file)
index 1a37b13..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-2.6.13/.pc/90-ixp4xx-pci-le.patch/arch/arm/mach-ixp4xx/common-pci.c  2005-08-28 16:41:01.000000000 -0700
-+++ linux-2.6.13/arch/arm/mach-ixp4xx/common-pci.c     2005-10-26 15:24:30.337542292 -0700
-@@ -427,7 +427,7 @@ void __init ixp4xx_pci_preinit(void)
- #ifdef __ARMEB__
-       *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE | PCI_CSR_PDS | PCI_CSR_ADS;
- #else
--      *PCI_CSR = PCI_CSR_IC;
-+      *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE;
- #endif
-       pr_debug("DONE\n");
diff --git a/packages/linux/nslu2-kernel/2.6.14/90-pegasus.patch b/packages/linux/nslu2-kernel/2.6.14/90-pegasus.patch
deleted file mode 100644 (file)
index ab80672..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-*** linux-2.6.13/drivers/usb/net/pegasus.h.orig        Mon Aug 29 01:41:01 2005
---- linux-2.6.13/drivers/usb/net/pegasus.h     Sat Oct 22 20:51:29 2005
-***************
-*** 181,186 ****
---- 181,188 ----
-               DEFAULT_GPIO_RESET )
-  PEGASUS_DEV( "SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046,
-               DEFAULT_GPIO_RESET | PEGASUS_II )
-+ PEGASUS_DEV( "Philips CPWUE01/00 USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004,
-+              DEFAULT_GPIO_RESET | PEGASUS_II )
-  PEGASUS_DEV( "ADMtek ADM8511 \"Pegasus II\" USB Ethernet",
-               VENDOR_ADMTEK, 0x8511,
-               DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA )
diff --git a/packages/linux/nslu2-kernel/2.6.14/defconfig b/packages/linux/nslu2-kernel/2.6.14/defconfig
deleted file mode 100644 (file)
index 83b2521..0000000
+++ /dev/null
@@ -1,1556 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.14
-# Mon Nov 28 18:53:25 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_EMBEDDED=y
-# CONFIG_KALLSYMS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=1
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-CONFIG_ARCH_IXP4XX=y
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_AAEC2000 is not set
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-
-#
-# Intel IXP4xx Implementation Options
-#
-
-#
-# IXP4xx Platforms
-#
-CONFIG_MACH_NSLU2=y
-# CONFIG_ARCH_AVILA is not set
-# CONFIG_ARCH_ADI_COYOTE is not set
-# CONFIG_ARCH_IXDP425 is not set
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_MACH_GTWX5715 is not set
-
-#
-# IXP4xx Options
-#
-CONFIG_IXP4XX_INDIRECT_PCI=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_XSCALE_PMU=y
-CONFIG_DMABOUNCE=y
-
-#
-# Bus support
-#
-CONFIG_ISA_DMA_API=y
-CONFIG_PCI=y
-# CONFIG_PCI_LEGACY_PROC is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_PREEMPT is not set
-# CONFIG_NO_IDLE_HZ is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc x1205.hctosys=1 noirqdebug console=ttyS0,115200n8"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
-# CONFIG_NETFILTER_NETLINK is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=m
-# CONFIG_IP_NF_CT_ACCT is not set
-# CONFIG_IP_NF_CONNTRACK_MARK is not set
-# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
-CONFIG_IP_NF_CT_PROTO_SCTP=m
-CONFIG_IP_NF_FTP=m
-CONFIG_IP_NF_IRC=m
-# CONFIG_IP_NF_NETBIOS_NS is not set
-CONFIG_IP_NF_TFTP=m
-CONFIG_IP_NF_AMANDA=m
-# CONFIG_IP_NF_PPTP is not set
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_LIMIT=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=m
-CONFIG_IP_NF_MATCH_MULTIPORT=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=m
-CONFIG_IP_NF_MATCH_CONNTRACK=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_PHYSDEV=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_MATCH_REALM=m
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-CONFIG_IP_NF_MATCH_COMMENT=m
-CONFIG_IP_NF_MATCH_HASHLIMIT=m
-# CONFIG_IP_NF_MATCH_STRING is not set
-CONFIG_IP_NF_FILTER=m
-# CONFIG_IP_NF_TARGET_REJECT is not set
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_SAME=m
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=m
-CONFIG_IP_NF_NAT_FTP=m
-CONFIG_IP_NF_NAT_TFTP=m
-CONFIG_IP_NF_NAT_AMANDA=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=m
-CONFIG_IP_NF_TARGET_CLASSIFY=m
-# CONFIG_IP_NF_TARGET_TTL is not set
-# CONFIG_IP_NF_RAW is not set
-# CONFIG_IP_NF_ARPTABLES is not set
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_SCHED is not set
-CONFIG_NET_CLS_ROUTE=y
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=m
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-# CONFIG_MTD_CFI_NOSWAP is not set
-CONFIG_MTD_CFI_BE_BYTE_SWAP=y
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_BLK_DEV_RAM_SIZE=10240
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=y
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
-CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_CRYPT is not set
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MACLIST=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_AIRO is not set
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-# CONFIG_HOSTAP is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-CONFIG_NETCONSOLE=m
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=m
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-# CONFIG_INPUT_MISC is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IXP4XX_WATCHDOG=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-CONFIG_RTC=m
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_I810 is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_IOP3XX is not set
-CONFIG_I2C_IXP4XX=y
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PROSAVAGE is not set
-# CONFIG_I2C_SAVAGE4 is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_VOODOO3 is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-CONFIG_SENSORS_X1205=y
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Hardware Monitoring support
-#
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-
-#
-# Video For Linux
-#
-
-#
-# Video Adapters
-#
-CONFIG_VIDEO_BT848=m
-# CONFIG_VIDEO_SAA6588 is not set
-CONFIG_VIDEO_CPIA=m
-CONFIG_VIDEO_CPIA_USB=m
-CONFIG_VIDEO_SAA5246A=m
-CONFIG_VIDEO_SAA5249=m
-CONFIG_TUNER_3036=m
-CONFIG_VIDEO_STRADIS=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_SAA7134=m
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_DPC=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_CX88=m
-CONFIG_VIDEO_OVCAMCHIP=m
-
-#
-# Radio Adapters
-#
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_VIDEOBUF=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_BUF=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
-CONFIG_VIDEO_TVEEPROM=m
-
-#
-# Graphics support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-# CONFIG_SND_RTCTIMER is not set
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
-
-#
-# ALSA ARM devices
-#
-
-#
-# USB devices
-#
-CONFIG_SND_USB_AUDIO=m
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
-
-#
-# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
-#
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_USB_HIDINPUT=y
-# CONFIG_HID_FF is not set
-CONFIG_USB_HIDDEV=y
-
-#
-# USB HID Boot Protocol drivers
-#
-CONFIG_USB_KBD=m
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_ACECAD is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_MTOUCH is not set
-# CONFIG_USB_ITMTOUCH is not set
-# CONFIG_USB_EGALAX is not set
-# CONFIG_USB_YEALINK is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-# CONFIG_USB_KEYSPAN_REMOTE is not set
-# CONFIG_USB_APPLETOUCH is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_W9968CF is not set
-CONFIG_USB_PWC=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# CONFIG_USB_NET_PLUSB is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6.15/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6.15/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch b/packages/linux/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch
deleted file mode 100644 (file)
index 30d3495..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3218/1
-
-PAGE_SHIFT is undeclared in include/asm-arm/arch-ixp4xx/memory.h, identified by the following kernel compilation error:
-
-CC [M] sound/core/memory.o
-In file included from include/asm/memory.h:27,
-from include/asm/io.h:28,
-from sound/core/memory.c:24:
-include/asm/arch/memory.h: In function `__arch_adjust_zones':
-include/asm/arch/memory.h:28: error: `PAGE_SHIFT' undeclared (first use
-in this function)
-
-This patch replaces my previous attempt at fixing this problem (Patch 3214/1) and is based on the following feedback:
-
-Russell King wrote:
-> The error you see came up on SA1100. The best solution was to move
-> the __arch_adjust_zones() function out of line. I suggest ixp4xx
-> does the same.
-
-I have moved the function out of line into arch/arm/mach-ixp4xx/common-pci.c as suggested.
-
-Signed-off-by: Rod Whitby <rod@whitby.id.au>
---- linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h~     2005-12-30 05:18:27.000000000 +1030
-+++ linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h      2005-12-30 05:36:04.000000000 +1030
-@@ -16,31 +16,10 @@
- #ifndef __ASSEMBLY__
--/*
-- * Only first 64MB of memory can be accessed via PCI.
-- * We use GFP_DMA to allocate safe buffers to do map/unmap.
-- * This is really ugly and we need a better way of specifying
-- * DMA-capable regions of memory.
-- */
--static inline void __arch_adjust_zones(int node, unsigned long *zone_size, 
--      unsigned long *zhole_size) 
--{
--      unsigned int sz = SZ_64M >> PAGE_SHIFT;
--
--      /*
--       * Only adjust if > 64M on current system
--       */
--      if (node || (zone_size[0] <= sz))
--              return;
--
--      zone_size[1] = zone_size[0] - sz;
--      zone_size[0] = sz;
--      zhole_size[1] = zhole_size[0];
--      zhole_size[0] = 0;
--}
-+void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes);
- #define arch_adjust_zones(node, size, holes) \
--      __arch_adjust_zones(node, size, holes)
-+      ixp4xx_adjust_zones(node, size, holes)
- #define ISA_DMA_THRESHOLD (SZ_64M - 1)
---- linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c~        2005-12-30 05:16:03.000000000 +1030
-+++ linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c 2005-12-30 05:43:55.000000000 +1030
-@@ -341,6 +341,29 @@ int dma_needs_bounce(struct device *dev,
-       return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M);
- }
-+/*
-+ * Only first 64MB of memory can be accessed via PCI.
-+ * We use GFP_DMA to allocate safe buffers to do map/unmap.
-+ * This is really ugly and we need a better way of specifying
-+ * DMA-capable regions of memory.
-+ */
-+void __init ixp4xx_adjust_zones(int node, unsigned long *zone_size, 
-+      unsigned long *zhole_size) 
-+{
-+      unsigned int sz = SZ_64M >> PAGE_SHIFT;
-+
-+      /*
-+       * Only adjust if > 64M on current system
-+       */
-+      if (node || (zone_size[0] <= sz))
-+              return;
-+
-+      zone_size[1] = zone_size[0] - sz;
-+      zone_size[0] = sz;
-+      zhole_size[1] = zhole_size[0];
-+      zhole_size[0] = 0;
-+}
-+
- void __init ixp4xx_pci_preinit(void)
- {  
-       unsigned long processor_id;
diff --git a/packages/linux/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch b/packages/linux/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch
deleted file mode 100644 (file)
index 3fa0535..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-drivers/mtd/redboot.c: recognise a foreign byte sex partition table
-
-The RedBoot boot loader writes flash partition tables containing native
-byte sex 32 bit values.  When booting an opposite byte sex kernel (e.g.  an
-LE kernel from BE RedBoot) the current MTD driver fails to handle the
-partition table and therefore is unable to generate the correct partition
-map for the flash.
-
-The patch recognises that the FIS directory (the partition table) is
-byte-reversed by examining the partition table size, which is known to be
-one erase block (this is an assumption made elsewhere in redboot.c).  If
-the size matches the erase block after byte swapping the value then
-byte-reversal is assumed, if not no further action is taken.  The patched
-code is fail safe; should redboot.c be changed to support a partition table
-with a modified size field the test will fail and the partition table will
-be assumed to have the host byte sex.
-
-If byte-reversal is detected the patch byte swaps the remainder of the 32
-bit fields in the copy of the table; this copy is then used to set up the
-MTD partition map.
-
-Signed-off-by: John Bowler <jbowler@acm.org>
-Signed-off-by: Andrew Morton <akpm@osdl.org>
-Modified slightly and
-Signed-off-by: David Woodhouse <dwmw2@infradead.org>
-
-Index: drivers/mtd/redboot.c
-===================================================================
-RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v
-retrieving revision 1.18
-retrieving revision 1.19
-diff -u -p -r1.18 -r1.19
---- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
-@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru
-                       i = numslots;
-                       break;
-               }
--              if (!memcmp(buf[i].name, "FIS directory", 14))
-+              if (!memcmp(buf[i].name, "FIS directory", 14)) {
-+                      /* This is apparently the FIS directory entry for the
-+                       * FIS directory itself.  The FIS directory size is
-+                       * one erase block; if the buf[i].size field is
-+                       * swab32(erasesize) then we know we are looking at
-+                       * a byte swapped FIS directory - swap all the entries!
-+                       * (NOTE: this is 'size' not 'data_length'; size is
-+                       * the full size of the entry.)
-+                       */
-+                      if (swab32(buf[i].size) == master->erasesize) {
-+                              int j;
-+                              for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) {
-+                                      /* The unsigned long fields were written with the
-+                                       * wrong byte sex, name and pad have no byte sex.
-+                                       */
-+                                      swab32s(&buf[j].flash_base);
-+                                      swab32s(&buf[j].mem_base);
-+                                      swab32s(&buf[j].size);
-+                                      swab32s(&buf[j].entry_point);
-+                                      swab32s(&buf[j].data_length);
-+                                      swab32s(&buf[j].desc_cksum);
-+                                      swab32s(&buf[j].file_cksum);
-+                              }
-+                      }
-                       break;
-+              }
-       }
-       if (i == numslots) {
-               /* Didn't find it */
-
-
diff --git a/packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch b/packages/linux/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch
deleted file mode 100644 (file)
index fdebb65..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
---- linux-2.6.15/fs/Kconfig~   2006-01-03 13:51:10.000000000 +1030
-+++ linux-2.6.15/fs/Kconfig    2006-01-05 01:35:36.000000000 +1030
-@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE
- endchoice
-+choice
-+        prompt "JFFS2 endianness"
-+        default JFFS2_NATIVE_ENDIAN
-+        depends on JFFS2_FS
-+        help
-+          You can set here the default endianness of JFFS2 from
-+          the available options. Don't touch if unsure.
-+
-+config JFFS2_NATIVE_ENDIAN
-+        bool "native endian"
-+        help
-+          Uses a native endian bytestream.
-+
-+config JFFS2_BIG_ENDIAN
-+        bool "big endian"
-+        help
-+          Uses a big endian bytestream.
-+
-+config JFFS2_LITTLE_ENDIAN
-+        bool "little endian"
-+        help
-+          Uses a little endian bytestream.
-+
-+endchoice
-+
- config CRAMFS
-       tristate "Compressed ROM file system support (cramfs)"
-       select ZLIB_INFLATE
---- linux-2.6.15/fs/jffs2/nodelist.h~  2006-01-05 01:37:06.000000000 +1030
-+++ linux-2.6.15/fs/jffs2/nodelist.h   2006-01-05 01:37:54.000000000 +1030
-@@ -29,12 +29,10 @@
- #include "os-linux.h"
- #endif
--#define JFFS2_NATIVE_ENDIAN
--
- /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
-    whatever OS we're actually running on here too. */
--#if defined(JFFS2_NATIVE_ENDIAN)
-+#if defined(CONFIG_JFFS2_NATIVE_ENDIAN)
- #define cpu_to_je16(x) ((jint16_t){x})
- #define cpu_to_je32(x) ((jint32_t){x})
- #define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)})
-@@ -42,7 +40,7 @@
- #define je16_to_cpu(x) ((x).v16)
- #define je32_to_cpu(x) ((x).v32)
- #define jemode_to_cpu(x) (jffs2_to_os_mode((x).m))
--#elif defined(JFFS2_BIG_ENDIAN)
-+#elif defined(CONFIG_JFFS2_BIG_ENDIAN)
- #define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)})
- #define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)})
- #define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))})
-@@ -50,7 +48,7 @@
- #define je16_to_cpu(x) (be16_to_cpu(x.v16))
- #define je32_to_cpu(x) (be32_to_cpu(x.v32))
- #define jemode_to_cpu(x) (be32_to_cpu(jffs2_to_os_mode((x).m)))
--#elif defined(JFFS2_LITTLE_ENDIAN)
-+#elif defined(CONFIG_JFFS2_LITTLE_ENDIAN)
- #define cpu_to_je16(x) ((jint16_t){cpu_to_le16(x)})
- #define cpu_to_je32(x) ((jint32_t){cpu_to_le32(x)})
- #define cpu_to_jemode(x) ((jmode_t){cpu_to_le32(os_to_jffs2_mode(x))})
diff --git a/packages/linux/nslu2-kernel/2.6.15/40-rtc-class.patch b/packages/linux/nslu2-kernel/2.6.15/40-rtc-class.patch
deleted file mode 100644 (file)
index feea3f2..0000000
+++ /dev/null
@@ -1,2719 +0,0 @@
---- linux-nslu2.orig/include/linux/rtc.h       2006-01-03 15:31:18.000000000 +0100
-+++ linux-nslu2/include/linux/rtc.h    2006-01-03 15:34:24.000000000 +0100
-@@ -91,8 +91,81 @@ struct rtc_pll_info {
- #define RTC_PLL_GET   _IOR('p', 0x11, struct rtc_pll_info)  /* Get PLL correction */
- #define RTC_PLL_SET   _IOW('p', 0x12, struct rtc_pll_info)  /* Set PLL correction */
-+/* interrupt flags */
-+#define RTC_IRQF 0x80 /* any of the following is active */
-+#define RTC_PF 0x40
-+#define RTC_AF 0x20
-+#define RTC_UF 0x10
-+
- #ifdef __KERNEL__
-+#include <linux/device.h>
-+#include <linux/seq_file.h>
-+#include <linux/cdev.h>
-+#include <linux/poll.h>
-+
-+struct rtc_class_ops {
-+      int (*open)(struct device *);
-+      void (*release)(struct device *);
-+      int (*ioctl)(struct device *, unsigned int, unsigned long);
-+      int (*read_time)(struct device *, struct rtc_time *);
-+      int (*set_time)(struct device *, struct rtc_time *);
-+      int (*read_alarm)(struct device *, struct rtc_wkalrm *);
-+      int (*set_alarm)(struct device *, struct rtc_wkalrm *);
-+      int (*proc)(struct device *, struct seq_file *);
-+      int (*set_mmss)(struct device *, unsigned long secs);
-+      int (*irq_set_state)(struct device *, int enabled);
-+      int (*irq_set_freq)(struct device *, int freq);
-+};
-+
-+#define RTC_DEVICE_NAME_SIZE 20
-+struct rtc_task;
-+
-+struct rtc_device
-+{
-+      int id;
-+      struct module *owner;
-+      struct rw_semaphore lock;
-+      struct class_device class_dev;
-+      struct rtc_class_ops *ops;
-+      char name[RTC_DEVICE_NAME_SIZE];
-+
-+      struct cdev char_dev;
-+      struct semaphore char_sem;
-+
-+      unsigned long irq_data;
-+      spinlock_t irq_lock;
-+      wait_queue_head_t irq_queue;
-+      struct fasync_struct *async_queue;
-+
-+      spinlock_t irq_task_lock;
-+      struct rtc_task *irq_task;
-+      int irq_freq;
-+};
-+#define to_rtc_device(d) container_of(d, struct rtc_device, class_dev)
-+
-+extern struct rtc_device *rtc_device_register(char *name,
-+                                      struct device *dev,
-+                                      struct rtc_class_ops *ops,
-+                                      struct module *owner);
-+extern void rtc_device_unregister(struct rtc_device *rdev);
-+extern int rtc_interface_register(struct class_interface *intf);
-+
-+
-+extern int rtc_month_days(unsigned int month, unsigned int year);
-+extern int rtc_valid_tm(struct rtc_time *tm);
-+extern int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time);
-+extern void rtc_time_to_tm(unsigned long time, struct rtc_time *tm);
-+
-+extern int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm);
-+extern int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm);
-+extern int rtc_read_alarm(struct class_device *class_dev,
-+                              struct rtc_wkalrm *alrm);
-+extern int rtc_set_alarm(struct class_device *class_dev,
-+                              struct rtc_wkalrm *alrm);
-+extern void rtc_update_irq(struct class_device *class_dev,
-+                      unsigned long num, unsigned long events);
-+
- typedef struct rtc_task {
-       void (*func)(void *private_data);
-       void *private_data;
---- linux-nslu2.orig/drivers/Kconfig   2006-01-03 15:31:19.000000000 +0100
-+++ linux-nslu2/drivers/Kconfig        2006-01-04 01:27:31.000000000 +0100
-@@ -66,4 +66,6 @@ source "drivers/infiniband/Kconfig"
- source "drivers/sn/Kconfig"
-+source "drivers/rtc/Kconfig"
-+
- endmenu
---- linux-nslu2.orig/drivers/Makefile  2006-01-03 15:33:32.000000000 +0100
-+++ linux-nslu2/drivers/Makefile       2006-01-04 01:27:31.000000000 +0100
-@@ -54,6 +54,7 @@ obj-$(CONFIG_USB_GADGET)     += usb/gadget/
- obj-$(CONFIG_GAMEPORT)                += input/gameport/
- obj-$(CONFIG_INPUT)           += input/
- obj-$(CONFIG_I2O)             += message/
-+obj-y                         += rtc/
- obj-$(CONFIG_I2C)             += i2c/
- obj-$(CONFIG_W1)              += w1/
- obj-$(CONFIG_HWMON)           += hwmon/
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/class.c    2006-01-03 15:45:19.000000000 +0100
-@@ -0,0 +1,141 @@
-+/*
-+ * RTC subsystem, base class
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * class skeleton from drivers/hwmon/hwmon.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/module.h>
-+#include <linux/rtc.h>
-+#include <linux/kdev_t.h>
-+#include <linux/idr.h>
-+
-+static DEFINE_IDR(rtc_idr);
-+static DECLARE_MUTEX(idr_lock);
-+struct class *rtc_class;
-+
-+static void rtc_device_release(struct class_device *class_dev)
-+{
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+      down(&idr_lock);
-+      idr_remove(&rtc_idr, rtc->id);
-+      up(&idr_lock);
-+      kfree(rtc);
-+}
-+
-+/**
-+ * rtc_device_register - register w/ RTC class
-+ * @dev: the device to register
-+ *
-+ * rtc_device_unregister() must be called when the class device is no
-+ * longer needed.
-+ *
-+ * Returns the pointer to the new struct class device.
-+ */
-+struct rtc_device *rtc_device_register(char *name, struct device *dev,
-+                                      struct rtc_class_ops *ops,
-+                                      struct module *owner)
-+{
-+      struct rtc_device *rtc;
-+      int id, err;
-+
-+      if (idr_pre_get(&rtc_idr, GFP_KERNEL) == 0) {
-+              err = -ENOMEM;
-+              goto exit;
-+      }
-+
-+
-+      down(&idr_lock);
-+      err = idr_get_new(&rtc_idr, NULL, &id);
-+      up(&idr_lock);
-+
-+      if (err < 0)
-+              goto exit;
-+
-+      id = id & MAX_ID_MASK;
-+
-+      if ((rtc = kzalloc(sizeof(struct rtc_device), GFP_KERNEL)) == NULL) {
-+              err = -ENOMEM;
-+              goto exit_idr;
-+      }
-+
-+      rtc->id = id;
-+      rtc->ops = ops;
-+      rtc->owner = owner;
-+      rtc->class_dev.dev = dev;
-+      rtc->class_dev.class = rtc_class;
-+      rtc->class_dev.release = rtc_device_release;
-+
-+      init_rwsem(&rtc->lock);
-+      spin_lock_init(&rtc->irq_lock);
-+      spin_lock_init(&rtc->irq_task_lock);
-+
-+      strlcpy(rtc->name, name, RTC_DEVICE_NAME_SIZE);
-+      snprintf(rtc->class_dev.class_id, BUS_ID_SIZE, "rtc%d", id);
-+
-+      if ((err = class_device_register(&rtc->class_dev)))
-+              goto exit_kfree;
-+
-+      dev_info(dev, "rtc core: registered %s as %s\n",
-+                      rtc->name, rtc->class_dev.class_id);
-+
-+      return rtc;
-+
-+exit_kfree:
-+      kfree(rtc);
-+
-+exit_idr:
-+      idr_remove(&rtc_idr, id);
-+
-+exit:
-+      return ERR_PTR(err);
-+}
-+EXPORT_SYMBOL_GPL(rtc_device_register);
-+
-+
-+/**
-+ * rtc_device_unregister - removes the previously registered RTC class device
-+ *
-+ * @rtc: the RTC class device to destroy
-+ */
-+void rtc_device_unregister(struct rtc_device *rtc)
-+{
-+      down_write(&rtc->lock);
-+      class_device_unregister(&rtc->class_dev);
-+}
-+EXPORT_SYMBOL_GPL(rtc_device_unregister);
-+
-+int rtc_interface_register(struct class_interface *intf)
-+{
-+      intf->class = rtc_class;
-+      return class_interface_register(intf);
-+}
-+EXPORT_SYMBOL_GPL(rtc_interface_register);
-+
-+static int __init rtc_init(void)
-+{
-+      rtc_class = class_create(THIS_MODULE, "rtc");
-+      if (IS_ERR(rtc_class)) {
-+              printk(KERN_ERR "%s: couldn't create class\n", __FILE__);
-+              return PTR_ERR(rtc_class);
-+      }
-+      return 0;
-+}
-+
-+static void __exit rtc_exit(void)
-+{
-+      class_destroy(rtc_class);
-+}
-+
-+module_init(rtc_init);
-+module_exit(rtc_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towerteh.it>");
-+MODULE_DESCRIPTION("RTC class support");
-+MODULE_LICENSE("GPL");
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/Kconfig    2006-01-04 01:27:21.000000000 +0100
-@@ -0,0 +1,93 @@
-+#
-+# RTC class/drivers configuration
-+#
-+
-+menu "Real Time Clock"
-+
-+config RTC_CLASS
-+      tristate "RTC class"
-+      depends on EXPERIMENTAL
-+      default y
-+      help
-+        Generic RTC class support. If you say yes here, you will
-+        be allowed to plug one or more RTCs to your system. You will
-+        probably want to enable one of more of the interfaces below.
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-class.
-+
-+comment "RTC interfaces"
-+      depends on RTC_CLASS
-+
-+config RTC_INTF_SYSFS
-+      tristate "sysfs"
-+      depends on RTC_CLASS && SYSFS
-+      default RTC_CLASS
-+      help
-+        Say yes here if you want to use your RTC using the sysfs
-+        interface, /sys/class/rtc/rtcX .
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-sysfs.
-+
-+config RTC_INTF_PROC
-+      tristate "proc"
-+      depends on RTC_CLASS && PROC_FS
-+      default RTC_CLASS
-+      help
-+        Say yes here if you want to use your RTC using the proc
-+        interface, /proc/driver/rtc .
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-proc.
-+
-+config RTC_INTF_DEV
-+      tristate "dev"
-+      depends on RTC_CLASS
-+      default RTC_CLASS
-+      help
-+        Say yes here if you want to use your RTC using the dev
-+        interface, /dev/rtc .
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-dev.
-+
-+comment "RTC drivers"
-+      depends on RTC_CLASS
-+
-+config RTC_DRV_X1205
-+      tristate "Xicor/Intersil X1205 RTC chip"
-+      depends on RTC_CLASS && I2C
-+      help
-+        If you say yes here you get support for the
-+        Xicor/Intersil X1205 RTC chip.
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-x1205.
-+
-+config RTC_DRV_DS1672
-+      tristate "Dallas/Maxim DS1672"
-+      depends on RTC_CLASS && I2C
-+      help
-+        If you say yes here you get support for the
-+        Dallas/Maxim DS1672 timekeeping chip.
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-ds1672.
-+
-+config RTC_DRV_TEST
-+      tristate "Test driver/device"
-+      depends on RTC_CLASS
-+      help
-+        If you say yes here you get support for the
-+        RTC test driver. It's a software RTC which can be
-+        used to test the RTC subsystem APIs. It gets
-+        the time from the system clock.
-+        You want this driver only if you are doing development
-+        on the RTC subsystem. Please read the source code
-+        for further details.
-+
-+        This driver can also be built as a module. If so, the module
-+        will be called rtc-test.
-+
-+endmenu
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/Makefile   2006-01-04 01:27:21.000000000 +0100
-@@ -0,0 +1,15 @@
-+#
-+# Makefile for RTC class/drivers.
-+#
-+
-+obj-y                         += utils.o
-+obj-$(CONFIG_RTC_CLASS)               += rtc-core.o
-+rtc-core-y                    := class.o interface.o
-+obj-$(CONFIG_RTC_INTF_SYSFS)  += rtc-sysfs.o
-+obj-$(CONFIG_RTC_INTF_PROC)   += rtc-proc.o
-+obj-$(CONFIG_RTC_INTF_DEV)    += rtc-dev.o
-+
-+obj-$(CONFIG_RTC_DRV_X1205)   += rtc-x1205.o
-+obj-$(CONFIG_RTC_DRV_TEST)    += rtc-test.o
-+obj-$(CONFIG_RTC_DRV_DS1672)  += rtc-ds1672.o
-+
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/interface.c        2006-01-03 15:34:24.000000000 +0100
-@@ -0,0 +1,189 @@
-+/*
-+ * RTC subsystem, interface functions
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * based on arch/arm/common/rtctime.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/rtc.h>
-+
-+extern struct class *rtc_class;
-+
-+int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm)
-+{
-+      int err = -EINVAL;
-+      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
-+
-+      if (ops->read_time) {
-+              memset(tm, 0, sizeof(struct rtc_time));
-+              err = ops->read_time(class_dev->dev, tm);
-+      }
-+      return err;
-+}
-+EXPORT_SYMBOL(rtc_read_time);
-+
-+int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm)
-+{
-+      int err;
-+      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
-+
-+      err = rtc_valid_tm(tm);
-+      if (err == 0 && ops->set_time)
-+              err = ops->set_time(class_dev->dev, tm);
-+
-+      return err;
-+}
-+EXPORT_SYMBOL(rtc_set_time);
-+
-+int rtc_read_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm)
-+{
-+      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
-+      int err = -EINVAL;
-+
-+      if (ops->read_alarm) {
-+              memset(alarm, 0, sizeof(struct rtc_wkalrm));
-+              err = ops->read_alarm(class_dev->dev, alarm);
-+      }
-+      return err;
-+}
-+EXPORT_SYMBOL(rtc_read_alarm);
-+
-+int rtc_set_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm)
-+{
-+      int err = -EINVAL;
-+      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
-+
-+      if (ops->set_alarm)
-+              err = ops->set_alarm(class_dev->dev, alarm);
-+      return err;
-+}
-+EXPORT_SYMBOL(rtc_set_alarm);
-+
-+void rtc_update_irq(struct class_device *class_dev,
-+              unsigned long num, unsigned long events)
-+{
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      spin_lock(&rtc->irq_lock);
-+      rtc->irq_data = (rtc->irq_data + (num << 8)) | events;
-+      spin_unlock(&rtc->irq_lock);
-+
-+      spin_lock(&rtc->irq_task_lock);
-+      if (rtc->irq_task)
-+              rtc->irq_task->func(rtc->irq_task->private_data);
-+      spin_unlock(&rtc->irq_task_lock);
-+
-+      wake_up_interruptible(&rtc->irq_queue);
-+      kill_fasync(&rtc->async_queue, SIGIO, POLL_IN);
-+}
-+EXPORT_SYMBOL(rtc_update_irq);
-+
-+struct class_device *rtc_open(char *name)
-+{
-+      struct class_device *class_dev = NULL,
-+                              *class_dev_tmp;
-+
-+      down(&rtc_class->sem);
-+      list_for_each_entry(class_dev_tmp, &rtc_class->children, node) {
-+              if (strncmp(class_dev_tmp->class_id, name, BUS_ID_SIZE) == 0) {
-+                      class_dev = class_dev_tmp;
-+                      break;
-+              }
-+      }
-+      up(&rtc_class->sem);
-+
-+      return class_dev;
-+}
-+EXPORT_SYMBOL(rtc_open);
-+
-+void rtc_close(struct class_device *class_dev)
-+{
-+}
-+EXPORT_SYMBOL(rtc_close);
-+
-+int rtc_irq_register(struct class_device *class_dev, struct rtc_task *task)
-+{
-+      int retval = -EBUSY;
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      if (task == NULL || task->func == NULL)
-+              return -EINVAL;
-+
-+      spin_lock(&rtc->irq_task_lock);
-+      if (rtc->irq_task == NULL) {
-+              rtc->irq_task = task;
-+              retval = 0;
-+      }
-+      spin_unlock(&rtc->irq_task_lock);
-+
-+      return retval;
-+}
-+EXPORT_SYMBOL(rtc_irq_register);
-+
-+void rtc_irq_unregister(struct class_device *class_dev, struct rtc_task *task)
-+{
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      spin_lock(&rtc->irq_task_lock);
-+      if (rtc->irq_task == task)
-+              rtc->irq_task = NULL;
-+      spin_unlock(&rtc->irq_task_lock);
-+}
-+EXPORT_SYMBOL(rtc_irq_unregister);
-+
-+int rtc_irq_set_state(struct class_device *class_dev, struct rtc_task *task, int enabled)
-+{
-+      int err = 0;
-+      unsigned long flags;
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      spin_lock_irqsave(&rtc->irq_task_lock, flags);
-+      if (rtc->irq_task != task)
-+              err = -ENXIO;
-+      spin_unlock_irqrestore(&rtc->irq_task_lock, flags);
-+
-+      if (err == 0)
-+              err = rtc->ops->irq_set_state(class_dev->dev, enabled);
-+
-+      return err;
-+}
-+EXPORT_SYMBOL(rtc_irq_set_state);
-+
-+int rtc_irq_set_freq(struct class_device *class_dev, struct rtc_task *task, int freq)
-+{
-+      int err = 0, tmp = 0;
-+      unsigned long flags;
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      /* allowed range is 2-8192 */
-+      if (freq < 2 || freq > 8192)
-+              return -EINVAL;
-+
-+/*    if ((freq > rtc_max_user_freq) && (!capable(CAP_SYS_RESOURCE)))
-+              return -EACCES;
-+*/
-+      /* check if freq is a power of 2 */
-+      while (freq > (1 << tmp))
-+              tmp++;
-+
-+      if (freq != (1 << tmp))
-+              return -EINVAL;
-+
-+      spin_lock_irqsave(&rtc->irq_task_lock, flags);
-+      if (rtc->irq_task != task)
-+              err = -ENXIO;
-+      spin_unlock_irqrestore(&rtc->irq_task_lock, flags);
-+
-+      if (err == 0) {
-+              if ((err = rtc->ops->irq_set_freq(class_dev->dev, freq)) == 0)
-+                      rtc->irq_freq = freq;
-+      }
-+      return err;
-+
-+}
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/utils.c    2006-01-03 15:34:24.000000000 +0100
-@@ -0,0 +1,97 @@
-+/*
-+ * RTC subsystem, utility functions
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * based on arch/arm/common/rtctime.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/rtc.h>
-+
-+static const unsigned char rtc_days_in_month[] = {
-+      31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
-+};
-+
-+#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
-+#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
-+
-+int rtc_month_days(unsigned int month, unsigned int year)
-+{
-+      return rtc_days_in_month[month] + (LEAP_YEAR(year) && month == 1);
-+}
-+EXPORT_SYMBOL(rtc_month_days);
-+
-+/*
-+ * Convert seconds since 01-01-1970 00:00:00 to Gregorian date.
-+ */
-+void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
-+{
-+      int days, month, year;
-+
-+      days = time / 86400;
-+      time -= days * 86400;
-+
-+      tm->tm_wday = (days + 4) % 7;
-+
-+      year = 1970 + days / 365;
-+      days -= (year - 1970) * 365
-+              + LEAPS_THRU_END_OF(year - 1)
-+              - LEAPS_THRU_END_OF(1970 - 1);
-+      if (days < 0) {
-+              year -= 1;
-+              days += 365 + LEAP_YEAR(year);
-+      }
-+      tm->tm_year = year - 1900;
-+      tm->tm_yday = days + 1;
-+
-+      for (month = 0; month < 11; month++) {
-+              int newdays;
-+
-+              newdays = days - rtc_month_days(month, year);
-+              if (newdays < 0)
-+                      break;
-+              days = newdays;
-+      }
-+      tm->tm_mon = month;
-+      tm->tm_mday = days + 1;
-+
-+      tm->tm_hour = time / 3600;
-+      time -= tm->tm_hour * 3600;
-+      tm->tm_min = time / 60;
-+      tm->tm_sec = time - tm->tm_min * 60;
-+}
-+EXPORT_SYMBOL(rtc_time_to_tm);
-+
-+/*
-+ * Does the rtc_time represent a valid date/time?
-+ */
-+int rtc_valid_tm(struct rtc_time *tm)
-+{
-+      if (tm->tm_year < 70 ||
-+          tm->tm_mon >= 12 ||
-+          tm->tm_mday < 1 ||
-+          tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900) ||
-+          tm->tm_hour >= 24 ||
-+          tm->tm_min >= 60 ||
-+          tm->tm_sec >= 60)
-+              return -EINVAL;
-+
-+      return 0;
-+}
-+EXPORT_SYMBOL(rtc_valid_tm);
-+
-+/*
-+ * Convert Gregorian date to seconds since 01-01-1970 00:00:00.
-+ */
-+int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time)
-+{
-+      *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
-+                     tm->tm_hour, tm->tm_min, tm->tm_sec);
-+      return 0;
-+}
-+EXPORT_SYMBOL(rtc_tm_to_time);
---- linux-nslu2.orig/arch/arm/Kconfig  2006-01-04 01:27:04.000000000 +0100
-+++ linux-nslu2/arch/arm/Kconfig       2006-01-04 01:27:31.000000000 +0100
-@@ -750,6 +750,8 @@ source "drivers/usb/Kconfig"
- source "drivers/mmc/Kconfig"
-+source "drivers/rtc/Kconfig"
-+
- endmenu
- source "fs/Kconfig"
---- linux-nslu2.orig/arch/arm/common/rtctime.c 2006-01-04 01:27:04.000000000 +0100
-+++ linux-nslu2/arch/arm/common/rtctime.c      2006-01-04 01:27:09.000000000 +0100
-@@ -40,89 +40,6 @@ static struct rtc_ops *rtc_ops;
- #define rtc_epoch 1900UL
--static const unsigned char days_in_month[] = {
--      31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
--};
--
--#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
--#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
--
--static int month_days(unsigned int month, unsigned int year)
--{
--      return days_in_month[month] + (LEAP_YEAR(year) && month == 1);
--}
--
--/*
-- * Convert seconds since 01-01-1970 00:00:00 to Gregorian date.
-- */
--void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
--{
--      int days, month, year;
--
--      days = time / 86400;
--      time -= days * 86400;
--
--      tm->tm_wday = (days + 4) % 7;
--
--      year = 1970 + days / 365;
--      days -= (year - 1970) * 365
--              + LEAPS_THRU_END_OF(year - 1)
--              - LEAPS_THRU_END_OF(1970 - 1);
--      if (days < 0) {
--              year -= 1;
--              days += 365 + LEAP_YEAR(year);
--      }
--      tm->tm_year = year - 1900;
--      tm->tm_yday = days + 1;
--
--      for (month = 0; month < 11; month++) {
--              int newdays;
--
--              newdays = days - month_days(month, year);
--              if (newdays < 0)
--                      break;
--              days = newdays;
--      }
--      tm->tm_mon = month;
--      tm->tm_mday = days + 1;
--
--      tm->tm_hour = time / 3600;
--      time -= tm->tm_hour * 3600;
--      tm->tm_min = time / 60;
--      tm->tm_sec = time - tm->tm_min * 60;
--}
--EXPORT_SYMBOL(rtc_time_to_tm);
--
--/*
-- * Does the rtc_time represent a valid date/time?
-- */
--int rtc_valid_tm(struct rtc_time *tm)
--{
--      if (tm->tm_year < 70 ||
--          tm->tm_mon >= 12 ||
--          tm->tm_mday < 1 ||
--          tm->tm_mday > month_days(tm->tm_mon, tm->tm_year + 1900) ||
--          tm->tm_hour >= 24 ||
--          tm->tm_min >= 60 ||
--          tm->tm_sec >= 60)
--              return -EINVAL;
--
--      return 0;
--}
--EXPORT_SYMBOL(rtc_valid_tm);
--
--/*
-- * Convert Gregorian date to seconds since 01-01-1970 00:00:00.
-- */
--int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time)
--{
--      *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
--                     tm->tm_hour, tm->tm_min, tm->tm_sec);
--
--      return 0;
--}
--EXPORT_SYMBOL(rtc_tm_to_time);
--
- /*
-  * Calculate the next alarm time given the requested alarm time mask
-  * and the current time.
-@@ -141,13 +58,13 @@ void rtc_next_alarm_time(struct rtc_time
-       next->tm_sec = alrm->tm_sec;
- }
--static inline int rtc_read_time(struct rtc_ops *ops, struct rtc_time *tm)
-+static inline int rtc_arm_read_time(struct rtc_ops *ops, struct rtc_time *tm)
- {
-       memset(tm, 0, sizeof(struct rtc_time));
-       return ops->read_time(tm);
- }
--static inline int rtc_set_time(struct rtc_ops *ops, struct rtc_time *tm)
-+static inline int rtc_arm_set_time(struct rtc_ops *ops, struct rtc_time *tm)
- {
-       int ret;
-@@ -158,7 +75,7 @@ static inline int rtc_set_time(struct rt
-       return ret;
- }
--static inline int rtc_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
-+static inline int rtc_arm_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
- {
-       int ret = -EINVAL;
-       if (ops->read_alarm) {
-@@ -168,7 +85,7 @@ static inline int rtc_read_alarm(struct 
-       return ret;
- }
--static inline int rtc_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
-+static inline int rtc_arm_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
- {
-       int ret = -EINVAL;
-       if (ops->set_alarm)
-@@ -256,7 +173,7 @@ static int rtc_ioctl(struct inode *inode
-       switch (cmd) {
-       case RTC_ALM_READ:
--              ret = rtc_read_alarm(ops, &alrm);
-+              ret = rtc_arm_read_alarm(ops, &alrm);
-               if (ret)
-                       break;
-               ret = copy_to_user(uarg, &alrm.time, sizeof(tm));
-@@ -278,11 +195,11 @@ static int rtc_ioctl(struct inode *inode
-               alrm.time.tm_wday = -1;
-               alrm.time.tm_yday = -1;
-               alrm.time.tm_isdst = -1;
--              ret = rtc_set_alarm(ops, &alrm);
-+              ret = rtc_arm_set_alarm(ops, &alrm);
-               break;
-       case RTC_RD_TIME:
--              ret = rtc_read_time(ops, &tm);
-+              ret = rtc_arm_read_time(ops, &tm);
-               if (ret)
-                       break;
-               ret = copy_to_user(uarg, &tm, sizeof(tm));
-@@ -300,7 +217,7 @@ static int rtc_ioctl(struct inode *inode
-                       ret = -EFAULT;
-                       break;
-               }
--              ret = rtc_set_time(ops, &tm);
-+              ret = rtc_arm_set_time(ops, &tm);
-               break;
-       case RTC_EPOCH_SET:
-@@ -331,11 +248,11 @@ static int rtc_ioctl(struct inode *inode
-                       ret = -EFAULT;
-                       break;
-               }
--              ret = rtc_set_alarm(ops, &alrm);
-+              ret = rtc_arm_set_alarm(ops, &alrm);
-               break;
-       case RTC_WKALM_RD:
--              ret = rtc_read_alarm(ops, &alrm);
-+              ret = rtc_arm_read_alarm(ops, &alrm);
-               if (ret)
-                       break;
-               ret = copy_to_user(uarg, &alrm, sizeof(alrm));
-@@ -425,7 +342,7 @@ static int rtc_read_proc(char *page, cha
-       struct rtc_time tm;
-       char *p = page;
--      if (rtc_read_time(ops, &tm) == 0) {
-+      if (rtc_arm_read_time(ops, &tm) == 0) {
-               p += sprintf(p,
-                       "rtc_time\t: %02d:%02d:%02d\n"
-                       "rtc_date\t: %04d-%02d-%02d\n"
-@@ -435,7 +352,7 @@ static int rtc_read_proc(char *page, cha
-                       rtc_epoch);
-       }
--      if (rtc_read_alarm(ops, &alrm) == 0) {
-+      if (rtc_arm_read_alarm(ops, &alrm) == 0) {
-               p += sprintf(p, "alrm_time\t: ");
-               if ((unsigned int)alrm.time.tm_hour <= 24)
-                       p += sprintf(p, "%02d:", alrm.time.tm_hour);
---- linux-nslu2.orig/include/asm-arm/rtc.h     2006-01-04 01:27:04.000000000 +0100
-+++ linux-nslu2/include/asm-arm/rtc.h  2006-01-04 01:27:09.000000000 +0100
-@@ -25,9 +25,6 @@ struct rtc_ops {
-       int             (*proc)(char *buf);
- };
--void rtc_time_to_tm(unsigned long, struct rtc_time *);
--int rtc_tm_to_time(struct rtc_time *, unsigned long *);
--int rtc_valid_tm(struct rtc_time *);
- void rtc_next_alarm_time(struct rtc_time *, struct rtc_time *, struct rtc_time *);
- void rtc_update(unsigned long, unsigned long);
- int register_rtc(struct rtc_ops *);
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-sysfs.c        2006-01-04 01:27:12.000000000 +0100
-@@ -0,0 +1,125 @@
-+/*
-+ * RTC subsystem, sysfs interface
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/module.h>
-+#include <linux/rtc.h>
-+
-+/* device attributes */
-+
-+static ssize_t rtc_sysfs_show_name(struct class_device *dev, char *buf)
-+{
-+      return sprintf(buf, "%s\n", to_rtc_device(dev)->name);
-+}
-+static CLASS_DEVICE_ATTR(name, S_IRUGO, rtc_sysfs_show_name, NULL);
-+
-+static ssize_t rtc_sysfs_show_date(struct class_device *dev, char *buf)
-+{
-+      ssize_t retval = 0;
-+      struct rtc_device *rtc = to_rtc_device(dev);
-+      struct rtc_time tm;
-+
-+      if (down_read_trylock(&rtc->lock) == 0)
-+              return -ENODEV;
-+
-+      if (rtc_read_time(dev, &tm) == 0) {
-+              retval = sprintf(buf, "%04d-%02d-%02d\n",
-+                      tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
-+      }
-+
-+      up_read(&rtc->lock);
-+      return retval;
-+}
-+static CLASS_DEVICE_ATTR(date, S_IRUGO, rtc_sysfs_show_date, NULL);
-+
-+static ssize_t rtc_sysfs_show_time(struct class_device *dev, char *buf)
-+{
-+      ssize_t retval = 0;
-+      struct rtc_device *rtc = to_rtc_device(dev);
-+      struct rtc_time tm;
-+
-+      if (down_read_trylock(&rtc->lock) == 0)
-+              return -ENODEV;
-+
-+      if (rtc_read_time(dev, &tm) == 0) {
-+              retval = sprintf(buf, "%02d:%02d:%02d\n",
-+                      tm.tm_hour, tm.tm_min, tm.tm_sec);
-+      }
-+
-+      up_read(&rtc->lock);
-+      return retval;
-+}
-+static CLASS_DEVICE_ATTR(time, S_IRUGO, rtc_sysfs_show_time, NULL);
-+
-+static ssize_t rtc_sysfs_show_since_epoch(struct class_device *dev, char *buf)
-+{
-+      ssize_t retval = 0;
-+      struct rtc_device *rtc = to_rtc_device(dev);
-+      struct rtc_time tm;
-+
-+      if (down_read_trylock(&rtc->lock) == 0)
-+              return -ENODEV;
-+
-+      if (rtc_read_time(dev, &tm) == 0) {
-+              unsigned long time;
-+              rtc_tm_to_time(&tm, &time);
-+              retval = sprintf(buf, "%lu\n", time);
-+      }
-+
-+      up_read(&rtc->lock);
-+      return retval;
-+}
-+static CLASS_DEVICE_ATTR(since_epoch, S_IRUGO, rtc_sysfs_show_since_epoch, NULL);
-+
-+/* insertion/removal hooks */
-+
-+static int __devinit rtc_sysfs_add_device(struct class_device *class_dev,
-+                                         struct class_interface *class_intf)
-+{
-+      class_device_create_file(class_dev, &class_device_attr_name);
-+      class_device_create_file(class_dev, &class_device_attr_date);
-+      class_device_create_file(class_dev, &class_device_attr_time);
-+      class_device_create_file(class_dev, &class_device_attr_since_epoch);
-+      dev_info(class_dev->dev, "rtc intf: sysfs\n");
-+      return 0;
-+}
-+
-+static void rtc_sysfs_remove_device(struct class_device *class_dev,
-+                                    struct class_interface *class_intf)
-+{
-+      class_device_remove_file(class_dev, &class_device_attr_name);
-+      class_device_remove_file(class_dev, &class_device_attr_date);
-+      class_device_remove_file(class_dev, &class_device_attr_time);
-+      class_device_remove_file(class_dev, &class_device_attr_since_epoch);
-+}
-+
-+/* interface registration */
-+
-+struct class_interface rtc_sysfs_interface = {
-+      .add = &rtc_sysfs_add_device,
-+      .remove = &rtc_sysfs_remove_device,
-+};
-+
-+static int __init rtc_sysfs_init(void)
-+{
-+      return rtc_interface_register(&rtc_sysfs_interface);
-+}
-+
-+static void __exit rtc_sysfs_exit(void)
-+{
-+      class_interface_unregister(&rtc_sysfs_interface);
-+}
-+
-+module_init(rtc_sysfs_init);
-+module_exit(rtc_sysfs_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("RTC class sysfs interface");
-+MODULE_LICENSE("GPL");
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-proc.c 2006-01-04 01:27:14.000000000 +0100
-@@ -0,0 +1,158 @@
-+/*
-+ * RTC subsystem, proc interface
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * based on arch/arm/common/rtctime.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/module.h>
-+#include <linux/rtc.h>
-+#include <linux/proc_fs.h>
-+#include <linux/seq_file.h>
-+
-+static struct class_device *rtc_dev = NULL;
-+static DECLARE_MUTEX(rtc_sem);
-+
-+static int rtc_proc_show(struct seq_file *seq, void *offset)
-+{
-+      struct class_device *class_dev = seq->private;
-+      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
-+      struct rtc_wkalrm alrm;
-+      struct rtc_time tm;
-+
-+      if (rtc_read_time(class_dev, &tm) == 0) {
-+              seq_printf(seq,
-+                      "rtc_time\t: %02d:%02d:%02d\n"
-+                      "rtc_date\t: %04d-%02d-%02d\n",
-+                      tm.tm_hour, tm.tm_min, tm.tm_sec,
-+                      tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
-+      }
-+
-+      if (rtc_read_alarm(class_dev, &alrm) == 0) {
-+              seq_printf(seq, "alrm_time\t: ");
-+              if ((unsigned int)alrm.time.tm_hour <= 24)
-+                      seq_printf(seq, "%02d:", alrm.time.tm_hour);
-+              else
-+                      seq_printf(seq, "**:");
-+              if ((unsigned int)alrm.time.tm_min <= 59)
-+                      seq_printf(seq, "%02d:", alrm.time.tm_min);
-+              else
-+                      seq_printf(seq, "**:");
-+              if ((unsigned int)alrm.time.tm_sec <= 59)
-+                      seq_printf(seq, "%02d\n", alrm.time.tm_sec);
-+              else
-+                      seq_printf(seq, "**\n");
-+
-+              seq_printf(seq, "alrm_date\t: ");
-+              if ((unsigned int)alrm.time.tm_year <= 200)
-+                      seq_printf(seq, "%04d-", alrm.time.tm_year + 1900);
-+              else
-+                      seq_printf(seq, "****-");
-+              if ((unsigned int)alrm.time.tm_mon <= 11)
-+                      seq_printf(seq, "%02d-", alrm.time.tm_mon + 1);
-+              else
-+                      seq_printf(seq, "**-");
-+              if ((unsigned int)alrm.time.tm_mday <= 31)
-+                      seq_printf(seq, "%02d\n", alrm.time.tm_mday);
-+              else
-+                      seq_printf(seq, "**\n");
-+              seq_printf(seq, "alrm_wakeup\t: %s\n",
-+                           alrm.enabled ? "yes" : "no");
-+              seq_printf(seq, "alrm_pending\t: %s\n",
-+                           alrm.pending ? "yes" : "no");
-+      }
-+
-+      if (ops->proc)
-+              ops->proc(class_dev->dev, seq);
-+
-+      return 0;
-+}
-+
-+static int rtc_proc_open(struct inode *inode, struct file *file)
-+{
-+      struct class_device *class_dev = PDE(inode)->data;
-+
-+      if (!try_module_get(THIS_MODULE))
-+              return -ENODEV;
-+
-+      return single_open(file, rtc_proc_show, class_dev);
-+}
-+
-+static int rtc_proc_release(struct inode *inode, struct file *file)
-+{
-+      int res = single_release(inode, file);
-+      module_put(THIS_MODULE);
-+      return res;
-+}
-+
-+static struct file_operations rtc_proc_fops = {
-+      .open           = rtc_proc_open,
-+      .read           = seq_read,
-+      .llseek         = seq_lseek,
-+      .release        = rtc_proc_release,
-+};
-+
-+static int rtc_proc_add_device(struct class_device *class_dev,
-+                                         struct class_interface *class_intf)
-+{
-+      down(&rtc_sem);
-+      if (rtc_dev == NULL) {
-+              struct proc_dir_entry *ent;
-+
-+              rtc_dev = class_dev;
-+
-+              if ((ent = create_proc_entry("driver/rtc", 0, NULL))) {
-+                      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+                      ent->proc_fops = &rtc_proc_fops;
-+                      ent->owner = rtc->owner;
-+                      ent->data = class_dev;
-+
-+                      dev_info(class_dev->dev, "rtc intf: proc\n");
-+              }
-+              else
-+                      rtc_dev = NULL;
-+      }
-+      up(&rtc_sem);
-+
-+      return 0;
-+}
-+
-+static void rtc_proc_remove_device(struct class_device *class_dev,
-+                                            struct class_interface *class_intf)
-+{
-+      down(&rtc_sem);
-+      if (rtc_dev == class_dev) {
-+              remove_proc_entry("driver/rtc", NULL);
-+              rtc_dev = NULL;
-+      }
-+      up(&rtc_sem);
-+}
-+
-+struct class_interface rtc_proc_interface = {
-+      .add = &rtc_proc_add_device,
-+      .remove = &rtc_proc_remove_device,
-+};
-+
-+static int __init rtc_proc_init(void)
-+{
-+      return rtc_interface_register(&rtc_proc_interface);
-+}
-+
-+static void __exit rtc_proc_exit(void)
-+{
-+      class_interface_unregister(&rtc_proc_interface);
-+}
-+
-+module_init(rtc_proc_init);
-+module_exit(rtc_proc_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("RTC class proc interface");
-+MODULE_LICENSE("GPL");
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-dev.c  2006-01-04 01:27:15.000000000 +0100
-@@ -0,0 +1,372 @@
-+/*
-+ * RTC subsystem, dev interface
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * based on arch/arm/common/rtctime.c
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; version 2 of the License.
-+*/
-+
-+#include <linux/module.h>
-+#include <linux/rtc.h>
-+
-+static dev_t rtc_devt;
-+
-+#define RTC_DEV_MAX 16 /* 16 RTCs should be enough for everyone... */
-+
-+static int rtc_dev_open(struct inode *inode, struct file *file)
-+{
-+      int err;
-+      struct rtc_device *rtc = container_of(inode->i_cdev,
-+                                      struct rtc_device, char_dev);
-+      struct rtc_class_ops *ops = rtc->ops;
-+
-+      /* We keep the lock as long as the device is in use
-+       * and return immediately if busy
-+       */
-+      if (down_trylock(&rtc->char_sem))
-+              return -EBUSY;
-+
-+      file->private_data = &rtc->class_dev;
-+
-+      err = ops->open ? ops->open(rtc->class_dev.dev) : 0;
-+      if (err == 0) {
-+
-+              spin_lock_irq(&rtc->irq_lock);
-+              rtc->irq_data = 0;
-+              spin_unlock_irq(&rtc->irq_lock);
-+
-+              return 0;
-+      }
-+
-+      /* something has gone wrong, release the lock */
-+      up(&rtc->char_sem);
-+      return err;
-+}
-+
-+
-+static ssize_t
-+rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
-+{
-+      struct rtc_device *rtc = to_rtc_device(file->private_data);
-+
-+      DECLARE_WAITQUEUE(wait, current);
-+      unsigned long data;
-+      ssize_t ret;
-+
-+      if (count < sizeof(unsigned long))
-+              return -EINVAL;
-+
-+      add_wait_queue(&rtc->irq_queue, &wait);
-+      do {
-+              __set_current_state(TASK_INTERRUPTIBLE);
-+
-+              spin_lock_irq(&rtc->irq_lock);
-+              data = rtc->irq_data;
-+              rtc->irq_data = 0;
-+              spin_unlock_irq(&rtc->irq_lock);
-+
-+              if (data != 0) {
-+                      ret = 0;
-+                      break;
-+              }
-+              if (file->f_flags & O_NONBLOCK) {
-+                      ret = -EAGAIN;
-+                      break;
-+              }
-+              if (signal_pending(current)) {
-+                      ret = -ERESTARTSYS;
-+                      break;
-+              }
-+              schedule();
-+      } while (1);
-+      set_current_state(TASK_RUNNING);
-+      remove_wait_queue(&rtc->irq_queue, &wait);
-+
-+      if (ret == 0) {
-+              ret = put_user(data, (unsigned long __user *)buf);
-+              if (ret == 0)
-+                      ret = sizeof(unsigned long);
-+      }
-+      return ret;
-+}
-+
-+static unsigned int rtc_dev_poll(struct file *file, poll_table *wait)
-+{
-+      struct rtc_device *rtc = to_rtc_device(file->private_data);
-+      unsigned long data;
-+
-+      poll_wait(file, &rtc->irq_queue, wait);
-+
-+      spin_lock_irq(&rtc->irq_lock);
-+      data = rtc->irq_data;
-+      spin_unlock_irq(&rtc->irq_lock);
-+
-+      return data != 0 ? POLLIN | POLLRDNORM : 0;
-+}
-+
-+static int rtc_dev_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
-+                   unsigned long arg)
-+{
-+      int err = 0;
-+      struct class_device *class_dev = file->private_data;
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+      struct rtc_class_ops *ops = rtc->ops;
-+      struct rtc_time tm;
-+      struct rtc_wkalrm alarm;
-+      void __user *uarg = (void __user *) arg;
-+
-+      /* avoid conflicting IRQ users */
-+      if (cmd == RTC_PIE_ON || cmd == RTC_PIE_OFF || cmd == RTC_IRQP_SET) {
-+              spin_lock(&rtc->irq_task_lock);
-+              if (rtc->irq_task)
-+                      err = -EBUSY;
-+              spin_unlock(&rtc->irq_task_lock);
-+
-+              if (err < 0)
-+                      return err;
-+      }
-+
-+      /* try the driver's ioctl interface */
-+      if (ops->ioctl) {
-+              err = ops->ioctl(class_dev->dev, cmd, arg);
-+              if (err < 0 && err != -EINVAL)
-+                      return err;
-+      }
-+
-+      /* if the driver does not provide the ioctl interface
-+       * or if that particular ioctl was not implemented
-+       * (-EINVAL), we will try to emulate here.
-+       */
-+
-+      switch (cmd) {
-+      case RTC_ALM_READ:
-+              if ((err = rtc_read_alarm(class_dev, &alarm)) < 0)
-+                      return err;
-+
-+              if ((err = copy_to_user(uarg, &alarm.time, sizeof(tm))))
-+                      return -EFAULT;
-+              break;
-+
-+      case RTC_ALM_SET:
-+              if ((err = copy_from_user(&alarm.time, uarg, sizeof(tm))))
-+                      return -EFAULT;
-+
-+              alarm.enabled = 0;
-+              alarm.pending = 0;
-+              alarm.time.tm_mday = -1;
-+              alarm.time.tm_mon = -1;
-+              alarm.time.tm_year = -1;
-+              alarm.time.tm_wday = -1;
-+              alarm.time.tm_yday = -1;
-+              alarm.time.tm_isdst = -1;
-+              err = rtc_set_alarm(class_dev, &alarm);
-+              break;
-+
-+      case RTC_RD_TIME:
-+              if ((err = rtc_read_time(class_dev, &tm)) < 0)
-+                      return err;
-+
-+              if ((err = copy_to_user(uarg, &tm, sizeof(tm))))
-+                      return -EFAULT;
-+              break;
-+
-+      case RTC_SET_TIME:
-+              if (!capable(CAP_SYS_TIME))
-+                      return -EACCES;
-+
-+              if ((err = copy_from_user(&tm, uarg, sizeof(tm))))
-+                      return -EFAULT;
-+
-+              err = rtc_set_time(class_dev, &tm);
-+              break;
-+#if 0
-+      case RTC_EPOCH_SET:
-+#ifndef rtc_epoch
-+              /*
-+               * There were no RTC clocks before 1900.
-+               */
-+              if (arg < 1900) {
-+                      err = -EINVAL;
-+                      break;
-+              }
-+              if (!capable(CAP_SYS_TIME)) {
-+                      err = -EACCES;
-+                      break;
-+              }
-+              rtc_epoch = arg;
-+              err = 0;
-+#endif
-+              break;
-+
-+      case RTC_EPOCH_READ:
-+              err = put_user(rtc_epoch, (unsigned long __user *)uarg);
-+              break;
-+#endif
-+      case RTC_WKALM_SET:
-+              if ((err = copy_from_user(&alarm, uarg, sizeof(alarm))))
-+                      return -EFAULT;
-+
-+              err = rtc_set_alarm(class_dev, &alarm);
-+              break;
-+
-+      case RTC_WKALM_RD:
-+              if ((err = rtc_read_alarm(class_dev, &alarm)) < 0)
-+                      return err;
-+
-+              if ((err = copy_to_user(uarg, &alarm, sizeof(alarm))))
-+                      return -EFAULT;
-+              break;
-+
-+      default:
-+              err = -EINVAL;
-+              break;
-+      }
-+
-+      return err;
-+}
-+
-+static int rtc_dev_release(struct inode *inode, struct file *file)
-+{
-+      struct rtc_device *rtc = to_rtc_device(file->private_data);
-+
-+      if (rtc->ops->release)
-+              rtc->ops->release(rtc->class_dev.dev);
-+
-+      spin_lock_irq(&rtc->irq_lock);
-+      rtc->irq_data = 0;
-+      spin_unlock_irq(&rtc->irq_lock);
-+
-+      up(&rtc->char_sem);
-+      return 0;
-+}
-+
-+static int rtc_dev_fasync(int fd, struct file *file, int on)
-+{
-+      struct rtc_device *rtc = to_rtc_device(file->private_data);
-+      return fasync_helper(fd, file, on, &rtc->async_queue);
-+}
-+
-+static struct file_operations rtc_dev_fops = {
-+      .owner          = THIS_MODULE,
-+      .llseek         = no_llseek,
-+      .read           = rtc_dev_read,
-+      .poll           = rtc_dev_poll,
-+      .ioctl          = rtc_dev_ioctl,
-+      .open           = rtc_dev_open,
-+      .release        = rtc_dev_release,
-+      .fasync         = rtc_dev_fasync,
-+};
-+
-+static ssize_t rtc_dev_show_dev(struct class_device *class_dev, char *buf)
-+{
-+        return print_dev_t(buf, class_dev->devt);
-+}
-+static CLASS_DEVICE_ATTR(dev, S_IRUGO, rtc_dev_show_dev, NULL);
-+
-+/* insertion/removal hooks */
-+
-+static int rtc_dev_add_device(struct class_device *class_dev,
-+                              struct class_interface *class_intf)
-+{
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      if (rtc->id >= RTC_DEV_MAX) {
-+              dev_err(class_dev->dev, "too many RTCs\n");
-+              return -EINVAL;
-+      }
-+
-+      init_MUTEX(&rtc->char_sem);
-+      spin_lock_init(&rtc->irq_lock);
-+      init_waitqueue_head(&rtc->irq_queue);
-+
-+      cdev_init(&rtc->char_dev, &rtc_dev_fops);
-+      rtc->char_dev.owner = rtc->owner;
-+      class_dev->devt = MKDEV(MAJOR(rtc_devt), rtc->id);
-+
-+      if (cdev_add(&rtc->char_dev, class_dev->devt, 1)) {
-+              cdev_del(&rtc->char_dev);
-+
-+              dev_err(class_dev->dev,
-+                      "failed to add char device %d:%d\n",
-+                      MAJOR(class_dev->devt),
-+                      MINOR(class_dev->devt));
-+
-+              class_dev->devt = MKDEV(0, 0);
-+              return -ENODEV;
-+      }
-+
-+      class_device_create_file(class_dev, &class_device_attr_dev);
-+
-+      dev_info(class_dev->dev, "rtc intf: dev (%d:%d)\n",
-+              MAJOR(class_dev->devt),
-+              MINOR(class_dev->devt));
-+
-+      kobject_hotplug(&class_dev->kobj, KOBJ_ADD);
-+
-+      return 0;
-+}
-+
-+static void rtc_dev_remove_device(struct class_device *class_dev,
-+                                      struct class_interface *class_intf)
-+{
-+      struct rtc_device *rtc = to_rtc_device(class_dev);
-+
-+      class_device_remove_file(class_dev, &class_device_attr_dev);
-+
-+      if (MAJOR(class_dev->devt)) {
-+              dev_dbg(class_dev->dev, "removing char %d:%d\n",
-+                      MAJOR(class_dev->devt),
-+                      MINOR(class_dev->devt));
-+              cdev_del(&rtc->char_dev);
-+
-+              kobject_hotplug(&class_dev->kobj, KOBJ_REMOVE);
-+
-+              class_dev->devt = MKDEV(0, 0);
-+      }
-+}
-+
-+/* interface registration */
-+
-+struct class_interface rtc_dev_interface = {
-+      .add = &rtc_dev_add_device,
-+      .remove = &rtc_dev_remove_device,
-+};
-+
-+static int __init rtc_dev_init(void)
-+{
-+      int err;
-+
-+      if ((err = alloc_chrdev_region(&rtc_devt, 0, RTC_DEV_MAX, "rtc")) < 0) {
-+              printk(KERN_ERR "%s: failed to allocate char dev region\n",
-+                      __FILE__);
-+              return err;
-+      }
-+
-+      if ((err = rtc_interface_register(&rtc_dev_interface)) < 0) {
-+              printk(KERN_ERR "%s: failed to register the interface\n",
-+                      __FILE__);
-+              unregister_chrdev_region(rtc_devt, RTC_DEV_MAX);
-+              return err;
-+      }
-+
-+      return 0;
-+}
-+
-+static void __exit rtc_dev_exit(void)
-+{
-+      class_interface_unregister(&rtc_dev_interface);
-+
-+      unregister_chrdev_region(rtc_devt, RTC_DEV_MAX);
-+}
-+
-+module_init(rtc_dev_init);
-+module_exit(rtc_dev_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("RTC class dev interface");
-+MODULE_LICENSE("GPL");
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-x1205.c        2006-01-04 01:27:17.000000000 +0100
-@@ -0,0 +1,725 @@
-+/*
-+ * An i2c driver for the Xicor/Intersil X1205 RTC
-+ * Copyright 2004 Karen Spearel
-+ * Copyright 2005 Alessandro Zummo
-+ *
-+ * please send all reports to:
-+ *    kas11 at tampabay dot rr dot com
-+ *    a dot zummo at towertech dot it
-+ *
-+ * based on a lot of other RTC drivers.
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/slab.h>
-+#include <linux/err.h>
-+#include <linux/i2c.h>
-+#include <linux/string.h>
-+#include <linux/bcd.h>
-+#include <linux/rtc.h>
-+#include <linux/delay.h>
-+
-+#define DRV_VERSION "1.0.5"
-+
-+/* Addresses to scan: none. This chip is located at
-+ * 0x6f and uses a two bytes register addressing.
-+ * Two bytes need to be written to read a single register,
-+ * while most other chips just require one and take the second
-+ * one as the data to be written. To prevent corrupting
-+ * unknown chips, the user must explicitely set the probe parameter.
-+ */
-+
-+static unsigned short normal_i2c[] = { I2C_CLIENT_END };
-+
-+/* Insmod parameters */
-+I2C_CLIENT_INSMOD;
-+I2C_CLIENT_MODULE_PARM(hctosys,
-+      "Set the system time from the hardware clock upon initialization");
-+
-+/* offsets into CCR area */
-+
-+#define CCR_SEC                       0
-+#define CCR_MIN                       1
-+#define CCR_HOUR              2
-+#define CCR_MDAY              3
-+#define CCR_MONTH             4
-+#define CCR_YEAR              5
-+#define CCR_WDAY              6
-+#define CCR_Y2K                       7
-+
-+#define X1205_REG_SR          0x3F    /* status register */
-+#define X1205_REG_Y2K         0x37
-+#define X1205_REG_DW          0x36
-+#define X1205_REG_YR          0x35
-+#define X1205_REG_MO          0x34
-+#define X1205_REG_DT          0x33
-+#define X1205_REG_HR          0x32
-+#define X1205_REG_MN          0x31
-+#define X1205_REG_SC          0x30
-+#define X1205_REG_DTR         0x13
-+#define X1205_REG_ATR         0x12
-+#define X1205_REG_INT         0x11
-+#define X1205_REG_0           0x10
-+#define X1205_REG_Y2K1                0x0F
-+#define X1205_REG_DWA1                0x0E
-+#define X1205_REG_YRA1                0x0D
-+#define X1205_REG_MOA1                0x0C
-+#define X1205_REG_DTA1                0x0B
-+#define X1205_REG_HRA1                0x0A
-+#define X1205_REG_MNA1                0x09
-+#define X1205_REG_SCA1                0x08
-+#define X1205_REG_Y2K0                0x07
-+#define X1205_REG_DWA0                0x06
-+#define X1205_REG_YRA0                0x05
-+#define X1205_REG_MOA0                0x04
-+#define X1205_REG_DTA0                0x03
-+#define X1205_REG_HRA0                0x02
-+#define X1205_REG_MNA0                0x01
-+#define X1205_REG_SCA0                0x00
-+
-+#define X1205_CCR_BASE                0x30    /* Base address of CCR */
-+#define X1205_ALM0_BASE               0x00    /* Base address of ALARM0 */
-+
-+#define X1205_SR_RTCF         0x01    /* Clock failure */
-+#define X1205_SR_WEL          0x02    /* Write Enable Latch */
-+#define X1205_SR_RWEL         0x04    /* Register Write Enable */
-+
-+#define X1205_DTR_DTR0                0x01
-+#define X1205_DTR_DTR1                0x02
-+#define X1205_DTR_DTR2                0x04
-+
-+#define X1205_HR_MIL          0x80    /* Set in ccr.hour for 24 hr mode */
-+
-+/* Prototypes */
-+static int x1205_attach(struct i2c_adapter *adapter);
-+static int x1205_detach(struct i2c_client *client);
-+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
-+
-+static struct i2c_driver x1205_driver = {
-+      .owner          = THIS_MODULE,
-+      .name           = "x1205",
-+      .flags          = I2C_DF_NOTIFY,
-+      .attach_adapter = &x1205_attach,
-+      .detach_client  = &x1205_detach,
-+};
-+
-+/*
-+ * In the routines that deal directly with the x1205 hardware, we use
-+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
-+ * Epoch is initialized as 2000. Time is set to UTC.
-+ */
-+static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              unsigned char reg_base)
-+{
-+      unsigned char dt_addr[2] = { 0, reg_base };
-+
-+      unsigned char buf[8];
-+
-+      struct i2c_msg msgs[] = {
-+              { client->addr, 0, 2, dt_addr },        /* setup read ptr */
-+              { client->addr, I2C_M_RD, 8, buf },     /* read date */
-+      };
-+
-+      /* read date registers */
-+      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
-+              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }
-+
-+      dev_dbg(&client->dev,
-+              "%s: raw read data - sec=%02x, min=%02x, hr=%02x, "
-+              "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n",
-+              __FUNCTION__,
-+              buf[0], buf[1], buf[2], buf[3],
-+              buf[4], buf[5], buf[6], buf[7]);
-+
-+      tm->tm_sec = BCD2BIN(buf[CCR_SEC]);
-+      tm->tm_min = BCD2BIN(buf[CCR_MIN]);
-+      tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */
-+      tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
-+      tm->tm_mon = BCD2BIN(buf[CCR_MONTH]) - 1; /* mon is 0-11 */
-+      tm->tm_year = BCD2BIN(buf[CCR_YEAR])
-+                      + (BCD2BIN(buf[CCR_Y2K]) * 100) - 1900;
-+      tm->tm_wday = buf[CCR_WDAY];
-+
-+      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
-+              "mday=%d, mon=%d, year=%d, wday=%d\n",
-+              __FUNCTION__,
-+              tm->tm_sec, tm->tm_min, tm->tm_hour,
-+              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+      return 0;
-+}
-+
-+static int x1205_get_status(struct i2c_client *client, unsigned char *sr)
-+{
-+      static unsigned char sr_addr[2] = { 0, X1205_REG_SR };
-+
-+      struct i2c_msg msgs[] = {
-+              { client->addr, 0, 2, sr_addr },        /* setup read ptr */
-+              { client->addr, I2C_M_RD, 1, sr },      /* read status */
-+      };
-+
-+      /* read status register */
-+      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
-+              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }
-+
-+      return 0;
-+}
-+
-+static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
-+                              int datetoo, u8 reg_base)
-+{
-+      int i, xfer;
-+      unsigned char buf[8];
-+
-+      static const unsigned char wel[3] = { 0, X1205_REG_SR,
-+                                              X1205_SR_WEL };
-+
-+      static const unsigned char rwel[3] = { 0, X1205_REG_SR,
-+                                              X1205_SR_WEL | X1205_SR_RWEL };
-+
-+      static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
-+
-+      dev_dbg(&client->dev,
-+              "%s: secs=%d, mins=%d, hours=%d\n",
-+              __FUNCTION__,
-+              tm->tm_sec, tm->tm_min, tm->tm_hour);
-+
-+      buf[CCR_SEC] = BIN2BCD(tm->tm_sec);
-+      buf[CCR_MIN] = BIN2BCD(tm->tm_min);
-+
-+      /* set hour and 24hr bit */
-+      buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
-+
-+      /* should we also set the date? */
-+      if (datetoo) {
-+              dev_dbg(&client->dev,
-+                      "%s: mday=%d, mon=%d, year=%d, wday=%d\n",
-+                      __FUNCTION__,
-+                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+              buf[CCR_MDAY] = BIN2BCD(tm->tm_mday);
-+
-+              /* month, 1 - 12 */
-+              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon + 1);
-+
-+              /* year, since the rtc epoch*/
-+              buf[CCR_YEAR] = BIN2BCD(tm->tm_year % 100);
-+              buf[CCR_WDAY] = tm->tm_wday & 0x07;
-+              buf[CCR_Y2K] = BIN2BCD(tm->tm_year / 100);
-+      }
-+
-+      /* this sequence is required to unlock the chip */
-+      xfer = i2c_master_send(client, wel, 3);
-+      if (xfer != 3) {
-+              dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer);
-+              return -EIO;
-+      }
-+
-+      xfer = i2c_master_send(client, rwel, 3);
-+      if (xfer != 3) {
-+              dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer);
-+              return -EIO;
-+      }
-+
-+      /* write register's data */
-+      for (i = 0; i < (datetoo ? 8 : 3); i++) {
-+              unsigned char rdata[3] = { 0, reg_base + i, buf[i] };
-+
-+              xfer = i2c_master_send(client, rdata, 3);
-+              if (xfer != 3) {
-+                      dev_err(&client->dev,
-+                              "%s: xfer=%d addr=%02x, data=%02x\n",
-+                              __FUNCTION__,
-+                               xfer, rdata[1], rdata[2]);
-+                      return -EIO;
-+              }
-+      };
-+
-+      /* disable further writes */
-+      xfer = i2c_master_send(client, diswe, 3);
-+      if (xfer != 3) {
-+              dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer);
-+              return -EIO;
-+      }
-+
-+      return 0;
-+}
-+
-+static int x1205_fix_osc(struct i2c_client *client)
-+{
-+      int err;
-+      struct rtc_time tm;
-+
-+      tm.tm_hour = 0;
-+      tm.tm_min = 0;
-+      tm.tm_sec = 0;
-+
-+      if ((err = x1205_set_datetime(client, &tm, 0, X1205_CCR_BASE)) < 0)
-+              dev_err(&client->dev,
-+                      "unable to restart the clock\n");
-+
-+      return err;
-+}
-+
-+static int x1205_get_dtrim(struct i2c_client *client, int *trim)
-+{
-+      unsigned char dtr;
-+      static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR };
-+
-+      struct i2c_msg msgs[] = {
-+              { client->addr, 0, 2, dtr_addr },       /* setup read ptr */
-+              { client->addr, I2C_M_RD, 1, &dtr },    /* read dtr */
-+      };
-+
-+      /* read dtr register */
-+      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
-+              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }
-+
-+      dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr);
-+
-+      *trim = 0;
-+
-+      if (dtr & X1205_DTR_DTR0)
-+              *trim += 20;
-+
-+      if (dtr & X1205_DTR_DTR1)
-+              *trim += 10;
-+
-+      if (dtr & X1205_DTR_DTR2)
-+              *trim = -*trim;
-+
-+      return 0;
-+}
-+
-+static int x1205_get_atrim(struct i2c_client *client, int *trim)
-+{
-+      s8 atr;
-+      static unsigned char atr_addr[2] = { 0, X1205_REG_ATR };
-+
-+      struct i2c_msg msgs[] = {
-+              { client->addr, 0, 2, atr_addr },       /* setup read ptr */
-+              { client->addr, I2C_M_RD, 1, &atr },    /* read atr */
-+      };
-+
-+      /* read atr register */
-+      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
-+              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
-+              return -EIO;
-+      }
-+
-+      dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr);
-+
-+      /* atr is a two's complement value on 6 bits,
-+       * perform sign extension. The formula is
-+       * Catr = (atr * 0.25pF) + 11.00pF.
-+       */
-+      if (atr & 0x20)
-+              atr |= 0xC0;
-+
-+      dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr);
-+
-+      *trim = (atr * 250) + 11000;
-+
-+      dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim);
-+
-+      return 0;
-+}
-+
-+static int x1205_hctosys(struct i2c_client *client)
-+{
-+      int err;
-+
-+      struct rtc_time tm;
-+      struct timespec tv;
-+      unsigned char sr;
-+
-+      if ((err = x1205_get_status(client, &sr)) < 0)
-+              return err;
-+
-+      /* Don't set if we had a power failure */
-+      if (sr & X1205_SR_RTCF)
-+              return -EINVAL;
-+
-+      if ((err = x1205_get_datetime(client, &tm, X1205_CCR_BASE)) < 0)
-+              return err;
-+
-+      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
-+       * whether it stores the most close value or the value with partial
-+       * seconds truncated. However, it is important that we use it to store
-+       * the truncated value. This is because otherwise it is necessary,
-+       * in an rtc sync function, to read both xtime.tv_sec and
-+       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
-+       * of >32bits is not possible. So storing the most close value would
-+       * slow down the sync API. So here we have the truncated value and
-+       * the best guess is to add 0.5s.
-+       */
-+
-+      tv.tv_nsec = NSEC_PER_SEC >> 1;
-+
-+      rtc_tm_to_time(&tm, &tv.tv_sec);
-+
-+      do_settimeofday(&tv);
-+
-+      dev_info(&client->dev,
-+              "setting the system clock to %d-%d-%d %d:%d:%d\n",
-+              tm.tm_year + 1900, tm.tm_mon + 1,
-+              tm.tm_mday, tm.tm_hour, tm.tm_min,
-+              tm.tm_sec);
-+
-+      return 0;
-+}
-+
-+struct x1205_limit
-+{
-+      unsigned char reg;
-+      unsigned char mask;
-+      unsigned char min;
-+      unsigned char max;
-+};
-+
-+static int x1205_validate_client(struct i2c_client *client)
-+{
-+      int i, xfer;
-+
-+      /* Probe array. We will read the register at the specified
-+       * address and check if the given bits are zero.
-+       */
-+      static const unsigned char probe_zero_pattern[] = {
-+              /* register, mask */
-+              X1205_REG_SR,   0x18,
-+              X1205_REG_DTR,  0xF8,
-+              X1205_REG_ATR,  0xC0,
-+              X1205_REG_INT,  0x18,
-+              X1205_REG_0,    0xFF,
-+      };
-+
-+      static const struct x1205_limit probe_limits_pattern[] = {
-+              /* register, mask, min, max */
-+              { X1205_REG_Y2K,        0xFF,   19,     20      },
-+              { X1205_REG_DW,         0xFF,   0,      6       },
-+              { X1205_REG_YR,         0xFF,   0,      99      },
-+              { X1205_REG_MO,         0xFF,   0,      12      },
-+              { X1205_REG_DT,         0xFF,   0,      31      },
-+              { X1205_REG_HR,         0x7F,   0,      23      },
-+              { X1205_REG_MN,         0xFF,   0,      59      },
-+              { X1205_REG_SC,         0xFF,   0,      59      },
-+              { X1205_REG_Y2K1,       0xFF,   19,     20      },
-+              { X1205_REG_Y2K0,       0xFF,   19,     20      },
-+      };
-+
-+      /* check that registers have bits a 0 where expected */
-+      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) {
-+              unsigned char buf;
-+
-+              unsigned char addr[2] = { 0, probe_zero_pattern[i] };
-+
-+              struct i2c_msg msgs[2] = {
-+                      { client->addr, 0, 2, addr },
-+                      { client->addr, I2C_M_RD, 1, &buf },
-+              };
-+
-+              xfer = i2c_transfer(client->adapter, msgs, 2);
-+              if (xfer != 2) {
-+                      dev_err(&client->adapter->dev,
-+                              "%s: could not read register %x\n",
-+                              __FUNCTION__, addr[1]);
-+
-+                      return -EIO;
-+              }
-+
-+              if ((buf & probe_zero_pattern[i+1]) != 0) {
-+                      dev_err(&client->adapter->dev,
-+                              "%s: register=%02x, zero pattern=%d, value=%x\n",
-+                              __FUNCTION__, addr[1], i, buf);
-+
-+                      return -ENODEV;
-+              }
-+      }
-+
-+      /* check limits (only registers with bcd values) */
-+      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) {
-+              unsigned char reg, value;
-+
-+              unsigned char addr[2] = { 0, probe_limits_pattern[i].reg };
-+
-+              struct i2c_msg msgs[2] = {
-+                      { client->addr, 0, 2, addr },
-+                      { client->addr, I2C_M_RD, 1, &reg },
-+              };
-+
-+              xfer = i2c_transfer(client->adapter, msgs, 2);
-+
-+              if (xfer != 2) {
-+                      dev_err(&client->adapter->dev,
-+                              "%s: could not read register %x\n",
-+                              __FUNCTION__, addr[1]);
-+
-+                      return -EIO;
-+              }
-+
-+              value = BCD2BIN(reg & probe_limits_pattern[i].mask);
-+
-+              if (value > probe_limits_pattern[i].max ||
-+                      value < probe_limits_pattern[i].min) {
-+                      dev_dbg(&client->adapter->dev,
-+                              "%s: register=%x, lim pattern=%d, value=%d\n",
-+                              __FUNCTION__, addr[1], i, value);
-+
-+                      return -ENODEV;
-+              }
-+      }
-+
-+      return 0;
-+}
-+
-+static int x1205_rtc_read_alarm(struct device *dev,
-+      struct rtc_wkalrm *alrm)
-+{
-+      return x1205_get_datetime(to_i2c_client(dev),
-+              &alrm->time, X1205_ALM0_BASE);
-+}
-+
-+static int x1205_rtc_set_alarm(struct device *dev,
-+      struct rtc_wkalrm *alrm)
-+{
-+      return x1205_set_datetime(to_i2c_client(dev),
-+              &alrm->time, 1, X1205_ALM0_BASE);
-+}
-+
-+static int x1205_rtc_read_time(struct device *dev,
-+      struct rtc_time *tm)
-+{
-+      return x1205_get_datetime(to_i2c_client(dev),
-+              tm, X1205_CCR_BASE);
-+}
-+
-+static int x1205_rtc_set_time(struct device *dev,
-+      struct rtc_time *tm)
-+{
-+      return x1205_set_datetime(to_i2c_client(dev),
-+              tm, 1, X1205_CCR_BASE);
-+}
-+
-+static int x1205_rtc_set_mmss(struct device *dev, unsigned long secs)
-+{
-+      int err;
-+
-+      struct rtc_time new_tm, old_tm;
-+
-+      if ((err = x1205_rtc_read_time(dev, &old_tm) == 0))
-+              return err;
-+
-+      /* FIXME      xtime.tv_nsec = old_tm.tm_sec * 10000000; */
-+      new_tm.tm_sec  = secs % 60;
-+      secs /= 60;
-+      new_tm.tm_min  = secs % 60;
-+      secs /= 60;
-+      new_tm.tm_hour = secs % 24;
-+
-+       /*
-+      * avoid writing when we're going to change the day
-+      * of the month.  We will retry in the next minute.
-+      * This basically means that if the RTC must not drift
-+      * by more than 1 minute in 11 minutes.
-+      */
-+      if ((old_tm.tm_hour == 23 && old_tm.tm_min == 59) ||
-+          (new_tm.tm_hour == 23 && new_tm.tm_min == 59))
-+              return 1;
-+
-+      return x1205_rtc_set_time(dev, &new_tm);
-+}
-+
-+static int x1205_rtc_proc(struct device *dev, struct seq_file *seq)
-+{
-+      int err, dtrim, atrim;
-+
-+      seq_printf(seq, "24hr\t\t: yes\n");
-+
-+      err = x1205_get_dtrim(to_i2c_client(dev), &dtrim);
-+      if (err == 0)
-+              seq_printf(seq, "digital_trim\t: %d ppm\n", dtrim);
-+
-+      err = x1205_get_atrim(to_i2c_client(dev), &atrim);
-+      if (err == 0)
-+              seq_printf(seq, "analog_trim\t: %d.%02d pF\n",
-+                      atrim / 1000, atrim % 1000);
-+      return 0;
-+}
-+
-+static struct rtc_class_ops x1205_rtc_ops = {
-+      .proc = x1205_rtc_proc,
-+      .read_time = x1205_rtc_read_time,
-+      .set_time = x1205_rtc_set_time,
-+      .read_alarm = x1205_rtc_read_alarm,
-+      .set_alarm = x1205_rtc_set_alarm,
-+      .set_mmss = x1205_rtc_set_mmss,
-+};
-+
-+static ssize_t x1205_sysfs_show_atrim(struct device *dev,
-+                              struct device_attribute *attr, char *buf)
-+{
-+      int atrim;
-+
-+        if (x1205_get_atrim(to_i2c_client(dev), &atrim) == 0) {
-+                return sprintf(buf, "%d.%02d pF\n",
-+                        atrim / 1000, atrim % 1000);        }
-+        return 0;
-+}
-+static DEVICE_ATTR(atrim, S_IRUGO, x1205_sysfs_show_atrim, NULL);
-+
-+static ssize_t x1205_sysfs_show_dtrim(struct device *dev,
-+                              struct device_attribute *attr, char *buf)
-+{
-+      int dtrim;
-+
-+        if (x1205_get_dtrim(to_i2c_client(dev), &dtrim) == 0) {
-+                return sprintf(buf, "%d ppm\n", dtrim);
-+        }
-+        return 0;
-+}
-+static DEVICE_ATTR(dtrim, S_IRUGO, x1205_sysfs_show_dtrim, NULL);
-+
-+
-+static int x1205_attach(struct i2c_adapter *adapter)
-+{
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      return i2c_probe(adapter, &addr_data, x1205_probe);
-+}
-+
-+static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
-+{
-+      int err = 0;
-+      unsigned char sr;
-+      struct i2c_client *client;
-+      struct rtc_device *rtc;
-+
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
-+              err = -ENODEV;
-+              goto exit;
-+      }
-+
-+      if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) {
-+              err = -ENOMEM;
-+              goto exit;
-+      }
-+
-+      /* I2C client */
-+      client->addr = address;
-+      client->driver = &x1205_driver;
-+      client->adapter = adapter;
-+
-+      strlcpy(client->name, x1205_driver.name, I2C_NAME_SIZE);
-+
-+      /* Verify the chip is really an X1205 */
-+      if (kind < 0) {
-+              if (x1205_validate_client(client) < 0) {
-+                      err = -ENODEV;
-+                      goto exit_kfree;
-+              }
-+      }
-+
-+      /* Inform the i2c layer */
-+      if ((err = i2c_attach_client(client)))
-+              goto exit_kfree;
-+
-+      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
-+
-+      rtc = rtc_device_register(x1205_driver.name, &client->dev,
-+                              &x1205_rtc_ops, THIS_MODULE);
-+
-+      if (IS_ERR(rtc)) {
-+              err = PTR_ERR(rtc);
-+              dev_err(&client->dev,
-+                      "unable to register the class device\n");
-+              goto exit_detach;
-+      }
-+
-+      i2c_set_clientdata(client, rtc);
-+
-+      /* Check for power failures and eventualy enable the osc */
-+      if ((err = x1205_get_status(client, &sr)) == 0) {
-+              if (sr & X1205_SR_RTCF) {
-+                      dev_err(&client->dev,
-+                              "power failure detected, "
-+                              "please set the clock\n");
-+                      udelay(50);
-+                      x1205_fix_osc(client);
-+              }
-+      }
-+      else
-+              dev_err(&client->dev, "couldn't read status\n");
-+
-+      /* If requested, set the system time */
-+      if (hctosys) {
-+              if ((err = x1205_hctosys(client)) < 0)
-+                      dev_err(&client->dev,
-+                              "unable to set the system clock\n");
-+      }
-+
-+      device_create_file(&client->dev, &dev_attr_atrim);
-+      device_create_file(&client->dev, &dev_attr_dtrim);
-+
-+      return 0;
-+
-+exit_detach:
-+      i2c_detach_client(client);
-+
-+exit_kfree:
-+      kfree(client);
-+
-+exit:
-+      return err;
-+}
-+
-+static int x1205_detach(struct i2c_client *client)
-+{
-+      int err;
-+      struct rtc_device *rtc = i2c_get_clientdata(client);
-+
-+      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
-+
-+      if (rtc)
-+              rtc_device_unregister(rtc);
-+
-+      if ((err = i2c_detach_client(client)))
-+              return err;
-+
-+      kfree(client);
-+
-+      return 0;
-+}
-+
-+static int __init x1205_init(void)
-+{
-+      return i2c_add_driver(&x1205_driver);
-+}
-+
-+static void __exit x1205_exit(void)
-+{
-+      i2c_del_driver(&x1205_driver);
-+}
-+
-+MODULE_AUTHOR(
-+      "Karen Spearel <kas11@tampabay.rr.com>, "
-+      "Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("Xicor/Intersil X1205 RTC driver");
-+MODULE_LICENSE("GPL");
-+MODULE_VERSION(DRV_VERSION);
-+
-+module_init(x1205_init);
-+module_exit(x1205_exit);
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-test.c 2006-01-04 01:27:19.000000000 +0100
-@@ -0,0 +1,189 @@
-+/*
-+ * An RTC test device/driver
-+ * Copyright (C) 2005 Tower Technologies
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/err.h>
-+#include <linux/rtc.h>
-+#include <linux/platform_device.h>
-+
-+static int test_rtc_read_alarm(struct device *dev,
-+      struct rtc_wkalrm *alrm)
-+{
-+      return 0;
-+}
-+
-+static int test_rtc_set_alarm(struct device *dev,
-+      struct rtc_wkalrm *alrm)
-+{
-+      return 0;
-+}
-+
-+static int test_rtc_read_time(struct device *dev,
-+      struct rtc_time *tm)
-+{
-+      rtc_time_to_tm(get_seconds(), tm);
-+      return 0;
-+}
-+
-+static int test_rtc_set_time(struct device *dev,
-+      struct rtc_time *tm)
-+{
-+      return 0;
-+}
-+
-+static int test_rtc_set_mmss(struct device *dev, unsigned long secs)
-+{
-+      return 0;
-+}
-+
-+static int test_rtc_proc(struct device *dev, struct seq_file *seq)
-+{
-+      struct platform_device *plat_dev = to_platform_device(dev);
-+
-+      seq_printf(seq, "24hr\t\t: yes\n");
-+      seq_printf(seq, "test\t\t: yes\n");
-+      seq_printf(seq, "id\t\t: %d\n", plat_dev->id);
-+
-+      return 0;
-+}
-+
-+static int test_rtc_ioctl(struct device *dev, unsigned int cmd,
-+      unsigned long arg)
-+{
-+      /* We do support interrupts, they're generated
-+       * using the sysfs interface.
-+       */
-+      switch (cmd) {
-+      case RTC_PIE_ON:
-+      case RTC_PIE_OFF:
-+      case RTC_UIE_ON:
-+      case RTC_UIE_OFF:
-+      case RTC_AIE_ON:
-+      case RTC_AIE_OFF:
-+              return 0;
-+
-+      default:
-+              return -EINVAL;
-+      }
-+}
-+
-+static struct rtc_class_ops test_rtc_ops = {
-+      .proc = test_rtc_proc,
-+      .read_time = test_rtc_read_time,
-+      .set_time = test_rtc_set_time,
-+      .read_alarm = test_rtc_read_alarm,
-+      .set_alarm = test_rtc_set_alarm,
-+      .set_mmss = test_rtc_set_mmss,
-+      .ioctl = test_rtc_ioctl,
-+};
-+
-+static ssize_t test_irq_show(struct device *dev,
-+                              struct device_attribute *attr, char *buf)
-+{
-+      return sprintf(buf, "%d\n", 42);
-+}
-+static ssize_t test_irq_store(struct device *dev,
-+                              struct device_attribute *attr,
-+                              const char *buf, size_t count)
-+{
-+      int retval;
-+      struct platform_device *plat_dev = to_platform_device(dev);
-+      struct rtc_device *rtc = platform_get_drvdata(plat_dev);
-+
-+      retval = count;
-+      if (strncmp(buf, "tick", 4) == 0)
-+              rtc_update_irq(&rtc->class_dev, 1, RTC_PF | RTC_IRQF);
-+      else if (strncmp(buf, "alarm", 5) == 0)
-+              rtc_update_irq(&rtc->class_dev, 1, RTC_AF | RTC_IRQF);
-+      else if (strncmp(buf, "update", 6) == 0)
-+              rtc_update_irq(&rtc->class_dev, 1, RTC_UF | RTC_IRQF);
-+      else
-+              retval = -EINVAL;
-+
-+      return retval;
-+}
-+static DEVICE_ATTR(irq, S_IRUGO | S_IWUSR, test_irq_show, test_irq_store);
-+
-+static int test_probe(struct platform_device *plat_dev)
-+{
-+      int err;
-+      struct rtc_device *rtc = rtc_device_register("test", &plat_dev->dev,
-+                                              &test_rtc_ops, THIS_MODULE);
-+      if (IS_ERR(rtc)) {
-+              err = PTR_ERR(rtc);
-+              dev_err(&plat_dev->dev,
-+                      "unable to register the class device\n");
-+              return err;
-+      }
-+      device_create_file(&plat_dev->dev, &dev_attr_irq);
-+
-+      platform_set_drvdata(plat_dev, rtc);
-+
-+      return 0;
-+}
-+
-+static int test_remove(struct platform_device *plat_dev)
-+{
-+      struct rtc_device *rtc = platform_get_drvdata(plat_dev);
-+
-+      rtc_device_unregister(rtc);
-+      device_remove_file(&plat_dev->dev, &dev_attr_irq);
-+
-+      return 0;
-+}
-+
-+static void test_release(struct device * dev)
-+{
-+}
-+
-+struct platform_device test_dev_zero = {
-+      .name   = "rtc-test",
-+      .id     = 0,
-+      .dev.release = test_release,
-+};
-+
-+struct platform_device test_dev_one = {
-+      .name   = "rtc-test",
-+      .id     = 1,
-+      .dev.release = test_release,
-+};
-+
-+struct platform_driver test_drv = {
-+      .probe  = test_probe,
-+      .remove = test_remove,
-+      .driver = {
-+              .name = "rtc-test",
-+              .owner = THIS_MODULE,
-+      },
-+};
-+
-+static int __init test_init(void)
-+{
-+      platform_device_register(&test_dev_zero);
-+      platform_device_register(&test_dev_one);
-+      platform_driver_register(&test_drv);
-+
-+      return 0;
-+}
-+
-+static void __exit test_exit(void)
-+{
-+      platform_driver_unregister(&test_drv);
-+      platform_device_unregister(&test_dev_zero);
-+      platform_device_unregister(&test_dev_one);
-+}
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("RTC test driver/device");
-+MODULE_LICENSE("GPL");
-+
-+module_init(test_init);
-+module_exit(test_exit);
---- /dev/null  1970-01-01 00:00:00.000000000 +0000
-+++ linux-nslu2/drivers/rtc/rtc-ds1672.c       2006-01-04 01:27:21.000000000 +0100
-@@ -0,0 +1,266 @@
-+/*
-+ * An rtc/i2c driver for the Dallas DS1672
-+ * Copyright 2005 Alessandro Zummo
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/i2c.h>
-+#include <linux/rtc.h>
-+
-+#define DRV_VERSION "0.1"
-+
-+/* Addresses to scan: none. This chip cannot be detected. */
-+static unsigned short normal_i2c[] = { I2C_CLIENT_END };
-+
-+/* Insmod parameters */
-+I2C_CLIENT_INSMOD;
-+I2C_CLIENT_MODULE_PARM(hctosys,
-+      "Set the system time from the hardware clock upon initialization");
-+
-+/* Registers */
-+
-+#define DS1672_REG_CNT_BASE   0
-+#define DS1672_REG_CONTROL    4
-+#define DS1672_REG_TRICKLE    5
-+
-+
-+/* Prototypes */
-+static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind);
-+
-+/*
-+ * In the routines that deal directly with the ds1672 hardware, we use
-+ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
-+ * Epoch is initialized as 2000. Time is set to UTC.
-+ */
-+static int ds1672_get_datetime(struct i2c_client *client, struct rtc_time *tm)
-+{
-+      unsigned long time;
-+      unsigned char buf[4];
-+
-+      dev_dbg(&client->dev,
-+              "%s: raw read data - counters=%02x,%02x,%02x,%02x\n"
-+              __FUNCTION__,
-+              buf[0], buf[1], buf[2], buf[3]);
-+
-+      time = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
-+
-+      rtc_time_to_tm(time, tm);
-+
-+      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
-+              "mday=%d, mon=%d, year=%d, wday=%d\n",
-+              __FUNCTION__,
-+              tm->tm_sec, tm->tm_min, tm->tm_hour,
-+              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+      return 0;
-+}
-+
-+static int ds1672_set_mmss(struct i2c_client *client, unsigned long secs)
-+{
-+      int xfer;
-+      unsigned char buf[5];
-+
-+      buf[0] = DS1672_REG_CNT_BASE;
-+      buf[1] = secs & 0x000000FF;
-+      buf[2] = (secs & 0x0000FF00) >> 8;
-+      buf[3] = (secs & 0x00FF0000) >> 16;
-+      buf[4] = (secs & 0xFF000000) >> 24;
-+
-+      xfer = i2c_master_send(client, buf, 5);
-+      if (xfer != 5) {
-+              dev_err(&client->dev, "%s: send: %d\n", __FUNCTION__, xfer);
-+              return -EIO;
-+      }
-+
-+      return 0;
-+}
-+
-+static int ds1672_set_datetime(struct i2c_client *client, struct rtc_time *tm)
-+{
-+      unsigned long secs;
-+
-+      dev_dbg(&client->dev,
-+              "%s: secs=%d, mins=%d, hours=%d, ",
-+              "mday=%d, mon=%d, year=%d, wday=%d\n",
-+              __FUNCTION__,
-+              tm->tm_sec, tm->tm_min, tm->tm_hour,
-+              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
-+
-+      rtc_tm_to_time(tm, &secs);
-+
-+      return ds1672_set_mmss(client, secs);
-+}
-+
-+static int ds1672_hctosys(struct i2c_client *client)
-+{
-+      int err;
-+      struct rtc_time tm;
-+      struct timespec tv;
-+
-+      if ((err = ds1672_get_datetime(client, &tm)) != 0)
-+              return err;
-+
-+      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
-+       * whether it stores the most close value or the value with partial
-+       * seconds truncated. However, it is important that we use it to store
-+       * the truncated value. This is because otherwise it is necessary,
-+       * in an rtc sync function, to read both xtime.tv_sec and
-+       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
-+       * of >32bits is not possible. So storing the most close value would
-+       * slow down the sync API. So here we have the truncated value and
-+       * the best guess is to add 0.5s.
-+       */
-+
-+      tv.tv_nsec = NSEC_PER_SEC >> 1;
-+
-+      rtc_tm_to_time(&tm, &tv.tv_sec);
-+
-+      do_settimeofday(&tv);
-+
-+      dev_info(&client->dev,
-+              "setting the system clock to %d-%02d-%02d %02d:%02d:%02d\n",
-+              tm.tm_year + 1900, tm.tm_mon + 1,
-+              tm.tm_mday, tm.tm_hour, tm.tm_min,
-+              tm.tm_sec);
-+
-+      return 0;
-+}
-+
-+static int ds1672_rtc_read_time(struct device *dev, struct rtc_time *tm)
-+{
-+      return ds1672_get_datetime(to_i2c_client(dev), tm);
-+}
-+
-+static int ds1672_rtc_set_time(struct device *dev, struct rtc_time *tm)
-+{
-+      return ds1672_set_datetime(to_i2c_client(dev), tm);
-+}
-+
-+static int ds1672_rtc_set_mmss(struct device *dev, unsigned long secs)
-+{
-+      return ds1672_set_mmss(to_i2c_client(dev), secs);
-+}
-+
-+static struct rtc_class_ops ds1672_rtc_ops = {
-+      .read_time = ds1672_rtc_read_time,
-+      .set_time = ds1672_rtc_set_time,
-+      .set_mmss = ds1672_rtc_set_mmss,
-+};
-+
-+static int ds1672_attach(struct i2c_adapter *adapter)
-+{
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      return i2c_probe(adapter, &addr_data, ds1672_probe);
-+}
-+
-+static int ds1672_detach(struct i2c_client *client)
-+{
-+      int err;
-+      struct rtc_device *rtc = i2c_get_clientdata(client);
-+
-+      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
-+
-+      if (rtc)
-+              rtc_device_unregister(rtc);
-+
-+      if ((err = i2c_detach_client(client)))
-+              return err;
-+
-+      kfree(client);
-+
-+      return 0;
-+}
-+
-+static struct i2c_driver ds1672_driver = {
-+      .owner          = THIS_MODULE,
-+      .name           = "ds1672",
-+      .flags          = I2C_DF_NOTIFY,
-+      .attach_adapter = &ds1672_attach,
-+      .detach_client  = &ds1672_detach,
-+};
-+
-+static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind)
-+{
-+      int err = 0;
-+      struct i2c_client *client;
-+      struct rtc_device *rtc;
-+
-+      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
-+
-+      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
-+              err = -ENODEV;
-+              goto exit;
-+      }
-+
-+      if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) {
-+              err = -ENOMEM;
-+              goto exit;
-+      }
-+
-+      /* I2C client */
-+      client->addr = address;
-+      client->driver = &ds1672_driver;
-+      client->adapter = adapter;
-+
-+      strlcpy(client->name, ds1672_driver.name, I2C_NAME_SIZE);
-+
-+      /* Inform the i2c layer */
-+      if ((err = i2c_attach_client(client)))
-+              goto exit_kfree;
-+
-+      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
-+
-+      rtc = rtc_device_register(ds1672_driver.name, &client->dev,
-+                              &ds1672_rtc_ops, THIS_MODULE);
-+
-+      if (IS_ERR(rtc)) {
-+              err = PTR_ERR(rtc);
-+              dev_err(&client->dev,
-+                      "unable to register the class device\n");
-+              goto exit_detach;
-+      }
-+
-+      i2c_set_clientdata(client, rtc);
-+
-+      /* If requested, set the system time */
-+      if (hctosys) {
-+              if ((err = ds1672_hctosys(client)) < 0)
-+                      dev_err(&client->dev,
-+                              "unable to set the system clock\n");
-+      }
-+
-+      return 0;
-+
-+exit_detach:
-+      i2c_detach_client(client);
-+
-+exit_kfree:
-+      kfree(client);
-+
-+exit:
-+      return err;
-+}
-+
-+static int __init ds1672_init(void)
-+{
-+      return i2c_add_driver(&ds1672_driver);
-+}
-+
-+static void __exit ds1672_exit(void)
-+{
-+      i2c_del_driver(&ds1672_driver);
-+}
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("Dallas/Maxim DS1672 timekeeper driver");
-+MODULE_LICENSE("GPL");
-+MODULE_VERSION(DRV_VERSION);
-+
-+module_init(ds1672_init);
-+module_exit(ds1672_exit);
diff --git a/packages/linux/nslu2-kernel/2.6.15/60-nslu2-beeper.patch b/packages/linux/nslu2-kernel/2.6.15/60-nslu2-beeper.patch
deleted file mode 100644 (file)
index 12fdc4d..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
- drivers/input/misc/Kconfig     |   12 +++
- drivers/input/misc/Makefile    |    1 
- drivers/input/misc/nslu2spkr.c |  148 +++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 161 insertions(+)
-
---- linux-2.6.15/drivers/input/misc/Kconfig    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/input/misc/Kconfig    1970-01-01 00:00:00.000000000 +0000
-@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP
-       tristate "M68k Beeper support"
-       depends on M68K
-+config INPUT_NSLU2_BEEPER
-+      tristate "NSLU2 Beeper support"
-+      depends on MACH_NSLU2
-+      help
-+        Say Y here if you want the embedded beeper on the LinkSys NSLU2
-+        to be used for bells and whistles.
-+
-+        If unsure, say Y.
-+
-+        To compile this driver as a module, choose M here: the
-+        module will be called nslu2spkr.
-+
- config INPUT_UINPUT
-       tristate "User level driver support"
-       help
---- linux-2.6.15/drivers/input/misc/Makefile   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/input/misc/Makefile   1970-01-01 00:00:00.000000000 +0000
-@@ -10,3 +10,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP)                += m68ksp
- obj-$(CONFIG_INPUT_98SPKR)            += 98spkr.o
- obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
- obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
-+obj-$(CONFIG_INPUT_NSLU2_BEEPER)      += nslu2spkr.o
---- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,148 @@
-+/*
-+ * drivers/input/misc/nslu2spkr.c
-+ *
-+ * NSLU2 Beeper driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on nslu2-io.c
-+ *  Copyright (C) 2004 Karen Spearel
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/init.h>
-+#include <linux/input.h>
-+#include <linux/delay.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/irq.h>
-+#include <asm/mach-types.h>
-+
-+static unsigned int beep_on_startup = 1;
-+module_param(beep_on_startup, bool, 0);
-+MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup");
-+
-+DEFINE_SPINLOCK(beep_lock);
-+
-+static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
-+{
-+      unsigned int count = 0;
-+      unsigned long flags;
-+
-+      if (type != EV_SND)
-+              return -1;
-+
-+      switch (code) {
-+              case SND_BELL:
-+                      if (value) value = 1000;
-+              case SND_TONE:
-+                      break;
-+              default:
-+                      return -1;
-+      }
-+
-+      if (value > 20 && value < 32767)
-+              count = (NSLU2_FREQ / (value*4)) - 1;
-+
-+      spin_lock_irqsave(&beep_lock, flags);
-+
-+       if (count) {
-+
-+              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT);
-+              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW);
-+
-+              *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+
-+      } else {
-+
-+              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN);
-+              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH);
-+
-+              *IXP4XX_OSRT2 = 0;
-+      }
-+
-+      spin_unlock_irqrestore(&beep_lock, flags);
-+
-+      return 0;
-+}
-+
-+static struct input_dev nslu2_spkr_dev = {
-+      .phys           = "ixp420/gpio4",
-+      .name           = "NSLU2 Beeper",
-+      .evbit[0]       = BIT(EV_SND),
-+      .sndbit[0]      = BIT(SND_BELL) | BIT(SND_TONE),
-+      .event          = nslu2_spkr_event,
-+      .id             = {
-+              .bustype        = BUS_HOST,
-+              .vendor         = 0x001f,
-+              .product        = 0x0001,
-+              .version        = 0x0100
-+      }
-+};
-+
-+static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+      /* clear interrupt */
-+      *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
-+
-+      /* flip the beeper output */
-+      *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM;
-+
-+      return IRQ_HANDLED;
-+}
-+
-+static int __init nslu2_spkr_init(void)
-+{
-+      if (!(machine_is_nslu2()))
-+              return -ENODEV;
-+
-+      if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler,
-+              SA_INTERRUPT | SA_TIMER, "nslu2-beeper", NULL < 0)) {
-+
-+              printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n",
-+                      IRQ_IXP4XX_TIMER2);
-+
-+              return -EIO;
-+      }
-+
-+      input_register_device(&nslu2_spkr_dev);
-+
-+      /* do a little beep to tell the world we are alive */
-+      if (beep_on_startup)
-+      {
-+              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440);
-+              msleep(120);
-+              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0);
-+      }
-+
-+        printk(KERN_INFO "NSLU2: beeper\n");
-+      return 0;
-+}
-+
-+static void __exit nslu2_spkr_exit(void)
-+{
-+      input_unregister_device(&nslu2_spkr_dev);
-+
-+      disable_irq(IRQ_IXP4XX_TIMER2);
-+
-+      /* turn it off */
-+      nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0);
-+
-+      free_irq(IRQ_IXP4XX_TIMER2, NULL);
-+}
-+
-+module_init(nslu2_spkr_init);
-+module_exit(nslu2_spkr_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("NSLU2 Beeper driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/nslu2-kernel/2.6.15/75-nslu2-leds.patch b/packages/linux/nslu2-kernel/2.6.15/75-nslu2-leds.patch
deleted file mode 100644 (file)
index 7497409..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
- arch/arm/Kconfig                  |    8 -
- arch/arm/mach-ixp4xx/Makefile     |    4 
- arch/arm/mach-ixp4xx/nslu2-leds.c |  223 ++++++++++++++++++++++++++++++++++++++
- 3 files changed, 232 insertions(+), 3 deletions(-)
-
---- linux-2.6.15/arch/arm/Kconfig      1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/Kconfig      1970-01-01 00:00:00.000000000 +0000
-@@ -418,7 +418,8 @@ config LEDS
-                  ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
-                  ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
-                  ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
--                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE
-+                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
-+                 MACH_NSLU2
-       help
-         If you say Y here, the LEDs on your machine will be used
-         to provide useful information about your current system status.
-@@ -432,7 +433,7 @@ config LEDS
- config LEDS_TIMER
-       bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
--                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
-+                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2
-       depends on LEDS
-       default y if ARCH_EBSA110
-       help
-@@ -448,7 +449,8 @@ config LEDS_TIMER
- config LEDS_CPU
-       bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
--                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
-+                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \
-+                      || MACH_NSLU2
-       depends on LEDS
-       help
-         If you say Y here, the red LED will be used to give a good real
---- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-@@ -10,3 +10,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE)        += coyote-
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
- obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
-+leds-$(CONFIG_MACH_NSLU2)     += nslu2-leds.o
-+obj-$(CONFIG_LEDS)            += $(leds-y)
-+
-+
---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c     1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c     1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,223 @@
-+/*
-+ * arch/arm/mach-ixp4xx/nslu2-leds.c
-+ *
-+ * NSLU2 LEDs driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on nslu2-io.c
-+ *  Copyright (C) 2004 Karen Spearel
-+ * and arch/arm/mach-footbridge/netwinder-leds.c
-+ *  Copyright (C) 1998-1999 Russell King
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/init.h>
-+#include <linux/spinlock.h>
-+#include <linux/notifier.h>
-+
-+#include <asm/hardware.h>
-+#include <asm/leds.h>
-+#include <asm/mach-types.h>
-+#include <asm/system.h>
-+
-+#define LED_STATE_ENABLED     0x01
-+#define LED_STATE_CLAIMED     0x02
-+#define LED_STATE_IDLE                0x04
-+
-+static unsigned char led_state;
-+static unsigned int hw_led_state;
-+
-+#ifdef CONFIG_LEDS_TIMER
-+static const unsigned long idle_seq[4] = {
-+      NSLU2_LED_GRN_BM, 0,
-+      NSLU2_LED_GRN_BM, 0,
-+};
-+
-+static const unsigned long busy_seq[4] = {
-+      NSLU2_LED_GRN_BM, 0,
-+      NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0,
-+};
-+#endif
-+
-+static unsigned char led_count = 0;
-+
-+static DEFINE_SPINLOCK(leds_lock);
-+extern spinlock_t gpio_lock;
-+
-+static void nslu2_leds_event(led_event_t evt)
-+{
-+      unsigned long flags;
-+
-+      spin_lock_irqsave(&leds_lock, flags);
-+
-+      switch (evt) {
-+      case led_start:
-+              /* Let's rock! Red led on, all others off. Remember
-+               * that disk1/disk2 works inverted.
-+               */
-+              led_state = LED_STATE_ENABLED;
-+              hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM
-+                              | NSLU2_LED_RED_BM;
-+              break;
-+
-+      case led_stop:
-+              led_state &= ~LED_STATE_ENABLED;
-+              break;
-+
-+      case led_claim:
-+              /* The user claimed the interface, red and green off */
-+              led_state |= LED_STATE_CLAIMED;
-+              hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_release:
-+              /* The user released the interface, preserve the last
-+               * status of the leds, except red/green.
-+               */
-+              led_state &= ~LED_STATE_CLAIMED;
-+              hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C;
-+              break;
-+
-+#ifdef CONFIG_LEDS_TIMER
-+      case led_timer:
-+              /* Pulse green led */
-+              if (!(led_state & LED_STATE_CLAIMED))
-+              {
-+                      /* clear red and green bits */
-+                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+
-+                      /* copy the right sequence in */
-+                      if (led_state & LED_STATE_IDLE)
-+                              hw_led_state |= idle_seq[led_count % 4];
-+                      else
-+                              hw_led_state |= busy_seq[led_count % 4];
-+
-+                      led_count++;
-+              }
-+              break;
-+#endif
-+
-+#ifdef CONFIG_LEDS_CPU
-+      case led_idle_start:
-+              led_state |= LED_STATE_IDLE;
-+#ifndef CONFIG_LEDS_TIMER
-+              /* green on, red off */
-+              hw_led_state |= NSLU2_LED_GRN_BM;
-+              hw_led_state &= ~NSLU2_LED_RED_BM;
-+#endif
-+              break;
-+
-+      case led_idle_end:
-+              led_state &= ~LED_STATE_IDLE;
-+#ifndef CONFIG_LEDS_TIMER
-+              /* green on, red on -> amber on */
-+              hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM;
-+#endif
-+              break;
-+#endif /* CONFIG_LEDS_CPU */
-+
-+      case led_halted:
-+              if (!(led_state & LED_STATE_CLAIMED))
-+                      hw_led_state |= NSLU2_LED_RED_BM;
-+              break;
-+
-+      /* leds */
-+
-+      case led_green_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= NSLU2_LED_GRN_BM;
-+              break;
-+
-+      case led_green_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~NSLU2_LED_GRN_BM;
-+              break;
-+
-+      case led_amber_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_amber_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
-+              break;
-+
-+      case led_red_on:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state |= NSLU2_LED_RED_BM;
-+              break;
-+
-+      case led_red_off:
-+              if (led_state & LED_STATE_CLAIMED)
-+                      hw_led_state &= ~NSLU2_LED_RED_BM;
-+              break;
-+
-+      default:
-+              break;
-+      }
-+
-+      spin_unlock_irqrestore(&leds_lock, flags);
-+
-+      if  (led_state & LED_STATE_ENABLED) {
-+              spin_lock_irqsave(&gpio_lock, flags);
-+              *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state;
-+              spin_unlock_irqrestore(&gpio_lock, flags);
-+      }
-+}
-+
-+static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event,
-+      void *ptr)
-+{
-+#ifdef CONFIG_LEDS_TIMER
-+      leds_event(led_claim);
-+#endif
-+      leds_event(led_green_off);
-+      leds_event(led_red_on);
-+
-+      return NOTIFY_DONE;
-+}
-+
-+static struct notifier_block nslu2_leds_panic_block = {
-+      .notifier_call  = nslu2_leds_panic_event,
-+};
-+
-+static int __init nslu2_leds_init(void)
-+{
-+      if (!(machine_is_nslu2()))
-+              return 0;
-+
-+      printk(KERN_INFO "NSLU2: leds\n");
-+
-+      /* register panic notifier */
-+      notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block);
-+
-+      /* enable gpio 0-3 */
-+      gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT);
-+      gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT);
-+
-+      leds_event = nslu2_leds_event;
-+
-+      /* this will also initialize the leds to the
-+       * default state.
-+       */
-+
-+      leds_event(led_start);
-+
-+      return 0;
-+}
-+
-+module_init(nslu2_leds_init);
diff --git a/packages/linux/nslu2-kernel/2.6.15/80-nslu2-io.patch b/packages/linux/nslu2-kernel/2.6.15/80-nslu2-io.patch
deleted file mode 100644 (file)
index 26031f6..0000000
+++ /dev/null
@@ -1,560 +0,0 @@
---- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
-@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
- obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
- obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
- obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
--obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
-+obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-io.o
---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c       1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c       1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,548 @@
-+//=============================================================================
-+//
-+// n2-io.c version 0.1.7
-+// Author: Karen Spearel <kas11 at tampabay.rr.com>
-+// please report problems/bugs directly to the address above
-+//
-+// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per
-+// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk
-+//
-+// NOTE: THIS IS INCOMPLETE.  INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD,
-+// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff.  EVENTUALLY IT
-+// WILL TALK TO THE n2_pbd DAEMON.  EVENTUALLY THE LED DRIVER
-+// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS.
-+// 
-+//=============================================================================
-+//    GPIO            Function        State
-+//    0               Red LED         Status          
-+//    1               Green LED       Ready = 1
-+//    2               Disk 2 LED      On = 0
-+//    3               Disk 1 LED      On = 0
-+//    4               Buzzer
-+//    5               Power Button    Pressed = 1
-+//    8               Power Down      Output = 1 powers down NSLU2
-+//    12              Reset           Pressed = 0
-+
-+#include <linux/config.h>
-+#include <linux/version.h>
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/proc_fs.h>
-+#include <linux/device.h>
-+#include <linux/reboot.h>
-+
-+#include <asm/uaccess.h>
-+#include <asm-arm/irq.h>
-+#include <asm-arm/delay.h>
-+
-+/* Set this to 1 to output lots of debug messages. */
-+#define NSLU2_IO_DEBUG 0
-+
-+#if NSLU2_IO_DEBUG
-+#define nslu2_io_debug(args) printk args
-+#else
-+#define nslu2_io_debug(args) ((void)0)
-+#endif
-+
-+#define VERSION                       "0.1.7"
-+
-+#define       NSLU2BZ_MAJOR           62              //buzzer
-+#define NSLU2LM_MAJOR         126
-+
-+
-+#define NSLU2_BEEP_DUR_LONG   2000
-+#define NSLU2_BEEP_DUR_MED    400
-+#define NSLU2_BEEP_DUR_SHORT  100
-+#define NSLU2_BEEP_PITCH_HIGH 250
-+#define NSLU2_BEEP_PITCH_MED  500
-+#define NSLU2_BEEP_PITCH_LOW  1000
-+#define NSLU2_LONG_DELAY      30000
-+
-+#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
-+
-+// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe
-+
-+#define NSLU2BZ_BEEP_STOP             _IO('M',0)       //stop multi-beep at end of audible
-+#define NSLU2BZ_BEEP          _IO('M',1)       //one beep at current defaults
-+#define NSLU2BZ_BEEPS         _IOW('M',3,long) //param beeps at current defaults
-+#define NSLU2BZ_TONESET               _IOW('M',4,long) //set tone: range is high=250 to low=2000
-+#define NSLU2BZ_ONTIME                _IOW('M',5,long) //ontime for multi-beeps in jiffies
-+#define       NSLU2BZ_SILENTTIME              _IOW('M',6,long) //offtime for multi-beeps in jiffies
-+#define NSLU2BZ_REPEATCNT             _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever
-+#define NSLU2BZ_COMBINED              _IOW('M',8,long) //combine all params in a long
-+
-+#define NSLU2LM_OFF           _IOW('M',32,long)
-+#define NSLU2LM_ON                    _IOW('M',33,long)
-+#define NSLU2LM_BLINK         _IOW('M',34,long)
-+#define NSLU2LM_ALT           _IOW('M',35,long)
-+#define NSLU2LM_ALL_ON                _IO('M',36)
-+#define NSLU2LM_ALL_OFF               _IO('M',37)
-+
-+#define PHYS_LEDS             4
-+#define BLINK_DELAY           25
-+
-+//  OR Masks to turn these LEDs ON
-+
-+#define       RS_RED_ON       0x00000001      //0b0000 0000 0000 0010
-+#define       RS_GRN_ON       0x00000002      //0b0000 0000 0000 0001
-+#define RS_YEL_ON     0x00000003      //0b0000 0000 0000 0011
-+
-+// AND Masks to turn these LEDs OFF
-+
-+#define       RS_RED_OFF      0xfffffffe      //0b1111 1111 1111 1101
-+#define       RS_GRN_OFF      0xfffffffd      //0b1111 1111 1111 1110
-+#define RS_YEL_OFF    0xfffffffc      //0b1111 1111 1111 1100
-+
-+// AND Masks to turn these LEDs ON
-+
-+#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
-+#define       DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
-+
-+// Or Masks to turn these LEDs OFF
-+
-+#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
-+#define       DISK2_OFF       0x00000004      //0b0000 0000 0000 0100 
-+
-+// EOR masks for toggling LEDs on/off
-+
-+#define RS_RG_ALT     0x00000003      //eor mask to toggle rs rg bits
-+#define RS_GRN_TGL    0x00000002
-+#define RS_RED_TGL    0x00000001
-+#define DISK1_TGL     0x00000008
-+#define DISK2_TGL     0x00000004
-+
-+// The LED names for switches
-+
-+#define LED_RS_RED    0
-+#define LED_RS_GRN    1
-+#define       LED_DISK1       2
-+#define LED_DISK2     3
-+#define LED_ALL               4
-+
-+static unsigned long ontime = 50;
-+static unsigned long offtime = 450;
-+static unsigned long bz_repeatcnt = 10;
-+static unsigned long tone = 1000;
-+
-+static struct timer_list n2lm_rsg_timer;      //rs green 
-+static struct timer_list n2lm_rsr_timer;      //rs red
-+static struct timer_list n2lm_d1_timer;               //drive 1
-+static struct timer_list n2lm_d2_timer;               //drive 2
-+static struct timer_list n2bz_timer;          //beeper
-+
-+// sysfs class
-+static struct class *n2lm_class;
-+
-+//==================================================================================================
-+//
-+// Blinking is handled entirely by the 4 timer handlers.  On timeout, the bit in the
-+// GPIO output register is xor'd with a mask corresponding to the selected led which simply
-+// flips that bit.  No record of what any of the other leds is doing is needed.
-+//
-+//==================================================================================================
-+// this blinks rs green or green/yellow if rs red is on
-+#ifndef CONFIG_LEDS
-+static void n2lm_rsg_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL;                      //flip the led
-+      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;         //next timeout
-+      add_timer(&n2lm_rsg_timer);                             //reinit timer
-+      return;
-+}
-+
-+// this blinks or alternates rs red green... inited wit green on/red off
-+static void n2lm_rsr_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data;
-+      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_rsr_timer);
-+      return; 
-+}
-+// blinks disk 1
-+static void n2lm_d1_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL;
-+      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_d1_timer);
-+      return;
-+}
-+// blinks disk 2
-+static void n2lm_d2_handler(unsigned long data)
-+{
-+      *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL;
-+      n2lm_d2_timer.expires = jiffies + BLINK_DELAY;
-+      add_timer(&n2lm_d2_timer);
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static void n2lm_timer_start(unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led));
-+
-+      switch(led) {
-+              case LED_RS_RED:
-+                      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_rsr_timer);
-+                      break;
-+
-+              case LED_RS_GRN:
-+                      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_rsg_timer);
-+                      break;
-+
-+              case LED_DISK1:
-+                      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
-+                      add_timer(&n2lm_d1_timer);
-+                      break;
-+
-+              case LED_DISK2:
-+                      n2lm_d2_timer.expires = jiffies + BLINK_DELAY; 
-+                      add_timer(&n2lm_d2_timer);
-+                      break;
-+
-+              default:
-+                      break;
-+      }
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static void n2lm_timer_stop(unsigned long led)
-+{
-+      switch (led) {
-+              case LED_RS_RED:
-+                      del_timer(&n2lm_rsr_timer);
-+                      break;
-+              case LED_RS_GRN:
-+                      del_timer(&n2lm_rsg_timer);
-+                      break;
-+              case LED_DISK1:
-+                      del_timer(&n2lm_d1_timer);
-+                      break;
-+              case LED_DISK2: 
-+                      del_timer(&n2lm_d2_timer);
-+                      break;
-+              default:
-+                      break;
-+      }
-+      return;
-+}
-+
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_timer_stop_all(void)
-+{
-+      del_timer(&n2lm_rsg_timer);
-+      del_timer(&n2lm_rsr_timer);
-+      del_timer(&n2lm_d1_timer); 
-+      del_timer(&n2lm_d2_timer);
-+      return;
-+}
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_ledon(unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led));
-+
-+      switch (led) {
-+              case LED_RS_RED:        
-+                      *IXP4XX_GPIO_GPOUTR |= RS_RED_ON;       //1
-+                      return;
-+              case LED_RS_GRN:
-+                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;       //2
-+                      return;
-+              case LED_DISK1:
-+                      *IXP4XX_GPIO_GPOUTR &= DISK1_ON;        //0xfffffff7
-+                      return;
-+              case LED_DISK2: 
-+                      *IXP4XX_GPIO_GPOUTR &= DISK2_ON;        //0xfffffffb
-+                      return;
-+              case LED_ALL:                                   //all green
-+                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;
-+                      *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON);
-+                      return; 
-+      }
-+}
-+
-+//--------------------------------------------------------------------------------------------------
-+
-+static void n2lm_ledoff(unsigned long led)
-+{
-+
-+      switch (led) {
-+              case LED_RS_RED:        
-+                      *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF;      //0xffffffffe
-+                      return;
-+              case LED_RS_GRN:
-+                      *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF;      //0xfffffffd
-+                      return;
-+              case LED_DISK1:
-+                      *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;       //0x00000008
-+                      return;
-+              case LED_DISK2: 
-+                      *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;       //0x00000004
-+                      return;
-+              case LED_ALL:
-+                      *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF);
-+                      *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF);
-+      }
-+}
-+
-+//==================================================================================================
-+
-+static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led)
-+{
-+
-+      nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led));
-+      
-+      if (led < 0 || led >= PHYS_LEDS)
-+              return -EINVAL;
-+
-+      switch (cmd ) {
-+              case NSLU2LM_ON:
-+                      n2lm_timer_stop(led);
-+                      n2lm_ledon(led);
-+                      break;
-+                      
-+              case NSLU2LM_OFF:
-+                      n2lm_timer_stop(led);
-+                      n2lm_ledoff(led);
-+                      break;
-+                      
-+              case NSLU2LM_BLINK:
-+                      n2lm_ledon(led);
-+                      if (led == LED_RS_RED)
-+                              n2lm_rsr_timer.data = RS_RED_TGL;
-+                      n2lm_timer_start(led);
-+                      break;
-+
-+              case NSLU2LM_ALT:
-+                      if (led == LED_RS_RED)
-+                      {
-+                              n2lm_ledon(LED_RS_GRN);
-+                              n2lm_ledoff(LED_RS_RED);
-+                              n2lm_rsr_timer.data = RS_RG_ALT;
-+                              n2lm_timer_start(LED_RS_RED);
-+                              break;
-+                      } else
-+                              return -EINVAL;
-+              
-+              case NSLU2LM_ALL_ON:
-+                      n2lm_timer_stop_all();
-+                      n2lm_ledon(LED_ALL);
-+                      break;
-+              
-+              case NSLU2LM_ALL_OFF:
-+                      n2lm_timer_stop_all();
-+                      n2lm_ledoff(LED_ALL);
-+                      break;
-+              
-+              default:
-+                      return -EINVAL;
-+      }
-+
-+      return 0;
-+}
-+
-+static struct file_operations n2lm_fops = {
-+      .owner          = THIS_MODULE,
-+      .ioctl          = n2lm_ioctl,
-+};
-+#endif
-+//==================================================================================================
-+// We can't do anything fancy here since the system tick rate is far below that required to
-+// generate a desirable tone.  Therefore we haven't much choice but to use a busy loop until
-+// I get up to speed on the timers.  The saving grace is that for the normal uses, nothing 
-+// important should be haprepening. 
-+//==================================================================================================
-+
-+static void n2_buzz(int tone_delay, int duration)
-+{
-+      int i;
-+
-+      *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM;
-+              
-+      for (i = 1; i < duration; i++) {
-+              *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM;
-+              udelay(tone_delay);
-+              *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM;
-+              udelay(tone_delay);
-+      }
-+      *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM;
-+
-+      return;
-+}
-+//=================================================================================================
-+
-+// this handles the buzzer duty cycle
-+static void n2bz_handler(unsigned long data)
-+{
-+      if (--bz_repeatcnt > 0) {                       //if just one beep left to do
-+              n2bz_timer.expires = jiffies + ontime + offtime;        //next timeout
-+              add_timer(&n2bz_timer);                                 //reinit timer
-+      }
-+      n2_buzz(tone/2, ontime);
-+      nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime));
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param)
-+{
-+      switch (cmd) {
-+              case NSLU2BZ_BEEP:
-+                      n2_buzz(tone/2, ontime);
-+                      break;
-+      
-+              case NSLU2BZ_BEEP_STOP:
-+                      del_timer(&n2bz_timer);
-+                      break;
-+
-+              case NSLU2BZ_BEEPS:
-+                      if (param == 0)
-+                              bz_repeatcnt = 0xffffffff;
-+                      else
-+                              bz_repeatcnt = param;
-+                      n2bz_handler(0);
-+                      break;
-+      
-+              case NSLU2BZ_TONESET:
-+                      if (param >= 250 && param <= 2000)
-+                              tone = param;
-+                      break;
-+
-+              case NSLU2BZ_ONTIME:
-+                      if (param > 4 && param < 201)
-+                              ontime = param;
-+                      break;
-+
-+              case NSLU2BZ_SILENTTIME:
-+                      if (param > ontime)                     //enforce a reasonable duty cycle
-+                              offtime = param;
-+                      else
-+                              offtime = ontime;
-+                      break;
-+
-+              case NSLU2BZ_REPEATCNT:
-+                      if (param == 0)
-+                              bz_repeatcnt = 0xffffffff;
-+                      else
-+                              bz_repeatcnt = param;
-+                      break;
-+
-+              case NSLU2BZ_COMBINED:
-+                      bz_repeatcnt =  (param & 0xF0000000) >> 28;     //repeat 1 - 16
-+                      ontime =        (param & 0x0FF00000) >> 20;     //ontime 1 - 256 jiffies
-+                      offtime =       (param & 0x000FFF00) >> 8;      //offtime 1 - 4095 jiffies
-+                      tone =          (param & 0x000000FF) << 4;      //tone (1 - 255) * 16
-+                      break;
-+
-+              default:
-+                      break;
-+      }
-+      return 0;
-+}
-+
-+static struct file_operations n2bz_fops = {
-+      .owner          = THIS_MODULE,
-+      .ioctl          = n2bz_ioctl,
-+};
-+
-+static void n2iom_initarch(void)
-+{
-+#ifndef CONFIG_LEDS
-+      init_timer(&n2lm_rsg_timer);
-+      init_timer(&n2lm_rsr_timer);
-+      init_timer(&n2lm_d1_timer);
-+      init_timer(&n2lm_d2_timer);
-+
-+      n2lm_rsr_timer.function = n2lm_rsr_handler;
-+      n2lm_rsg_timer.function = n2lm_rsg_handler;
-+      n2lm_d2_timer.function = n2lm_d2_handler;
-+      n2lm_d1_timer.function = n2lm_d1_handler;
-+#endif
-+
-+      init_timer(&n2bz_timer);
-+      n2bz_timer.function = n2bz_handler;
-+
-+      n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0;
-+
-+#ifndef CONFIG_LEDS
-+      *IXP4XX_GPIO_GPOER &= 0xfffffff0;       //enable gpio 0-3
-+      *IXP4XX_GPIO_GPOUTR |= 0x00000003;      //turn off the leds
-+      *IXP4XX_GPIO_GPOUTR &= 0xfffffffc;
-+      n2lm_ledon(LED_ALL);
-+      n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT);
-+      n2lm_ledoff(LED_ALL);
-+
-+      // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit
-+      n2lm_ledon(LED_RS_RED);
-+#endif
-+
-+      return;
-+}
-+
-+//==================================================================================================
-+
-+static int __init n2iom_init(void)
-+{
-+      printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION);
-+      
-+      n2iom_initarch();
-+
-+      n2lm_class = class_create(THIS_MODULE, "nslu2");
-+
-+#ifndef CONFIG_LEDS
-+      if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) {
-+              printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR);
-+              return -EBUSY;
-+      }
-+      else {
-+              class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
-+      }
-+#endif
-+
-+      if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) {
-+              printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR);
-+              return -EBUSY;
-+      }
-+      else {
-+              class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
-+      }
-+
-+      return 0;
-+}
-+
-+//==================================================================================================
-+
-+static void __exit n2iom_exit(void)
-+{
-+
-+#ifndef CONFIG_LEDS
-+      del_timer(&n2lm_rsg_timer);
-+      del_timer(&n2lm_rsr_timer);
-+      del_timer(&n2lm_d1_timer);
-+      del_timer(&n2lm_d2_timer);      
-+
-+      unregister_chrdev(NSLU2LM_MAJOR, "n2lm" );
-+      class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0));
-+#endif
-+
-+      unregister_chrdev(NSLU2BZ_MAJOR, "n2bz");
-+      class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0));
-+
-+      class_destroy(n2lm_class);
-+}
-+
-+module_init(n2iom_init);
-+module_exit(n2iom_exit);
-+
-+MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>");
-+MODULE_DESCRIPTION("NSLU2 I/O driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/nslu2-kernel/2.6.15/85-timer.patch b/packages/linux/nslu2-kernel/2.6.15/85-timer.patch
deleted file mode 100644 (file)
index 3d4a03f..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
---- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
-@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void)
-  * IXP4xx timer tick
-  * We use OS timer1 on the CPU for the timer tick and the timestamp 
-  * counter as a source of real clock ticks to account for missed jiffies.
-+ *
-+ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second,
-+ * this is significantly greater than the actual number on any ixp4xx
-+ * board.  Neither this nor 'LATCH' are required by this code because
-+ * the only requirement is to generate HZ timer_tick calls per second.
-  *************************************************************************/
-+#if TICK_NSEC * HZ != 1000000000
-+      /* This will cause the jiffies to drift unnecessarily. */
-+#     error CLOCK_TICK_RATE should be a multiple of HZ for this code
-+#endif
-+
-+/* These are the control registers for the interrupt handler, they must
-+ * only be read and written by the interrupt handler and by the init
-+ * method (which sets them to 0).
-+ */
-+static volatile u32 last_timer_time;
-+static volatile int accumulated_error;
-+
-+/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset
-+ * this from the board level code if required.  The following variables
-+ * must be *written* only by set_board_tick_rate
-+ */
-+static u32 board_tick_rate;
-+static u32 board_tick_per_1000; /* board_tick_rate/1000 */
-+static u32 timer_count;
-+
-+/* The following symbol may be written to change the current tick rate,
-+ * it is read by the interrupt handler and used to reload the timer.
-+ * The 'real' value (the one in use) is 'board_tick_rate' above.
-+ * NOTE: this can be tweaked to match the actual crystal on a particular
-+ * machine.
-+ */
-+volatile u32 ixp4xx_board_tick_rate = 66666600;
-+EXPORT_SYMBOL(ixp4xx_board_tick_rate);
-+
-+/* The set API may run asynchronously in the presence of interrupts,
-+ * everything it does it is both atomic and complete (notice that it
-+ * doesn't change any of the 'volatile' values).  The mathematics in
-+ * here require the following values.  Changing the board tick rate
-+ * implies an unknown error in the current timestamp tick count.
-+ */
-+#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1
-+#     error unexpected value for timer reload mask
-+#endif
-+static void set_board_tick_rate(u32 rate) {
-+      u32 reload;
-+
-+      /* Store the two effectively informational rate values, the
-+       * error calculation is (rate - count*HZ) (above), and rate
-+       * is changed first, this can cause a temporary error which
-+       * will be corrected on the next interrupt.
-+       */
-+      board_tick_rate = rate;
-+      board_tick_per_1000 = (rate+500)/1000;
-+
-+      /* Calculate the correct value to load into the timer countdown
-+       * register, the low two bits must be b01 (to enable the timer).
-+       * Select the top bits to be as close to the desired value as
-+       * possible.
-+       *
-+       * First find the best value, regardless of the low two bits -
-+       * this is the value used in the interrupt calculation even though
-+       * it cannot necessarily be set into the register.
-+       */
-+      timer_count = (rate + (HZ/2))/HZ;
-+
-+      /* Now the timer_ticks are being generated at this rate, calculate
-+       * an appropriate value for the register.  This stores a 30 bit
-+       * value which gives a period of 4*x+1, we want:
-+       *
-+       *   4*x+1 = board_tick_rate/HZ
-+       *
-+       * This needs to be rounded to the closest 4*HZ value:
-+       * 
-+       *   x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ
-+       *   x = (board_tick_rate+HZ) / (4*HZ);
-+       */
-+      reload = (board_tick_rate + HZ) / HZ;
-+      reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+      *IXP4XX_OSRT1 = reload;
--static unsigned volatile last_jiffy_time;
-+      /* If the clock is drifing, look in syslog: */
-+      printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload);
-+}
--#define CLOCK_TICKS_PER_USEC  ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
-+/* This returns the time in timer ticks since the 'last_timer_time'
-+ * recorded above.  Use this to avoid arithmetic errors because of
-+ * the overflow when the timer wraps.
-+ */
-+static inline u32 ixp4xx_timer_delta(void)
-+{
-+      return *IXP4XX_OSTS - last_timer_time;
-+}
- /* IRQs are disabled before entering here from do_gettimeofday() */
- static unsigned long ixp4xx_gettimeoffset(void)
- {
--      u32 elapsed;
--
--      elapsed = *IXP4XX_OSTS - last_jiffy_time;
-+      /* Return the offset of the current time from the last time
-+       * timer tick in microseconds.  This is only used for the
-+       * gettimeofday call.
-+       *
-+       * The result of this API is at most about 20000 (for a 50Hz
-+       * HZ - 20000 uS/tick), the input delta is at most about
-+       * 1.3M - 21 bits.
-+       */
-+      u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */
-+      /* return delta * 1000000 / board_tick_rate; */
-+      return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000;
-+}
--      return elapsed / CLOCK_TICKS_PER_USEC;
-+/* This is the correct adjustment to the counter to compensate for an
-+ * error iff timer_count-1 <= exact_count <= timer_count+1
-+ */
-+static inline int adjustment(int error) {
-+      if (error >= HZ)
-+              return 1;
-+      else if (error <= -HZ)
-+              return -1;
-+      return 0;
- }
- static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
- {
-+      u32 rate;
-+      u32 count;
-+      int error;
-+
-       write_seqlock(&xtime_lock);
-       /* Clear Pending Interrupt by writing '1' to it */
-       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
-+      /* If the board tick rate has been changed update the cached
-+       * value.
-+       */
-+      if (ixp4xx_board_tick_rate != board_tick_rate) {
-+              set_board_tick_rate(ixp4xx_board_tick_rate);
-+              accumulated_error = 0;
-+      }
-+
-       /*
-        * Catch up with the real idea of time
-+       *
-+       * board_tick_rate: actual ixp4xx ticks/second, read-only
-+       * accumulated_error: aggregate error/tick * HZ, read/write
-+       * timer_count: best ixp4xx ticks per timer_tick, read-only
-        */
--      while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
-+      rate = board_tick_rate;
-+      error = accumulated_error;
-+      count = timer_count;
-+      do {
-+              u32 adjusted_count = count + adjustment(error);
-+              if (ixp4xx_timer_delta() < adjusted_count)
-+                      break;
-               timer_tick(regs);
--              last_jiffy_time += LATCH;
--      }
-+              last_timer_time += adjusted_count;
-+              error += rate - adjusted_count*HZ;
-+      } while (1);
-+      accumulated_error = error;
-       write_sequnlock(&xtime_lock);
-@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq
-       .handler        = ixp4xx_timer_interrupt,
- };
-+u32 ixp4xx_get_board_tick_rate(void) {
-+      return board_tick_rate;
-+}
-+
-+EXPORT_SYMBOL(ixp4xx_get_board_tick_rate);
-+
-+void ixp4xx_set_board_tick_rate(u32 rate) {
-+      ixp4xx_board_tick_rate = rate;
-+}
-+
-+EXPORT_SYMBOL(ixp4xx_set_board_tick_rate);
-+
- static void __init ixp4xx_timer_init(void)
- {
-       /* Clear Pending Interrupt by writing '1' to it */
-       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
-       /* Setup the Timer counter value */
--      *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
-+      set_board_tick_rate(ixp4xx_board_tick_rate);
-       /* Reset time-stamp counter */
-       *IXP4XX_OSTS = 0;
--      last_jiffy_time = 0;
-+      last_timer_time = 0;
-+      accumulated_error = 0;
-       /* Connect the interrupt handler and enable the interrupt */
-       setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq);
-@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void)
-                               ARRAY_SIZE(ixp46x_devices));
-       }
- }
--
---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-@@ -119,6 +119,11 @@ static void nslu2_power_off(void)
- static void __init nslu2_init(void)
- {
-+      /* The NSLU2 has a 33MHz crystal on board - 1.01% different
-+       * from the typical value.
-+       */
-+      ixp4xx_set_board_tick_rate(66000000);
-+
-       ixp4xx_sys_init();
-       pm_power_off = nslu2_power_off;
---- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
-@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input
-       }
-       if (value > 20 && value < 32767)
--              count = (NSLU2_FREQ / (value*4)) - 1;
-+              count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1;
-       spin_lock_irqsave(&beep_lock, flags);
---- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
-@@ -38,11 +38,6 @@
- #define NSLU2_PCI_INTD_PIN    8
--/* NSLU2 Timer */
--#define NSLU2_FREQ 66000000
--#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
--#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
--
- /* GPIO */
- #define NSLU2_GPIO0           0
---- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
-@@ -6,10 +6,23 @@
- #include <asm/hardware.h>
- /*
-- * We use IXP425 General purpose timer for our timer needs, it runs at 
-- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
-- * timer register ignores the bottom 2 bits of the LATCH value.
-+ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and
-+ * is the number of internal counts per timer interrupt.  Thus
-+ * CLOCK_TICK_RATE is LATCH*HZ.
-+ *
-+ * The actual values of these numbers do not matter, because they
-+ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed
-+ * point number), so the value here gives a LATCH of 1 and pretty
-+ * much guarantees to flush out any off-by-one errors.
-+ *
-+ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of
-+ * HZ, this is checked in the ixp4xx/common.c code.
-  */
--#define FREQ 66666666
--#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
-+#define CLOCK_TICK_RATE HZ
-+/* The following allow the exact board tick rate to be set and
-+ * discovered.  The value should be exactly twice the frequency
-+ * (in Hz) of the onboard crystal.
-+ */
-+extern u32 ixp4xx_get_board_tick_rate(void);
-+extern void ixp4xx_set_board_tick_rate(u32 new_rate);
diff --git a/packages/linux/nslu2-kernel/2.6.15/defconfig b/packages/linux/nslu2-kernel/2.6.15/defconfig
deleted file mode 100644 (file)
index 9f7bf76..0000000
+++ /dev/null
@@ -1,1617 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Linux kernel version: 2.6.15
-# Mon Nov 14 10:44:43 2005
-#
-CONFIG_ARM=y
-CONFIG_MMU=y
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-CONFIG_CLEAN_COMPILE=y
-CONFIG_BROKEN_ON_SMP=y
-CONFIG_INIT_ENV_ARG_LIMIT=32
-
-#
-# General setup
-#
-CONFIG_LOCALVERSION=""
-CONFIG_LOCALVERSION_AUTO=y
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-# CONFIG_POSIX_MQUEUE is not set
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-# CONFIG_AUDIT is not set
-CONFIG_HOTPLUG=y
-CONFIG_KOBJECT_UEVENT=y
-# CONFIG_IKCONFIG is not set
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-CONFIG_EMBEDDED=y
-# CONFIG_KALLSYMS is not set
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-# CONFIG_BASE_FULL is not set
-CONFIG_FUTEX=y
-CONFIG_EPOLL=y
-CONFIG_SHMEM=y
-CONFIG_CC_ALIGN_FUNCTIONS=0
-CONFIG_CC_ALIGN_LABELS=0
-CONFIG_CC_ALIGN_LOOPS=0
-CONFIG_CC_ALIGN_JUMPS=0
-# CONFIG_TINY_SHMEM is not set
-CONFIG_BASE_SMALL=1
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-CONFIG_OBSOLETE_MODPARM=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_KMOD=y
-
-#
-# Block layer
-#
-
-#
-# IO Schedulers
-#
-CONFIG_IOSCHED_NOOP=y
-# CONFIG_IOSCHED_AS is not set
-CONFIG_IOSCHED_DEADLINE=y
-# CONFIG_IOSCHED_CFQ is not set
-# CONFIG_DEFAULT_AS is not set
-CONFIG_DEFAULT_DEADLINE=y
-# CONFIG_DEFAULT_CFQ is not set
-# CONFIG_DEFAULT_NOOP is not set
-CONFIG_DEFAULT_IOSCHED="deadline"
-
-#
-# System Type
-#
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-CONFIG_ARCH_IXP4XX=y
-# CONFIG_ARCH_IXP2000 is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_PXA is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_S3C2410 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_LH7A40X is not set
-# CONFIG_ARCH_OMAP is not set
-# CONFIG_ARCH_VERSATILE is not set
-# CONFIG_ARCH_REALVIEW is not set
-# CONFIG_ARCH_IMX is not set
-# CONFIG_ARCH_H720X is not set
-# CONFIG_ARCH_AAEC2000 is not set
-CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
-
-#
-# Intel IXP4xx Implementation Options
-#
-
-#
-# IXP4xx Platforms
-#
-CONFIG_MACH_NSLU2=y
-# CONFIG_ARCH_AVILA is not set
-# CONFIG_ARCH_ADI_COYOTE is not set
-# CONFIG_ARCH_IXDP425 is not set
-# CONFIG_MACH_IXDPG425 is not set
-# CONFIG_MACH_IXDP465 is not set
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_MACH_GTWX5715 is not set
-
-#
-# IXP4xx Options
-#
-CONFIG_IXP4XX_INDIRECT_PCI=y
-
-#
-# Processor Type
-#
-CONFIG_CPU_32=y
-CONFIG_CPU_XSCALE=y
-CONFIG_CPU_32v5=y
-CONFIG_CPU_ABRT_EV5T=y
-CONFIG_CPU_CACHE_VIVT=y
-CONFIG_CPU_TLB_V4WBI=y
-
-#
-# Processor Features
-#
-CONFIG_ARM_THUMB=y
-CONFIG_CPU_BIG_ENDIAN=y
-CONFIG_XSCALE_PMU=y
-CONFIG_DMABOUNCE=y
-
-#
-# Bus support
-#
-CONFIG_ISA_DMA_API=y
-CONFIG_PCI=y
-# CONFIG_PCI_LEGACY_PROC is not set
-
-#
-# PCCARD (PCMCIA/CardBus) support
-#
-# CONFIG_PCCARD is not set
-
-#
-# Kernel Features
-#
-# CONFIG_PREEMPT is not set
-# CONFIG_NO_IDLE_HZ is not set
-# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
-CONFIG_SELECT_MEMORY_MODEL=y
-CONFIG_FLATMEM_MANUAL=y
-# CONFIG_DISCONTIGMEM_MANUAL is not set
-# CONFIG_SPARSEMEM_MANUAL is not set
-CONFIG_FLATMEM=y
-CONFIG_FLAT_NODE_MEM_MAP=y
-# CONFIG_SPARSEMEM_STATIC is not set
-CONFIG_SPLIT_PTLOCK_CPUS=4096
-# CONFIG_LEDS is not set
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Boot options
-#
-CONFIG_ZBOOT_ROM_TEXT=0x0
-CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8"
-# CONFIG_XIP_KERNEL is not set
-
-#
-# Floating point emulation
-#
-
-#
-# At least one emulation must be selected
-#
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-
-#
-# Userspace binary formats
-#
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_AOUT is not set
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_ARTHUR is not set
-
-#
-# Power management options
-#
-# CONFIG_PM is not set
-
-#
-# Networking
-#
-CONFIG_NET=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=m
-CONFIG_PACKET_MMAP=y
-CONFIG_UNIX=y
-CONFIG_XFRM=y
-# CONFIG_XFRM_USER is not set
-# CONFIG_NET_KEY is not set
-CONFIG_INET=y
-# CONFIG_IP_MULTICAST is not set
-# CONFIG_IP_ADVANCED_ROUTER is not set
-CONFIG_IP_FIB_HASH=y
-# CONFIG_IP_PNP is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_ARPD is not set
-# CONFIG_SYN_COOKIES is not set
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_DIAG=y
-CONFIG_INET_TCP_DIAG=y
-# CONFIG_TCP_CONG_ADVANCED is not set
-CONFIG_TCP_CONG_BIC=y
-
-#
-# IP: Virtual Server Configuration
-#
-# CONFIG_IP_VS is not set
-CONFIG_IPV6=m
-# CONFIG_IPV6_PRIVACY is not set
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_IPV6_TUNNEL=m
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_BRIDGE_NETFILTER=y
-
-#
-# Core Netfilter Configuration
-#
-# CONFIG_NETFILTER_NETLINK is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_IP_NF_CONNTRACK=m
-# CONFIG_IP_NF_CT_ACCT is not set
-# CONFIG_IP_NF_CONNTRACK_MARK is not set
-# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
-CONFIG_IP_NF_CT_PROTO_SCTP=m
-CONFIG_IP_NF_FTP=m
-CONFIG_IP_NF_IRC=m
-# CONFIG_IP_NF_NETBIOS_NS is not set
-CONFIG_IP_NF_TFTP=m
-CONFIG_IP_NF_AMANDA=m
-# CONFIG_IP_NF_PPTP is not set
-CONFIG_IP_NF_QUEUE=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_LIMIT=m
-CONFIG_IP_NF_MATCH_IPRANGE=m
-CONFIG_IP_NF_MATCH_MAC=m
-CONFIG_IP_NF_MATCH_PKTTYPE=m
-CONFIG_IP_NF_MATCH_MARK=m
-CONFIG_IP_NF_MATCH_MULTIPORT=m
-CONFIG_IP_NF_MATCH_TOS=m
-CONFIG_IP_NF_MATCH_RECENT=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_DSCP=m
-CONFIG_IP_NF_MATCH_AH_ESP=m
-CONFIG_IP_NF_MATCH_LENGTH=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_MATCH_TCPMSS=m
-CONFIG_IP_NF_MATCH_HELPER=m
-CONFIG_IP_NF_MATCH_STATE=m
-CONFIG_IP_NF_MATCH_CONNTRACK=m
-CONFIG_IP_NF_MATCH_OWNER=m
-CONFIG_IP_NF_MATCH_PHYSDEV=m
-CONFIG_IP_NF_MATCH_ADDRTYPE=m
-CONFIG_IP_NF_MATCH_REALM=m
-# CONFIG_IP_NF_MATCH_SCTP is not set
-# CONFIG_IP_NF_MATCH_DCCP is not set
-CONFIG_IP_NF_MATCH_COMMENT=m
-CONFIG_IP_NF_MATCH_HASHLIMIT=m
-# CONFIG_IP_NF_MATCH_STRING is not set
-CONFIG_IP_NF_FILTER=m
-# CONFIG_IP_NF_TARGET_REJECT is not set
-CONFIG_IP_NF_TARGET_LOG=m
-CONFIG_IP_NF_TARGET_ULOG=m
-CONFIG_IP_NF_TARGET_TCPMSS=m
-# CONFIG_IP_NF_TARGET_NFQUEUE is not set
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_NAT_NEEDED=y
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_SAME=m
-CONFIG_IP_NF_NAT_SNMP_BASIC=m
-CONFIG_IP_NF_NAT_IRC=m
-CONFIG_IP_NF_NAT_FTP=m
-CONFIG_IP_NF_NAT_TFTP=m
-CONFIG_IP_NF_NAT_AMANDA=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_TOS=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_DSCP=m
-CONFIG_IP_NF_TARGET_MARK=m
-CONFIG_IP_NF_TARGET_CLASSIFY=m
-# CONFIG_IP_NF_TARGET_TTL is not set
-# CONFIG_IP_NF_RAW is not set
-# CONFIG_IP_NF_ARPTABLES is not set
-
-#
-# IPv6: Netfilter Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP6_NF_QUEUE is not set
-# CONFIG_IP6_NF_IPTABLES is not set
-
-#
-# Bridge: Netfilter Configuration
-#
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-
-#
-# DCCP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_DCCP is not set
-
-#
-# SCTP Configuration (EXPERIMENTAL)
-#
-# CONFIG_IP_SCTP is not set
-# CONFIG_ATM is not set
-CONFIG_BRIDGE=m
-CONFIG_VLAN_8021Q=m
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-CONFIG_IPX=m
-# CONFIG_IPX_INTERN is not set
-CONFIG_ATALK=m
-CONFIG_DEV_APPLETALK=y
-CONFIG_IPDDP=m
-CONFIG_IPDDP_ENCAP=y
-CONFIG_IPDDP_DECAP=y
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-CONFIG_NET_CLS_ROUTE=y
-
-#
-# Network testing
-#
-CONFIG_NET_PKTGEN=m
-# CONFIG_HAMRADIO is not set
-# CONFIG_IRDA is not set
-CONFIG_BT=m
-CONFIG_BT_L2CAP=m
-CONFIG_BT_SCO=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-# CONFIG_BT_HIDP is not set
-
-#
-# Bluetooth device drivers
-#
-CONFIG_BT_HCIUSB=m
-CONFIG_BT_HCIUSB_SCO=y
-# CONFIG_BT_HCIUART is not set
-CONFIG_BT_HCIBCM203X=m
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-# CONFIG_IEEE80211 is not set
-
-#
-# Device Drivers
-#
-
-#
-# Generic Driver Options
-#
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-CONFIG_FW_LOADER=m
-
-#
-# Connector - unified userspace <-> kernelspace linker
-#
-# CONFIG_CONNECTOR is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_PARTITIONS=y
-CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
-# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
-# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-
-#
-# User Modules And Translation Layers
-#
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-# CONFIG_RFD_FTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-# CONFIG_MTD_CFI_NOSWAP is not set
-CONFIG_MTD_CFI_BE_BYTE_SWAP=y
-# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_GEOMETRY=y
-# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_CFI_I1=y
-CONFIG_MTD_CFI_I2=y
-# CONFIG_MTD_CFI_I4 is not set
-# CONFIG_MTD_CFI_I8 is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_XIP is not set
-
-#
-# Mapping drivers for chip access
-#
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-CONFIG_MTD_IXP4XX=y
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PLATRAM is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_BLOCK2MTD is not set
-
-#
-# Disk-On-Chip Device Drivers
-#
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# OneNAND Flash Device Drivers
-#
-# CONFIG_MTD_ONENAND is not set
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Plug and Play support
-#
-
-#
-# Block devices
-#
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_COW_COMMON is not set
-CONFIG_BLK_DEV_LOOP=m
-# CONFIG_BLK_DEV_CRYPTOLOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_UB is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_COUNT=4
-CONFIG_BLK_DEV_RAM_SIZE=10240
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_CDROM_PKTCDVD=m
-CONFIG_CDROM_PKTCDVD_BUFFERS=8
-# CONFIG_CDROM_PKTCDVD_WCACHE is not set
-# CONFIG_ATA_OVER_ETH is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-
-#
-# SCSI device support
-#
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_BLK_DEV_SR_VENDOR is not set
-CONFIG_CHR_DEV_SG=m
-# CONFIG_CHR_DEV_SCH is not set
-
-#
-# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
-#
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI Transport Attributes
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_SATA is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_IPR is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-CONFIG_SCSI_QLA2XXX=y
-# CONFIG_SCSI_QLA21XX is not set
-# CONFIG_SCSI_QLA22XX is not set
-# CONFIG_SCSI_QLA2300 is not set
-# CONFIG_SCSI_QLA2322 is not set
-# CONFIG_SCSI_QLA6312 is not set
-# CONFIG_SCSI_QLA24XX is not set
-# CONFIG_SCSI_LPFC is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-CONFIG_MD=y
-CONFIG_BLK_DEV_MD=m
-CONFIG_MD_LINEAR=m
-CONFIG_MD_RAID0=m
-CONFIG_MD_RAID1=m
-CONFIG_MD_RAID10=m
-CONFIG_MD_RAID5=m
-CONFIG_MD_RAID6=m
-CONFIG_MD_MULTIPATH=m
-CONFIG_MD_FAULTY=m
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_CRYPT is not set
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-
-#
-# Fusion MPT device support
-#
-# CONFIG_FUSION is not set
-# CONFIG_FUSION_SPI is not set
-# CONFIG_FUSION_FC is not set
-# CONFIG_FUSION_SAS is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-CONFIG_TUN=m
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-
-#
-# PHY device support
-#
-# CONFIG_PHYLIB is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-CONFIG_MACLIST=y
-CONFIG_MII=y
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_CASSINI is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_SMC91X is not set
-# CONFIG_DM9000 is not set
-
-#
-# Tulip family network device support
-#
-# CONFIG_NET_TULIP is not set
-# CONFIG_HP100 is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_B44 is not set
-# CONFIG_FORCEDETH is not set
-# CONFIG_DGRS is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_E100 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139TOO is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SIS190 is not set
-# CONFIG_SKGE is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_VIA_VELOCITY is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_BNX2 is not set
-
-#
-# Ethernet (10000 Mbit)
-#
-# CONFIG_CHELSIO_T1 is not set
-# CONFIG_IXGB is not set
-# CONFIG_S2IO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-CONFIG_NET_RADIO=y
-
-#
-# Obsolete Wireless cards support (pre-802.11)
-#
-# CONFIG_STRIP is not set
-
-#
-# Wireless 802.11b ISA/PCI cards support
-#
-# CONFIG_AIRO is not set
-# CONFIG_HERMES is not set
-# CONFIG_ATMEL is not set
-
-#
-# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
-#
-# CONFIG_PRISM54 is not set
-# CONFIG_HOSTAP is not set
-CONFIG_NET_WIRELESS=y
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-CONFIG_PPP=m
-# CONFIG_PPP_MULTILINK is not set
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_ASYNC=m
-# CONFIG_PPP_SYNC_TTY is not set
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_BSDCOMP=m
-# CONFIG_PPP_MPPE is not set
-# CONFIG_PPPOE is not set
-# CONFIG_SLIP is not set
-# CONFIG_NET_FC is not set
-# CONFIG_SHAPER is not set
-CONFIG_NETCONSOLE=m
-CONFIG_NETPOLL=y
-# CONFIG_NETPOLL_RX is not set
-# CONFIG_NETPOLL_TRAP is not set
-CONFIG_NET_POLL_CONTROLLER=y
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_TSDEV is not set
-CONFIG_INPUT_EVDEV=m
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-# CONFIG_INPUT_KEYBOARD is not set
-# CONFIG_INPUT_MOUSE is not set
-# CONFIG_INPUT_JOYSTICK is not set
-# CONFIG_INPUT_TOUCHSCREEN is not set
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_NSLU2_BEEPER=m
-# CONFIG_INPUT_UINPUT is not set
-
-#
-# Hardware I/O ports
-#
-# CONFIG_SERIO is not set
-# CONFIG_GAMEPORT is not set
-
-#
-# Character devices
-#
-# CONFIG_VT is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_NR_UARTS=2
-# CONFIG_SERIAL_8250_EXTENDED is not set
-
-#
-# Non-8250 serial port support
-#
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_LEGACY_PTYS=y
-CONFIG_LEGACY_PTY_COUNT=16
-
-#
-# IPMI
-#
-# CONFIG_IPMI_HANDLER is not set
-
-#
-# Watchdog Cards
-#
-CONFIG_WATCHDOG=y
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-CONFIG_IXP4XX_WATCHDOG=y
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_DRM is not set
-# CONFIG_RAW_DRIVER is not set
-
-#
-# TPM devices
-#
-# CONFIG_TCG_TPM is not set
-# CONFIG_TELCLOCK is not set
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_CHARDEV=y
-
-#
-# I2C Algorithms
-#
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_ALGOPCF is not set
-# CONFIG_I2C_ALGOPCA is not set
-
-#
-# I2C Hardware Bus support
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_I810 is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_IOP3XX is not set
-CONFIG_I2C_IXP4XX=y
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_PARPORT_LIGHT is not set
-# CONFIG_I2C_PROSAVAGE is not set
-# CONFIG_I2C_SAVAGE4 is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_STUB is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-# CONFIG_I2C_VOODOO3 is not set
-# CONFIG_I2C_PCA_ISA is not set
-
-#
-# Miscellaneous I2C Chip support
-#
-# CONFIG_SENSORS_DS1337 is not set
-# CONFIG_SENSORS_DS1374 is not set
-CONFIG_SENSORS_EEPROM=y
-# CONFIG_SENSORS_PCF8574 is not set
-# CONFIG_SENSORS_PCA9539 is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_SENSORS_RTC8564 is not set
-# CONFIG_SENSORS_MAX6875 is not set
-# CONFIG_RTC_X1205_I2C is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# CONFIG_I2C_DEBUG_CHIP is not set
-
-#
-# Hardware Monitoring support
-#
-CONFIG_HWMON=y
-# CONFIG_HWMON_VID is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ASB100 is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_FSCHER is not set
-# CONFIG_SENSORS_FSCPOS is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-# CONFIG_SENSORS_LM90 is not set
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_SIS5595 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_VIA686A is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Misc devices
-#
-
-#
-# Multimedia Capabilities Port drivers
-#
-
-#
-# Multimedia devices
-#
-CONFIG_VIDEO_DEV=m
-
-#
-# Video For Linux
-#
-
-#
-# Video Adapters
-#
-CONFIG_VIDEO_BT848=m
-# CONFIG_VIDEO_SAA6588 is not set
-CONFIG_VIDEO_CPIA=m
-CONFIG_VIDEO_CPIA_USB=m
-CONFIG_VIDEO_SAA5246A=m
-CONFIG_VIDEO_SAA5249=m
-CONFIG_TUNER_3036=m
-CONFIG_VIDEO_STRADIS=m
-CONFIG_VIDEO_ZORAN=m
-CONFIG_VIDEO_ZORAN_BUZ=m
-CONFIG_VIDEO_ZORAN_DC10=m
-CONFIG_VIDEO_ZORAN_DC30=m
-CONFIG_VIDEO_ZORAN_LML33=m
-CONFIG_VIDEO_ZORAN_LML33R10=m
-CONFIG_VIDEO_SAA7134=m
-# CONFIG_VIDEO_SAA7134_ALSA is not set
-CONFIG_VIDEO_MXB=m
-CONFIG_VIDEO_DPC=m
-CONFIG_VIDEO_HEXIUM_ORION=m
-CONFIG_VIDEO_HEXIUM_GEMINI=m
-CONFIG_VIDEO_CX88=m
-# CONFIG_VIDEO_EM28XX is not set
-CONFIG_VIDEO_OVCAMCHIP=m
-# CONFIG_VIDEO_AUDIO_DECODER is not set
-# CONFIG_VIDEO_DECODER is not set
-
-#
-# Radio Adapters
-#
-# CONFIG_RADIO_GEMTEK_PCI is not set
-# CONFIG_RADIO_MAXIRADIO is not set
-# CONFIG_RADIO_MAESTRO is not set
-
-#
-# Digital Video Broadcasting Devices
-#
-# CONFIG_DVB is not set
-CONFIG_VIDEO_SAA7146=m
-CONFIG_VIDEO_SAA7146_VV=m
-CONFIG_VIDEO_VIDEOBUF=m
-CONFIG_VIDEO_TUNER=m
-CONFIG_VIDEO_BUF=m
-CONFIG_VIDEO_BTCX=m
-CONFIG_VIDEO_IR=m
-CONFIG_VIDEO_TVEEPROM=m
-
-#
-# Graphics support
-#
-# CONFIG_FB is not set
-
-#
-# Sound
-#
-CONFIG_SOUND=m
-
-#
-# Advanced Linux Sound Architecture
-#
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-
-#
-# Generic devices
-#
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# PCI devices
-#
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_YMFPCI is not set
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS4000 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_HDA_INTEL is not set
-
-#
-# ALSA ARM devices
-#
-
-#
-# USB devices
-#
-CONFIG_SND_USB_AUDIO=m
-
-#
-# Open Sound System
-#
-# CONFIG_SOUND_PRIME is not set
-
-#
-# USB support
-#
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB_ARCH_HAS_OHCI=y
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEVICEFS=y
-# CONFIG_USB_BANDWIDTH is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-
-#
-# USB Host Controller Drivers
-#
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_SPLIT_ISO=y
-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
-# CONFIG_USB_ISP116X_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-# CONFIG_USB_OHCI_BIG_ENDIAN is not set
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-
-#
-# USB Device Class drivers
-#
-# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
-CONFIG_USB_ACM=m
-CONFIG_USB_PRINTER=m
-
-#
-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-#
-
-#
-# may also be needed; see USB_STORAGE Help for more information
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_USBAT is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_STORAGE_ONETOUCH is not set
-
-#
-# USB Input Devices
-#
-CONFIG_USB_HID=m
-CONFIG_USB_HIDINPUT=y
-# CONFIG_HID_FF is not set
-CONFIG_USB_HIDDEV=y
-
-#
-# USB HID Boot Protocol drivers
-#
-CONFIG_USB_KBD=m
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_ACECAD is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_MTOUCH is not set
-# CONFIG_USB_ITMTOUCH is not set
-# CONFIG_USB_EGALAX is not set
-# CONFIG_USB_YEALINK is not set
-# CONFIG_USB_XPAD is not set
-# CONFIG_USB_ATI_REMOTE is not set
-# CONFIG_USB_KEYSPAN_REMOTE is not set
-# CONFIG_USB_APPLETOUCH is not set
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-
-#
-# USB Multimedia devices
-#
-# CONFIG_USB_DABUSB is not set
-# CONFIG_USB_VICAM is not set
-# CONFIG_USB_DSBR is not set
-# CONFIG_USB_IBMCAM is not set
-# CONFIG_USB_KONICAWC is not set
-# CONFIG_USB_OV511 is not set
-# CONFIG_USB_SE401 is not set
-# CONFIG_USB_SN9C102 is not set
-# CONFIG_USB_STV680 is not set
-# CONFIG_USB_W9968CF is not set
-CONFIG_USB_PWC=m
-
-#
-# USB Network Adapters
-#
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_CDCETHER=m
-# CONFIG_USB_NET_GL620A is not set
-CONFIG_USB_NET_NET1080=m
-# CONFIG_USB_NET_PLUSB is not set
-# CONFIG_USB_NET_RNDIS_HOST is not set
-# CONFIG_USB_NET_CDC_SUBSET is not set
-CONFIG_USB_NET_ZAURUS=m
-# CONFIG_USB_ZD1201 is not set
-# CONFIG_USB_MON is not set
-
-#
-# USB port drivers
-#
-
-#
-# USB Serial Converter support
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-# CONFIG_USB_SERIAL_AIRPRIME is not set
-# CONFIG_USB_SERIAL_ANYDATA is not set
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-# CONFIG_USB_SERIAL_CP2101 is not set
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-# CONFIG_USB_SERIAL_KEYSPAN is not set
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_PL2303=m
-# CONFIG_USB_SERIAL_HP4X is not set
-CONFIG_USB_SERIAL_SAFE=m
-# CONFIG_USB_SERIAL_SAFE_PADDED is not set
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_XIRCOM=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_EZUSB=y
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_LED is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_PHIDGETKIT is not set
-# CONFIG_USB_PHIDGETSERVO is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TEST is not set
-
-#
-# USB DSL modem support
-#
-
-#
-# USB Gadget Support
-#
-# CONFIG_USB_GADGET is not set
-
-#
-# MMC/SD Card support
-#
-# CONFIG_MMC is not set
-
-#
-# Real Time Clock
-#
-CONFIG_RTC_CLASS=y
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-
-#
-# RTC drivers
-#
-CONFIG_RTC_DRV_X1205=y
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# File systems
-#
-CONFIG_EXT2_FS=m
-CONFIG_EXT2_FS_XATTR=y
-CONFIG_EXT2_FS_POSIX_ACL=y
-CONFIG_EXT2_FS_SECURITY=y
-# CONFIG_EXT2_FS_XIP is not set
-CONFIG_EXT3_FS=m
-CONFIG_EXT3_FS_XATTR=y
-CONFIG_EXT3_FS_POSIX_ACL=y
-CONFIG_EXT3_FS_SECURITY=y
-CONFIG_JBD=m
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FS_MBCACHE=m
-CONFIG_REISERFS_FS=m
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-CONFIG_REISERFS_FS_XATTR=y
-CONFIG_REISERFS_FS_POSIX_ACL=y
-CONFIG_REISERFS_FS_SECURITY=y
-# CONFIG_JFS_FS is not set
-CONFIG_FS_POSIX_ACL=y
-# CONFIG_XFS_FS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_INOTIFY=y
-# CONFIG_QUOTA is not set
-CONFIG_DNOTIFY=y
-# CONFIG_AUTOFS_FS is not set
-CONFIG_AUTOFS4_FS=m
-# CONFIG_FUSE_FS is not set
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_ZISOFS_FS=m
-CONFIG_UDF_FS=m
-CONFIG_UDF_NLS=y
-
-#
-# DOS/FAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-# CONFIG_HUGETLB_PAGE is not set
-CONFIG_RAMFS=y
-# CONFIG_RELAYFS_FS is not set
-
-#
-# Miscellaneous filesystems
-#
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-CONFIG_JFFS2_FS=y
-CONFIG_JFFS2_FS_DEBUG=0
-CONFIG_JFFS2_FS_WRITEBUFFER=y
-# CONFIG_JFFS2_SUMMARY is not set
-# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
-CONFIG_JFFS2_ZLIB=y
-CONFIG_JFFS2_RTIME=y
-# CONFIG_JFFS2_RUBIN is not set
-# CONFIG_JFFS2_NATIVE_ENDIAN is not set
-CONFIG_JFFS2_BIG_ENDIAN=y
-# CONFIG_JFFS2_LITTLE_ENDIAN is not set
-# CONFIG_CRAMFS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-
-#
-# Network File Systems
-#
-CONFIG_NFS_FS=m
-CONFIG_NFS_V3=y
-# CONFIG_NFS_V3_ACL is not set
-CONFIG_NFS_V4=y
-CONFIG_NFS_DIRECTIO=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3=y
-# CONFIG_NFSD_V3_ACL is not set
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_TCP=y
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_EXPORTFS=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_RPCSEC_GSS_SPKM3 is not set
-CONFIG_SMB_FS=m
-# CONFIG_SMB_NLS_DEFAULT is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS is not set
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-# CONFIG_CIFS_EXPERIMENTAL is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-# CONFIG_9P_FS is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-# CONFIG_BSD_DISKLABEL is not set
-# CONFIG_MINIX_SUBPARTITION is not set
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-# CONFIG_LDM_PARTITION is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_EFI_PARTITION is not set
-
-#
-# Native Language Support
-#
-CONFIG_NLS=m
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_NLS_UTF8=m
-
-#
-# Profiling support
-#
-# CONFIG_PROFILING is not set
-
-#
-# Kernel hacking
-#
-# CONFIG_PRINTK_TIME is not set
-# CONFIG_DEBUG_KERNEL is not set
-CONFIG_LOG_BUF_SHIFT=14
-# CONFIG_DEBUG_BUGVERBOSE is not set
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-
-#
-# Security options
-#
-# CONFIG_KEYS is not set
-# CONFIG_SECURITY is not set
-
-#
-# Cryptographic options
-#
-CONFIG_CRYPTO=y
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_NULL is not set
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-CONFIG_CRYPTO_SHA1=m
-CONFIG_CRYPTO_SHA256=m
-CONFIG_CRYPTO_SHA512=m
-CONFIG_CRYPTO_WP512=m
-CONFIG_CRYPTO_TGR192=m
-CONFIG_CRYPTO_DES=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_AES=m
-CONFIG_CRYPTO_CAST5=m
-CONFIG_CRYPTO_CAST6=m
-CONFIG_CRYPTO_TEA=m
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_KHAZAD=m
-CONFIG_CRYPTO_ANUBIS=m
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_MICHAEL_MIC=m
-CONFIG_CRYPTO_CRC32C=m
-CONFIG_CRYPTO_TEST=m
-
-#
-# Hardware crypto devices
-#
-
-#
-# Library routines
-#
-CONFIG_CRC_CCITT=m
-# CONFIG_CRC16 is not set
-CONFIG_CRC32=y
-CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-kernel/2.6/.mtn2git_empty b/packages/linux/nslu2-kernel/2.6/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/2.6/40-scsi-idle.patch b/packages/linux/nslu2-kernel/2.6/40-scsi-idle.patch
deleted file mode 100644 (file)
index e04996e..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-diff -ur linux-2.6.12.2/drivers/scsi/sd.c linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c
---- linux-2.6.12.2/drivers/scsi/sd.c   2005-08-27 06:12:31.000000000 +0200
-+++ linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c 2005-08-27 06:26:50.000000000 +0200
-@@ -266,6 +266,9 @@
-                           "count=%d\n", disk->disk_name,
-                        (unsigned long long)block, this_count));
-+      /* Update idle-since time */
-+      sdp->idle = jiffies;
-+
-       if (!sdp || !scsi_device_online(sdp) ||
-           block + rq->nr_sectors > get_capacity(disk)) {
-               SCSI_LOG_HLQUEUE(2, printk("Finishing %ld sectors\n", 
-@@ -600,6 +603,8 @@
-               case SCSI_IOCTL_GET_IDLUN:
-               case SCSI_IOCTL_GET_BUS_NUMBER:
-                       return scsi_ioctl(sdp, cmd, p);
-+              case SCSI_IOCTL_IDLE:
-+                      return (jiffies - sdp->idle) / HZ + 1;
-               default:
-                       error = scsi_cmd_ioctl(filp, disk, cmd, p);
-                       if (error != -ENOTTY)
-diff -ur linux-2.6.12.2/include/scsi/scsi_device.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h
---- linux-2.6.12.2/include/scsi/scsi_device.h  2005-08-27 06:12:44.000000000 +0200
-+++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h        2005-08-27 06:27:09.000000000 +0200
-@@ -125,6 +125,7 @@
-       atomic_t ioerr_cnt;
-       int timeout;
-+      unsigned long           idle;   /* scsi idle time in jiffers */
-       struct device           sdev_gendev;
-       struct class_device     sdev_classdev;
-diff -ur linux-2.6.12.2/include/scsi/scsi_ioctl.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h
---- linux-2.6.12.2/include/scsi/scsi_ioctl.h   2005-08-27 06:12:44.000000000 +0200
-+++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h 2005-08-28 17:32:17.000000000 +0200
-@@ -7,6 +7,7 @@
- #define SCSI_IOCTL_SYNC 4                     /* Request synchronous parameters */
- #define SCSI_IOCTL_START_UNIT 5
- #define SCSI_IOCTL_STOP_UNIT 6
-+#define SCSI_IOCTL_IDLE 4746                  /* get idle time in jiffies */
- /* The door lock/unlock constants are compatible with Sun constants for
-    the cdrom */
- #define SCSI_IOCTL_DOORLOCK 0x5380            /* lock the eject mechanism */
diff --git a/packages/linux/nslu2-kernel/2.6/91-maclist.patch b/packages/linux/nslu2-kernel/2.6/91-maclist.patch
deleted file mode 100644 (file)
index 27af1ea..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
---- linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,23 @@
-+#ifndef _MACLIST_H
-+#define _MACLIST_H 1
-+/*
-+ * Interfaces to the MAC repository
-+ */
-+/*
-+ * Add a single entry, returns 0 on success else an error
-+ * code.  Must *not* be called from an interrupt handler.
-+ */
-+extern int maclist_add(const u8 id_to_add[6]);
-+
-+/*
-+ * Return the current entry count (valid in any context).
-+ */
-+extern int maclist_count(void);
-+
-+/*
-+ * Return the ID from the n'th entry (valid in any context),
-+ * returns 0 on success, -EINVAL if 'n' is out of range.
-+ */
-+extern int maclist_read(u8 (*buffer_for_id)[6], int index_of_id_to_return);
-+
-+#endif /*_MACLIST_H*/
---- linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000
-@@ -0,0 +1,314 @@
-+/*
-+ * drivers/net/maclist.c
-+ *
-+ * a simple driver to remember ethernet MAC values
-+ *
-+ * Some Ethernet hardware implementations have no built-in
-+ * storage for allocated MAC values - an example is the Intel
-+ * IXP420 chip which has support for Ethernet but no defined
-+ * way of storing allocated MAC values.  With such hardware
-+ * different board level implementations store the allocated
-+ * MAC (or MACs) in different ways.  Rather than put board
-+ * level code into a specific Ethernet driver this driver
-+ * provides a generally accessible repository for the MACs
-+ * which can be written by board level code and read by the
-+ * driver.
-+ *
-+ * The implementation also allows user level programs to
-+ * access the MAC information in /proc/net/maclist.  This is
-+ * useful as it allows user space code to use the MAC if it
-+ * is not used by a built-in driver.
-+ *
-+ * Copyright (C) 2005 John Bowler
-+ * Author: John Bowler <jbowler@acm.org>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License
-+ * version 2 as published by the Free Software Foundation.
-+ *
-+ * External interfaces:
-+ *  Interfaces to linux kernel (and modules)
-+ *   maclist_add:   add a single MAC
-+ *   maclist_count: total number of MACs stored
-+ *   maclist_read:  read a MAC 0..(maclist_count-1)
-+ */
-+#include <linux/module.h>
-+#include <linux/moduleparam.h>
-+#include <linux/etherdevice.h>
-+#include <linux/proc_fs.h>
-+#include <linux/errno.h>
-+
-+#include <net/maclist.h>
-+
-+#define MACLIST_NAME "maclist"
-+
-+MODULE_AUTHOR("John Bowler <jbowler@acm.org>");
-+MODULE_DESCRIPTION("MAC list repository");
-+MODULE_LICENSE("GPL");
-+
-+typedef struct maclist_entry {
-+      struct maclist_entry *next;  /* Linked list, first first */
-+      u8                    id[6]; /* 6 byte Ethernet MAC */
-+} maclist_entry_t;
-+
-+/* Access to this list is possible at any time - entries in
-+ * the list are never destroyed.  Modification of the list is
-+ * safe only from the init code (i.e. modification must be
-+ * single threaded), but read from an interrupt at the same
-+ * time is possible and safe.
-+ */
-+static maclist_entry_t *maclist_list = 0;
-+
-+/*
-+ * External interfaces.
-+ *
-+ * Add a single entry, returns 0 on success else an error
-+ * code.  Must be single threaded.
-+ */
-+int maclist_add(const u8 new_id[6]) {
-+      maclist_entry_t *new_entry, **tail;
-+
-+      if (new_id == 0 || !is_valid_ether_addr(new_id)) {
-+              printk(KERN_ERR MACLIST_NAME ": invalid ethernet address\n");
-+              return -EINVAL;
-+      }
-+      new_entry = kmalloc(sizeof *new_entry, GFP_KERNEL);
-+      if (new_entry == 0)
-+              return -ENOMEM;
-+      new_entry->next = 0;
-+      memcpy(new_entry->id, new_id, sizeof new_entry->id);
-+
-+      tail = &maclist_list;
-+      while (*tail != 0)
-+              tail = &(*tail)->next;
-+      *tail = new_entry;
-+      return 0;
-+}
-+EXPORT_SYMBOL(maclist_add);
-+
-+/*
-+ * Return the current entry count (valid in any context).
-+ */
-+int maclist_count(void) {
-+      maclist_entry_t *tail = maclist_list;
-+      int count = 0;
-+
-+      while (tail != 0) {
-+              tail = tail->next;
-+              ++count;
-+      }
-+
-+      return count;
-+}
-+EXPORT_SYMBOL(maclist_count);
-+
-+/*
-+ * Return the ID from the n'th entry (valid in any context),
-+ * returns 0 on success, -EINVAL if 'n' is out of range.
-+ */
-+int maclist_read(u8 (*id)[6], int n) {
-+      maclist_entry_t *entry = maclist_list;
-+
-+      while (n > 0 && entry != 0) {
-+              --n;
-+              entry = entry->next;
-+      }
-+
-+      if (n == 0 && entry != 0) {
-+              memcpy(id, entry->id, sizeof *id);
-+              return 0;
-+      }
-+
-+      printk(KERN_ERR MACLIST_NAME ": id does not exist\n");
-+      return -EINVAL;
-+}
-+EXPORT_SYMBOL(maclist_read);
-+
-+/*
-+ * Parameter parsing.  The option string is a list of MAC
-+ * addresses, comma separated.  (The parsing really should
-+ * be somewhere central...)
-+ */
-+static int __init maclist_setup(char *param) {
-+      int bytes = 0, seen_a_digit = 0;
-+      u8 id[6];
-+
-+      memset(id, 0, sizeof id);
-+
-+      if (param) do {
-+              int digit = -1;
-+              switch (*param) {
-+              case '0': digit = 0; break;
-+              case '1': digit = 1; break;
-+              case '2': digit = 2; break;
-+              case '3': digit = 3; break;
-+              case '4': digit = 4; break;
-+              case '5': digit = 5; break;
-+              case '6': digit = 6; break;
-+              case '7': digit = 7; break;
-+              case '8': digit = 8; break;
-+              case '9': digit = 9; break;
-+              case 'a': case 'A': digit = 10; break;
-+              case 'b': case 'B': digit = 11; break;
-+              case 'c': case 'C': digit = 12; break;
-+              case 'd': case 'D': digit = 13; break;
-+              case 'e': case 'E': digit = 14; break;
-+              case 'f': case 'F': digit = 15; break;
-+              case ':':
-+                      if (seen_a_digit)
-+                              bytes = (bytes+1) & ~1;
-+                      else
-+                              bytes += 2; /* i.e. ff::ff is ff:00:ff */
-+                      seen_a_digit = 0;
-+                      break;
-+              case 0:
-+                      if (bytes == 0) /* nothing new seen so far */
-+                              return 0;
-+                      /*fall through*/
-+              case ',': case ';':
-+                      if (bytes > 0)
-+                              bytes = 12; /* i.e. all trailing bytes 0 */
-+                      break;
-+              default:
-+                      printk(KERN_ERR MACLIST_NAME ": invalid character <%c[%d]>\n",
-+                                      *param, *param);
-+                      return -EINVAL;
-+              }
-+
-+              if (digit >= 0) {
-+                      id[bytes>>1] = (id[bytes>>1] << 4) + digit; break;
-+                      ++bytes;
-+                      seen_a_digit = 1;
-+              }
-+
-+              if (bytes >= 12) {
-+                      int rc = maclist_add(id);
-+                      if (rc)
-+                              return rc;
-+                      bytes = 0;
-+                      seen_a_digit = 0;
-+                      memset(id, 0, sizeof id);
-+                      if (*param == 0)
-+                              return 0;
-+              }
-+              ++param;
-+      } while (1);
-+
-+      return 0;
-+}
-+
-+/*
-+ * procfs support, if compiled in.
-+ */
-+#ifdef CONFIG_PROC_FS
-+/*
-+ * Character device read
-+ */
-+static int maclist_getchar(off_t n) {
-+      static char xdigit[16] = "0123456789abcdef";
-+      maclist_entry_t *head = maclist_list;
-+      int b;
-+
-+      do {
-+              if (head == 0)
-+                      return -1;
-+              if (n < 18)
-+                      break;
-+              head = head->next;
-+              n -= 18;
-+      } while (1);
-+
-+      if (n == 17)
-+              return '\n';
-+
-+      b = n/3;
-+      switch (n - b*3) {
-+      case 0: return xdigit[head->id[b] >> 4];
-+      case 1: return xdigit[head->id[b] & 0xf];
-+      default: return ':';
-+      }
-+}
-+
-+/*
-+ * The extensively undocumented proc_read_t callback is implemented here.
-+ * Go look in fs/proc/generic.c:
-+ *
-+ * Prototype:
-+ *    int f(char *buffer, char **start, off_t offset,
-+ *          int count, int *peof, void *dat)
-+ *
-+ * Assume that the buffer is "count" bytes in size.
-+ *
-+ * 2) Set *start = an address within the buffer.
-+ *    Put the data of the requested offset at *start.
-+ *    Return the number of bytes of data placed there.
-+ *    If this number is greater than zero and you
-+ *    didn't signal eof and the reader is prepared to
-+ *    take more data you will be called again with the
-+ *    requested offset advanced by the number of bytes
-+ *    absorbed.
-+ */
-+static int maclist_proc_read(char *buffer, char **start, off_t offset,
-+              int count, int *peof, void *dat) {
-+      int total;
-+
-+      *start = buffer;
-+      total = 0;
-+
-+      while (total < count) {
-+              int ch = maclist_getchar(offset++);
-+              if (ch == -1) {
-+                      *peof = 1;
-+                      break;
-+              }
-+              *buffer++ = ch;
-+              ++total;
-+      }
-+
-+      return total;
-+}
-+#endif
-+
-+/*
-+ * Finally, the init/exit functions.
-+ */
-+static void __exit maclist_exit(void)
-+{
-+      maclist_entry_t *list;
-+
-+      remove_proc_entry(MACLIST_NAME, proc_net);
-+
-+      list = maclist_list;
-+      maclist_list = 0;
-+
-+      while (list != 0) {
-+              maclist_entry_t *head = list;
-+              list = head->next;
-+              kfree(head);
-+      }
-+}
-+
-+#ifdef MODULE
-+static char ids[256];
-+module_param_string(ids, ids, sizeof ids, 0);
-+MODULE_PARM_DESC(ids, "comma separated list of MAC ids\n");
-+#else
-+__setup("maclist_ids=", maclist_setup);
-+#endif
-+
-+static int __init maclist_init(void)
-+{
-+#     ifdef MODULE
-+              if (ids[0])
-+                      maclist_setup(ids);
-+#     endif
-+
-+      /* Ignore failure, the module will still work. */
-+      (void)create_proc_read_entry(MACLIST_NAME, S_IRUGO, proc_net, maclist_proc_read, NULL);
-+
-+      return 0;
-+}
-+
-+module_init(maclist_init);
-+module_exit(maclist_exit);
---- linux-2.6.15/drivers/net/Makefile  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/net/Makefile  1970-01-01 00:00:00.000000000 +0000
-@@ -70,6 +70,7 @@ obj-$(CONFIG_RIONET) += rionet.o
- # end link order section
- #
-+obj-$(CONFIG_MACLIST) += maclist.o
- obj-$(CONFIG_MII) += mii.o
- obj-$(CONFIG_PHYLIB) += phy/
---- linux-2.6.15/drivers/net/Kconfig   1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/drivers/net/Kconfig   1970-01-01 00:00:00.000000000 +0000
-@@ -166,6 +166,21 @@ config NET_ETHERNET
-         kernel: saying N will just cause the configurator to skip all
-         the questions about Ethernet network cards. If unsure, say N.
-+config MACLIST
-+      tristate "Ethernet MAC repository"
-+      depends on NET_ETHERNET
-+      help
-+        Some ethernet controllers have no built-in way of obtaining an
-+        appropriate Ethernet MAC address.  Such controllers have to be
-+        initialised in a board-specific way, depending on how the allocated
-+        MAC is stored.  The MAC repository provides a set of APIs and a
-+        proc entry (/proc/net/maclist) to store MAC values from the board
-+        so that such drivers can obtain a MAC address without board-specific
-+        code.  You do not need to enable this device - it will be selected
-+        automatically by any device which requires it.  It is only useful
-+        to enable it manually when building a device driver independently
-+        of the kernel build.
-+
- config MII
-       tristate "Generic Media Independent Interface device support"
-       depends on NET_ETHERNET
diff --git a/packages/linux/nslu2-kernel/2.6/92-nslu2-maclist.patch b/packages/linux/nslu2-kernel/2.6/92-nslu2-maclist.patch
deleted file mode 100644 (file)
index c8b8a9b..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
---- linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
-@@ -11,8 +11,8 @@ comment "IXP4xx Platforms"
- # This entry is placed on top because otherwise it would have
- # been shown as a submenu.
- config MACH_NSLU2
--      bool
--      prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715)
-+      bool "NSLU2"
-+      select MACLIST
-       help
-         Say 'Y' here if you want your kernel to support Linksys's
-         NSLU2 NAS device. For more information on this platform,
---- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
-@@ -16,11 +16,14 @@
- #include <linux/kernel.h>
- #include <linux/serial.h>
- #include <linux/serial_8250.h>
-+#include <linux/mtd/mtd.h>
- #include <asm/mach-types.h>
- #include <asm/mach/arch.h>
- #include <asm/mach/flash.h>
-+#include <net/maclist.h>
-+
- static struct flash_platform_data nslu2_flash_data = {
-       .map_name               = "cfi_probe",
-       .width                  = 2,
-@@ -112,6 +115,37 @@ static void nslu2_power_off(void)
-       gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH);
- }
-+/*
-+ * When the RedBoot partition is added the MAC address is read from
-+ * it.
-+ */
-+void flash_add(struct mtd_info *mtd) {
-+      if (strcmp(mtd->name, "RedBoot") == 0) {
-+              size_t retlen;
-+              u_char mac[6];
-+
-+              /* The MAC is at a known offset... */
-+              if (mtd->read(mtd, 0x3FFB0, 6, &retlen, mac) == 0 && retlen == 6) {
-+                      printk(KERN_INFO "NSLU2 MAC: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
-+                              mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-+                      maclist_add(mac);
-+              } else {
-+                      printk(KERN_ERR "NSLU2 MAC: read failed\n");
-+              }
-+      }
-+}
-+
-+/*
-+ * Nothing to do on remove at present.
-+ */
-+void flash_remove(struct mtd_info *mtd) {
-+}
-+
-+struct mtd_notifier flash_notifier = {
-+      .add = flash_add,
-+      .remove = flash_remove,
-+};
-+
- static void __init nslu2_init(void)
- {
-       /* The NSLU2 has a 33MHz crystal on board - 1.01% different
-@@ -119,6 +153,11 @@ static void __init nslu2_init(void)
-        */
-       ixp4xx_set_board_tick_rate(66000000);
-+      /* The flash has an ethernet MAC embedded in it which we need,
-+       * that is all this notifier does.
-+       */
-+      register_mtd_user(&flash_notifier);
-+
-       ixp4xx_sys_init();
-       pm_power_off = nslu2_power_off;
diff --git a/packages/linux/nslu2-kernel/2.6/compile-switches.patch b/packages/linux/nslu2-kernel/2.6/compile-switches.patch
deleted file mode 100644 (file)
index 4b7a688..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
---- linux-2.6.11/arch/arm/Makefile.orig        2005-03-20 15:02:07.587138712 -0800
-+++ linux-2.6.11/arch/arm/Makefile     2005-03-20 15:10:36.546765088 -0800
-@@ -33,6 +33,12 @@
- AFLAGS                += -mlittle-endian
- endif
-+ifeq ($(CONFIG_ARM_THUMB_INTERWORK),y)
-+CFLAGS                += -mthumb-interwork
-+else
-+CFLAGS                += -mno-thumb-interwork
-+endif
-+
- comma = ,
- # This selects which instruction set is used.
-@@ -43,6 +49,8 @@
- arch-$(CONFIG_CPU_32v5)               :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4)
- arch-$(CONFIG_CPU_32v4)               :=-D__LINUX_ARM_ARCH__=4 -march=armv4
- arch-$(CONFIG_CPU_32v3)               :=-D__LINUX_ARM_ARCH__=3 -march=armv3
-+# The following overrides the CPU_32v5 setting if specified
-+arch-$(CONFIG_ARCH_XSCALE)    :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=xscale,-march=armv5te)
- # This selects how we optimise for the processor.
- tune-$(CONFIG_CPU_ARM610)     :=-mtune=arm610
---- linux-2.6.11/arch/arm/mm/Kconfig.orig      2005-03-20 14:54:07.927058128 -0800
-+++ linux-2.6.11/arch/arm/mm/Kconfig   2005-03-20 15:01:26.727350344 -0800
-@@ -366,6 +366,31 @@
-         If you don't know what this all is, saying Y is a safe choice.
-+config ARM_THUMB_INTERWORK
-+      bool "Support Thumb code within the kernel"
-+      depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6
-+      default n
-+      help
-+        Say Y to compile the whole kernel with support for the interworking
-+        of the 16 bit thumb instruction set and 32 bit ARM instruction set.
-+
-+        You only need this if some parts of the kernel will be compiled
-+        as thumb code, this is not usual.  It increases the total kernel
-+        size by about 3%.
-+
-+config ARCH_XSCALE
-+      bool "Use -march=xscale in preference to -march=armv5te"
-+      depends on CPU_XSCALE
-+      default y
-+      help
-+        Say yes to ask gcc to use the xscale architecture (instruction set)
-+        in preference to armv5te.  This allows gcc to use the extra xscale
-+        instructions but means the code will not run on a standard (non-xscale)
-+        armv5te.  At present this makes no difference - gcc 3.4.3 does not
-+        generate any xscale specific instructions - however gcc 3.4.3 does
-+        generate slightly more optimal instructions if this is specified (this
-+        is an error inside gcc 3.4.3 which should be fixed in 4.1.)
-+
- config CPU_BIG_ENDIAN
-       bool "Build big-endian kernel"
-       depends on ARCH_SUPPORTS_BIG_ENDIAN
diff --git a/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch b/packages/linux/nslu2-kernel/2.6/ixp4xx-regs.patch
deleted file mode 100644 (file)
index 32f7e3c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h       2005-03-01 23:37:49.000000000 -0800
-+++ linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h     2005-06-17 17:51:32.569981939 -0700
-@@ -52,7 +52,7 @@
-  * Expansion BUS Configuration registers
-  */
- #define IXP4XX_EXP_CFG_BASE_PHYS      (0xC4000000)
--#define IXP4XX_EXP_CFG_BASE_VIRT      (0xFFBFD000)
-+#define IXP4XX_EXP_CFG_BASE_VIRT      (0xFFBFE000)
- #define IXP4XX_EXP_CFG_REGION_SIZE    (0x00001000)
- /*
diff --git a/packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch b/packages/linux/nslu2-kernel/2.6/nslu2-io_rpbutton.patch
deleted file mode 100644 (file)
index b5ce101..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
---- nslu2-io.c.old     2da1d3f5c0aa0804c5769588337077ddcb35c5e9
-+++ linux-2.6.12.2/arch/arm/mach-ixp4xx/nslu2-io.c     e895da638b4aae16a11fafe52ae0b063645a9a12
-@@ -158,6 +158,8 @@
- #define LED_DISK2     3
- #define LED_ALL               4
-+static int nslu2_shutdown_in_progress = 0;
-+
- static unsigned long init_jiffy = 0;                  //jiffies at init time
- static unsigned long rb_presses = 0;                  //number of reset button presses
- static unsigned long ontime = 50;
-@@ -503,40 +505,20 @@
- static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs)
- {
-       void *ret;
--      
--      wake_up(&n2pb_waitq);   
--      remove_proc_entry(PWR_OFF_STR, NULL);           //no parent     
--      n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED);
--      ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
--      nslu2_io_debug((KERN_DEBUG "cpe ret = %p\n", ret));
--
--// WARNING: This is RUDE...it unconditionally pulls the power plug.
--// Your data will be at risk...since this is just a test system
--// I am leaving it enabled...eventually userland needs to get the
--// message, do an orderly shutdown and use an ioctl or something in
--// /proc/powerdowm to actually have us pull the plug.
--
--      machine_power_off();
--
-+      if (!nslu2_shutdown_in_progress++) {                    
-+              wake_up(&n2pb_waitq);   
-+              remove_proc_entry(PWR_OFF_STR, NULL);           //no parent     
-+              n2_buzz(N2_BEEP_PITCH_HIGH, N2_BEEP_DUR_SHORT); // Short, high-pitched "OK"
-+              ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
-+              nslu2_io_debug((KERN_DEBUG "Powerbutton pressed. Shutting down. cpe ret = %p\n", ret));
-+              kill_proc(1,SIGINT,1);                          // Signal init to shut down
-+      } else {
-+              n2_buzz(N2_BEEP_PITCH_LOW, N2_BEEP_DUR_MED);    // Make a scary noise!
-+              nslu2_io_debug((KERN_DEBUG "Powerbutton pressed while already in shutdown")); // Whine!
-+      }                                
-       return IRQ_HANDLED;
- }
--//==================================================================================================
--//
--//static void do_rb_timeout(unsigned long data)
--//{
--//    int i;
--//
--//    for (i = 0; i < rb_presses; i++)
--//            n2_buzz(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT);
--//    return;
--//}
--//
--//==================================================================================================
--// does nothing -- waiting for userland to define
--// This thing is sorta braindead...edge triggered IRQs aren't available in the drivers yet...so
--// we hang in a loop until the button is no longer pressed
--
- struct testr {
-       int     ctl;
-       long    param;
-@@ -544,72 +526,11 @@
- static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs)
- {
-+//    This doesn't reset the NSLU2. It powers it off. Close enough, since reset is unreliable
--      static struct testr test[] = {
--                               { N2LM_ALL_OFF,0 },
--                               { N2LM_ON,0 },
--                               { N2LM_OFF,0 },
--                               { N2LM_ON,1 },
--                               { N2LM_ALL_OFF,1 },
--                               { N2LM_ON,2 },
--                               { N2LM_OFF,2 },
--                               { N2LM_ON,3 },
--                               { N2LM_OFF,3 },
--                               { N2LM_BLINK,0 },
--                               { N2LM_OFF,0 },
--                               { N2LM_BLINK,1 },
--                               { N2LM_OFF,1 },
--                               { N2LM_BLINK,2 },
--                               { N2LM_OFF,2 },
--                               { N2LM_BLINK,3 },
--                               { N2LM_OFF,3 },
--                               { N2LM_ALL_OFF,0 },
--                               { N2LM_ALT,1 },
--                               { N2LM_OFF,1 },
--                               { N2LM_ALL_ON,0 }
--      };
--
--      nslu2_io_debug(("Reset Entry IRQ =%d Presses = %d Jiffies = %08lx\tIO = %x\tIOW = %x\n", irq, rb_presses, jiffies, (int)_IO('M',rb_presses), (int)_IOW('M',rb_presses,long)));
--
-       wake_up(&n2rb_waitq);   
--      while ((*IXP4XX_GPIO_GPINR & GPIO_RB_BM) == 0)
--              ;                                       //wait for button release
--
--      if (rb_presses > 20) 
--              rb_presses = 0;
--      tone = (rb_presses * 50) + 200;
--      ontime = (rb_presses*10) + 100;
--      offtime = 500 - (rb_presses*20);
--      nslu2_io_debug(("Ontime = %d\tOfftime = %d\tTone = %d\n",ontime,offtime,tone));
--      rb_presses++;
--
--      n2bz_ioctl(NULL,NULL, N2BZ_BEEPS, rb_presses);  
--      n2lm_ioctl(NULL,NULL, test[rb_presses].ctl, test[rb_presses].param);
--//    if (rb_presses == 0) {
--//            init_jiffy = jiffies;
--//            init_timer (&n2rb_timer);
--//            n2rb_timer.function = do_rb_timeout;
--//    };
--//
--//    if (rb_presses == 8)
--//            rb_presses = 0;
--//    if (rb_presses & 1)
--//            n2lm_ledon(test[rb_presses]);
--//    else
--//            n2lm_ledoff(test[rb_presses]);
--//    
--//    n2rb_timer.expires = (jiffies + RB_DELAY);
--//    add_timer (&n2rb_timer);
--//    if (rb_presses < 5) {
--//            if (rb_presses > 0)
--//                    n2lm_ledoff(rb_presses);
--//            n2lm_ledon(++rb_presses);
--//            n2lm_timer_start(rb_presses);
--//    };
--
--      nslu2_io_debug((KERN_DEBUG "Reset Exit IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies));
--      return IRQ_HANDLED;
--
-+      machine_power_off();
-+      return IRQ_HANDLED;             // So we don't get a nobody cared error :-P
- }
- //==================================================================================================
diff --git a/packages/linux/nslu2-kernel/2.6/thumb-swi.patch b/packages/linux/nslu2-kernel/2.6/thumb-swi.patch
deleted file mode 100644 (file)
index 2e73bb1..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# This patch changes the thumb swi handling for any thumb swi with
-# an immediate value != 0, those swis are mapped into the arm
-# specific swis.  This implements a thumb breakpoint swi.
---- linux-2.6.12.2/arch/arm/kernel/entry-common.S.orig 2005-09-19 12:48:42.323365573 -0700
-+++ linux-2.6.12.2/arch/arm/kernel/entry-common.S      2005-09-19 13:31:19.004247358 -0700
-@@ -137,8 +137,11 @@
-        */
- #ifdef CONFIG_ARM_THUMB
-       tst     r8, #PSR_T_BIT                  @ this is SPSR from save_user_regs
--      addne   scno, r7, #__NR_SYSCALL_BASE    @ put OS number in
--      ldreq   scno, [lr, #-4]
-+      ldrneh  ip, [lr, #-2]                   @ thumb swi instruction
-+      ldreq   scno, [lr, #-4]                 @ arm swi instruction
-+      addne   scno, r7, #__NR_SYSCALL_BASE    @ put OS number in to thumb r7 value
-+      bicnes  ip, ip, #0xff00                 @ clear thumb swi bits
-+      addne   scno, ip, #__ARM_NR_BASE        @ thumb swi0->r7, swi!0->arm swi
- #else
-       ldr     scno, [lr, #-4]                 @ get SWI instruction
- #endif
diff --git a/packages/linux/nslu2-kernel/2.6/timer.patch b/packages/linux/nslu2-kernel/2.6/timer.patch
deleted file mode 100644 (file)
index 6279746..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Fix for the NSLU2 timer problem (tickadj 10101.01 when it should be 10000)
-# Also contains a fix for the more generate problem on the ixp4xx in that the
-# Intel spec says to use a 33.33MHz crystal, not 33.333333Mhz
-
---- linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h.orig    2005-08-05 11:02:09.872690723 -0700
-+++ linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h 2005-08-05 11:45:08.786971567 -0700
-@@ -7,7 +7,14 @@
- /*
-  * We use IXP425 General purpose timer for our timer needs, it runs at 
-- * 66.66... MHz
-+ * 66.66 MHz (exactly) by the Intel specification.
-  */
--#define CLOCK_TICK_RATE (66666666)
--
-+#if 0
-+#define CLOCK_TICK_RATE (66660000)
-+#else
-+/*
-+ * Unfortunately the NSLU2 has a 33MHz crystal, so the rate is not the
-+ * specified one.
-+ */
-+#define CLOCK_TICK_RATE (66000000)
-+#endif
diff --git a/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch b/packages/linux/nslu2-kernel/2.6/x1205-rtc.patch
deleted file mode 100644 (file)
index 913f44e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
---- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Kconfig       2005-06-17 17:51:28.635578329 -0700
-+++ linux-2.6.11/drivers/i2c/chips/Kconfig     2005-06-17 17:51:32.565982545 -0700
-@@ -430,6 +430,15 @@
-         
-         This driver can also be built as a module.  If so, the module
-         will be called isp1301_omap.
-+config SENSORS_X1205
-+       tristate "Xicor X1205 RTC chip"
-+       depends on I2C && EXPERIMENTAL
-+       select I2C_SENSOR
-+       help
-+         If you say yes here you get support for the Xicor x1205 RTC chip.
-+ 
-+         This driver can also be built as a module.  If so, the module
-+         will be called x1205-rtc
- config SENSORS_M41T00
-       tristate "ST M41T00 RTC chip"
---- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Makefile      2005-06-17 17:51:28.636578177 -0700
-+++ linux-2.6.11/drivers/i2c/chips/Makefile    2005-06-17 17:51:32.566982394 -0700
-@@ -41,6 +41,7 @@
- obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
- obj-$(CONFIG_SENSORS_W83L785TS)       += w83l785ts.o
- obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
-+obj-$(CONFIG_SENSORS_X1205)     += x1205-rtc.o
- ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
- EXTRA_CFLAGS += -DDEBUG
---- linux-2.6.11/.pc/2.6.patch/include/linux/i2c-id.h  2005-06-17 17:51:31.358165630 -0700
-+++ linux-2.6.11/include/linux/i2c-id.h        2005-06-17 17:51:32.569981939 -0700
-@@ -108,6 +108,7 @@
- #define I2C_DRIVERID_TDA7313  62      /* TDA7313 audio processor      */
- #define I2C_DRIVERID_MAX6900  63      /* MAX6900 real-time clock      */
- #define I2C_DRIVERID_SAA7114H 64      /* video decoder                */
-+#define I2C_DRIVERID_X1205    0xF0
- #define I2C_DRIVERID_EXP0     0xF0    /* experimental use id's        */
diff --git a/packages/linux/nslu2-kernel/files/.mtn2git_empty b/packages/linux/nslu2-kernel/files/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-kernel/files/anonymiser.patch b/packages/linux/nslu2-kernel/files/anonymiser.patch
deleted file mode 100644 (file)
index 3384b15..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- linux-2.6.11.2/scripts/mkcompile_h.orig    2005-05-07 05:27:02.440000000 +0000
-+++ linux-2.6.11.2/scripts/mkcompile_h 2005-05-07 05:28:30.360000000 +0000
-@@ -43,16 +43,9 @@
-   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
-   echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\"
--  echo \#define LINUX_COMPILE_BY \"`whoami`\"
--  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
--
--  if [ -x /bin/dnsdomainname ]; then
--    echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\"
--  elif [ -x /bin/domainname ]; then
--    echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\"
--  else
--    echo \#define LINUX_COMPILE_DOMAIN
--  fi
-+  echo \#define LINUX_COMPILE_BY \"openslug\"
-+  echo \#define LINUX_COMPILE_HOST \"openslug.org\"
-+  echo \#define LINUX_COMPILE_DOMAIN \"openslug.org\"
-   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
- ) > .tmpcompile
diff --git a/packages/linux/nslu2-kernel_2.6.14-mm1.bb b/packages/linux/nslu2-kernel_2.6.14-mm1.bb
deleted file mode 100644 (file)
index dff6b0e..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# Kernel for NSLU2
-#
-# Increment PR_CONFIG for changes to the nslu2-kernel specific
-# defconfig (do *NOT* increment anything in here for changes
-# to other kernel configs!)
-PR_CONFIG = "0"
-#
-# Increment the number below (i.e. the digits after PR) when
-# making changes within this file or for changes to the patches
-# applied to the kernel.
-PR = "r1.${PR_CONFIG}"
-
-require nslu2-kernel.inc
-
-# N2K_PATCHES - full list of patches to apply
-N2K_PATCHES = "\
-       file://00-memory-h-page-shift.patch;patch=1 \
-       file://90-ixp4xx-pci-le.patch;patch=1 \
-       file://18-ixp4xx-io-h-addr.patch;patch=1 \
-       file://19-jffs2-force-be.patch;patch=1 \
-       file://20-timer.patch;patch=1 \
-       file://29-ipv4-route-c-spinlock.patch;patch=1 \
-       file://30-i2c-x1205-mm1.patch;patch=1 \
-       file://50-nslu2-arch.patch;patch=1 \
-       file://55-nslu2-rtc.patch;patch=1 \
-       file://60-nslu2-beeper.patch;patch=1 \
-       file://70-nslu2-io.patch;patch=1 \
-       file://75-nslu2-leds.patch;patch=1 \
-       file://80-nslu2-class-device-create.patch;patch=1 \
-       file://90-pegasus.patch;patch=1 \
-       file://anonymiser.patch;patch=1 \
-"
-
-# These options get added to the kernel command line, only put things
-# specific to the bootstrap of *this* kernel in here - DISTRO specfic
-# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
-# in nslu2-kernel.inc)
-CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1"
diff --git a/packages/linux/nslu2-kernel_2.6.14.5.bb b/packages/linux/nslu2-kernel_2.6.14.5.bb
deleted file mode 100644 (file)
index b7790be..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# Kernel for NSLU2
-#
-# Increment PR_CONFIG for changes to the nslu2-kernel specific
-# defconfig (do *NOT* increment anything in here for changes
-# to other kernel configs!)
-PR_CONFIG = "0"
-#
-# Increment the number below (i.e. the digits after PR) when
-# making changes within this file or for changes to the patches
-# applied to the kernel.
-PR = "r0.${PR_CONFIG}"
-
-require nslu2-kernel.inc
-
-# N2K_PATCHES - full list of patches to apply
-N2K_PATCHES = "\
-       file://90-ixp4xx-pci-le.patch;patch=1 \
-       file://10-ixp4xx-copy-from.patch;patch=1 \
-       file://10-ixp4xx-le.patch;patch=1 \
-       file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \
-       file://15-ixp4xx-writesb-l-w.patch;patch=1 \
-       file://18-ixp4xx-io-h-addr.patch;patch=1 \
-       file://19-jffs2-force-be.patch;patch=1 \
-       file://29-ipv4-route-c-spinlock.patch;patch=1 \
-       file://30-i2c-x1205.patch;patch=1 \
-       file://50-nslu2-arch.patch;patch=1 \
-       file://55-nslu2-rtc.patch;patch=1 \
-       file://60-nslu2-beeper.patch;patch=1 \
-       file://70-nslu2-io.patch;patch=1 \
-       file://75-nslu2-leds.patch;patch=1 \
-       file://90-pegasus.patch;patch=1 \
-       file://20-timer.patch;patch=1 \
-       file://91-maclist.patch;patch=1 \
-       file://92-nslu2-maclist.patch;patch=1 \
-       file://anonymiser.patch;patch=1 \
-"
-
-# These options get added to the kernel command line, only put things
-# specific to the bootstrap of *this* kernel in here - DISTRO specfic
-# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
-# in nslu2-kernel.inc)
-CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1"
diff --git a/packages/linux/nslu2-kernel_2.6.15.bb b/packages/linux/nslu2-kernel_2.6.15.bb
deleted file mode 100644 (file)
index 68b2b56..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# Kernel for NSLU2
-#
-# Increment PR_CONFIG for changes to the nslu2-kernel specific
-# defconfig (do *NOT* increment anything in here for changes
-# to other kernel configs!)
-PR_CONFIG = "0"
-#
-# Increment the number below (i.e. the digits after PR) when
-# making changes within this file or for changes to the patches
-# applied to the kernel.
-PR = "r3.${PR_CONFIG}"
-
-require nslu2-kernel.inc
-
-# N2K_PATCHES - full list of patches to apply
-N2K_PATCHES = "\
-       file://00-memory-h-page-shift.patch;patch=1 \
-       file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \
-       file://15-jffs2-endian-config.patch;patch=1 \
-       file://40-rtc-class.patch;patch=1 \
-       file://40-scsi-idle.patch;patch=1 \
-       file://60-nslu2-beeper.patch;patch=1 \
-       file://75-nslu2-leds.patch;patch=1 \
-       file://80-nslu2-io.patch;patch=1 \
-       file://85-timer.patch;patch=1 \
-       file://91-maclist.patch;patch=1 \
-       file://92-nslu2-maclist.patch;patch=1 \
-       file://anonymiser.patch;patch=1 \
-"
-
-# These options get added to the kernel command line, only put things
-# specific to the bootstrap of *this* kernel in here - DISTRO specfic
-# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
-# in nslu2-kernel.inc)
-CMDLINE_KERNEL_OPTIONS = "rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f"
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/.mtn2git_empty b/packages/linux/nslu2-linksys-kernel-2.4.22/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/config-fixes.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/config-fixes.patch
deleted file mode 100644 (file)
index 2afbe66..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.22/drivers/usb/Config.in~linksys_can_bite_me     2004-09-08 19:14:15.000000000 -0500
-+++ linux-2.4.22/drivers/usb/Config.in 2004-09-08 19:19:37.000000000 -0500
-@@ -120,6 +120,4 @@
-    fi
- fi
--source drivers/usb/gadget/Config.in
--
- endmenu
---- linux-2.4.22/drivers/ixp400/Makefile~linksys_can_bite_me   2004-09-08 19:14:08.000000000 -0500
-+++ linux-2.4.22/drivers/ixp400/Makefile       2004-09-08 19:32:55.000000000 -0500
-@@ -78,7 +78,9 @@
- # DAMAGE."
- #
- # -- End Intel/GPL Copyright Notice --
-+#
-+ifdef CONFIG_IXP425_CSR
- include $(ROOTDIR)/IXP400lib/ixp400_xscale_sw/buildUtils/environment.linux
- # IX_XSCALE_SW=$(ROOTDIR)/IXP400lib/ixp400_xscale_sw/
- # The kernel makefiles override the value of CFLAGS on the make
-@@ -148,6 +150,7 @@
- # directory. Note that they must be filenames in this directory - the
- # ramdisk rules cannot handle paths in this list.
- obj-m := $(IXP400_MODULES)
-+endif
- # Include the generic kernel build system rules
- include $(TOPDIR)/Rules.make
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/double_cpdo.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/double_cpdo.patch
deleted file mode 100644 (file)
index 4069358..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---- linux-2.6.9-rc3-ds1.commit/arch/arm/nwfpe/double_cpdo.c    2004-08-14 07:36:11.000000000 +0200
-+++ linux-2.6.9-rc3-ds1.snap/arch/arm/nwfpe/double_cpdo.c      2004-10-10 20:29:15.514512796 +0200
-@@ -75,7 +75,11 @@
-       union float64_components u;
-       u.f64 = rFm;
-+#ifdef __ARMEB__
-+      u.i[0] ^= 0x80000000;
-+#else
-       u.i[1] ^= 0x80000000;
-+#endif
-       return u.f64;
- }
-@@ -85,7 +89,11 @@
-       union float64_components u;
-       u.f64 = rFm;
-+#ifdef __ARMEB__
-+      u.i[0] &= 0x7fffffff;
-+#else
-       u.i[1] &= 0x7fffffff;
-+#endif
-       return u.f64;
- }
-
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/gcc-registerparanoia.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/gcc-registerparanoia.patch
deleted file mode 100644 (file)
index 7c3e538..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.22/include/asm-arm/system.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500
-+++ linux-2.4.22/include/asm-arm/system.h      2004-09-08 19:53:01.000000000 -0500
-@@ -3,6 +3,15 @@
- #ifdef __KERNEL__
-+/*
-+ * This is used to ensure the compiler did actually allocate the register we
-+ * asked it for some inline assembly sequences.  Apparently we can't trust
-+ * the compiler from one version to another so a bit of paranoia won't hurt.
-+ * This string is meant to be concatenated with the inline asm string and
-+ * will cause compilation to stop on mismatch.
-+ */
-+#define __asmeq(x, y)  ".ifnc " x "," y " ; .err ; .endif\n\t"
-+
- #include <linux/config.h>
- #include <linux/kernel.h>
---- linux-2.4.22/include/asm-arm/uaccess.h~gcc-registerparanoia        2004-09-08 19:45:34.000000000 -0500
-+++ linux-2.4.22/include/asm-arm/uaccess.h     2004-09-08 19:59:20.000000000 -0500
-@@ -6,6 +6,7 @@
-  */
- #include <linux/sched.h>
- #include <asm/errno.h>
-+#include <asm/system.h>
- #define VERIFY_READ 0
- #define VERIFY_WRITE 1
-@@ -71,7 +72,9 @@
- extern int __get_user_bad(void);
- #define __get_user_x(__r1,__p,__e,__s,__i...)                         \
--         __asm__ __volatile__ ("bl    __get_user_" #__s               \
-+         __asm__ __volatile__ (                                       \
-+              __asmeq("%0", "r0") __asmeq("%1", "r1")                 \
-+              "bl     __get_user_" #__s                               \
-               : "=&r" (__e), "=r" (__r1)                              \
-               : "0" (__p)                                             \
-               : __i)
-@@ -110,7 +113,9 @@
- extern int __put_user_bad(void);
- #define __put_user_x(__r1,__p,__e,__s,__i...)                         \
--         __asm__ __volatile__ ("bl    __put_user_" #__s               \
-+         __asm__ __volatile__ (                                       \
-+              __asmeq("%0", "r0") __asmeq("%2", "r1")                 \
-+              "bl     __put_user_" #__s                               \
-               : "=&r" (__e)                                           \
-               : "0" (__p), "r" (__r1)                                 \
-               : __i)
---- linux-2.4.22/-~gcc-registerparanoia
-+++ linux-2.4.22/-
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/gcc3-userfuncs.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/gcc3-userfuncs.patch
deleted file mode 100644 (file)
index 54726bf..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.22/arch/arm/lib/getuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
-+++ linux-2.4.22/arch/arm/lib/getuser.S        2004-09-08 19:49:27.000000000 -0500
-@@ -42,17 +42,17 @@
-       .global __get_user_2
- __get_user_2:
--      bic     r2, sp, #0x1f00
--      bic     r2, r2, #0x00ff
--      ldr     r2, [r2, #TSK_ADDR_LIMIT]
--      sub     r2, r2, #2
--      cmp     r0, r2
-+      bic     ip, sp, #0x1f00
-+      bic     ip, ip, #0x00ff
-+      ldr     ip, [ip, #TSK_ADDR_LIMIT]
-+      sub     ip, ip, #2
-+      cmp     r0, ip
- 2:    ldrlsbt r1, [r0], #1
--3:    ldrlsbt r2, [r0]
-+3:    ldrlsbt ip, [r0]
- #ifndef __ARMEB__
--      orrls   r1, r1, r2, lsl #8
-+      orrls   r1, r1, ip, lsl #8
- #else
--      orrls   r1, r2, r1, lsl #8
-+      orrls   r1, ip, r1, lsl #8
- #endif
-       movls   r0, #0
-       movls   pc, lr
---- linux-2.4.22/arch/arm/lib/putuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
-+++ linux-2.4.22/arch/arm/lib/putuser.S        2004-09-08 19:45:00.000000000 -0500
-@@ -18,7 +18,7 @@
-  * Inputs:    r0 contains the address
-  *            r1, r2 contains the value
-  * Outputs:   r0 is the error code
-- *            lr corrupted
-+ *            ip, lr corrupted
-  *
-  * No other registers must be altered.  (see include/asm-arm/uaccess.h
-  * for specific ASM register usage).
-@@ -30,11 +30,11 @@
-       .global __put_user_1
- __put_user_1:
--      bic     r2, sp, #0x1f00
--      bic     r2, r2, #0x00ff
--      ldr     r2, [r2, #TSK_ADDR_LIMIT]
--      sub     r2, r2, #1
--      cmp     r0, r2
-+      bic     ip, sp, #0x1f00
-+      bic     ip, ip, #0x00ff
-+      ldr     ip, [ip, #TSK_ADDR_LIMIT]
-+      sub     ip, ip, #1
-+      cmp     r0, ip
- 1:    strlsbt r1, [r0]
-       movls   r0, #0
-       movls   pc, lr
-@@ -42,20 +42,20 @@
-       .global __put_user_2
- __put_user_2:
--      bic     r2, sp, #0x1f00
--      bic     r2, r2, #0x00ff
--      ldr     r2, [r2, #TSK_ADDR_LIMIT]
--      sub     r2, r2, #2
--      cmp     r0, r2
-+      bic     ip, sp, #0x1f00
-+      bic     ip, ip, #0x00ff
-+      ldr     ip, [ip, #TSK_ADDR_LIMIT]
-+      sub     ip, ip, #2
-+      cmp     r0, ip
- #ifndef __ARMEB__
- 2:    strlsbt r1, [r0], #1
-       movls   r1, r1, lsr #8
- 3:    strlsbt r1, [r0]
- #else
--2:    movls   r2, r1
-+2:    movls   ip, r1
-       movls   r1, r1, lsr #8
-       strlsbt r1, [r0], #1
--      movls   r1, r2
-+      movls   r1, ip
- 3:    strlsbt r1, [r0]
- #endif
-       movls   r0, #0
-@@ -64,11 +64,11 @@
-       .global __put_user_4
- __put_user_4:
--      bic     r2, sp, #0x1f00
--      bic     r2, r2, #0x00ff
--      ldr     r2, [r2, #TSK_ADDR_LIMIT]
--      sub     r2, r2, #4
--      cmp     r0, r2
-+      bic     ip, sp, #0x1f00
-+      bic     ip, ip, #0x00ff
-+      ldr     ip, [ip, #TSK_ADDR_LIMIT]
-+      sub     ip, ip, #4
-+      cmp     r0, ip
- 4:    strlst  r1, [r0]
-       movls   r0, #0
-       movls   pc, lr
---- linux-2.4.22/include/asm-arm/uaccess.h~gcc3-userfuncs      2004-09-08 19:36:03.000000000 -0500
-+++ linux-2.4.22/include/asm-arm/uaccess.h     2004-09-08 20:03:34.000000000 -0500
-@@ -86,7 +86,7 @@
-                       __get_user_x(__r1, __p, __e, 1, "lr");          \
-                       break;                                          \
-               case 2:                                                 \
--                      __get_user_x(__r1, __p, __e, 2, "r2", "lr");    \
-+                      __get_user_x(__r1, __p, __e, 2, "ip", "lr");    \
-                       break;                                          \
-               case 4:                                                 \
-                       __get_user_x(__r1, __p, __e, 4, "lr");          \
-@@ -122,13 +122,13 @@
-               register int __e asm("r0");                             \
-               switch (sizeof(*(p))) {                                 \
-               case 1:                                                 \
--                      __put_user_x(__r1, __p, __e, 1, "r2", "lr");    \
-+                      __put_user_x(__r1, __p, __e, 1, "ip", "lr");    \
-                       break;                                          \
-               case 2:                                                 \
--                      __put_user_x(__r1, __p, __e, 2, "r2", "lr");    \
-+                      __put_user_x(__r1, __p, __e, 2, "ip", "lr");    \
-                       break;                                          \
-               case 4:                                                 \
--                      __put_user_x(__r1, __p, __e, 4, "r2", "lr");    \
-+                      __put_user_x(__r1, __p, __e, 4, "ip", "lr");    \
-                       break;                                          \
-               case 8:                                                 \
-                       __put_user_x(__r1, __p, __e, 8, "ip", "lr");    \
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/linux-2.4.24-attribute-used.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/linux-2.4.24-attribute-used.patch
deleted file mode 100644 (file)
index bcf1c10..0000000
+++ /dev/null
@@ -1,140 +0,0 @@
-diff -purN linux-2.4.24-uc0.orig/include/asm-arm/setup.h linux-2.4.24-uc0/include/asm-arm/setup.h
---- linux-2.4.24-uc0.orig/include/asm-arm/setup.h      2003-08-25 04:44:43.000000000 -0700
-+++ linux-2.4.24-uc0/include/asm-arm/setup.h   2004-09-09 04:36:03.000000000 -0700
-@@ -236,7 +236,7 @@ struct tagtable {
-       int (*parse)(const struct tag *);
- };
--#define __tag __attribute__((unused, __section__(".taglist")))
-+#define __tag __attribute_used__ __attribute__((__section__(".taglist")))
- #define __tagtable(tag, fn) \
- static struct tagtable __tagtable_##fn __tag = { tag, fn }
-diff -purN linux-2.4.24-uc0.orig/include/linux/compiler.h linux-2.4.24-uc0/include/linux/compiler.h
---- linux-2.4.24-uc0.orig/include/linux/compiler.h     2004-03-31 21:52:49.000000000 -0800
-+++ linux-2.4.24-uc0/include/linux/compiler.h  2004-09-09 01:33:29.000000000 -0700
-@@ -13,4 +13,18 @@
- #define likely(x)     __builtin_expect((x),1)
- #define unlikely(x)   __builtin_expect((x),0)
-+#if __GNUC__ > 3
-+#define __attribute_used__     __attribute__((__used__))
-+#elif __GNUC__ == 3
-+#if  __GNUC_MINOR__ >= 3
-+# define __attribute_used__    __attribute__((__used__))
-+#else
-+# define __attribute_used__    __attribute__((__unused__))
-+#endif /* __GNUC_MINOR__ >= 3 */
-+#elif __GNUC__ == 2
-+#define __attribute_used__     __attribute__((__unused__))
-+#else
-+#define __attribute_used__     /* not implemented */
-+#endif /* __GNUC__ */
-+
- #endif /* __LINUX_COMPILER_H */
-diff -purN linux-2.4.24-uc0.orig/include/linux/init.h linux-2.4.24-uc0/include/linux/init.h
---- linux-2.4.24-uc0.orig/include/linux/init.h 2004-03-31 21:52:50.000000000 -0800
-+++ linux-2.4.24-uc0/include/linux/init.h      2004-09-09 01:38:11.000000000 -0700
-@@ -2,6 +2,7 @@
- #define _LINUX_INIT_H
- #include <linux/config.h>
-+#include <linux/compiler.h>
- /* These macros are used to mark some functions or 
-  * initialized data (doesn't apply to uninitialized data)
-@@ -51,7 +52,7 @@ typedef void (*exitcall_t)(void);
- extern initcall_t __initcall_start, __initcall_end;
- #define __initcall(fn)                                                                \
--      static initcall_t __initcall_##fn __init_call = fn
-+      static initcall_t __initcall_##fn __attribute_used__ __init_call = fn
- #define __exitcall(fn)                                                                \
-       static exitcall_t __exitcall_##fn __exit_call = fn
-@@ -67,7 +68,7 @@ extern struct kernel_param __setup_start
- #define __setup(str, fn)                                                              \
-       static char __setup_str_##fn[] __initdata = str;                                \
--      static struct kernel_param __setup_##fn __attribute__((unused)) __initsetup = { __setup_str_##fn, fn }
-+      static struct kernel_param __setup_##fn __attribute_used__ __initsetup = { __setup_str_##fn, fn }
- #endif /* __ASSEMBLY__ */
-@@ -77,16 +78,16 @@ extern struct kernel_param __setup_start
-  */
- #ifndef NO_TEXT_SECTIONS
- #define __init                __attribute__ ((__section__ (".text.init")))
--#define __exit                __attribute__ ((unused, __section__(".text.exit")))
-+#define __exit                __attribute_used__ __attribute__ ((__section__(".text.exit")))
- #else
- #define __init
--#define __exit                __attribute__ ((unused))
-+#define __exit                __attribute_used__
- #endif
- #define __initdata    __attribute__ ((__section__ (".data.init")))
--#define __exitdata    __attribute__ ((unused, __section__ (".data.exit")))
--#define __initsetup   __attribute__ ((unused,__section__ (".setup.init")))
--#define __init_call   __attribute__ ((unused,__section__ (".initcall.init")))
--#define __exit_call   __attribute__ ((unused,__section__ (".exitcall.exit")))
-+#define __exitdata    __attribute_used__ __attribute__ ((__section__ (".data.exit")))
-+#define __initsetup   __attribute_used__ __attribute__ ((__section__ (".setup.init")))
-+#define __init_call   __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
-+#define __exit_call   __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
- /* For assembly routines */
- #define __INIT                .section        ".text.init","ax"
-diff -purN linux-2.4.24-uc0.orig/include/linux/module.h linux-2.4.24-uc0/include/linux/module.h
---- linux-2.4.24-uc0.orig/include/linux/module.h       2002-08-02 17:39:45.000000000 -0700
-+++ linux-2.4.24-uc0/include/linux/module.h    2004-09-09 03:15:30.000000000 -0700
-@@ -8,6 +8,7 @@
- #define _LINUX_MODULE_H
- #include <linux/config.h>
-+#include <linux/compiler.h>
- #include <linux/spinlock.h>
- #include <linux/list.h>
-@@ -254,9 +255,9 @@ __attribute__((section(".modinfo"))) =             
-  */
- #define MODULE_GENERIC_TABLE(gtype,name)      \
- static const unsigned long __module_##gtype##_size \
--  __attribute__ ((unused)) = sizeof(struct gtype##_id); \
-+  __attribute_used__ = sizeof(struct gtype##_id); \
- static const struct gtype##_id * __module_##gtype##_table \
--  __attribute__ ((unused)) = name
-+  __attribute_used__ = name
- /*
-  * The following license idents are currently accepted as indicating free
-@@ -284,7 +285,7 @@ static const struct gtype##_id * __modul
-  */
-  
- #define MODULE_LICENSE(license)       \
--static const char __module_license[] __attribute__((section(".modinfo"))) =   \
-+static const char __module_license[] __attribute_used__ __attribute__((section(".modinfo"))) =   \
- "license=" license
- /* Define the module variable, and usage macros.  */
-@@ -296,10 +297,10 @@ extern struct module __this_module;
- #define MOD_IN_USE            __MOD_IN_USE(THIS_MODULE)
- #include <linux/version.h>
--static const char __module_kernel_version[] __attribute__((section(".modinfo"))) =
-+static const char __module_kernel_version[] __attribute_used__ __attribute__((section(".modinfo"))) =
- "kernel_version=" UTS_RELEASE;
- #ifdef MODVERSIONS
--static const char __module_using_checksums[] __attribute__((section(".modinfo"))) =
-+static const char __module_using_checksums[] __attribute_used__ __attribute__((section(".modinfo"))) =
- "using_checksums=1";
- #endif
-@@ -319,7 +320,7 @@ static const char __module_using_checksu
-  */
- #define MODULE_GENERIC_TABLE(gtype,name) \
- static const struct gtype##_id * __module_##gtype##_table \
--  __attribute__ ((unused, __section__(".data.exit"))) = name
-+  __attribute_used__ __attribute__ ((__section__(".data.exit"))) = name
- #ifndef __GENKSYMS__
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/nofpu.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/nofpu.patch
deleted file mode 100644 (file)
index c23eceb..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.22/arch/arm/Makefile~nofpu       2004-09-08 19:34:11.000000000 -0500
-+++ linux-2.4.22/arch/arm/Makefile     2004-09-08 20:03:34.000000000 -0500
-@@ -76,7 +76,7 @@
- CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
- CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
--AFLAGS                +=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
-+AFLAGS                +=$(apcs-y) $(arch-y) -msoft-float
- ifeq ($(CONFIG_CPU_26),y)
- PROCESSOR     := armo
---- linux-2.4.22/-~nofpu
-+++ linux-2.4.22/-
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/.mtn2git_empty b/packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/defconfig b/packages/linux/nslu2-linksys-kernel-2.4.22/nslu2/defconfig
deleted file mode 100644 (file)
index 5ed64cb..0000000
+++ /dev/null
@@ -1,973 +0,0 @@
-#
-# Automatically generated by make menuconfig: don't edit
-#
-CONFIG_ARM=y
-# CONFIG_EISA is not set
-# CONFIG_SBUS is not set
-# CONFIG_MCA is not set
-CONFIG_UID16=y
-CONFIG_RWSEM_GENERIC_SPINLOCK=y
-# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-# CONFIG_GENERIC_BUST_SPINLOCK is not set
-# CONFIG_GENERIC_ISA_DMA is not set
-
-#
-# Code maturity level options
-#
-CONFIG_EXPERIMENTAL=y
-# CONFIG_ADVANCED_OPTIONS is not set
-# CONFIG_OBSOLETE is not set
-
-#
-# Loadable module support
-#
-CONFIG_MODULES=y
-# CONFIG_MODVERSIONS is not set
-# CONFIG_KMOD is not set
-
-#
-# System Type
-#
-# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
-# CONFIG_ARCH_ARCA5K is not set
-# CONFIG_ARCH_CLPS7500 is not set
-# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_CO285 is not set
-# CONFIG_ARCH_EBSA110 is not set
-# CONFIG_ARCH_CAMELOT is not set
-# CONFIG_ARCH_FOOTBRIDGE is not set
-# CONFIG_ARCH_INTEGRATOR is not set
-# CONFIG_ARCH_IOP3XX is not set
-# CONFIG_ARCH_IXP1200 is not set
-# CONFIG_ARCH_IXP2000 is not set
-CONFIG_ARCH_IXP425=y
-# CONFIG_ARCH_OMAHA is not set
-# CONFIG_ARCH_L7200 is not set
-# CONFIG_ARCH_MX1ADS is not set
-# CONFIG_ARCH_RPC is not set
-# CONFIG_ARCH_RISCSTATION is not set
-# CONFIG_ARCH_SA1100 is not set
-# CONFIG_ARCH_SHARK is not set
-# CONFIG_ARCH_AT91RM9200 is not set
-
-#
-# Archimedes/A5000 Implementations
-#
-# CONFIG_ARCH_ARC is not set
-# CONFIG_ARCH_A5K is not set
-
-#
-# Footbridge Implementations
-#
-# CONFIG_ARCH_CATS is not set
-# CONFIG_ARCH_PERSONAL_SERVER is not set
-# CONFIG_ARCH_EBSA285_ADDIN is not set
-# CONFIG_ARCH_EBSA285_HOST is not set
-# CONFIG_ARCH_NETWINDER is not set
-
-#
-# SA11x0 Implementations
-#
-# CONFIG_SA1100_ACCELENT is not set
-# CONFIG_SA1100_ASSABET is not set
-# CONFIG_ASSABET_NEPONSET is not set
-# CONFIG_SA1100_ADSAGC is not set
-# CONFIG_SA1100_ADSBITSY is not set
-# CONFIG_SA1100_ADSBITSYPLUS is not set
-# CONFIG_SA1100_BRUTUS is not set
-# CONFIG_SA1100_CEP is not set
-# CONFIG_SA1100_CERF is not set
-# CONFIG_SA1100_H3100 is not set
-# CONFIG_SA1100_H3600 is not set
-# CONFIG_SA1100_H3800 is not set
-# CONFIG_SA1100_H3XXX is not set
-# CONFIG_H3600_SLEEVE is not set
-# CONFIG_SA1100_EXTENEX1 is not set
-# CONFIG_SA1100_FLEXANET is not set
-# CONFIG_SA1100_FREEBIRD is not set
-# CONFIG_SA1100_FRODO is not set
-# CONFIG_SA1100_GRAPHICSCLIENT is not set
-# CONFIG_SA1100_GRAPHICSMASTER is not set
-# CONFIG_SA1100_HACKKIT is not set
-# CONFIG_SA1100_BADGE4 is not set
-# CONFIG_SA1100_JORNADA720 is not set
-# CONFIG_SA1100_HUW_WEBPANEL is not set
-# CONFIG_SA1100_ITSY is not set
-# CONFIG_SA1100_LART is not set
-# CONFIG_SA1100_NANOENGINE is not set
-# CONFIG_SA1100_OMNIMETER is not set
-# CONFIG_SA1100_PANGOLIN is not set
-# CONFIG_SA1100_PLEB is not set
-# CONFIG_SA1100_PT_SYSTEM3 is not set
-# CONFIG_SA1100_SHANNON is not set
-# CONFIG_SA1100_SHERMAN is not set
-# CONFIG_SA1100_SIMPAD is not set
-# CONFIG_SA1100_SIMPUTER is not set
-# CONFIG_SA1100_PFS168 is not set
-# CONFIG_SA1100_VICTOR is not set
-# CONFIG_SA1100_XP860 is not set
-# CONFIG_SA1100_YOPY is not set
-# CONFIG_SA1100_USB is not set
-# CONFIG_SA1100_USB_NETLINK is not set
-# CONFIG_SA1100_USB_CHAR is not set
-# CONFIG_SA1100_SSP is not set
-
-#
-# IXP425 Implementation Options
-#
-CONFIG_ARCH_IXDP425=y
-# CONFIG_ARCH_IXCDP1100 is not set
-# CONFIG_ARCH_PRPMC1100 is not set
-# CONFIG_ARCH_IXP425_COYOTE is not set
-# CONFIG_ARCH_SE4000 is not set
-CONFIG_IXP425_SDRAM_SIZE=32
-# CONFIG_IXP425_LARGE_SDRAM is not set
-CONFIG_IXP425_PCI_ERRATA=y
-# CONFIG_IXP425_OS_TIMER1 is not set
-# CONFIG_XSCALE_PMU_TIMER is not set
-# CONFIG_IXP425_CSR is not set
-
-#
-# AT91RM9200 Implementations
-#
-# CONFIG_ARCH_AT91RM9200DK is not set
-
-#
-# CLPS711X/EP721X Implementations
-#
-# CONFIG_ARCH_AUTCPU12 is not set
-# CONFIG_ARCH_CDB89712 is not set
-# CONFIG_ARCH_CLEP7312 is not set
-# CONFIG_ARCH_EDB7211 is not set
-# CONFIG_ARCH_FORTUNET is not set
-# CONFIG_ARCH_GUIDEA07 is not set
-# CONFIG_ARCH_P720T is not set
-# CONFIG_ARCH_EP7211 is not set
-# CONFIG_ARCH_EP7212 is not set
-# CONFIG_ARCH_ACORN is not set
-# CONFIG_FOOTBRIDGE is not set
-# CONFIG_FOOTBRIDGE_HOST is not set
-# CONFIG_FOOTBRIDGE_ADDIN is not set
-CONFIG_CPU_32=y
-# CONFIG_CPU_26 is not set
-# CONFIG_CPU_ARM610 is not set
-# CONFIG_CPU_ARM710 is not set
-# CONFIG_CPU_ARM720T is not set
-# CONFIG_CPU_ARM920T is not set
-# CONFIG_CPU_ARM922T is not set
-# CONFIG_PLD is not set
-# CONFIG_CPU_ARM926T is not set
-# CONFIG_CPU_ARM1020 is not set
-# CONFIG_CPU_ARM1026 is not set
-# CONFIG_CPU_SA110 is not set
-# CONFIG_CPU_SA1100 is not set
-# CONFIG_CPU_32v3 is not set
-# CONFIG_CPU_32v4 is not set
-CONFIG_CPU_32v5=y
-CONFIG_CPU_XSCALE=y
-CONFIG_ARM_THUMB=y
-# CONFIG_XSCALE_PMU_TIMER is not set
-# CONFIG_XSCALE_CACHE_ERRATA is not set
-# CONFIG_XSCALE_BDI2000 is not set
-# CONFIG_DISCONTIGMEM is not set
-CONFIG_CPU_BIG_ENDIAN=y
-
-#
-# General setup
-#
-CONFIG_PCI=y
-CONFIG_PCI_AUTOCONFIG=y
-# CONFIG_ISA is not set
-# CONFIG_ISA_DMA is not set
-CONFIG_KERNEL_START=0xc0000000
-# CONFIG_ZBOOT_ROM is not set
-CONFIG_ZBOOT_ROM_TEXT=0
-CONFIG_ZBOOT_ROM_BSS=0
-CONFIG_PCI_NAMES=y
-# CONFIG_HOTPLUG is not set
-# CONFIG_PCMCIA is not set
-CONFIG_NET=y
-CONFIG_SYSVIPC=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_SYSCTL=y
-CONFIG_FPE_NWFPE=y
-# CONFIG_FPE_NWFPE_XP is not set
-# CONFIG_FPE_FASTFPE is not set
-CONFIG_KCORE_ELF=y
-# CONFIG_KCORE_AOUT is not set
-CONFIG_BINFMT_AOUT=y
-CONFIG_BINFMT_ELF=y
-# CONFIG_BINFMT_MISC is not set
-# CONFIG_PM is not set
-# CONFIG_ARTHUR is not set
-CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/ram0 initrd=0x01000000,10M mem=32M@0x00000000"
-CONFIG_ALIGNMENT_TRAP=y
-
-#
-# Parallel port support
-#
-# CONFIG_PARPORT is not set
-
-#
-# Memory Technology Devices (MTD)
-#
-CONFIG_MTD=y
-# CONFIG_MTD_DEBUG is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_CONCAT is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# CONFIG_MTD_CMDLINE_PARTS is not set
-# CONFIG_MTD_AFS_PARTS is not set
-CONFIG_MTD_CHAR=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_FTL is not set
-# CONFIG_NFTL is not set
-# CONFIG_INFTL is not set
-
-#
-# RAM/ROM/Flash chip drivers
-#
-CONFIG_MTD_CFI=y
-# CONFIG_MTD_JEDECPROBE is not set
-CONFIG_MTD_GEN_PROBE=y
-# CONFIG_MTD_CFI_ADV_OPTIONS is not set
-CONFIG_MTD_CFI_INTELEXT=y
-# CONFIG_MTD_CFI_AMDSTD is not set
-# CONFIG_MTD_CFI_STAA is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_ROM is not set
-# CONFIG_MTD_ABSENT is not set
-# CONFIG_MTD_OBSOLETE_CHIPS is not set
-# CONFIG_MTD_AMDSTD is not set
-# CONFIG_MTD_SHARP is not set
-# CONFIG_MTD_JEDEC is not set
-
-#
-# Mapping drivers for chip access
-#
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_DRAGONIX is not set
-# CONFIG_MTD_NETtel is not set
-# CONFIG_MTD_SNAPGEODE is not set
-# CONFIG_MTD_NETteluC is not set
-# CONFIG_MTD_MBVANILLA is not set
-# CONFIG_MTD_KeyTechnology is not set
-# CONFIG_MTD_NORA is not set
-# CONFIG_MTD_ARM_INTEGRATOR is not set
-# CONFIG_MTD_CDB89712 is not set
-# CONFIG_MTD_SA1100 is not set
-# CONFIG_MTD_DC21285 is not set
-# CONFIG_MTD_IQ80310 is not set
-# CONFIG_MTD_EPXA10DB is not set
-# CONFIG_MTD_FORTUNET is not set
-# CONFIG_MTD_AUTCPU12 is not set
-CONFIG_MTD_IXP425=y
-# CONFIG_MTD_IXP425_COYOTE is not set
-# CONFIG_MTD_SE4000 is not set
-# CONFIG_MTD_EDB7312 is not set
-# CONFIG_MTD_IMPA7 is not set
-# CONFIG_MTD_CEIVA is not set
-# CONFIG_MTD_PCI is not set
-# CONFIG_MTD_PCMCIA is not set
-
-#
-# Self-contained MTD device drivers
-#
-# CONFIG_MTD_PMC551 is not set
-# CONFIG_MTD_SLRAM is not set
-# CONFIG_MTD_MTDRAM is not set
-# CONFIG_MTD_BLKMTD is not set
-# CONFIG_MTD_DOC1000 is not set
-# CONFIG_MTD_DOC2000 is not set
-# CONFIG_MTD_DOC2001 is not set
-# CONFIG_MTD_DOC2001PLUS is not set
-# CONFIG_MTD_DOCPROBE is not set
-
-#
-# NAND Flash Device Drivers
-#
-# CONFIG_MTD_NAND is not set
-
-#
-# Plug and Play configuration
-#
-# CONFIG_PNP is not set
-# CONFIG_ISAPNP is not set
-
-#
-# Block devices
-#
-# CONFIG_BLK_DEV_FD is not set
-# CONFIG_BLK_DEV_XD is not set
-# CONFIG_PARIDE is not set
-# CONFIG_BLK_CPQ_DA is not set
-# CONFIG_BLK_CPQ_CISS_DA is not set
-# CONFIG_CISS_SCSI_TAPE is not set
-# CONFIG_BLK_DEV_DAC960 is not set
-# CONFIG_BLK_DEV_UMEM is not set
-# CONFIG_BLK_DEV_LOOP is not set
-# CONFIG_BLK_DEV_NBD is not set
-CONFIG_BLK_DEV_RAM=y
-CONFIG_BLK_DEV_RAM_SIZE=16384
-CONFIG_BLK_DEV_INITRD=y
-# CONFIG_BLK_DEV_RAMDISK_DATA is not set
-# CONFIG_BLK_DEV_BLKMEM is not set
-# CONFIG_BLK_STATS is not set
-
-#
-# Multi-device support (RAID and LVM)
-#
-# CONFIG_MD is not set
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_MD_LINEAR is not set
-# CONFIG_MD_RAID0 is not set
-# CONFIG_MD_RAID1 is not set
-# CONFIG_MD_RAID5 is not set
-# CONFIG_MD_MULTIPATH is not set
-# CONFIG_BLK_DEV_LVM is not set
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-# CONFIG_PACKET_MMAP is not set
-# CONFIG_NETLINK_DEV is not set
-CONFIG_NETFILTER=y
-# CONFIG_NETFILTER_DEBUG is not set
-CONFIG_FILTER=y
-CONFIG_UNIX=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_MULTIPLE_TABLES is not set
-# CONFIG_IP_ROUTE_MULTIPATH is not set
-# CONFIG_IP_ROUTE_MULTIPATH_SEQUENTIAL is not set
-# CONFIG_IP_ROUTE_TOS is not set
-# CONFIG_IP_ROUTE_VERBOSE is not set
-CONFIG_IP_PNP=y
-# CONFIG_IP_PNP_DHCP is not set
-CONFIG_IP_PNP_BOOTP=y
-# CONFIG_IP_PNP_RARP is not set
-# CONFIG_NET_ARP_LIMIT is not set
-# CONFIG_NET_IPIP is not set
-# CONFIG_NET_IPGRE is not set
-# CONFIG_IP_MROUTE is not set
-# CONFIG_ARPD is not set
-# CONFIG_INET_ECN is not set
-# CONFIG_SYN_COOKIES is not set
-
-#
-#   IP: Netfilter Configuration
-#
-# CONFIG_IP_NF_CONNTRACK is not set
-# CONFIG_IP_NF_QUEUE is not set
-# CONFIG_IP_NF_IPTABLES is not set
-# CONFIG_IP_NF_ARPTABLES is not set
-# CONFIG_IP_NF_COMPAT_IPCHAINS is not set
-# CONFIG_IP_NF_COMPAT_IPFWADM is not set
-# CONFIG_IPV6 is not set
-# CONFIG_KHTTPD is not set
-# CONFIG_ATM is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_IPX is not set
-# CONFIG_ATALK is not set
-
-#
-# Appletalk devices
-#
-# CONFIG_DEV_APPLETALK is not set
-# CONFIG_DECNET is not set
-# CONFIG_BRIDGE is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_LLC is not set
-# CONFIG_NET_DIVERT is not set
-# CONFIG_ECONET is not set
-# CONFIG_WAN_ROUTER is not set
-# CONFIG_NET_FASTROUTE is not set
-# CONFIG_NET_HW_FLOWCONTROL is not set
-
-#
-# QoS and/or fair queueing
-#
-# CONFIG_NET_SCHED is not set
-# CONFIG_IPSEC is not set
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-
-#
-# Network device support
-#
-CONFIG_NETDEVICES=y
-
-#
-# ARCnet devices
-#
-# CONFIG_ARCNET is not set
-# CONFIG_DUMMY is not set
-# CONFIG_BONDING is not set
-# CONFIG_EQUALIZER is not set
-# CONFIG_TUN is not set
-# CONFIG_ETHERTAP is not set
-
-#
-# Ethernet (10 or 100Mbit)
-#
-CONFIG_NET_ETHERNET=y
-# CONFIG_ARM_AM79C961A is not set
-# CONFIG_ARM_CIRRUS is not set
-# CONFIG_IXP425_ETH is not set
-# CONFIG_SUNLANCE is not set
-# CONFIG_HAPPYMEAL is not set
-# CONFIG_SUNBMAC is not set
-# CONFIG_SUNQE is not set
-# CONFIG_SUNGEM is not set
-# CONFIG_NET_VENDOR_3COM is not set
-# CONFIG_LANCE is not set
-# CONFIG_NET_VENDOR_SMC is not set
-# CONFIG_NET_VENDOR_RACAL is not set
-# CONFIG_HP100 is not set
-# CONFIG_NET_ISA is not set
-CONFIG_NET_PCI=y
-# CONFIG_PCNET32 is not set
-# CONFIG_AMD8111_ETH is not set
-# CONFIG_ADAPTEC_STARFIRE is not set
-# CONFIG_APRICOT is not set
-# CONFIG_B44 is not set
-# CONFIG_CS89x0 is not set
-# CONFIG_TULIP is not set
-# CONFIG_DE4X5 is not set
-# CONFIG_DGRS is not set
-# CONFIG_DM9102 is not set
-# CONFIG_EEPRO100 is not set
-# CONFIG_EEPRO100_PIO is not set
-# CONFIG_E100 is not set
-# CONFIG_LNE390 is not set
-# CONFIG_FEALNX is not set
-# CONFIG_NATSEMI is not set
-# CONFIG_NE2K_PCI is not set
-# CONFIG_NE3210 is not set
-# CONFIG_ES3210 is not set
-# CONFIG_8139CP is not set
-# CONFIG_8139CP_EXTERNAL_PHY is not set
-CONFIG_8139CP_PHY_NUM=32
-# CONFIG_8139TOO is not set
-# CONFIG_8139TOO_PIO is not set
-# CONFIG_8139TOO_TUNE_TWISTER is not set
-# CONFIG_8139TOO_8129 is not set
-# CONFIG_8139_OLD_RX_RESET is not set
-# CONFIG_RTL8139 is not set
-# CONFIG_SIS900 is not set
-# CONFIG_EPIC100 is not set
-# CONFIG_SUNDANCE is not set
-# CONFIG_SUNDANCE_MMIO is not set
-# CONFIG_TLAN is not set
-# CONFIG_VIA_RHINE is not set
-# CONFIG_VIA_RHINE_FET is not set
-# CONFIG_VIA_RHINE_MMIO is not set
-# CONFIG_WINBOND_840 is not set
-# CONFIG_NET_POCKET is not set
-# CONFIG_FEC is not set
-# CONFIG_CS89x0 is not set
-# CONFIG_UCCS8900 is not set
-
-#
-# Ethernet (1000 Mbit)
-#
-# CONFIG_ACENIC is not set
-# CONFIG_DL2K is not set
-# CONFIG_E1000 is not set
-# CONFIG_MYRI_SBUS is not set
-# CONFIG_NS83820 is not set
-# CONFIG_HAMACHI is not set
-# CONFIG_YELLOWFIN is not set
-# CONFIG_R8169 is not set
-# CONFIG_SK98LIN is not set
-# CONFIG_TIGON3 is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_PLIP is not set
-# CONFIG_PPP is not set
-# CONFIG_SLIP is not set
-
-#
-# Wireless LAN (non-hamradio)
-#
-# CONFIG_NET_RADIO is not set
-
-#
-# Token Ring devices
-#
-# CONFIG_TR is not set
-# CONFIG_NET_FC is not set
-# CONFIG_RCPCI is not set
-# CONFIG_SHAPER is not set
-
-#
-# Wan interfaces
-#
-# CONFIG_WAN is not set
-
-#
-# Amateur Radio support
-#
-# CONFIG_HAMRADIO is not set
-
-#
-# IrDA (infrared) support
-#
-# CONFIG_IRDA is not set
-
-#
-# ATA/ATAPI/MFM/RLL support
-#
-# CONFIG_IDE is not set
-# CONFIG_BLK_DEV_IDE_MODES is not set
-# CONFIG_BLK_DEV_HD is not set
-
-#
-# SCSI support
-#
-CONFIG_SCSI=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_SD_EXTRA_DEVS=40
-# CONFIG_CHR_DEV_ST is not set
-# CONFIG_CHR_DEV_OSST is not set
-# CONFIG_BLK_DEV_SR is not set
-# CONFIG_CHR_DEV_SG is not set
-# CONFIG_SCSI_DEBUG_QUEUES is not set
-CONFIG_SCSI_MULTI_LUN=y
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-
-#
-# SCSI low-level drivers
-#
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_7000FASST is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AHA152X is not set
-# CONFIG_SCSI_AHA1542 is not set
-# CONFIG_SCSI_AHA1740 is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC7XXX_OLD is not set
-# CONFIG_SCSI_DPT_I2O is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_IN2000 is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_MEGARAID is not set
-# CONFIG_SCSI_BUSLOGIC is not set
-# CONFIG_SCSI_CPQFCTS is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_DTC3280 is not set
-# CONFIG_SCSI_EATA is not set
-# CONFIG_SCSI_EATA_DMA is not set
-# CONFIG_SCSI_EATA_PIO is not set
-# CONFIG_SCSI_FUTURE_DOMAIN is not set
-# CONFIG_SCSI_GDTH is not set
-# CONFIG_SCSI_GENERIC_NCR5380 is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_NCR53C406A is not set
-# CONFIG_SCSI_NCR53C7xx is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_NCR53C8XX is not set
-# CONFIG_SCSI_SYM53C8XX is not set
-# CONFIG_SCSI_PAS16 is not set
-# CONFIG_SCSI_PCI2000 is not set
-# CONFIG_SCSI_PCI2220I is not set
-# CONFIG_SCSI_PSI240I is not set
-# CONFIG_SCSI_QLOGIC_FAS is not set
-# CONFIG_SCSI_QLOGIC_ISP is not set
-# CONFIG_SCSI_QLOGIC_FC is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_SIM710 is not set
-# CONFIG_SCSI_SYM53C416 is not set
-# CONFIG_SCSI_DC390T is not set
-# CONFIG_SCSI_T128 is not set
-# CONFIG_SCSI_U14_34F is not set
-# CONFIG_SCSI_NSP32 is not set
-# CONFIG_SCSI_DEBUG is not set
-
-#
-# IEEE 1394 (FireWire) support (EXPERIMENTAL)
-#
-# CONFIG_IEEE1394 is not set
-
-#
-# I2O device support
-#
-# CONFIG_I2O is not set
-# CONFIG_I2O_PCI is not set
-# CONFIG_I2O_BLOCK is not set
-# CONFIG_I2O_LAN is not set
-# CONFIG_I2O_SCSI is not set
-# CONFIG_I2O_PROC is not set
-
-#
-# ISDN subsystem
-#
-# CONFIG_ISDN is not set
-
-#
-# Input core support
-#
-# CONFIG_INPUT is not set
-# CONFIG_INPUT_KEYBDEV is not set
-# CONFIG_INPUT_MOUSEDEV is not set
-# CONFIG_INPUT_JOYDEV is not set
-# CONFIG_INPUT_EVDEV is not set
-
-#
-# Character devices
-#
-# CONFIG_LEDMAN is not set
-# CONFIG_DS1302 is not set
-# CONFIG_VT is not set
-CONFIG_SERIAL=y
-CONFIG_SERIAL_CONSOLE=y
-# CONFIG_SERIAL_EXTENDED is not set
-# CONFIG_SERIAL_NONSTANDARD is not set
-CONFIG_UNIX98_PTYS=y
-CONFIG_UNIX98_PTY_COUNT=256
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_I2C_ALGOBIT=y
-# CONFIG_I2C_PHILIPSPAR is not set
-# CONFIG_I2C_ELV is not set
-# CONFIG_I2C_VELLEMAN is not set
-# CONFIG_I2C_MCF_GPIO is not set
-CONFIG_I2C_IXP425=y
-# CONFIG_SCx200_I2C is not set
-# CONFIG_SCx200_ACB is not set
-# CONFIG_I2C_ALGOPCF is not set
-CONFIG_I2C_CHARDEV=y
-# CONFIG_I2C_PROC is not set
-
-#
-# Mice
-#
-# CONFIG_BUSMOUSE is not set
-CONFIG_MOUSE=y
-CONFIG_PSMOUSE=y
-# CONFIG_82C710_MOUSE is not set
-# CONFIG_PC110_PAD is not set
-# CONFIG_MK712_MOUSE is not set
-
-#
-# Joysticks
-#
-# CONFIG_INPUT_GAMEPORT is not set
-# CONFIG_QIC02_TAPE is not set
-# CONFIG_IPMI_HANDLER is not set
-# CONFIG_IPMI_PANIC_EVENT is not set
-# CONFIG_IPMI_DEVICE_INTERFACE is not set
-# CONFIG_IPMI_KCS is not set
-# CONFIG_IPMI_WATCHDOG is not set
-
-#
-# Controller Area Network Cards/Chips
-#
-# CONFIG_CAN4LINUX is not set
-
-#
-# Watchdog Cards
-#
-# CONFIG_WATCHDOG is not set
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_AMD_PM768 is not set
-# CONFIG_NVRAM is not set
-# CONFIG_RTC is not set
-CONFIG_X1226_RTC=m
-# CONFIG_DTLK is not set
-# CONFIG_R3964 is not set
-# CONFIG_APPLICOM is not set
-
-#
-# Ftape, the floppy tape device driver
-#
-# CONFIG_FTAPE is not set
-# CONFIG_AGP is not set
-# CONFIG_DRM is not set
-
-#
-# Multimedia devices
-#
-# CONFIG_VIDEO_DEV is not set
-
-#
-# File systems
-#
-CONFIG_QUOTA=y
-CONFIG_QFMT_V2=y
-# CONFIG_AUTOFS_FS is not set
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_REISERFS_FS is not set
-# CONFIG_REISERFS_CHECK is not set
-# CONFIG_REISERFS_PROC_INFO is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_ADFS_FS_RW is not set
-# CONFIG_AFFS_FS is not set
-# CONFIG_HFS_FS is not set
-# CONFIG_HFSPLUS_FS is not set
-# CONFIG_BEFS_FS is not set
-# CONFIG_BEFS_DEBUG is not set
-# CONFIG_BFS_FS is not set
-CONFIG_EXT3_FS=y
-CONFIG_JBD=y
-# CONFIG_JBD_DEBUG is not set
-CONFIG_FAT_FS=y
-# CONFIG_MSDOS_FS is not set
-# CONFIG_UMSDOS_FS is not set
-CONFIG_VFAT_FS=y
-# CONFIG_EFS_FS is not set
-# CONFIG_JFFS_FS is not set
-# CONFIG_JFFS2_FS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_TMPFS=y
-CONFIG_RAMFS=y
-# CONFIG_ISO9660_FS is not set
-# CONFIG_JOLIET is not set
-# CONFIG_ZISOFS is not set
-# CONFIG_JFS_FS is not set
-# CONFIG_JFS_DEBUG is not set
-# CONFIG_JFS_STATISTICS is not set
-# CONFIG_MINIX_FS is not set
-# CONFIG_VXFS_FS is not set
-# CONFIG_NTFS_FS is not set
-# CONFIG_NTFS_RW is not set
-# CONFIG_HPFS_FS is not set
-CONFIG_PROC_FS=y
-# CONFIG_DEVFS_FS is not set
-# CONFIG_DEVFS_MOUNT is not set
-# CONFIG_DEVFS_DEBUG is not set
-CONFIG_DEVPTS_FS=y
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX4FS_RW is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_EXT2_FS=y
-# CONFIG_SYSV_FS is not set
-# CONFIG_UDF_FS is not set
-# CONFIG_UDF_RW is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_UFS_FS_WRITE is not set
-# CONFIG_XFS_FS is not set
-# CONFIG_XFS_POSIX_ACL is not set
-# CONFIG_XFS_RT is not set
-# CONFIG_XFS_QUOTA is not set
-# CONFIG_XFS_DMAPI is not set
-# CONFIG_XFS_TRACE is not set
-# CONFIG_XFS_DEBUG is not set
-
-#
-# Network File Systems
-#
-# CONFIG_CODA_FS is not set
-# CONFIG_INTERMEZZO_FS is not set
-# CONFIG_NFS_FS is not set
-# CONFIG_NFS_V3 is not set
-# CONFIG_NFS_DIRECTIO is not set
-# CONFIG_ROOT_NFS is not set
-# CONFIG_NFSD is not set
-# CONFIG_NFSD_V3 is not set
-# CONFIG_NFSD_TCP is not set
-# CONFIG_SUNRPC is not set
-# CONFIG_LOCKD is not set
-CONFIG_SMB_FS=y
-# CONFIG_SMB_NLS_DEFAULT is not set
-# CONFIG_NCP_FS is not set
-# CONFIG_NCPFS_PACKET_SIGNING is not set
-# CONFIG_NCPFS_IOCTL_LOCKING is not set
-# CONFIG_NCPFS_STRONG is not set
-# CONFIG_NCPFS_NFS_NS is not set
-# CONFIG_NCPFS_OS2_NS is not set
-# CONFIG_NCPFS_SMALLDOS is not set
-# CONFIG_NCPFS_NLS is not set
-# CONFIG_NCPFS_EXTRAS is not set
-# CONFIG_ZISOFS_FS is not set
-# CONFIG_COREDUMP_PRINTK is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-CONFIG_OSF_PARTITION=y
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-# CONFIG_MAC_PARTITION is not set
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-CONFIG_SOLARIS_X86_PARTITION=y
-CONFIG_UNIXWARE_DISKLABEL=y
-# CONFIG_LDM_PARTITION is not set
-CONFIG_SGI_PARTITION=y
-# CONFIG_ULTRIX_PARTITION is not set
-CONFIG_SUN_PARTITION=y
-# CONFIG_EFI_PARTITION is not set
-CONFIG_SMB_NLS=y
-CONFIG_NLS=y
-
-#
-# Native Language Support
-#
-CONFIG_NLS_DEFAULT="iso8859-1"
-# CONFIG_NLS_CODEPAGE_437 is not set
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-# CONFIG_NLS_CODEPAGE_852 is not set
-# CONFIG_NLS_CODEPAGE_855 is not set
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-# CONFIG_NLS_CODEPAGE_866 is not set
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-# CONFIG_NLS_ISO8859_1 is not set
-# CONFIG_NLS_ISO8859_2 is not set
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-# CONFIG_NLS_ISO8859_5 is not set
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-# CONFIG_NLS_KOI8_R is not set
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_UTF8 is not set
-
-#
-# Sound
-#
-# CONFIG_SOUND is not set
-
-#
-# Misc devices
-#
-
-#
-# USB support
-#
-CONFIG_USB=y
-# CONFIG_USB_DEBUG is not set
-# CONFIG_USB_DEVICEFS is not set
-# CONFIG_USB_BANDWIDTH is not set
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_UHCI=y
-# CONFIG_USB_UHCI_ALT is not set
-CONFIG_USB_OHCI=y
-# CONFIG_USB_SL811HS_ALT is not set
-# CONFIG_USB_SL811HS is not set
-# CONFIG_USB_AUDIO is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_BLUETOOTH is not set
-# CONFIG_USB_MIDI is not set
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-# CONFIG_HOTPLUG_SCSIDEV_NUMBER is not set
-CONFIG_USB_STORAGE_MAXTOR_ONETOUCH=y
-CONFIG_USB_STORAGE_MAXTOR_ONETOUCH_DEBUG=y
-# CONFIG_USB_STORAGE_MAXTOR_ONETOUCH_USB_EVENT is not set
-CONFIG_USB_STORAGE_MAXTOR_ONETOUCH_PERSO=y
-CONFIG_USB_STORAGE_MAXTOR_ONETOUCH_PERSO_APP_PATH="/sbin/onetouch"
-# CONFIG_USB_STORAGE_DATAFAB is not set
-# CONFIG_USB_STORAGE_FREECOM is not set
-# CONFIG_USB_STORAGE_ISD200 is not set
-# CONFIG_USB_STORAGE_DPCM is not set
-# CONFIG_USB_STORAGE_HP8200e is not set
-# CONFIG_USB_STORAGE_SDDR09 is not set
-# CONFIG_USB_STORAGE_SDDR55 is not set
-# CONFIG_USB_STORAGE_JUMPSHOT is not set
-# CONFIG_USB_ACM is not set
-# CONFIG_USB_PRINTER is not set
-# CONFIG_USB_HID is not set
-# CONFIG_USB_HIDINPUT is not set
-# CONFIG_USB_HIDDEV is not set
-# CONFIG_USB_KBD is not set
-# CONFIG_USB_MOUSE is not set
-# CONFIG_USB_AIPTEK is not set
-# CONFIG_USB_WACOM is not set
-# CONFIG_USB_KBTAB is not set
-# CONFIG_USB_POWERMATE is not set
-# CONFIG_USB_DC2XX is not set
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_SCANNER is not set
-# CONFIG_USB_MICROTEK is not set
-# CONFIG_USB_HPUSBSCSI is not set
-# CONFIG_USB_PEGASUS is not set
-# CONFIG_USB_RTL8150 is not set
-# CONFIG_USB_KAWETH is not set
-# CONFIG_USB_CATC is not set
-# CONFIG_USB_AX8817X is not set
-# CONFIG_USB_CDCETHER is not set
-# CONFIG_USB_USBNET is not set
-# CONFIG_USB_USS720 is not set
-
-#
-# USB Serial Converter support
-#
-# CONFIG_USB_SERIAL is not set
-# CONFIG_USB_RIO500 is not set
-# CONFIG_USB_AUERSWALD is not set
-# CONFIG_USB_TIGL is not set
-# CONFIG_USB_BRLVGER is not set
-# CONFIG_USB_LCD is not set
-
-#
-# Bluetooth support
-#
-# CONFIG_BLUEZ is not set
-
-#
-# Kernel hacking
-#
-CONFIG_FRAME_POINTER=y
-# CONFIG_DEBUG_USER is not set
-# CONFIG_DEBUG_INFO is not set
-# CONFIG_NO_PGT_CACHE is not set
-# CONFIG_DEBUG_KERNEL is not set
-# CONFIG_DEBUG_SLAB is not set
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_SPINLOCK is not set
-# CONFIG_DEBUG_WAITQ is not set
-# CONFIG_DEBUG_BUGVERBOSE is not set
-# CONFIG_DEBUG_ERRORS is not set
-# CONFIG_DEBUG_LL is not set
-# CONFIG_DEBUG_DC21285_PORT is not set
-# CONFIG_DEBUG_CLPS711X_UART2 is not set
-
-#
-# Cryptographic options
-#
-# CONFIG_CRYPTO is not set
-
-#
-# Library routines
-#
-CONFIG_CRC32=y
-CONFIG_ZLIB_INFLATE=y
-CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/linux/nslu2-linksys-kernel-2.4.22/short_loadbytes.patch b/packages/linux/nslu2-linksys-kernel-2.4.22/short_loadbytes.patch
deleted file mode 100644 (file)
index f0b5142..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- linux-2.4.22/arch/arm/Makefile~short_loadbytes     2004-09-08 19:34:45.000000000 -0500
-+++ linux-2.4.22/arch/arm/Makefile     2004-09-08 19:34:53.000000000 -0500
-@@ -74,8 +74,8 @@
-   tune-$(CONFIG_CPU_XSCALE)   :=-mtune=strongarm
- endif
--CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
--CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
-+CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
-+CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
- AFLAGS                +=$(apcs-y) $(arch-y) -msoft-float
- ifeq ($(CONFIG_CPU_26),y)
diff --git a/packages/linux/nslu2-linksys-kernel_2.4.22.bb b/packages/linux/nslu2-linksys-kernel_2.4.22.bb
deleted file mode 100644 (file)
index 7132d41..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-SECTION = "kernel"
-DESCRIPTION = "Linux kernel for the Linksys NSLU2 device"
-LICENSE = "GPL"
-PR = "r2"
-
-SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 \
-          http://nslu.sf.net/downloads/xfs-2.4.22-all-i386.bz2;patch=1 \
-          http://nslu.sf.net/downloads/2.4.22-xfs-nslu2.patch.bz2;patch=1 \
-          file://config-fixes.patch;patch=1 \
-          file://nofpu.patch;patch=1 \
-          file://short_loadbytes.patch;patch=1 \
-          file://gcc3-userfuncs.patch;patch=1 \
-          file://gcc-registerparanoia.patch;patch=1 \
-          file://linux-2.4.24-attribute-used.patch;patch=1 \
-          file://double_cpdo.patch;patch=1 \
-           file://defconfig"
-S = "${WORKDIR}/linux-2.4.22"
-
-COMPATIBLE_HOST = 'arm.*-linux'
-COMPATIBLE_MACHINE = "nslu2"
-
-inherit kernel
-
-ARCH = "arm"
-KERNEL_IMAGETYPE = "zImage"
-KERNEL_SUFFIX ?= "nslu2-linksys"
-CMDLINE_CONSOLE ?= "ttyS0,115200"
-CMDLINE_ROOT = "root=/dev/ram0 initrd=0x01000000,10M mem=32M@0x00000000"
-CMDLINE = "${CMDLINE_CONSOLE} ${CMDLINE_ROOT}"
-
-do_configure_prepend() {
-       install -m 0644 ${WORKDIR}/defconfig ${S}/.config
-       echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
-       rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \
-              ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch
-}
-
-do_deploy() {
-        install -d ${DEPLOY_DIR_IMAGE}
-        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_SUFFIX}
-}
-
-do_deploy[dirs] = "${S}"
-
-addtask deploy before do_build after do_compile
diff --git a/packages/linux/unslung-kernel/config-fixes.patch b/packages/linux/unslung-kernel/config-fixes.patch
new file mode 100644 (file)
index 0000000..2afbe66
--- /dev/null
@@ -0,0 +1,34 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/drivers/usb/Config.in~linksys_can_bite_me     2004-09-08 19:14:15.000000000 -0500
++++ linux-2.4.22/drivers/usb/Config.in 2004-09-08 19:19:37.000000000 -0500
+@@ -120,6 +120,4 @@
+    fi
+ fi
+-source drivers/usb/gadget/Config.in
+-
+ endmenu
+--- linux-2.4.22/drivers/ixp400/Makefile~linksys_can_bite_me   2004-09-08 19:14:08.000000000 -0500
++++ linux-2.4.22/drivers/ixp400/Makefile       2004-09-08 19:32:55.000000000 -0500
+@@ -78,7 +78,9 @@
+ # DAMAGE."
+ #
+ # -- End Intel/GPL Copyright Notice --
++#
++ifdef CONFIG_IXP425_CSR
+ include $(ROOTDIR)/IXP400lib/ixp400_xscale_sw/buildUtils/environment.linux
+ # IX_XSCALE_SW=$(ROOTDIR)/IXP400lib/ixp400_xscale_sw/
+ # The kernel makefiles override the value of CFLAGS on the make
+@@ -148,6 +150,7 @@
+ # directory. Note that they must be filenames in this directory - the
+ # ramdisk rules cannot handle paths in this list.
+ obj-m := $(IXP400_MODULES)
++endif
+ # Include the generic kernel build system rules
+ include $(TOPDIR)/Rules.make
diff --git a/packages/linux/unslung-kernel/double_cpdo.patch b/packages/linux/unslung-kernel/double_cpdo.patch
new file mode 100644 (file)
index 0000000..4069358
--- /dev/null
@@ -0,0 +1,27 @@
+--- linux-2.6.9-rc3-ds1.commit/arch/arm/nwfpe/double_cpdo.c    2004-08-14 07:36:11.000000000 +0200
++++ linux-2.6.9-rc3-ds1.snap/arch/arm/nwfpe/double_cpdo.c      2004-10-10 20:29:15.514512796 +0200
+@@ -75,7 +75,11 @@
+       union float64_components u;
+       u.f64 = rFm;
++#ifdef __ARMEB__
++      u.i[0] ^= 0x80000000;
++#else
+       u.i[1] ^= 0x80000000;
++#endif
+       return u.f64;
+ }
+@@ -85,7 +89,11 @@
+       union float64_components u;
+       u.f64 = rFm;
++#ifdef __ARMEB__
++      u.i[0] &= 0x7fffffff;
++#else
+       u.i[1] &= 0x7fffffff;
++#endif
+       return u.f64;
+ }
+
diff --git a/packages/linux/unslung-kernel/gcc-registerparanoia.patch b/packages/linux/unslung-kernel/gcc-registerparanoia.patch
new file mode 100644 (file)
index 0000000..7c3e538
--- /dev/null
@@ -0,0 +1,57 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/include/asm-arm/system.h~gcc-registerparanoia 2004-09-08 19:45:34.000000000 -0500
++++ linux-2.4.22/include/asm-arm/system.h      2004-09-08 19:53:01.000000000 -0500
+@@ -3,6 +3,15 @@
+ #ifdef __KERNEL__
++/*
++ * This is used to ensure the compiler did actually allocate the register we
++ * asked it for some inline assembly sequences.  Apparently we can't trust
++ * the compiler from one version to another so a bit of paranoia won't hurt.
++ * This string is meant to be concatenated with the inline asm string and
++ * will cause compilation to stop on mismatch.
++ */
++#define __asmeq(x, y)  ".ifnc " x "," y " ; .err ; .endif\n\t"
++
+ #include <linux/config.h>
+ #include <linux/kernel.h>
+--- linux-2.4.22/include/asm-arm/uaccess.h~gcc-registerparanoia        2004-09-08 19:45:34.000000000 -0500
++++ linux-2.4.22/include/asm-arm/uaccess.h     2004-09-08 19:59:20.000000000 -0500
+@@ -6,6 +6,7 @@
+  */
+ #include <linux/sched.h>
+ #include <asm/errno.h>
++#include <asm/system.h>
+ #define VERIFY_READ 0
+ #define VERIFY_WRITE 1
+@@ -71,7 +72,9 @@
+ extern int __get_user_bad(void);
+ #define __get_user_x(__r1,__p,__e,__s,__i...)                         \
+-         __asm__ __volatile__ ("bl    __get_user_" #__s               \
++         __asm__ __volatile__ (                                       \
++              __asmeq("%0", "r0") __asmeq("%1", "r1")                 \
++              "bl     __get_user_" #__s                               \
+               : "=&r" (__e), "=r" (__r1)                              \
+               : "0" (__p)                                             \
+               : __i)
+@@ -110,7 +113,9 @@
+ extern int __put_user_bad(void);
+ #define __put_user_x(__r1,__p,__e,__s,__i...)                         \
+-         __asm__ __volatile__ ("bl    __put_user_" #__s               \
++         __asm__ __volatile__ (                                       \
++              __asmeq("%0", "r0") __asmeq("%2", "r1")                 \
++              "bl     __put_user_" #__s                               \
+               : "=&r" (__e)                                           \
+               : "0" (__p), "r" (__r1)                                 \
+               : __i)
+--- linux-2.4.22/-~gcc-registerparanoia
++++ linux-2.4.22/-
diff --git a/packages/linux/unslung-kernel/gcc3-userfuncs.patch b/packages/linux/unslung-kernel/gcc3-userfuncs.patch
new file mode 100644 (file)
index 0000000..54726bf
--- /dev/null
@@ -0,0 +1,134 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/lib/getuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
++++ linux-2.4.22/arch/arm/lib/getuser.S        2004-09-08 19:49:27.000000000 -0500
+@@ -42,17 +42,17 @@
+       .global __get_user_2
+ __get_user_2:
+-      bic     r2, sp, #0x1f00
+-      bic     r2, r2, #0x00ff
+-      ldr     r2, [r2, #TSK_ADDR_LIMIT]
+-      sub     r2, r2, #2
+-      cmp     r0, r2
++      bic     ip, sp, #0x1f00
++      bic     ip, ip, #0x00ff
++      ldr     ip, [ip, #TSK_ADDR_LIMIT]
++      sub     ip, ip, #2
++      cmp     r0, ip
+ 2:    ldrlsbt r1, [r0], #1
+-3:    ldrlsbt r2, [r0]
++3:    ldrlsbt ip, [r0]
+ #ifndef __ARMEB__
+-      orrls   r1, r1, r2, lsl #8
++      orrls   r1, r1, ip, lsl #8
+ #else
+-      orrls   r1, r2, r1, lsl #8
++      orrls   r1, ip, r1, lsl #8
+ #endif
+       movls   r0, #0
+       movls   pc, lr
+--- linux-2.4.22/arch/arm/lib/putuser.S~gcc3-userfuncs 2004-09-08 19:14:05.000000000 -0500
++++ linux-2.4.22/arch/arm/lib/putuser.S        2004-09-08 19:45:00.000000000 -0500
+@@ -18,7 +18,7 @@
+  * Inputs:    r0 contains the address
+  *            r1, r2 contains the value
+  * Outputs:   r0 is the error code
+- *            lr corrupted
++ *            ip, lr corrupted
+  *
+  * No other registers must be altered.  (see include/asm-arm/uaccess.h
+  * for specific ASM register usage).
+@@ -30,11 +30,11 @@
+       .global __put_user_1
+ __put_user_1:
+-      bic     r2, sp, #0x1f00
+-      bic     r2, r2, #0x00ff
+-      ldr     r2, [r2, #TSK_ADDR_LIMIT]
+-      sub     r2, r2, #1
+-      cmp     r0, r2
++      bic     ip, sp, #0x1f00
++      bic     ip, ip, #0x00ff
++      ldr     ip, [ip, #TSK_ADDR_LIMIT]
++      sub     ip, ip, #1
++      cmp     r0, ip
+ 1:    strlsbt r1, [r0]
+       movls   r0, #0
+       movls   pc, lr
+@@ -42,20 +42,20 @@
+       .global __put_user_2
+ __put_user_2:
+-      bic     r2, sp, #0x1f00
+-      bic     r2, r2, #0x00ff
+-      ldr     r2, [r2, #TSK_ADDR_LIMIT]
+-      sub     r2, r2, #2
+-      cmp     r0, r2
++      bic     ip, sp, #0x1f00
++      bic     ip, ip, #0x00ff
++      ldr     ip, [ip, #TSK_ADDR_LIMIT]
++      sub     ip, ip, #2
++      cmp     r0, ip
+ #ifndef __ARMEB__
+ 2:    strlsbt r1, [r0], #1
+       movls   r1, r1, lsr #8
+ 3:    strlsbt r1, [r0]
+ #else
+-2:    movls   r2, r1
++2:    movls   ip, r1
+       movls   r1, r1, lsr #8
+       strlsbt r1, [r0], #1
+-      movls   r1, r2
++      movls   r1, ip
+ 3:    strlsbt r1, [r0]
+ #endif
+       movls   r0, #0
+@@ -64,11 +64,11 @@
+       .global __put_user_4
+ __put_user_4:
+-      bic     r2, sp, #0x1f00
+-      bic     r2, r2, #0x00ff
+-      ldr     r2, [r2, #TSK_ADDR_LIMIT]
+-      sub     r2, r2, #4
+-      cmp     r0, r2
++      bic     ip, sp, #0x1f00
++      bic     ip, ip, #0x00ff
++      ldr     ip, [ip, #TSK_ADDR_LIMIT]
++      sub     ip, ip, #4
++      cmp     r0, ip
+ 4:    strlst  r1, [r0]
+       movls   r0, #0
+       movls   pc, lr
+--- linux-2.4.22/include/asm-arm/uaccess.h~gcc3-userfuncs      2004-09-08 19:36:03.000000000 -0500
++++ linux-2.4.22/include/asm-arm/uaccess.h     2004-09-08 20:03:34.000000000 -0500
+@@ -86,7 +86,7 @@
+                       __get_user_x(__r1, __p, __e, 1, "lr");          \
+                       break;                                          \
+               case 2:                                                 \
+-                      __get_user_x(__r1, __p, __e, 2, "r2", "lr");    \
++                      __get_user_x(__r1, __p, __e, 2, "ip", "lr");    \
+                       break;                                          \
+               case 4:                                                 \
+                       __get_user_x(__r1, __p, __e, 4, "lr");          \
+@@ -122,13 +122,13 @@
+               register int __e asm("r0");                             \
+               switch (sizeof(*(p))) {                                 \
+               case 1:                                                 \
+-                      __put_user_x(__r1, __p, __e, 1, "r2", "lr");    \
++                      __put_user_x(__r1, __p, __e, 1, "ip", "lr");    \
+                       break;                                          \
+               case 2:                                                 \
+-                      __put_user_x(__r1, __p, __e, 2, "r2", "lr");    \
++                      __put_user_x(__r1, __p, __e, 2, "ip", "lr");    \
+                       break;                                          \
+               case 4:                                                 \
+-                      __put_user_x(__r1, __p, __e, 4, "r2", "lr");    \
++                      __put_user_x(__r1, __p, __e, 4, "ip", "lr");    \
+                       break;                                          \
+               case 8:                                                 \
+                       __put_user_x(__r1, __p, __e, 8, "ip", "lr");    \
diff --git a/packages/linux/unslung-kernel/linux-2.4.24-attribute-used.patch b/packages/linux/unslung-kernel/linux-2.4.24-attribute-used.patch
new file mode 100644 (file)
index 0000000..bcf1c10
--- /dev/null
@@ -0,0 +1,140 @@
+diff -purN linux-2.4.24-uc0.orig/include/asm-arm/setup.h linux-2.4.24-uc0/include/asm-arm/setup.h
+--- linux-2.4.24-uc0.orig/include/asm-arm/setup.h      2003-08-25 04:44:43.000000000 -0700
++++ linux-2.4.24-uc0/include/asm-arm/setup.h   2004-09-09 04:36:03.000000000 -0700
+@@ -236,7 +236,7 @@ struct tagtable {
+       int (*parse)(const struct tag *);
+ };
+-#define __tag __attribute__((unused, __section__(".taglist")))
++#define __tag __attribute_used__ __attribute__((__section__(".taglist")))
+ #define __tagtable(tag, fn) \
+ static struct tagtable __tagtable_##fn __tag = { tag, fn }
+diff -purN linux-2.4.24-uc0.orig/include/linux/compiler.h linux-2.4.24-uc0/include/linux/compiler.h
+--- linux-2.4.24-uc0.orig/include/linux/compiler.h     2004-03-31 21:52:49.000000000 -0800
++++ linux-2.4.24-uc0/include/linux/compiler.h  2004-09-09 01:33:29.000000000 -0700
+@@ -13,4 +13,18 @@
+ #define likely(x)     __builtin_expect((x),1)
+ #define unlikely(x)   __builtin_expect((x),0)
++#if __GNUC__ > 3
++#define __attribute_used__     __attribute__((__used__))
++#elif __GNUC__ == 3
++#if  __GNUC_MINOR__ >= 3
++# define __attribute_used__    __attribute__((__used__))
++#else
++# define __attribute_used__    __attribute__((__unused__))
++#endif /* __GNUC_MINOR__ >= 3 */
++#elif __GNUC__ == 2
++#define __attribute_used__     __attribute__((__unused__))
++#else
++#define __attribute_used__     /* not implemented */
++#endif /* __GNUC__ */
++
+ #endif /* __LINUX_COMPILER_H */
+diff -purN linux-2.4.24-uc0.orig/include/linux/init.h linux-2.4.24-uc0/include/linux/init.h
+--- linux-2.4.24-uc0.orig/include/linux/init.h 2004-03-31 21:52:50.000000000 -0800
++++ linux-2.4.24-uc0/include/linux/init.h      2004-09-09 01:38:11.000000000 -0700
+@@ -2,6 +2,7 @@
+ #define _LINUX_INIT_H
+ #include <linux/config.h>
++#include <linux/compiler.h>
+ /* These macros are used to mark some functions or 
+  * initialized data (doesn't apply to uninitialized data)
+@@ -51,7 +52,7 @@ typedef void (*exitcall_t)(void);
+ extern initcall_t __initcall_start, __initcall_end;
+ #define __initcall(fn)                                                                \
+-      static initcall_t __initcall_##fn __init_call = fn
++      static initcall_t __initcall_##fn __attribute_used__ __init_call = fn
+ #define __exitcall(fn)                                                                \
+       static exitcall_t __exitcall_##fn __exit_call = fn
+@@ -67,7 +68,7 @@ extern struct kernel_param __setup_start
+ #define __setup(str, fn)                                                              \
+       static char __setup_str_##fn[] __initdata = str;                                \
+-      static struct kernel_param __setup_##fn __attribute__((unused)) __initsetup = { __setup_str_##fn, fn }
++      static struct kernel_param __setup_##fn __attribute_used__ __initsetup = { __setup_str_##fn, fn }
+ #endif /* __ASSEMBLY__ */
+@@ -77,16 +78,16 @@ extern struct kernel_param __setup_start
+  */
+ #ifndef NO_TEXT_SECTIONS
+ #define __init                __attribute__ ((__section__ (".text.init")))
+-#define __exit                __attribute__ ((unused, __section__(".text.exit")))
++#define __exit                __attribute_used__ __attribute__ ((__section__(".text.exit")))
+ #else
+ #define __init
+-#define __exit                __attribute__ ((unused))
++#define __exit                __attribute_used__
+ #endif
+ #define __initdata    __attribute__ ((__section__ (".data.init")))
+-#define __exitdata    __attribute__ ((unused, __section__ (".data.exit")))
+-#define __initsetup   __attribute__ ((unused,__section__ (".setup.init")))
+-#define __init_call   __attribute__ ((unused,__section__ (".initcall.init")))
+-#define __exit_call   __attribute__ ((unused,__section__ (".exitcall.exit")))
++#define __exitdata    __attribute_used__ __attribute__ ((__section__ (".data.exit")))
++#define __initsetup   __attribute_used__ __attribute__ ((__section__ (".setup.init")))
++#define __init_call   __attribute_used__ __attribute__ ((__section__ (".initcall.init")))
++#define __exit_call   __attribute_used__ __attribute__ ((__section__ (".exitcall.exit")))
+ /* For assembly routines */
+ #define __INIT                .section        ".text.init","ax"
+diff -purN linux-2.4.24-uc0.orig/include/linux/module.h linux-2.4.24-uc0/include/linux/module.h
+--- linux-2.4.24-uc0.orig/include/linux/module.h       2002-08-02 17:39:45.000000000 -0700
++++ linux-2.4.24-uc0/include/linux/module.h    2004-09-09 03:15:30.000000000 -0700
+@@ -8,6 +8,7 @@
+ #define _LINUX_MODULE_H
+ #include <linux/config.h>
++#include <linux/compiler.h>
+ #include <linux/spinlock.h>
+ #include <linux/list.h>
+@@ -254,9 +255,9 @@ __attribute__((section(".modinfo"))) =             
+  */
+ #define MODULE_GENERIC_TABLE(gtype,name)      \
+ static const unsigned long __module_##gtype##_size \
+-  __attribute__ ((unused)) = sizeof(struct gtype##_id); \
++  __attribute_used__ = sizeof(struct gtype##_id); \
+ static const struct gtype##_id * __module_##gtype##_table \
+-  __attribute__ ((unused)) = name
++  __attribute_used__ = name
+ /*
+  * The following license idents are currently accepted as indicating free
+@@ -284,7 +285,7 @@ static const struct gtype##_id * __modul
+  */
+  
+ #define MODULE_LICENSE(license)       \
+-static const char __module_license[] __attribute__((section(".modinfo"))) =   \
++static const char __module_license[] __attribute_used__ __attribute__((section(".modinfo"))) =   \
+ "license=" license
+ /* Define the module variable, and usage macros.  */
+@@ -296,10 +297,10 @@ extern struct module __this_module;
+ #define MOD_IN_USE            __MOD_IN_USE(THIS_MODULE)
+ #include <linux/version.h>
+-static const char __module_kernel_version[] __attribute__((section(".modinfo"))) =
++static const char __module_kernel_version[] __attribute_used__ __attribute__((section(".modinfo"))) =
+ "kernel_version=" UTS_RELEASE;
+ #ifdef MODVERSIONS
+-static const char __module_using_checksums[] __attribute__((section(".modinfo"))) =
++static const char __module_using_checksums[] __attribute_used__ __attribute__((section(".modinfo"))) =
+ "using_checksums=1";
+ #endif
+@@ -319,7 +320,7 @@ static const char __module_using_checksu
+  */
+ #define MODULE_GENERIC_TABLE(gtype,name) \
+ static const struct gtype##_id * __module_##gtype##_table \
+-  __attribute__ ((unused, __section__(".data.exit"))) = name
++  __attribute_used__ __attribute__ ((__section__(".data.exit"))) = name
+ #ifndef __GENKSYMS__
diff --git a/packages/linux/unslung-kernel/nofpu.patch b/packages/linux/unslung-kernel/nofpu.patch
new file mode 100644 (file)
index 0000000..c23eceb
--- /dev/null
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/Makefile~nofpu       2004-09-08 19:34:11.000000000 -0500
++++ linux-2.4.22/arch/arm/Makefile     2004-09-08 20:03:34.000000000 -0500
+@@ -76,7 +76,7 @@
+ CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+ CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+-AFLAGS                +=$(apcs-y) $(arch-y) -mno-fpu -msoft-float
++AFLAGS                +=$(apcs-y) $(arch-y) -msoft-float
+ ifeq ($(CONFIG_CPU_26),y)
+ PROCESSOR     := armo
+--- linux-2.4.22/-~nofpu
++++ linux-2.4.22/-
diff --git a/packages/linux/unslung-kernel/short_loadbytes.patch b/packages/linux/unslung-kernel/short_loadbytes.patch
new file mode 100644 (file)
index 0000000..f0b5142
--- /dev/null
@@ -0,0 +1,18 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.22/arch/arm/Makefile~short_loadbytes     2004-09-08 19:34:45.000000000 -0500
++++ linux-2.4.22/arch/arm/Makefile     2004-09-08 19:34:53.000000000 -0500
+@@ -74,8 +74,8 @@
+   tune-$(CONFIG_CPU_XSCALE)   :=-mtune=strongarm
+ endif
+-CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
+-CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) -mshort-load-bytes -msoft-float -Uarm
++CFLAGS_BOOT   :=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
++CFLAGS                +=$(apcs-y) $(arch-y) $(tune-y) $(call check_gcc,-malignment-traps,-mshort-load-bytes) -msoft-float -Uarm
+ AFLAGS                +=$(apcs-y) $(arch-y) -msoft-float
+ ifeq ($(CONFIG_CPU_26),y)
index 6a22591..531f389 100644 (file)
@@ -1,30 +1,61 @@
 SECTION = "kernel"
+DESCRIPTION = "Vendor-compatible Linux kernel for the Linksys NSLU2 device"
+LICENSE = "GPL"
+PR = "r17"
+
+COMPATIBLE_HOST = 'arm.*-linux'
 COMPATIBLE_MACHINE = "nslu2"
 
-require nslu2-linksys-kernel_2.4.22.bb
+UNSLUNG_KERNEL_EXTRA_SRC_URI ?= ""
 
-DESCRIPTION = "Unslung kernel for the Linksys NSLU2 device"
-PR = "r17"
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.4/linux-2.4.22.tar.bz2 \
+          http://nslu.sf.net/downloads/xfs-2.4.22-all-i386.bz2;patch=1 \
+          http://nslu.sf.net/downloads/2.4.22-xfs-nslu2.patch.bz2;patch=1 \
+          file://config-fixes.patch;patch=1 \
+          file://nofpu.patch;patch=1 \
+          file://short_loadbytes.patch;patch=1 \
+          file://gcc3-userfuncs.patch;patch=1 \
+          file://gcc-registerparanoia.patch;patch=1 \
+          file://linux-2.4.24-attribute-used.patch;patch=1 \
+          file://double_cpdo.patch;patch=1 \
+          file://linux-kernel-R25_to_R29.patch;patch=1 \
+          file://linux-kernel-R29_to_R63.patch;patch=1 \
+          file://flash-is-now-hdd.patch;patch=1 \
+          file://gl811e.patch;patch=1 \
+          file://usbnet.patch;patch=1 \
+          file://missing-usb-ioctls.patch;patch=1 \
+          file://anonymiser.patch;patch=1 \
+          file://ppp_mppe.patch;patch=1 \
+          file://nfs-blocksize.patch;patch=1 \
+          file://pl2303.patch;patch=1 \
+          file://pl2303_mdmctl.patch;patch=1 \
+          file://netconsole.patch;patch=1 \
+          file://ppp_mppe_no_fp_in_kernel.patch;patch=1 \
+           file://defconfig \
+          ${UNSLUNG_KERNEL_EXTRA_SRC_URI}"
+S = "${WORKDIR}/linux-2.4.22"
 
-KERNEL_SUFFIX = "unslung"
+inherit kernel
 
+ARCH = "arm"
+KERNEL_IMAGETYPE = "zImage"
+KERNEL_SUFFIX = "unslung"
+CMDLINE_CONSOLE ?= "ttyS0,115200"
 CMDLINE_ROOT = "root=/dev/mtdblock4 rootfstype=jffs2 rw init=/linuxrc mem=32M@0x00000000"
+CMDLINE = "${CMDLINE_CONSOLE} ${CMDLINE_ROOT}"
+
+do_configure_prepend() {
+       install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+       echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >> ${S}/.config
+       rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \
+              ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch
+}
+
+do_deploy() {
+        install -d ${DEPLOY_DIR_IMAGE}
+        install -m 0644 arch/${ARCH}/boot/${KERNEL_IMAGETYPE} ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_SUFFIX}
+}
+
+do_deploy[dirs] = "${S}"
 
-UNSLUNG_KERNEL_EXTRA_SRC_URI ?=
-
-SRC_URI += "file://linux-kernel-R25_to_R29.patch;patch=1 \
-           file://linux-kernel-R29_to_R63.patch;patch=1 \
-           file://flash-is-now-hdd.patch;patch=1 \
-           file://gl811e.patch;patch=1 \
-           file://usbnet.patch;patch=1 \
-           file://missing-usb-ioctls.patch;patch=1 \
-           file://anonymiser.patch;patch=1 \
-           file://ppp_mppe.patch;patch=1 \
-           file://nfs-blocksize.patch;patch=1 \
-           file://pl2303.patch;patch=1 \
-           file://pl2303_mdmctl.patch;patch=1 \
-           file://netconsole.patch;patch=1 \
-           file://ppp_mppe_no_fp_in_kernel.patch;patch=1 \
-           ${UNSLUNG_KERNEL_EXTRA_SRC_URI}"
-
-FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/unslung-kernel', '${FILE_DIRNAME}/nslu2-linksys-kernel-2.4.22', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
+addtask deploy before do_build after do_compile
diff --git a/packages/lirc/lirc-modules_0.8.1.bb b/packages/lirc/lirc-modules_0.8.1.bb
new file mode 100644 (file)
index 0000000..0ef3713
--- /dev/null
@@ -0,0 +1,42 @@
+DESCRIPTION = "LIRC is a package that allows you to decode and send infra-red signals of many commonly used remote controls. This package contains the lirc kernel modules."
+SECTION = "base"
+PRIORITY = "optional"
+HOMEPAGE = "http://www.lirc.org"
+LICENSE = "GPL"
+DEPENDS = "virtual/kernel fakeroot-native setserial"
+RDEPENDS_nslu2 = "setserial"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/lirc/lirc-${PV}.tar.gz"
+S = "${WORKDIR}/lirc-${PV}"
+
+inherit autotools module
+
+require lirc-config.inc
+
+MAKE_TARGETS = "KERNEL_PATH=${STAGING_KERNEL_DIR} MAKE='make -e' -C drivers"
+
+fakeroot do_install() {
+       oe_runmake -C drivers DESTDIR="${D}" moduledir="/lib/modules/${KERNEL_VERSION}/lirc" install
+       rm -rf ${D}/dev
+}
+
+# nslu2 uses udev, so /dev/lirc0 will be created automatically
+# and /dev/lirc will be created by /etc/udev/rules.d/lirc.rules
+# (that's the kernel-2.6+udev solution)
+do_install_append_nslu2() {
+       install -d ${D}${sysconfdir}/modutils/
+       echo 'lirc_serial' > ${D}${sysconfdir}/modutils/lirc_serial
+       install -d ${D}${sysconfdir}/modprobe.d/
+       echo 'install lirc_serial /bin/setserial /dev/ttyS1 uart none; /sbin/leds ready on; /sbin/modprobe --ignore-install lirc_serial' >${D}${sysconfdir}/modprobe.d/lirc_serial
+       install -d ${D}${sysconfdir}/udev/rules.d/
+       echo 'KERNEL="lirc0", SYMLINK="lirc"' > ${D}${sysconfdir}/udev/rules.d/lirc.rules
+}
+
+# this is for distributions that don't use udev
+pkg_postinst_append() {
+if [ ! -c $D/dev/lirc -a ! -f /sbin/udevd ]; then mknod $D/dev/lirc c 61 0; fi
+}
+
+FILES_${PN} = "/lib/modules"
+FILES_${PN}_append_nslu2 = " ${sysconfdir}/modutils ${sysconfdir}/modprobe.d ${sysconfdir}/udev/rules.d"
diff --git a/packages/m4/m4-native_1.4.2.bb b/packages/m4/m4-native_1.4.2.bb
deleted file mode 100644 (file)
index 8beb874..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-require m4_${PV}.bb
-
-inherit native
-
-FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/m4"
-
-INHIBIT_AUTOTOOLS_DEPS = "1"
-DEPENDS += "gnu-config-native"
-
-do_configure()  {
-       install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub .
-       install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess .
-       oe_runconf
-}
-
-do_stage() {
-       install -m 0755 src/m4 ${STAGING_BINDIR}/
-}
-
diff --git a/packages/m4/m4-native_1.4.4.bb b/packages/m4/m4-native_1.4.4.bb
new file mode 100644 (file)
index 0000000..8beb874
--- /dev/null
@@ -0,0 +1,19 @@
+require m4_${PV}.bb
+
+inherit native
+
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/m4"
+
+INHIBIT_AUTOTOOLS_DEPS = "1"
+DEPENDS += "gnu-config-native"
+
+do_configure()  {
+       install -m 0644 ${STAGING_DATADIR}/gnu-config/config.sub .
+       install -m 0644 ${STAGING_DATADIR}/gnu-config/config.guess .
+       oe_runconf
+}
+
+do_stage() {
+       install -m 0755 src/m4 ${STAGING_BINDIR}/
+}
+
diff --git a/packages/m4/m4/make.patch b/packages/m4/m4/make.patch
deleted file mode 100644 (file)
index 3577b0b..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- m4-1.4.2/doc/Makefile.in~make
-+++ m4-1.4.2/doc/Makefile.in
-@@ -57,9 +57,9 @@
-       date > $(srcdir)/stamp-vti
- install: all
--      $(srcdir)/../mkinstalldirs $(infodir)
-+      $(srcdir)/../mkinstalldirs $(DESTDIR)$(infodir)
-       cd $(srcdir) && for file in m4.info*; do \
--        $(INSTALL_DATA) $$file $(infodir)/$$file; \
-+        $(INSTALL_DATA) $$file $(DESTDIR)$(infodir)/$$file; \
-       done
- uninstall:
---- m4-1.4.2/src/Makefile.in~make
-+++ m4-1.4.2/src/Makefile.in
-@@ -35,7 +35,7 @@
- prefix = @prefix@
- exec_prefix = @exec_prefix@
- transform = @program_transform_name@
--bindir = $(exec_prefix)/bin
-+bindir = @bindir@
- COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
- LINK = $(CC) $(LDFLAGS) -o $@
-@@ -84,8 +84,8 @@
-       $(LINK) ansi2knr.o $(LIBS)
- install: all
--      $(srcdir)/../mkinstalldirs $(bindir)
--      $(INSTALL_PROGRAM) m4 $(bindir)/`echo m4 | sed '$(transform)'`
-+      $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir)
-+      $(INSTALL_PROGRAM) m4 $(DESTDIR)$(bindir)/`echo m4 | sed '$(transform)'`
- uninstall:
-       rm -f $(bindir)/`echo m4 | sed '$(transform)'`
diff --git a/packages/m4/m4_1.4.2.bb b/packages/m4/m4_1.4.2.bb
deleted file mode 100644 (file)
index 05a9b5b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro \
-processor."
-LICENSE = "GPL"
-SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
-          file://make.patch;patch=1"
-S = "${WORKDIR}/m4-${PV}"
-
-inherit autotools
-
-EXTRA_AUTORECONF = "--exclude=autopoint,aclocal"
-EXTRA_OEMAKE += "'infodir=${infodir}'"
diff --git a/packages/m4/m4_1.4.4.bb b/packages/m4/m4_1.4.4.bb
new file mode 100644 (file)
index 0000000..0c9f4c3
--- /dev/null
@@ -0,0 +1,10 @@
+DESCRIPTION = "GNU m4 is an implementation of the traditional Unix macro \
+processor."
+LICENSE = "GPL"
+SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz"
+S = "${WORKDIR}/m4-${PV}"
+
+inherit autotools
+
+EXTRA_AUTORECONF = "--exclude=autopoint,aclocal"
+EXTRA_OEMAKE += "'infodir=${infodir}'"
index 84915e0..6349061 100644 (file)
@@ -1,10 +1,12 @@
---- madwifi-ng/hal/public/xscale-be-elf.inc~   2006-02-11 22:34:39.000000000 +1030
-+++ madwifi-ng/hal/public/xscale-be-elf.inc    2006-04-12 06:10:47.736463272 +0930
+Index: madwifi-ng-r1871-20061229/hal/public/xscale-be-elf.inc
+===================================================================
+--- madwifi-ng-r1871-20061229.orig/hal/public/xscale-be-elf.inc        2006-09-14 08:21:22.000000000 +0200
++++ madwifi-ng-r1871-20061229/hal/public/xscale-be-elf.inc     2007-01-24 22:37:23.000000000 +0100
 @@ -77,5 +77,5 @@
  
  LDOPTS=       -EB
  COPTS+=       -DAH_BYTE_ORDER=AH_BIG_ENDIAN
 -COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common -mapcs-32 \
--      -mtune=xscale  -mshort-load-bytes -msoft-float -mfp=2
+-      -mtune=xscale  -mshort-load-bytes
 +COPTS+= -march=armv4 -mbig-endian -fno-strict-aliasing -fno-common \
 +      -mtune=xscale -msoft-float -mfp=2
index 7ab46e1..839bafa 100644 (file)
@@ -1,8 +1,10 @@
---- madwifi-ng/hal/public/xscale-le-elf.inc~   2006-04-12 06:09:56.669226672 +0930
-+++ madwifi-ng/hal/public/xscale-le-elf.inc    2006-04-12 05:52:11.658132968 +0930
+Index: madwifi-ng-r1871-20061229/hal/public/xscale-le-elf.inc
+===================================================================
+--- madwifi-ng-r1871-20061229.orig/hal/public/xscale-le-elf.inc        2006-09-14 08:21:22.000000000 +0200
++++ madwifi-ng-r1871-20061229/hal/public/xscale-le-elf.inc     2007-01-24 22:42:38.000000000 +0100
 @@ -79,4 +79,4 @@
  LDOPTS=       -EL
  COPTS+=       -DAH_BYTE_ORDER=AH_LITTLE_ENDIAN
  COPTS+= -march=armv4 -mlittle-endian -fno-strict-aliasing -fno-common \
--      -mapcs-32 -mtune=xscale  -mshort-load-bytes -msoft-float -mfp=2
+-      -mapcs-32 -mtune=xscale  -mshort-load-bytes
 +      -mtune=xscale -msoft-float -mfp=2
index c82b785..4f38799 100644 (file)
@@ -22,7 +22,8 @@ inherit module-base
 
 EXTRA_OEMAKE = "LDFLAGS= KERNELPATH=${STAGING_KERNEL_DIR} KERNELRELEASE=${KERNEL_VERSION} TOOLPREFIX=${TARGET_PREFIX}"
 
-EXTRA_OEMAKE_prepend_slugos = "TARGET=xscale-${ARCH_BYTE_SEX}-elf "
+EXTRA_OEMAKE_prepend_ixp4xxle = "TARGET=xscale-le-elf "
+EXTRA_OEMAKE_prepend_ixp4xxbe = "TARGET=xscale-be-elf "
 
 do_compile() {
        oe_runmake all
index 3d18717..4d8b4f2 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "MediaTomb - UPnP AV MediaServer for Linux"
 HOMEPAGE = "http://mediatomb.org/"
 LICENSE = "GPLv2"
-DEPENDS = "sqlite3 libexif js zlib file taglib"
+DEPENDS = "sqlite3 libexif js zlib file id3lib"
 PV = "0.8+0.9pre1+svn${SRCDATE}-sqlite"
 PR = "r1"
 
diff --git a/packages/mesa/Make-config.patch b/packages/mesa/Make-config.patch
deleted file mode 100644 (file)
index cfe8890..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
---- mesa/Make-config.orig      2004-06-25 13:09:44.000000000 +0100
-+++ mesa/Make-config   2004-06-25 14:18:27.000000000 +0100
-@@ -643,16 +643,16 @@
-       "GLUT_LIB = libglut.so" \
-       "GLW_LIB = libGLw.so" \
-       "OSMESA_LIB = libOSMesa.so" \
--      "CC = gcc" \
--      "CXX = g++" \
--      "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
--      "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
-+      "CC = $(CC)" \
-+      "CXX = $(CXX)" \
-+      "CFLAGS = -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS $(CFLAGS)" \
-+      "CXXFLAGS = -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE $(CXXFLAGS)" \
-       "GLUT_CFLAGS = -fexceptions" \
--      "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
-+      "GL_LIB_DEPS = $(LDFLAGS) -lX11 -lXext -lm -lpthread" \
-       "OSMESA_LIB_DEPS = -L$(TOP)/lib -lGL" \
-       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
--      "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
--      "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
-+      "GLUT_LIB_DEPS = $(LDFLAGS) -L$(TOP)/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm" \
-+      "GLW_LIB_DEPS = $(LDFLAGS) -L$(TOP)/lib -lGL -lXt -lX11" \
-       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
- linux-static:
diff --git a/packages/mesa/mesa-6.0.1/.mtn2git_empty b/packages/mesa/mesa-6.0.1/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mesa/mesa-6.0.1/Make-config.patch b/packages/mesa/mesa-6.0.1/Make-config.patch
new file mode 100644 (file)
index 0000000..cfe8890
--- /dev/null
@@ -0,0 +1,26 @@
+--- mesa/Make-config.orig      2004-06-25 13:09:44.000000000 +0100
++++ mesa/Make-config   2004-06-25 14:18:27.000000000 +0100
+@@ -643,16 +643,16 @@
+       "GLUT_LIB = libglut.so" \
+       "GLW_LIB = libGLw.so" \
+       "OSMESA_LIB = libOSMesa.so" \
+-      "CC = gcc" \
+-      "CXX = g++" \
+-      "CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS -I/usr/X11R6/include" \
+-      "CXXFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE" \
++      "CC = $(CC)" \
++      "CXX = $(CXX)" \
++      "CFLAGS = -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE -DUSE_XSHM -DPTHREADS $(CFLAGS)" \
++      "CXXFLAGS = -ansi -pedantic -fPIC -ffast-math -D_POSIX_SOURCE -D_POSIX_C_SOURCE=199309L -D_SVID_SOURCE -D_BSD_SOURCE $(CXXFLAGS)" \
+       "GLUT_CFLAGS = -fexceptions" \
+-      "GL_LIB_DEPS = -L/usr/X11R6/lib -lX11 -lXext -lm -lpthread" \
++      "GL_LIB_DEPS = $(LDFLAGS) -lX11 -lXext -lm -lpthread" \
+       "OSMESA_LIB_DEPS = -L$(TOP)/lib -lGL" \
+       "GLU_LIB_DEPS = -L$(TOP)/lib -lGL -lm" \
+-      "GLUT_LIB_DEPS = -L$(TOP)/lib -lGLU -lGL -L/usr/X11R6/lib -lX11 -lXmu -lXt -lXi -lm" \
+-      "GLW_LIB_DEPS = -L$(TOP)/lib -lGL -L/usr/X11R6/lib -lXt -lX11" \
++      "GLUT_LIB_DEPS = $(LDFLAGS) -L$(TOP)/lib -lGLU -lGL -lX11 -lXmu -lXt -lXi -lm" \
++      "GLW_LIB_DEPS = $(LDFLAGS) -L$(TOP)/lib -lGL -lXt -lX11" \
+       "APP_LIB_DEPS = -lglut -lGLU -lGL -lm"
+ linux-static:
diff --git a/packages/mesa/mesa-6.0.1/mklib.patch b/packages/mesa/mesa-6.0.1/mklib.patch
new file mode 100644 (file)
index 0000000..7dc1ec7
--- /dev/null
@@ -0,0 +1,22 @@
+--- mesa/bin/mklib.old 2004-06-25 14:08:41.000000000 +0100
++++ mesa/bin/mklib     2004-06-25 14:23:09.000000000 +0100
+@@ -64,6 +64,7 @@
+       '-install')   shift 1; INSTALLDIR=$1;;
+       '-arch')      shift 1; ARCH=$1;;
+       '-archopt')   shift 1; ARCHOPT=$1;;
++      -Wl*)         DEPS="$DEPS $1";;
+       -*)           echo "mklib: Unknown option: " $1 ; exit 1;;
+       *) break
+     esac
+@@ -137,9 +138,9 @@
+             echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION}
+             if [ $CPLUSPLUS = 1 ] ; then
+-                LINK="g++"
++                LINK="$CXX"
+             else
+-                LINK="gcc"
++                LINK="$CC"
+             fi
+             # rm any old libs
diff --git a/packages/mesa/mesa-6.5.2/.mtn2git_empty b/packages/mesa/mesa-6.5.2/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/mesa/mesa-6.5.2/mklib-rpath-link.patch b/packages/mesa/mesa-6.5.2/mklib-rpath-link.patch
new file mode 100644 (file)
index 0000000..e59513a
--- /dev/null
@@ -0,0 +1,23 @@
+--- Mesa/bin/mklib.orig        2006-06-04 20:56:22.000000000 -0600
++++ Mesa/bin/mklib     2006-06-04 20:57:04.000000000 -0600
+@@ -98,6 +98,9 @@
+       -L*)
+           DEPS="$DEPS $1"
+           ;;
++      -Wl*)
++          DEPS="$DEPS $1"
++          ;;
+       '-cplusplus')
+           CPLUSPLUS=1
+           ;;
+--- Mesa-6.5.2/configs/default.old     2007-01-26 11:49:32.000000000 +0000
++++ Mesa-6.5.2/configs/default 2007-01-26 11:49:49.000000000 +0000
+@@ -73,7 +73,7 @@
+ GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) -lm
+ GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lX11 -lXmu -lXt -lXi -lm
+ GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GL_LIB) $(EXTRA_LIB_PATH) -lXt -lX11
+-APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
++APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) $(EXTRA_LIB_PATH) -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
diff --git a/packages/mesa/mesa-common.inc b/packages/mesa/mesa-common.inc
new file mode 100644 (file)
index 0000000..18e9b4e
--- /dev/null
@@ -0,0 +1,9 @@
+SECTION = "x11"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${PV}.tar.bz2 \
+       file://mklib-rpath-link.patch;patch=1"
+S = "${WORKDIR}/Mesa-${PV}"
+
+LICENSE = "LGPL"
+
+DEPENDS = "makedepend-native xf86vidmodeproto glproto virtual/libx11 libxext libxxf86vm libxi libxmu libice"
diff --git a/packages/mesa/mesa-dri_6.5.2.bb b/packages/mesa/mesa-dri_6.5.2.bb
new file mode 100644 (file)
index 0000000..9255a92
--- /dev/null
@@ -0,0 +1,37 @@
+include mesa-common.inc
+
+FILESPATH = "${FILE_DIRNAME}/mesa-${PV}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
+
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+PR = "r0"
+
+DEPENDS += "libdrm"
+
+do_configure() {
+       cd configs
+
+       ln -sf linux-dri current
+       sed -e "s%CC *= *.*%CC = ${CC}%" -i current
+       sed -e "s%CXX *= *.*%CXX = ${CXX}%" -i current
+       sed -e "s%LD *= *.*%LD = ${LD}%" -i current
+       sed -e "s%OPT_FLAGS *= *.*%OPT_FLAGS = ${TARGET_CFLAGS}%" -i current
+       sed -e "s%X11_INCLUDES *= *.*%X11_INCLUDES = -I${STAGING_INCDIR}/X11%" -i current
+       sed -e "s%EXTRA_LIB_PATH *= *.*%EXTRA_LIB_PATH = ${LDFLAGS}%" -i current
+       sed -i s:\$\(CC\):gcc:g  ../src/mesa/x86/Makefile
+       echo "SRC_DIRS = mesa" >> current
+       echo "DRI_DRIVER_INSTALL_DIR = ${D}${libdir}/dri" >> current
+}
+
+do_install() {
+       oe_runmake -C src/mesa/drivers/dri install
+}
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug"
+
+python populate_packages_prepend () {
+        import re, os.path
+
+        do_split_packages(d, root=bb.data.expand('${libdir}/dri', d), file_regex='(.*)_dri\.so', output_pattern='mesa-dri-driver-%s', description='%s DRI driver')
+}
+
diff --git a/packages/mesa/mesa-mesa.inc b/packages/mesa/mesa-mesa.inc
new file mode 100644 (file)
index 0000000..a4163f5
--- /dev/null
@@ -0,0 +1,41 @@
+include mesa-common.inc
+
+PACKAGES =+ "libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev"
+
+FILES_libgl = "${libdir}/libGL.so.*"
+FILES_libglu = "${libdir}/libGLU.so.*"
+FILES_libosmesa = "${libdir}/libOSMesa.so.*"
+
+FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL"
+FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h"
+FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
+
+do_configure() {
+       cd configs
+
+       ln -sf linux current
+       sed -e "s%CC *= *.*%CC = ${CC}%" -i current
+       sed -e "s%CXX *= *.*%CXX = ${CXX}%" -i current
+       sed -e "s%LD *= *.*%LD = ${LD}%" -i current
+       sed -e "s%OPT_FLAGS *= *.*%OPT_FLAGS = ${TARGET_CFLAGS}%" -i current
+       sed -e "s%X11_INCLUDES *= *.*%X11_INCLUDES = -I${STAGING_INCDIR}/X11%" -i current
+       sed -e "s%EXTRA_LIB_PATH *= *.*%EXTRA_LIB_PATH = ${LDFLAGS}%" -i current
+       sed -i s:\$\(CC\):gcc:g  ../src/mesa/x86/Makefile
+       echo "SRC_DIRS = mesa glu glut/glx" >> current
+}
+
+do_compile() {
+       oe_runmake default
+}
+
+do_install() {
+       install -d ${D}${libdir}
+       cp -pP lib/* ${D}${libdir}/
+       install -d ${D}${includedir}
+       cp -R include/GL ${D}${includedir}/
+}
+
+do_stage() {
+        cp -pP lib/* ${STAGING_LIBDIR}/
+        cp -R include/GL ${STAGING_INCDIR}/
+}
diff --git a/packages/mesa/mesa_6.5.2.bb b/packages/mesa/mesa_6.5.2.bb
new file mode 100644 (file)
index 0000000..1c245f0
--- /dev/null
@@ -0,0 +1,3 @@
+PR = "r0"
+
+include mesa-mesa.inc
diff --git a/packages/mesa/mklib.patch b/packages/mesa/mklib.patch
deleted file mode 100644 (file)
index 7dc1ec7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- mesa/bin/mklib.old 2004-06-25 14:08:41.000000000 +0100
-+++ mesa/bin/mklib     2004-06-25 14:23:09.000000000 +0100
-@@ -64,6 +64,7 @@
-       '-install')   shift 1; INSTALLDIR=$1;;
-       '-arch')      shift 1; ARCH=$1;;
-       '-archopt')   shift 1; ARCHOPT=$1;;
-+      -Wl*)         DEPS="$DEPS $1";;
-       -*)           echo "mklib: Unknown option: " $1 ; exit 1;;
-       *) break
-     esac
-@@ -137,9 +138,9 @@
-             echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}.so.${VERSION}
-             if [ $CPLUSPLUS = 1 ] ; then
--                LINK="g++"
-+                LINK="$CXX"
-             else
--                LINK="gcc"
-+                LINK="$CC"
-             fi
-             # rm any old libs
diff --git a/packages/musicpd/glurp_0.11.3.bb b/packages/musicpd/glurp_0.11.3.bb
new file mode 100644 (file)
index 0000000..4d9449c
--- /dev/null
@@ -0,0 +1,12 @@
+DESCRIPTION = "glurp - frontend for mpd"
+HOMEPAGE = "http://www.musicpd.org/glurp.shtml"
+LICENSE = "GPLv2"
+SECTION = "gnome/multimedia"
+DEPENDS = "gtk+ libglade"
+PR = "r0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/glurp/glurp-${PV}.tar.gz"
+
+LDFLAGS += "-export-dynamic"
+
+inherit autotools
diff --git a/packages/musicpd/glurp_0.11.6.bb b/packages/musicpd/glurp_0.11.6.bb
deleted file mode 100644 (file)
index 4d9449c..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-DESCRIPTION = "glurp - frontend for mpd"
-HOMEPAGE = "http://www.musicpd.org/glurp.shtml"
-LICENSE = "GPLv2"
-SECTION = "gnome/multimedia"
-DEPENDS = "gtk+ libglade"
-PR = "r0"
-
-SRC_URI = "${SOURCEFORGE_MIRROR}/glurp/glurp-${PV}.tar.gz"
-
-LDFLAGS += "-export-dynamic"
-
-inherit autotools
diff --git a/packages/musicpd/gmpc_0.13.0.bb b/packages/musicpd/gmpc_0.13.0.bb
new file mode 100644 (file)
index 0000000..3d9c668
--- /dev/null
@@ -0,0 +1,12 @@
+DESCRIPTION = "GTK+ Frontend for mpd"
+HOMEPAGE = "http://www.musicpd.org/gmpc.shtml"
+LICENSE = "GPLv2"
+SECTION = "gnome/multimedia"
+DEPENDS = "libmpd gtk+ libglade gnome-vfs"
+PR = "r0"
+
+SRC_URI = "http://download.qballcow.nl/programs/gmpc-0.13/gmpc-${PV}.tar.gz"
+
+LDFLAGS += "-export-dynamic"
+
+inherit autotools
diff --git a/packages/musicpd/gmpc_svn.bb b/packages/musicpd/gmpc_svn.bb
new file mode 100644 (file)
index 0000000..9c03faa
--- /dev/null
@@ -0,0 +1,15 @@
+DESCRIPTION = "GTK+ Frontend for mpd"
+HOMEPAGE = "http://www.musicpd.org/gmpc.shtml"
+LICENSE = "GPLv2"
+SECTION = "gnome/multimedia"
+DEPENDS = "libmpd gtk+ libglade gnome-vfs gob2"
+SRCDATE = "20070120"
+PV = "0.13.0+svn${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://svn.musicpd.org/gmpc;module=trunk;proto=https"
+S = "${WORKDIR}/trunk"
+
+LDFLAGS += "-export-dynamic"
+
+inherit autotools
diff --git a/packages/musicpd/libmpd_svn.bb b/packages/musicpd/libmpd_svn.bb
new file mode 100644 (file)
index 0000000..eea7b95
--- /dev/null
@@ -0,0 +1,22 @@
+DESCRIPTION = "Music Player Daemon (mpd) library"
+HOMEPAGE = "http://www.musicpd.org"
+LICENSE = "GPLv2"
+SECTION = "lib/multimedia"
+SRCDATE = "20070120"
+PV = "0.0.0+svn${SRCDATE}"
+PR = "r0"
+
+SRC_URI = "svn://svn.musicpd.org/libmpd;module=trunk;proto=https"
+S = "${WORKDIR}/trunk"
+
+inherit autotools pkgconfig
+
+do_stage_append() {
+    oe_libinstall -C src libmpd ${STAGING_LIBDIR}
+    install -d ${STAGING_INCDIR}/libmpd
+    cd src
+    for i in *.h; do
+        install -m 0644 $i ${STAGING_INCDIR}/libmpd/$i
+    done
+    cd ..
+}
diff --git a/packages/musicpd/mpd/fix-mod-support.patch b/packages/musicpd/mpd/fix-mod-support.patch
new file mode 100644 (file)
index 0000000..f9010ab
--- /dev/null
@@ -0,0 +1,23 @@
+Index: mpd/src/inputPlugins/mod_plugin.c
+===================================================================
+--- mpd.orig/src/inputPlugins/mod_plugin.c
++++ mpd/src/inputPlugins/mod_plugin.c
+@@ -62,10 +62,16 @@ static MDRIVER drv_mpd = {
+       NULL,
+       "MPD",
+       "MPD Output Driver v0.1",
++
+       0,
+       255,
+-      "mpd",
+-      NULL,
++#if (LIBMIKMOD_VERSION > 0x030106)
++    "mpd", /* alias */
++    NULL, /* cmd help line*/
++#endif
++#if (LIBMIKMOD_VERSION >= 0x030200)
++    NULL, /*Command Line */
++#endif
+       mod_mpd_IsThere,
+       VC_SampleLoad,
+       VC_SampleUnload,
diff --git a/packages/musicpd/mpd_svn.bb b/packages/musicpd/mpd_svn.bb
new file mode 100644 (file)
index 0000000..3478bc7
--- /dev/null
@@ -0,0 +1,36 @@
+DESCRIPTION = "Music Player Daemon (mpd)"
+HOMEPAGE = "http://www.musicpd.org"
+LICENSE = "GPLv2"
+SECTION = "console/multimedia"
+DEPENDS = "libvorbis libogg libid3tag libao zlib libmikmod libmad flac audiofile virtual/libiconv faad2 pulseaudio"
+SRCDATE = "20070120"
+PV = "0.12.1+svn${SRCDATE}"
+PR = "r2"
+
+SRC_URI = "svn://svn.musicpd.org/mpd;module=trunk;proto=https \
+           file://fix-mod-support.patch;patch=1"
+#           file://save-volume-state.patch;patch=1"
+S = "${WORKDIR}/trunk"
+
+inherit autotools
+
+# Setting --enable-mpd-{mad,id3tag} causes local caches of the libraries to
+# be built, instead we use the OE built versions which should be installed
+# in staging - remove the --with and replace with --enable to use the local
+# versions.
+
+EXTRA_OECONF = "--enable-ogg \
+               --with-id3tag-libraries=${STAGING_LIBDIR} \
+               --with-id3tag-includes=${STAGING_INCDIR} \
+               --with-mad-libraries=${STAGING_LIBDIR} \
+               --with-mad-includes=${STAGING_INCDIR} \
+        --with-faad-libraries=${STAGING_LIBDIR} \
+               --with-faad-includes=${STAGING_INCDIR} \
+        --disable-jack \
+        --enable-pulse \
+        --enable-mod \
+        --disable-oggflac"
+
+do_compile_prepend() {
+    find -name Makefile | xargs sed -i 's~-I/usr/include~-I${STAGING_INCDIR}~g'
+}
diff --git a/packages/musicpd/py-libmpdclient_0.10.0.bb b/packages/musicpd/py-libmpdclient_0.10.0.bb
new file mode 100644 (file)
index 0000000..675567e
--- /dev/null
@@ -0,0 +1,10 @@
+DESCRIPTION = "Python library for Music Player Daemon (mpd)"
+HOMEPAGE = "http://www.musicpd.org/py-libmpdclient.shtml"
+LICENSE = "GPLv2"
+SECTION = "lib/multimedia"
+DEPENDS = "libmpd python"
+PR = "r0"
+
+SRC_URI = "http://mercury.chem.pitt.edu/~shank/py-libmpdclient-${PV}.tar.gz"
+
+inherit distutils
index b53393e..b87e0be 100644 (file)
@@ -1,4 +1,4 @@
-PV = "1.9"
+PV = "1.10"
 PR = "r0"
 
 RDEPENDS_${PN} = "font-misc-misc"
index 51ccb79..8ac4bf8 100755 (executable)
@@ -16,8 +16,8 @@ mkdir /var/lib/config
 cd /var/lib/config
 
 for fn in $files; do
-  if ! tftp -g $serverid -r $bootdir/mythfront/$ip/$fn -l $fn; then
-    if ! tftp -g $serverid -r $bootdir/mythfront/default/$fn -l $fn; then
+  if ! tftp -g $siaddr -r $bootdir/mythfront/$ip/$fn -l $fn; then
+    if ! tftp -g $siaddr -r $bootdir/mythfront/default/$fn -l $fn; then
       rm -f $fn
     fi
   fi
diff --git a/packages/mythtv/mythtv.inc b/packages/mythtv/mythtv.inc
new file mode 100644 (file)
index 0000000..4ceda5d
--- /dev/null
@@ -0,0 +1,32 @@
+DESCRIPTION = "A full featured personal video recorder system."
+HOMEPAGE = "http://www.mythtv.org"
+LICENSE = "GPL"
+SECTION = "x11/multimedia"
+DEPENDS = "libxinerama lame libxv libxxf86vm libxvmc lirc qt-x11-free"
+RDEPENDS_${PN} = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
+
+SRC_URI = "http://www.mythtv.org/mc/mythtv-${PV}.tar.bz2"
+
+inherit qmake qt3x11
+
+# there is a -march=586 somewhere in the source tree
+COMPATIBLE_HOST = 'i.86.*-linux'
+
+QMAKE_PROFILES = "mythtv.pro"
+
+def mythtv_arch(d):
+        import bb, re
+        arch = bb.data.getVar('TARGET_ARCH', d, 1)
+        if re.match("^i.86$", arch):
+                arch = "x86"
+        elif arch == "x86_64":
+                arch = "x86"
+        elif arch == "arm":
+                arch = "armv4l"
+        return arch
+
+MYTHTV_ARCH := "${@mythtv_arch(d)}"
+
+do_install() {
+       oe_runmake INSTALL_ROOT=${D} install
+}
index 2686fa8..1602ce0 100644 (file)
@@ -1,34 +1,10 @@
-DESCRIPTION = "A full featured personal video recorder system."
-HOMEPAGE = "http://www.mythtv.org"
-LICENSE = "GPL"
-SECTION = "x11/multimedia"
-DEPENDS = "libxinerama lame libxv libxxf86vm libxvmc lirc qt-x11-free"
-RDEPENDS = "qt-x11-plugins-sqldrivers qt-x11-plugins-imageformats"
-PR = "r1"
-
-SRC_URI = "http://www.mythtv.org/mc/mythtv-${PV}.tar.bz2 \
-       file://msmpeg-underscore-pic.patch;patch=1 \
-       file://settings.pro"
-
-inherit qmake qt3x11
-
-# there is a -march=586 somewhere in the source tree
-COMPATIBLE_HOST = 'i.86.*-linux'
+require mythtv.inc
 
-QMAKE_PROFILES = "mythtv.pro"
+PR = "r1"
 
-def mythtv_arch(d):
-        import bb, re
-        arch = bb.data.getVar('TARGET_ARCH', d, 1)
-        if re.match("^i.86$", arch):
-                arch = "x86"
-        elif arch == "x86_64":
-                arch = "x86"
-        elif arch == "arm":
-                arch = "armv4l"
-        return arch
+SRC_URI += "file://msmpeg-underscore-pic.patch;patch=1 \
+           file://settings.pro"
 
-MYTHTV_ARCH := "${@mythtv_arch(d)}"
 
 do_configure_prepend() {
 # it's not autotools anyway, so we call ./configure directly
@@ -70,8 +46,3 @@ do_configure_prepend() {
        sed 's!PREFIX =.*!PREFIX = ${prefix}!' < settings.pro > settings.pro.new
        mv settings.pro.new settings.pro
 }
-
-do_install() {
-       oe_runmake INSTALL_ROOT=${D} install
-}
-
index e2680eb..c9e2fdc 100644 (file)
@@ -1,18 +1,13 @@
-DESCRIPTION = "A full featured personal video recorder system."
-HOMEPAGE = "http://www.mythtv.org"
-LICENSE = "GPL"
-SECTION = "x11/multimedia"
-DEPENDS = "libxinerama lame libxv libxxf86vm libxvmc lirc qt-x11-free openchrome"
-PR = "r0"
+require mythtv.inc
 
-SRC_URI = "http://www.mythtv.org/mc/mythtv-${PV}.tar.bz2 \
-       file://configure.patch;patch=1 \
-       file://libmyth-libdir.patch;patch=1"
+DEPENDS += "openchrome"
+PR = "r0"
 
-inherit qmake qt3x11
+SRC_URI += "file://configure.patch;patch=1 \
+            file://libmyth-libdir.patch;patch=1"
 
-# there is a -march=586 somewhere in the source tree
-COMPATIBLE_HOST = 'i.86.*-linux'
+# Seen on the mythtv web page:
+# http://www.mythtv.org/mc/fix-mythweb-in-0.20.diff;patch=1
 
 QMAKE_PROFILES = "mythtv.pro"
 
@@ -28,6 +23,8 @@ FILES_mythtv-data = "${datadir}"
 RDEPENDS_${PN} = "mythtv-backend mythtv-frontend mythtv-bin mythtv-filters mythtv-data"
 ALLOW_EMPTY_${PN} = "1"
 
+PACKAGES_DYNAMIC = "mythtv-theme-*"
+
 python __anonymous () {
     import bb
 
@@ -42,20 +39,6 @@ python __anonymous () {
 
     bb.data.setVar("PACKAGES", packages, d)
 }
-
-def mythtv_arch(d):
-        import bb, re
-        arch = bb.data.getVar('TARGET_ARCH', d, 1)
-        if re.match("^i.86$", arch):
-                arch = "x86"
-        elif arch == "x86_64":
-                arch = "x86"
-        elif arch == "arm":
-                arch = "armv4l"
-        return arch
-
-MYTHTV_ARCH := "${@mythtv_arch(d)}"
-
 do_configure_prepend() {
 # it's not autotools anyway, so we call ./configure directly
        find . -name "Makefile"|xargs rm -f
@@ -76,10 +59,6 @@ do_configure_prepend() {
        mv settings.pro.new settings.pro
 }
 
-do_install() {
-       oe_runmake INSTALL_ROOT=${D} install
-}
-
 python populate_packages_prepend () {
        new_packages = []
 
diff --git a/packages/obsolete/nslu2/.mtn2git_empty b/packages/obsolete/nslu2/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel.inc b/packages/obsolete/nslu2/nslu2-kernel.inc
new file mode 100644 (file)
index 0000000..6b86610
--- /dev/null
@@ -0,0 +1,256 @@
+# Standard definitions for any NSLU2 Linux kernel.
+# Include this file in a .bb which specifies, at least,
+# PN,PV,PR for the desired kernel
+#
+# Define the following *before* including this file as
+# required:
+#
+# N2K_PATCHES - full list of patches to apply, to add files
+#   generate a patch against /dev/null
+# N2K_SUFFIX - the suffix to add after 'zImage-' in the
+#   deploy/images directory, should identify the image config
+#
+# DEFAULT_PREFERENCE is set automagically in this file as
+# follows:
+#
+#  10  For *released* kernels
+#   8  For mm or ac patched versions of released kernels
+#   6  For rc patched kernels (release candidates)
+#   4  For mm or ac patched rc (release candidate) kernels
+#   2  For pre or bk versions
+#   0  For mm or ac patched pre or bk versions
+#
+# --------------------------------------------------------------
+#
+# Within this file bitbake variables local to the file are
+# named N2K_FOO
+#
+SECTION = "kernel"
+DESCRIPTION = "Linux kernel for the Linksys NSLU2 device"
+LICENSE = "GPL"
+
+DEPENDS += "devio-native"
+
+# Linux kernel source has the general form linux-X.Y.Z-patchP,
+# X.Y is the major version number, Z (which may have multiple
+# parts) is a sub-version and 'patch' is something like 'mm' or
+# 'ac' with a patch version.  The original bz2 archive will be
+# in a directory/file vX.Y/linux-X.Y.Z.tar.bz2.  The unpacked
+# source will be in the directory linux-X.Y.Z and this directory
+# name corresponds to the module directory (in /lib/modules).
+#
+# The corresponding .bb file should be called:
+#
+#      package_X.Y.Z-patchP
+#
+# Giving PN=package PV=X.Y.Z-patchP (and PR is set in the .bb
+# file).  Files, including the all important defconfig, are
+# searched for in the following directories (last one first):
+#
+#      nslu2-kernel/files
+#      nslu2-kernel/X.Y
+#      nslu2-kernel/X.Y.Z
+#      nslu2-kernel/X.Y.Z-patch
+#      nslu2-kernel/X.Y.Z-patchP
+#      package-X.Y.Z-patchP
+#
+# This allows sharing of patch files and other useful source!
+# To share a file or patch with an earlier version put it in
+# the shared directory - e.g. to use foo.patch on 2.6.11.2 and
+# 2.6.11.4 it should be in directory nslu2-kernel/2.6.11.
+#
+# Note that when there are multiple patches the X.Y.Z-patch form
+# uses base-patch (e.g. 2.6.12-mm) whereas X.Y.Z-patchP has the
+# full form, for example 2.6.12-rc3-mm1 (in the same case).
+
+#PN=package-name
+#PV=package-version (full)
+
+# The patch has the general form (rcN|preN|acN|mmN|bkN)* with the
+# separate patch items being separated by '-' characters.  The
+# rc patch is first and has the important property that it
+# requires the *preceding* kernel base version and that this
+# will be the source directory name.
+python () {
+    # The patches list may be empty.  This code starts with the base
+    # kernel version and steps through the patches.  Because the rc and
+    # pre patches actually require the *preceding* kernel version the code
+    # fixes that up appropriately.
+    pv = bb.data.getVar("PV",d,1).split('-')
+    kernel = pv[0].split('.')
+    base = pv[0]
+    name = [base]
+    major = '.'.join(name[0].split('.')[0:2])
+    minor = '.'.join(name[0].split('.')[0:3])
+    patch_uri = [ None ]
+    filedir = "${FILE_DIRNAME}/nslu2-kernel/%s"
+    # This entry will become the last one (everything is inserted before it)
+    filepath = [ filedir % "files" ]
+    pref = 10
+    mmac = 0
+    for patch in pv[1:]:
+       name.append(patch)
+       pname = '-'.join(name)
+       if patch[0:2] == "rc" or patch[0:3] == "pre":
+           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/testing/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname))
+           kernel[-1] = str(int(kernel[-1]) - 1)
+           if patch[0:2] == "rc" and pref == 10:
+               pref = 6
+               filepath[0:0] = [ filedir % name[0] ]
+               filepath[0:0] = [ filedir % (name[0] + "-rc") ]
+           else:
+               pref = 2
+       elif patch[0:2] == "bk" or patch[0:3] == "git":
+           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/v%s/snapshots/patch-%s.bz2;patch=1;pname=%s" % (major, pname, pname))
+           pref = 2
+       elif patch[0:2] == "ac":
+           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/alan/linux-%s/%s/patch-%s" % (major, base, pname))
+           mmac = 2
+           filepath[0:0] = [ filedir % (name[0] + "-ac") ]
+       elif patch[0:2] == "mm":
+           patch_uri.append("${KERNELORG_MIRROR}/pub/linux/kernel/people/akpm/patches/%s/%s/%s/%s.bz2;patch=1;pname=%s" % (major, base, pname, pname, pname))
+           mmac = 2
+           filepath[0:0] = [ filedir % (name[0] + "-mm") ]
+       else:
+           raise bb.build.FuncFailed("nslu2-kernel: patch %s not recognized in %s" % (patch, '-'.join(pv)))
+       filepath[0:0] = [ filedir % pname ]
+       base = pname
+
+    base = '.'.join(kernel)
+    patch_uri[0] = "${KERNELORG_MIRROR}/pub/linux/kernel/v%s/linux-%s.tar.bz2" % (major, base)
+    filepath[-1:-1] = [ filedir % base ]
+    if base != minor:
+           filepath[-1:-1] = [ filedir % minor ]
+    filepath[-1:-1] = [ filedir % major ]
+
+    bb.data.setVar("N2K_SRCMAJ", major, d)
+    # bb.note("N2K_SRCMAJ := %s" % major)
+    bb.data.setVar("N2K_SRCVER", base, d)
+    # bb.note("N2K_SRCVER := %s" % base)
+    bb.data.setVar("N2K_SRCURI", ' '.join(patch_uri), d)
+    # bb.note("N2K_SRCURI := %s" % ' '.join(patch_uri))
+    bb.data.setVar("N2K_FILESPATH", ':'.join(filepath), d)
+    # bb.note("N2K_FILESPATH := %s" % ' '.join(filepath))
+    bb.data.setVar("DEFAULT_PREFERENCE", pref-mmac, d)
+    # bb.note("DEFAULT_PREFERENCE := %s" % (pref-mmac))
+}
+
+# FILESPATH: this list is in order last-searched-first, therefore
+# the first entry is the *latest* and/or most specific
+FILESPATH = "${FILE_DIRNAME}/${P}:${N2K_FILESPATH}"
+
+# The working directory will be the 'base' version (which may not be the
+# same as implied by the PV variable because it corresponds to the prior
+# minor version for rc and pre patched versions).
+S = "${WORKDIR}/linux-${N2K_SRCVER}"
+
+# N2K_PATCHES is the list of patches.
+N2K_PATCHES ?= ""
+
+# Image suffix - actually set in conf/machine/nslu2.conf as it is also
+# used by anything which needs to know the name of the generated image.
+# Should be overridden in the distro if patches or defconfig are changed.
+N2K_SUFFIX ?= "nslu2${SITEINFO_ENDIANESS}"
+
+SRC_URI  = "${N2K_SRCURI}"
+SRC_URI += "${N2K_PATCHES}"
+SRC_URI += "file://defconfig"
+
+COMPATIBLE_HOST = 'arm.*-linux'
+
+inherit kernel
+
+ARCH = "arm"
+KERNEL_IMAGETYPE = "zImage"
+# To specify the console set KERNEL_CONSOLE in the .bb file.
+# CMDLINE_ROOT contains the boot options, CMDLINE_KERNEL_OPTIONS
+# contains the things for a specific kernel.
+CMDLINE_KERNEL_OPTIONS ?= "reboot=s"
+CMDLINE_ROOT ?= "root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc"
+# Add distro specific debug (or non-debug) options to this
+CMDLINE_DEBUG ?= ""
+CMDLINE = "${CMDLINE_ROOT} ${CMDLINE_KERNEL_OPTIONS} ${CMDLINE_DEBUG} ${CMDLINE_CONSOLE}"
+
+# Set EXTRAVERSION and LOCALVERSION to "" so that the kernel version
+# remains pinned to the x.y.z form, also turn off the directory
+# printing which provides almost all the output of an incremental build.
+EXTRA_OEMAKE += "EXTRAVERSION="
+EXTRA_OEMAKE += "LOCALVERSION="
+EXTRA_OEMAKE += "MAKEFLAGS='--no-print-directory'"
+
+addtask unpacklocal before do_patch after do_unpack
+
+# NOTE: in MM kernel builds the config options (oldconfig, menuconfig
+# and so on) do not allow an option to be overridden, so the following
+# removes the options which must be changed.
+do_configure_prepend() {
+       rm -f ${S}/.config
+       echo "CONFIG_CMDLINE=\"${CMDLINE}\"" >>'${S}/.config'
+       if test '${SITEINFO_ENDIANESS}' = be
+       then
+               echo 'CONFIG_CPU_BIG_ENDIAN=y' >>'${S}/.config'
+       fi
+       if test '${SLUGOS_IMAGESEX}' = big-endian
+       then
+               echo 'CONFIG_JFFS2_BIG_ENDIAN=y' >>'${S}/.config'
+       fi
+       if test '${SLUGOS_IMAGESEX}' = little-endian
+       then
+               echo 'CONFIG_JFFS2_LITTLE_ENDIAN=y' >>'${S}/.config'
+       fi
+       sed -e '/CONFIG_CPU_BIG_ENDIAN/d' -e '/CONFIG_CMDLINE=/d' \
+               -e '/CONFIG_JFFS2_NATIVE_ENDIAN=/d' \
+               -e '/CONFIG_JFFS2_BIG_ENDIAN=/d' \
+               -e '/CONFIG_JFFS2_LITTLE_ENDIAN=/d' \
+               '${WORKDIR}/defconfig' >>'${S}/.config'
+       rm -rf ${S}/include/asm-arm/arch ${S}/include/asm-arm/proc \
+              ${S}/include/asm-arm/.proc ${S}/include/asm-arm/.arch
+}
+
+# This function adds the required prefix to the image to deal with two
+# problems:
+#
+# 1) The machine type set by RedBoot is wrong - the type for an ixdp425, not an NSLU2
+#    e3a01c02 e3811055
+# 2) For LE kernels it is necessary to prefix change-to-le code to the kernel image:
+#    ee110f10 e3c00080 ee010f10
+#    and to byte swap the (LE) image to match the BE flash layout
+#
+# The argument to the function is the destination directory
+redboot_fixup_armeb() {
+       rm -f "$1".new
+       devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \
+               'wb 0xe3a01c02,4' \
+               'wb 0xe3811055,4' \
+               'cp$'
+       mv "$1".new "$1"
+}
+
+redboot_fixup_arm() {
+       rm -f "$1".new
+       devio '<<arch/${ARCH}/boot/${KERNEL_IMAGETYPE}' >"$1".new \
+               'wb 0xe3a01c02,4' \
+               'wb 0xe3811055,4' \
+               'wb 0xee110f10,4' \
+               'wb 0xe3c00080,4' \
+               'wb 0xee010f10,4' \
+               'xp $,4' || {
+               echo 'ERROR: arch/${ARCH}/boot/${KERNEL_IMAGETYPE}: failed to byteswap zImage' >&2
+               return 1
+       }
+       mv "$1".new "$1"
+}
+
+do_install_append() {
+       redboot_fixup '${STAGING_KERNEL_DIR}/${KERNEL_IMAGETYPE}'
+}
+
+do_deploy[dirs] = "${S}"
+do_deploy() {
+        install -d ${DEPLOY_DIR_IMAGE}
+       redboot_fixup '${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${N2K_SUFFIX}'
+}
+
+addtask deploy before do_build after do_compile
+
+COMPATIBLE_MACHINE = "nslu2"
diff --git a/packages/obsolete/nslu2/nslu2-kernel/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/bootramdisk.patch
new file mode 100644 (file)
index 0000000..c03a0d9
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.11/arch/arm/kernel/setup.c.orig  Mon Mar  7 09:41:40 2005
++++ linux-2.6.11/arch/arm/kernel/setup.c       Mon Mar  7 09:42:15 2005
+@@ -431,8 +431,10 @@
+       rd_prompt = prompt;
+       rd_doload = doload;
++#if 0 /* rd_size is not exported by 2.6.11-mm1 */
+       if (rd_sz)
+               rd_size = rd_sz;
++#endif
+ #endif
+ }
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/defconfig
new file mode 100644 (file)
index 0000000..7ca968a
--- /dev/null
@@ -0,0 +1,1204 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.11-mm4
+# Sat May  7 11:48:09 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_ARCH_NSLU2=y
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+CONFIG_DMABOUNCE=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+CONFIG_CPU_MINICACHE=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMB_INTERWORK is not set
+# CONFIG_ARCH_XSCALE is not set
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+
+#
+# General setup
+#
+CONFIG_PCI=y
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+# CONFIG_XIP_KERNEL is not set
+# CONFIG_PCI_LEGACY_PROC is not set
+# CONFIG_PCI_NAMES is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# At least one math emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_FASTFPE is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+# CONFIG_PM is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_ARTHUR is not set
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8"
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_PCI is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_FD is not set
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+# CONFIG_NETLINK_DEV is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=m
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_KGDBOE is not set
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_ISCSI_IF is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_IOP3XX is not set
+# CONFIG_I2C_ISA is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+CONFIG_I2C_SENSOR=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+CONFIG_SENSORS_X1205=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+# CONFIG_EXT2_FS_XATTR is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISER4_FS=m
+# CONFIG_REISER4_DEBUG is not set
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_JFFS2_FS_NAND is not set
+# CONFIG_JFFS2_FS_NOR_ECC is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V4 is not set
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+# CONFIG_CIFS_XATTR is not set
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# Misc devices
+#
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_RW_DETECT is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_GENESYS=y
+CONFIG_USB_NET1080=y
+CONFIG_USB_PL2301=y
+CONFIG_USB_KC2190=y
+
+#
+# Intelligent USB Devices/Gadgets
+#
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ZAURUS=y
+CONFIG_USB_CDCETHER=y
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/reiser4.patch
new file mode 100644 (file)
index 0000000..b752dda
--- /dev/null
@@ -0,0 +1,617 @@
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.c     2005-03-27 21:36:10.656270448 -0800
++++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.c 2005-03-27 23:39:18.967076480 -0800
+@@ -467,19 +467,15 @@
+       return 0;
+ }
+-#define FORMAT40_ROOT_LOCALITY 41
+-#define FORMAT40_ROOT_OBJECTID 42
++#define FORMAT40_ROOT_LOCALITY 41ull
++#define FORMAT40_ROOT_OBJECTID 42ull
+ /* plugin->u.format.root_dir_key */
+ reiser4_internal const reiser4_key *
+ root_dir_key_format40(const struct super_block *super UNUSED_ARG)
+ {
+       static const reiser4_key FORMAT40_ROOT_DIR_KEY = {
+-              .el = {{(FORMAT40_ROOT_LOCALITY << 4) | KEY_SD_MINOR},
+-#if REISER4_LARGE_KEY
+-                     {0ull},
+-#endif
+-                     {FORMAT40_ROOT_OBJECTID}, {0ull}}
++              .el = { KEY_INIT(KEY_SD_MINOR,FORMAT40_ROOT_LOCALITY,0ull,0,FORMAT40_ROOT_OBJECTID,0ull) }
+       };
+       return &FORMAT40_ROOT_DIR_KEY;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/disk_format/disk_format40.h     2005-03-27 21:24:00.618253096 -0800
++++ linux-2.6.11/fs/reiser4/plugin/disk_format/disk_format40.h 2005-03-27 21:24:02.747929336 -0800
+@@ -49,7 +49,7 @@
+       /*  70 */ d16 formatting_policy;
+       /*  72 */ d64 flags;
+       /*  72 */ char not_used[432];
+-} format40_disk_super_block;
++} PACKED64 format40_disk_super_block;
+ /* format 40 specific part of reiser4_super_info_data */
+ typedef struct format40_super_info {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/file/invert.c   2005-03-27 21:24:00.625252032 -0800
++++ linux-2.6.11/fs/reiser4/plugin/file/invert.c       2005-03-27 21:24:02.747929336 -0800
+@@ -240,14 +240,14 @@
+ typedef struct flow_header {
+       d32 fl_magic;
+       d16 fl_nr;              /* number of subfiles in the flow */
+-};
++} PACKED32;
+ typedef struct subfile_header {
+       d32 sh_magic;           /* subfile magic */
+       d16 sh_type;            /* type of subfile: light-weight, ordinary, invert */
+       d16 sh_arg_len;         /* lenght of lookup argument (filename, key) */
+       d32 sh_body_len;        /* lenght of subfile body */
+-};
++} PACKED32;
+ /* functions to get/set fields of flow header */
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/static_stat.c      2005-03-27 21:24:00.648248536 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/static_stat.c  2005-03-27 21:34:27.331978128 -0800
+@@ -19,6 +19,38 @@
+ /* see static_stat.h for explanation */
++/* compile time verify of the data structure sizes and alignments */
++static inline void
++r4static_stat_verify(void)
++{
++      /* All these structures are PACKED, so the __alignof__ should
++       * be 1.  The sizes need to be correct as they map to disk
++       * structures.
++       */
++      cassert(sizeof (reiser4_stat_data_base) == 2);
++      /* cassert(sizeof (reiser4_light_weight_stat) == 16);
++       * 14 bytes, comments in code do not take into account PACKED!
++       */
++      cassert(sizeof (reiser4_light_weight_stat) == 14);
++      cassert(sizeof (reiser4_unix_stat) == 28);
++      cassert(sizeof (reiser4_symlink_stat) == 0);
++      cassert(sizeof (reiser4_plugin_slot) == 4);
++      cassert(sizeof (reiser4_plugin_stat) == 2);
++      cassert(sizeof (reiser4_flags_stat) == 4);
++      /* cassert(sizeof (reiser4_capabilities_stat) == 16);
++       * comments in the file look wrong - capabilities are 2 x d32
++       * not 2 x d64 in the declaration.
++       */
++      cassert(sizeof (reiser4_capabilities_stat) == 8);
++      cassert(sizeof (reiser4_cluster_stat) == 1);
++      cassert(sizeof (reiser4_crypto_stat) == 2);
++      /* cassert(sizeof (reiser4_large_times_stat) == 24);
++       * should be 12 bytes - 3 x d32, probably a bug in the def in
++       * the header file (meant to be 3 x d64?)
++       */
++      cassert(sizeof (reiser4_large_times_stat) == 12);
++}
++
+ /* helper function used while we are dumping/loading inode/plugin state
+     to/from the stat-data. */
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/acl.h      2005-03-27 21:24:00.629251424 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/acl.h  2005-03-27 21:24:02.749929032 -0800
+@@ -26,7 +26,7 @@
+       obj_key_id id;
+       /* file name. Null terminated string. */
+       d8 name[0];
+-} directory_entry_format;
++} PACKEDt(obj_key_id) directory_entry_format;
+ void print_de(const char *prefix, coord_t * coord);
+ int extract_key_de(const coord_t * coord, reiser4_key * key);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/cde.h      2005-03-27 21:24:00.632250968 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/cde.h  2005-03-27 21:24:02.750928880 -0800
+@@ -15,12 +15,12 @@
+ typedef struct cde_unit_header {
+       de_id hash;
+       d16 offset;
+-} cde_unit_header;
++} PACKEDt2(de_id,d16) cde_unit_header;
+ typedef struct cde_item_format {
+       d16 num_of_entries;
+       cde_unit_header entry[0];
+-} cde_item_format;
++} PACKEDt2(d16,cde_unit_header) cde_item_format;
+ typedef struct cde_entry {
+       const struct inode *dir;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/extent.h   2005-03-27 21:32:13.758284416 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/extent.h       2005-03-27 21:32:30.786695704 -0800
+@@ -7,7 +7,7 @@
+ typedef struct {
+       reiser4_dblock_nr start;
+       reiser4_dblock_nr width;
+-} reiser4_extent;
++} PACKED64 reiser4_extent;
+ typedef struct extent_stat {
+       int unallocated_units;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/internal.h 2005-03-27 21:33:08.971890672 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/internal.h     2005-03-27 22:15:43.290575208 -0800
+@@ -13,7 +13,7 @@
+ typedef struct internal_item_layout {
+       /*  0 */ reiser4_dblock_nr pointer;
+       /*  4 */
+-} internal_item_layout;
++} PACKED64 internal_item_layout;
+ struct cut_list;
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/item/sde.h      2005-03-27 21:24:00.646248840 -0800
++++ linux-2.6.11/fs/reiser4/plugin/item/sde.h  2005-03-27 21:24:02.750928880 -0800
+@@ -26,7 +26,7 @@
+       obj_key_id id;
+       /* file name. Null terminated string. */
+       d8 name[0];
+-} directory_entry_format;
++} PACKEDt(obj_key_id) directory_entry_format;
+ void print_de(const char *prefix, coord_t * coord);
+ int extract_key_de(const coord_t * coord, reiser4_key * key);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node40.c   2005-03-27 21:24:00.654247624 -0800
++++ linux-2.6.11/fs/reiser4/plugin/node/node40.c       2005-03-27 21:35:08.677692624 -0800
+@@ -32,6 +32,22 @@
+    magic (32)
+    flush_time (32)
+ */
++/* compile time verify of the data structure sizes and alignments */
++static inline void
++r4node40_stat_verify(void)
++{
++      /* The alignment of these structures is intended to be '1', but
++       * it doesn't matter so long as the size is right.
++       */
++      cassert(sizeof (common_node_header) == 2);
++      cassert(sizeof (node40_header) ==  28);
++#if REISER4_LARGE_KEY
++      cassert(sizeof (item_header40) == 38);
++#else
++      cassert(sizeof (item_header40) == 30);
++#endif
++}
++
+ /* NIKITA-FIXME-HANS: I told you guys not less than 10 times to not call it r4fs.  Change to "ReIs". */
+ /* magic number that is stored in ->magic field of node header */
+ static const __u32 REISER4_NODE_MAGIC = 0x52344653;   /* (*(__u32 *)"R4FS"); */
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/plugin/node/node.h     2005-03-27 21:24:00.656247320 -0800
++++ linux-2.6.11/fs/reiser4/plugin/node/node.h 2005-03-27 21:24:02.753928424 -0800
+@@ -250,7 +250,7 @@
+       /* identifier of node plugin. Must be located at the very beginning
+          of a node. */
+       d16 plugin_id;
+-} common_node_header;
++} PACKED16 common_node_header;
+ /* __REISER4_NODE_H__ */
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/debug.c        2005-03-27 21:24:00.563261456 -0800
++++ linux-2.6.11/fs/reiser4/debug.c    2005-03-27 23:27:58.569512632 -0800
+@@ -75,6 +75,72 @@
+       va_list args;
+       /*
++       * this is here to make sure that we don't compile code which we
++       * know a-priori will panic, or fail without panicing, since this
++       * compiles first if you find a duplicate case label error then
++       * you need to rewrite this code to match your compiler.
++       */
++      cassert(sizeof (d8) == 1);
++      cassert(__alignof__ (d8) == 1);
++      {
++              struct {
++                      __u8 pad;
++                      d8 data;
++              } PACKED8 test;
++              cassert(sizeof test == 2);
++              cassert(sizeof test.data == 1);
++              cassert(__alignof__ test.data == 1);
++              cassert(__alignof__ test == 1);
++      }
++      cassert(sizeof (d16) == 2);
++      cassert(__alignof__ (d16) == 2);
++      {
++              struct {
++                      __u8 pad;
++                      d16 data;
++              } PACKED16 test;
++              cassert(sizeof test == 4);
++              cassert(sizeof test.data == 2);
++#if !__arm__
++              cassert(__alignof__ test.data == 2);
++#endif
++              cassert(__alignof__ test == 2);
++#if !__arm__
++              cassert(test.data.datum - &test.pad == 2);
++#endif
++      }
++      cassert(sizeof (d32) == 4);
++      cassert(__alignof__ (d32) == 4);
++      {
++              struct {
++                      __u8 pad;
++                      d32 data;
++              } PACKED32 test;
++              cassert(sizeof test == 8);
++              cassert(sizeof test.data == 4);
++              cassert(__alignof__ test.data == 4);
++              cassert(__alignof__ test == 4);
++              cassert(test.data.datum - &test.pad == 4);
++      }
++      cassert(sizeof (d64) == 8);
++      cassert(__alignof__ (d64) == 8);
++      {
++              struct {
++                      __u8 pad;
++                      d64 data;
++              } PACKED64 test;
++              cassert(sizeof test == 16);
++              cassert(sizeof test.data == 8);
++              cassert(__alignof__ test.data == 8);
++              cassert(__alignof__ test == 8);
++              cassert(test.data.datum - &test.pad == 8);
++      }
++
++      /* This is just a test of a struct with a single d64 element. */
++      cassert(sizeof (reiser4_dblock_nr) == 8);
++      cassert(__alignof__(reiser4_dblock_nr) == 8);
++
++      /*
+        * check for recursive panic.
+        */
+       if (in_panic == 0) {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/flush_queue.c  2005-03-27 21:24:00.577259328 -0800
++++ linux-2.6.11/fs/reiser4/flush_queue.c      2005-03-27 21:24:02.755928120 -0800
+@@ -447,7 +447,7 @@
+               /* If all write requests registered in this "fq" are done we up
+                * the semaphore. */
+-              if (atomic_sub_and_test(bio->bi_vcnt, &fq->nr_submitted))
++              if (atomic_sub_return(bio->bi_vcnt, &fq->nr_submitted) == 0)
+                       up(&fq->io_sem);
+       }
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/key.c  2005-03-27 22:42:43.481268784 -0800
++++ linux-2.6.11/fs/reiser4/key.c      2005-03-27 23:42:53.958392832 -0800
+@@ -13,10 +13,10 @@
+    independent of key scheme. */
+ static const reiser4_key MINIMAL_KEY = {
+       .el = {
+-              {0ull},
+-              ON_LARGE_KEY({0ull},)
+-              {0ull},
+-              {0ull}
++              {{0,0,0,0,0,0,0,0}},
++              ON_LARGE_KEY({{0,0,0,0,0,0,0,0}},)
++              {{0,0,0,0,0,0,0,0}},
++              {{0,0,0,0,0,0,0,0}}
+       }
+ };
+@@ -24,10 +24,10 @@
+    independent of key scheme. */
+ static const reiser4_key MAXIMAL_KEY = {
+       .el = {
+-              {~0ull},
+-              ON_LARGE_KEY({~0ull},)
+-              {~0ull},
+-              {~0ull}
++              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
++              ON_LARGE_KEY({{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},)
++              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}},
++              {{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}
+       }
+ };
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/safe_link.c    2005-03-27 21:24:00.677244128 -0800
++++ linux-2.6.11/fs/reiser4/safe_link.c        2005-03-27 21:24:02.756927968 -0800
+@@ -61,7 +61,7 @@
+       reiser4_key sdkey; /* key of stat-data for the file safe-link is
+                           * for */
+       d64 size;          /* size to which file should be truncated */
+-} safelink_t;
++} PACKEDt2(reiser4_key, d64) safelink_t;
+ /*
+  * locality where safe-link items are stored. Next to the objectid of root
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.c 2005-03-27 21:24:00.682243368 -0800
++++ linux-2.6.11/fs/reiser4/status_flags.c     2005-03-27 21:24:02.756927968 -0800
+@@ -153,6 +153,7 @@
+                &statuspage->stacktrace[no])
+       GETFRAME(0);
++#ifndef __arm__
+       GETFRAME(1);
+       GETFRAME(2);
+       GETFRAME(3);
+@@ -162,6 +163,7 @@
+       GETFRAME(7);
+       GETFRAME(8);
+       GETFRAME(9);
++#endif
+ #undef GETFRAME
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/dformat.h      2005-03-27 21:24:00.564261304 -0800
++++ linux-2.6.11/fs/reiser4/dformat.h  2005-03-27 23:29:03.223683704 -0800
+@@ -28,43 +28,84 @@
+ /* code on-disk data-types as structs with a single field
+    to rely on compiler type-checking. Like include/asm-i386/page.h */
++/* This code did not work on the arm with gcc 3.4.3 because the
++ * arm has a minimum structure size of 4 - packed is necessary to
++ * allow these types to be smaller than 4 - and because this version
++ * of gcc 'loses' the alignment if the structure contains just one
++ * element of alignment 8 (or probably any value greater than 4).
++ * To fix this and to make the code much more portable all the basic
++ * types are now just done as arrays of bytes - __u8.
++ *
++ * This is highly tricky, however the check code in debug.c should
++ * fire a compile time assert if it goes wrong.
++ */
++#if __arm__
++#define PACKED8  __attribute__ ((packed,aligned(1)))
++/* Warning: the presence of the packed attribute here means that any
++ * d16 in a structure so marked will lose its alignment.  That doesn't
++ * seem to matter because there don't seem to be any d16's with odd
++ * structure offsets, but it might.
++ */
++#define PACKED16 __attribute__ ((packed,aligned(2)))
++#define PACKED32 __attribute__ ((aligned(4)))
++#define PACKED64 __attribute__ ((aligned(8)))
++#else
++#define PACKED8  __attribute__ ((aligned(1)))
++#define PACKED16 __attribute__ ((aligned(2)))
++#define PACKED32 __attribute__ ((aligned(4)))
++#define PACKED64 __attribute__ ((aligned(8)))
++#endif
+ typedef struct d8 {
+-      __u8 datum;
+-} d8 __attribute__ ((aligned(1)));
++      __u8 datum[1];
++} PACKED8 d8;
+ typedef struct d16 {
+-      __u16 datum;
+-} d16 __attribute__ ((aligned(2)));
++      __u8 datum[2];
++} PACKED16 d16;
+ typedef struct d32 {
+-      __u32 datum;
+-} d32 __attribute__ ((aligned(4)));
++      __u8 datum[4];
++} PACKED32 d32;
+ typedef struct d64 {
+-      __u64 datum;
+-} d64 __attribute__ ((aligned(8)));
++      __u8 datum[8];
++} PACKED64 d64;
++#define PACKEDt(t) __attribute__ ((packed,aligned(__alignof__ (t)) ))
++#define PACKEDt2(t1,t2) __attribute__ ((packed,aligned(\
++              __alignof__ (t1) < __alignof__ (t2) ? __alignof__ (t2) : __alignof__ (t1) )))
+ #define PACKED __attribute__((packed))
+ static inline __u8
+ d8tocpu(const d8 * ondisk /* on-disk value to convert */ )
+ {
+-      return ondisk->datum;
++      return ondisk->datum[0];
+ }
+ static inline __u16
+ d16tocpu(const d16 * ondisk /* on-disk value to convert */ )
+ {
+-      return __le16_to_cpu(get_unaligned(&ondisk->datum));
++      return ondisk->datum[0] + (ondisk->datum[1] << 8);
+ }
+ static inline __u32
+ d32tocpu(const d32 * ondisk /* on-disk value to convert */ )
+ {
+-      return __le32_to_cpu(get_unaligned(&ondisk->datum));
++      return ondisk->datum[0] +
++              (ondisk->datum[1] << 8) +
++              (ondisk->datum[2] << 16) +
++              (ondisk->datum[3] << 24);
+ }
+ static inline __u64
+ d64tocpu(const d64 * ondisk /* on-disk value to convert */ )
+ {
+-      return __le64_to_cpu(get_unaligned(&ondisk->datum));
++      __u32 low = ondisk->datum[0] +
++              (ondisk->datum[1] << 8) +
++              (ondisk->datum[2] << 16) +
++              (ondisk->datum[3] << 24);
++      __u64 high = ondisk->datum[4] +
++              (ondisk->datum[5] << 8) +
++              (ondisk->datum[6] << 16) +
++              (ondisk->datum[7] << 24);
++      return low + (high << 32);
+ }
+ static inline d8 *
+@@ -72,7 +113,7 @@
+       d8 * ondisk /* result */ )
+ {
+       assert("nikita-1264", oncpu < 0x100);
+-      put_unaligned(oncpu, &ondisk->datum);
++      ondisk->datum[0] = oncpu;
+       return ondisk;
+ }
+@@ -81,7 +122,8 @@
+        d16 * ondisk /* result */ )
+ {
+       assert("nikita-1265", oncpu < 0x10000);
+-      put_unaligned(__cpu_to_le16(oncpu), &ondisk->datum);
++      ondisk->datum[0] = oncpu;
++      ondisk->datum[1] = oncpu >> 8;
+       return ondisk;
+ }
+@@ -89,15 +131,27 @@
+ cputod32(__u32 oncpu /* CPU value to convert */ ,
+        d32 * ondisk /* result */ )
+ {
+-      put_unaligned(__cpu_to_le32(oncpu), &ondisk->datum);
++      ondisk->datum[0] = oncpu; oncpu >>= 8;
++      ondisk->datum[1] = oncpu; oncpu >>= 8;
++      ondisk->datum[2] = oncpu; oncpu >>= 8;
++      ondisk->datum[3] = oncpu;
+       return ondisk;
+ }
+ static inline d64 *
+-cputod64(__u64 oncpu /* CPU value to convert */ ,
++cputod64(__u64 oncpuIn /* CPU value to convert */ ,
+        d64 * ondisk /* result */ )
+ {
+-      put_unaligned(__cpu_to_le64(oncpu), &ondisk->datum);
++      __u32 oncpu = oncpuIn;
++      ondisk->datum[0] = oncpu; oncpu >>= 8;
++      ondisk->datum[1] = oncpu; oncpu >>= 8;
++      ondisk->datum[2] = oncpu; oncpu >>= 8;
++      ondisk->datum[3] = oncpu;
++      oncpu = oncpuIn >> 32;
++      ondisk->datum[4] = oncpu; oncpu >>= 8;
++      ondisk->datum[5] = oncpu; oncpu >>= 8;
++      ondisk->datum[6] = oncpu; oncpu >>= 8;
++      ondisk->datum[7] = oncpu;
+       return ondisk;
+ }
+@@ -111,7 +165,7 @@
+ /* data-type for block number on disk, disk format */
+ union reiser4_dblock_nr {
+       d64 blk;
+-};
++} PACKED64;
+ static inline reiser4_block_nr
+ dblock_to_cpu(const reiser4_dblock_nr * dblock)
+@@ -148,7 +202,7 @@
+       char uuid[16];          /* unique id */
+       char label[16];         /* filesystem label */
+       d64 diskmap;            /* location of the diskmap. 0 if not present */
+-} reiser4_master_sb;
++} PACKED64 reiser4_master_sb;
+ /* __FS_REISER4_DFORMAT_H__ */
+ #endif
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/kassign.h      2005-03-27 21:24:00.588257656 -0800
++++ linux-2.6.11/fs/reiser4/kassign.h  2005-03-27 21:24:02.757927816 -0800
+@@ -46,7 +46,7 @@
+       d8 locality[sizeof (__u64)];
+       ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
+       d8 objectid[sizeof (__u64)];
+-} obj_key_id;
++} PACKED8 obj_key_id;
+ /* Information sufficient to uniquely identify directory entry within
+    compressed directory item.
+@@ -57,7 +57,7 @@
+       ON_LARGE_KEY(d8 ordering[sizeof (__u64)];)
+       d8 objectid[sizeof (__u64)];
+       d8 offset[sizeof (__u64)];
+-} de_id;
++} PACKED8 de_id;
+ extern int inode_onwire_size(const struct inode *obj);
+ extern char *build_inode_onwire(const struct inode *obj, char *area);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/key.h  2005-03-27 21:24:00.591257200 -0800
++++ linux-2.6.11/fs/reiser4/key.h      2005-03-27 23:41:07.744539792 -0800
+@@ -106,7 +106,7 @@
+ union reiser4_key {
+       d64 el[KEY_LAST_INDEX];
+       int pad;
+-};
++} PACKED64;
+ /* bitmasks showing where within reiser4_key particular key is
+     stored. */
+@@ -138,6 +138,20 @@
+       KEY_ORDERING_SHIFT = 0,
+ } reiser4_key_field_shift;
++/* initialise a key, this is a compile time constant initialiser expressed as
++ * three or four (as appropriate) 8 byte initialisers, there are braces around
++ * each 8 byte quantity but not around the whole initializer.
++ */
++#define KEY_INIT(type,loc,order,band,oid,off)\
++{{ (0xf&(type))+(0xf0&((loc) << 4)), 0xff&((loc) >> 4), 0xff&((loc) >> 12), 0xff&((loc) >> 20),\
++      0xff&((loc) >> 28), 0xff&((loc) >> 36), 0xff&((loc) >> 44), 0xff&((loc) >> 52) }},\
++ON_LARGE_KEY({{ 0xff&(order), 0xff&((order)>>8), 0xff&((order)>>16), 0xff&((order)>>24),\
++      0xff&((order)>>32), 0xff&((order)>>40), 0xff&((order)>>48), 0xff&((order)>>56) }},)\
++{{ 0xff&(oid), 0xff&((oid)>>8), 0xff&((oid)>>16), 0xff&((oid)>>24),\
++      0xff&((oid)>>32), 0xff&((oid)>>40), 0xff&((oid)>>48), (0xf&((oid)>>56))+(0xf0&((band)<<4))}},\
++{{ 0xff&(off), 0xff&((off)>>8), 0xff&((off)>>16), 0xff&((off)>>24),\
++      0xff&((off)>>32), 0xff&((off)>>40), 0xff&((off)>>48), 0xff&((off)>>56) }}
++
+ static inline __u64
+ get_key_el(const reiser4_key * key, reiser4_key_field_index off)
+ {
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/status_flags.h 2005-03-27 21:24:00.682243368 -0800
++++ linux-2.6.11/fs/reiser4/status_flags.h     2005-03-27 21:24:02.758927664 -0800
+@@ -33,7 +33,7 @@
+                               last sector where io error happened if status is "io error encountered" */
+       d64 stacktrace[10];  /* Last ten functional calls made (addresses)*/
+       char texterror[REISER4_TEXTERROR_LEN]; /* Any error message if appropriate, otherwise filled with zeroes */
+-};
++} PACKED64;
+ int reiser4_status_init(reiser4_block_nr block);
+ int reiser4_status_query(u64 *status, u64 *extended);
+--- linux-2.6.11/.pc/reiser4/fs/reiser4/wander.h       2005-03-27 21:24:00.709239264 -0800
++++ linux-2.6.11/fs/reiser4/wander.h   2005-03-27 22:14:59.663207576 -0800
+@@ -19,7 +19,7 @@
+ struct journal_header {
+       /* last written transaction head location */
+       d64 last_committed_tx;
+-};
++} PACKED64;
+ typedef struct journal_location {
+       reiser4_block_nr footer;
+@@ -46,7 +46,7 @@
+          super block */
+       d64 nr_files;
+       d64 next_oid;
+-};
++} PACKED64;
+ /* Each wander record (except the first one) has unified format with wander
+    record header followed by an array of log entries */
+@@ -66,7 +66,7 @@
+       /* number of previous block in commit */
+       d64 next_block;
+-};
++} PACKED64;
+ /* The first wander record (transaction head) of written transaction has the
+    special format */
+@@ -98,7 +98,7 @@
+          separately from super block */
+       d64 nr_files;
+       d64 next_oid;
+-};
++} PACKED64;
+ /* A transaction gets written to disk as a set of wander records (each wander
+    record size is fs block) */
+@@ -108,7 +108,7 @@
+ struct wander_entry {
+       d64 original;           /* block original location */
+       d64 wandered;           /* block wandered location */
+-};
++} PACKED64;
+ /* REISER4 JOURNAL WRITER FUNCTIONS   */
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.11-mm/x1205-rtc.c-mm.patch
new file mode 100644 (file)
index 0000000..6ef6bef
--- /dev/null
@@ -0,0 +1,18 @@
+--- original/drivers/i2c/chips/x1205-rtc.c     Sat Mar  5 23:41:12 2005
++++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar  5 23:41:25 2005
+@@ -139,7 +139,6 @@
+ };
+ static struct i2c_client x1205_i2c_client = {
+-      .id             =       I2C_DRIVERID_X1205,
+       .flags          =       0,
+       .addr           =       X1205_I2C_BUS_ADDR,     // chip address - NOTE: 7bit
+       .adapter        =       NULL,                   // the adapter we sit on assigned in attach
+@@ -301,7 +300,6 @@
+       int errno;
+               
+       x1205_i2c_client.adapter = adapter;
+-      x1205_i2c_client.id++;
+       if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR)      //test for functional driver 
+               return -EIO;
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/defconfig
new file mode 100644 (file)
index 0000000..9397245
--- /dev/null
@@ -0,0 +1,1226 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.12
+# Sat Jun 18 17:17:09 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_IOMAP=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_ARCH_NSLU2=y
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+# CONFIG_ARM_THUMB_INTERWORK is not set
+# CONFIG_ARCH_XSCALE is not set
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+# CONFIG_PCI_NAMES is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_SMP is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_DISCONTIGMEM is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+# CONFIG_FW_LOADER is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_PCI is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Networking support
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_IP_TCPDIAG=m
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+# CONFIG_INPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+# CONFIG_I2C_ISA is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Hardware Sensors Chip support
+#
+CONFIG_I2C_SENSOR=y
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+
+#
+# Other I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+CONFIG_SENSORS_X1205=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+# CONFIG_USB_EHCI_SPLIT_ISO is not set
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+# CONFIG_USB_ACM is not set
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+
+#
+# USB Input Devices
+#
+# CONFIG_USB_HID is not set
+
+#
+# USB HID Boot Protocol drivers
+#
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+
+#
+# Video4Linux support is needed for USB Multimedia device support
+#
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+
+#
+# USB Host-to-Host Cables
+#
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_GENESYS=y
+CONFIG_USB_NET1080=y
+CONFIG_USB_PL2301=y
+CONFIG_USB_KC2190=y
+
+#
+# Intelligent USB Devices/Gadgets
+#
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_ZAURUS=y
+CONFIG_USB_CDCETHER=y
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_AX8817X=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB ATM/DSL drivers
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+# CONFIG_DEVFS_FS is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_JFFS2_FS_NAND is not set
+# CONFIG_JFFS2_FS_NOR_ECC is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/disk_led_blinking.patch
new file mode 100644 (file)
index 0000000..7487cf3
--- /dev/null
@@ -0,0 +1,127 @@
+--- linux-2.6.12.2/drivers/usb/core/hub.c.bak  2005-09-19 20:29:14.000000000 +0000
++++ linux-2.6.12.2/drivers/usb/core/hub.c      2005-09-19 20:30:44.000000000 +0000
+@@ -1026,6 +1026,19 @@
+       dev_info (&udev->dev, "USB disconnect, address %d\n", udev->devnum);
++      // --- Forward-Ported Linksys Disk 1 & Disk 2 LED Control (Port done 16.Sept.05 by Philipp Kirchhofer) ---
++      // Copy & paste from nslu2-io.c
++      #define DISK1_OFF       0x00000008      //0b0000 0000 0000 1000
++      #define DISK2_OFF       0x00000004      //0b0000 0000 0000 0100
++      // Copy & Paste end
++
++      if (*udev->devpath == 0x31) {
++              *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;
++      } else if (*udev->devpath == 0x32) {
++              *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;
++      }
++      // --- End LED Control ---
++
+       /* Free up all the children before we remove this device */
+       for (i = 0; i < USB_MAXCHILDREN; i++) {
+               if (udev->children[i])
+@@ -2175,6 +2188,19 @@
+                       udev->bus->controller->driver->name,
+                       udev->devnum);
++      // --- Start LED Control ---
++      // Copy & paste from nslu2-io.c
++      #define DISK1_ON        0xfffffff7      //0b1111 1111 1111 0111
++      #define DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
++      // Copy & Paste end
++
++      if (*udev->devpath == 0x31) {
++              *IXP4XX_GPIO_GPOUTR &= DISK1_ON;
++      } else if (*udev->devpath == 0x32) {
++              *IXP4XX_GPIO_GPOUTR &= DISK2_ON;
++      }
++      // --- End LED Control ---
++
+       /* Set up TT records, if needed  */
+       if (hdev->tt) {
+               udev->tt = hdev->tt;
+--- linux-2.6.12.2/drivers/usb/storage/transport.c.bak 2005-09-19 20:29:25.000000000 +0000
++++ linux-2.6.12.2/drivers/usb/storage/transport.c     2005-09-19 20:29:55.000000000 +0000
+@@ -60,6 +60,60 @@
+ #include "scsiglue.h"
+ #include "debug.h"
++// --- Forward-Ported Linksys Disk 1 & Disk 2 LED Activity Blinking Part 1 (Port done 16.Sept.05 by Philipp Kirchhofer) ---
++// Copy & Paste from nslu2-io.c
++#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
++#define DISK2_ON      0xfffffffb      //0b1111 1111 1111 1011
++
++#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
++#define DISK2_OFF     0x00000004      //0b0000 0000 0000 0100
++// Copy & Paste End
++
++#define JIFFIES_BLINKING_TIME 6
++#define ON_LED_INTERVAL 3
++unsigned long turn_on_time;
++
++static struct timer_list usb1_led_timer;    /* ide led switch */
++static struct timer_list usb2_led_timer;    /* ide led switch */
++
++// Turns on Disk 1 LED
++static void turn_on_led_usb1(unsigned long ptr) {
++      *IXP4XX_GPIO_GPOUTR &= DISK1_ON; // 0xfff7
++      return;
++}
++
++// Turns on Disk 2 LED
++static void turn_on_led_usb2(unsigned long ptr) {
++      *IXP4XX_GPIO_GPOUTR &= DISK2_ON; // 0xfffb
++        return;
++}
++
++// Turns on Disk 1 LED after ON_LED_INTERVAL jiffies
++static void usb_1_led_timer(void) {
++      usb1_led_timer.expires = jiffies + ON_LED_INTERVAL;
++      add_timer(&usb1_led_timer);
++      return;
++}
++
++// Turns on Disk 2 LED after ON_LED_INTERVAL jiffies
++static void usb_2_led_timer(void) {
++        usb2_led_timer.expires = jiffies + ON_LED_INTERVAL;
++        add_timer(&usb2_led_timer);
++        return;
++}
++
++// Initializes Timers
++unsigned long initialized_timers = 0;
++static void initializeTimers() {
++      if (initialized_timers != 1) {
++              init_timer(&usb1_led_timer);
++              usb1_led_timer.function = turn_on_led_usb1;
++              init_timer(&usb2_led_timer);
++              usb2_led_timer.function = turn_on_led_usb2;
++              initialized_timers = 1;
++      }
++}
++// --- End Disk LED Activity Blinking Part 1 ---
+ /***********************************************************************
+  * Data transfer routines
+@@ -499,6 +553,21 @@
+       /* are we scatter-gathering? */
+       if (use_sg) {
++              // --- Disk LED Activity Blinking Part 2 ---
++              initializeTimers();
++              if ((jiffies - turn_on_time) >= JIFFIES_BLINKING_TIME) {
++                      if (*us->pusb_dev->devpath == 0x31) {
++                              del_timer_sync(&usb1_led_timer);
++                              *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;
++                              usb_1_led_timer();
++                      } else if (*us->pusb_dev->devpath == 0x32) {
++                              del_timer_sync(&usb2_led_timer);
++                              *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;
++                              usb_2_led_timer();
++                      }
++                      turn_on_time = jiffies;
++              }
++              // --- End Disk LED Activity Blinking Part 2 ---
+               /* use the usb core scatter-gather primitives */
+               result = usb_stor_bulk_transfer_sglist(us, pipe,
+                               (struct scatterlist *) buf, use_sg,
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/missing-exports.patch
new file mode 100644 (file)
index 0000000..935dd29
--- /dev/null
@@ -0,0 +1,19 @@
+--- linux-2.6.12/drivers/char/random.c~        2005-05-14 16:42:24.000000000 -0400
++++ linux-2.6.12/drivers/char/random.c 2005-05-14 16:42:46.000000000 -0400
+@@ -646,6 +646,7 @@ extern void add_input_randomness(unsigne
+       add_timer_randomness(&input_timer_state,
+                            (type << 4) ^ code ^ (code >> 4) ^ value);
+ }
++EXPORT_SYMBOL_GPL(add_input_randomness);
+ void add_interrupt_randomness(int irq)
+ {
+--- linux-2.6.12/lib/kobject_uevent.c~ 2005-05-14 16:45:13.000000000 -0400
++++ linux-2.6.12/lib/kobject_uevent.c  2005-05-14 16:45:27.000000000 -0400
+@@ -178,6 +178,7 @@ static inline int send_uevent(const char
+ #ifdef CONFIG_HOTPLUG
+ char hotplug_path[HOTPLUG_PATH_LEN] = "/sbin/hotplug";
++EXPORT_SYMBOL_GPL(hotplug_path);
+ u64 hotplug_seqnum;
+ static DEFINE_SPINLOCK(sequence_lock);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-arch.patch
new file mode 100644 (file)
index 0000000..6a41f02
--- /dev/null
@@ -0,0 +1,92 @@
+--- linux-2.6.11/arch/arm/boot/compressed/head.S       2005-06-17 17:51:27.245788998 -0700
++++ linux-2.6.11/arch/arm/boot/compressed/head.S       2005-06-17 17:54:45.041806429 -0700
+@@ -37,6 +37,7 @@
+     defined(CONFIG_ARCH_INTEGRATOR) || \
+     defined(CONFIG_ARCH_PXA) || \
+     defined(CONFIG_ARCH_IXP4XX) || \
++    defined(CONFIG_ARCH_NSLU2) || \
+     defined(CONFIG_ARCH_IXP2000) || \
+     defined(CONFIG_ARCH_LH7A40X) || \
+     defined(CONFIG_ARCH_OMAP)
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/boot/compressed/head-xscale.S  2005-03-01 23:37:52.000000000 -0800
++++ linux-2.6.11/arch/arm/boot/compressed/head-xscale.S        2005-06-17 17:51:32.546985425 -0700
+@@ -47,3 +47,8 @@
+                orr     r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00)
+ #endif
++#ifdef CONFIG_ARCH_NSLU2
++               mov     r7, #(MACH_TYPE_NSLU2 & 0xff)
++               orr     r7, r7, #(MACH_TYPE_NSLU2 & 0xff00)
++#endif
++
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Kconfig    2005-06-17 17:51:27.365770810 -0700
++++ linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig  2005-06-17 17:51:32.560983303 -0700
+@@ -43,6 +43,12 @@
+         IXDP465 Development Platform (Also known as BMP).
+         For more information on this platform, see <file:Documentation/arm/IXP4xx>.
++config ARCH_NSLU2
++       bool "NSLU2"
++       help
++         Say 'Y' here if you want your kernel to support Linksys's 
++         NSLU2 NAS device. For more information on this platform, 
++         see http://www.nslu2-linux.org
+ #
+ # IXCDP1100 is the exact same HW as IXDP425, but with a different machine 
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/mach-ixp4xx/Makefile   2005-06-17 17:51:27.365770810 -0700
++++ linux-2.6.11/arch/arm/mach-ixp4xx/Makefile 2005-06-17 17:51:32.560983303 -0700
+@@ -8,4 +8,4 @@
+ obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+-
++obj-$(CONFIG_ARCH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-part.o nslu2-io.o
+--- linux-2.6.11/.pc/2.6.patch/arch/arm/tools/mach-types       2005-06-17 17:51:27.423762020 -0700
++++ linux-2.6.11/arch/arm/tools/mach-types     2005-06-17 17:51:32.564982697 -0700
+@@ -604,7 +604,7 @@
+ roverp7                       MACH_ROVERP7            ROVERP7                 594
+ pr818s                        MACH_PR818S             PR818S                  595
+ trxpro                        MACH_TRXPRO             TRXPRO                  596
+-nslu2                 MACH_NSLU2              NSLU2                   597
++nslu2                 ARCH_NSLU2              NSLU2                   597
+ e400                  MACH_E400               E400                    598
+ trab                  MACH_TRAB               TRAB                    599
+ cmc_pu2                       MACH_CMC_PU2            CMC_PU2                 600
+--- linux-2.6.11/.pc/2.6.patch/drivers/mtd/maps/ixp4xx.c       2005-03-01 23:37:30.000000000 -0800
++++ linux-2.6.11/drivers/mtd/maps/ixp4xx.c     2005-06-17 17:51:32.566982394 -0700
+@@ -94,7 +94,11 @@
+       struct resource *res;
+ };
++#ifdef CONFIG_ARCH_NSLU2
++static const char *probes[] = { "cmdlinepart", "RedBoot", "NSLU2", NULL };
++#else
+ static const char *probes[] = { "RedBoot", "cmdlinepart", NULL };
++#endif
+ static int ixp4xx_flash_remove(struct device *_dev)
+ {
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/hardware.h  2005-03-01 23:37:51.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h        2005-06-17 17:51:32.567982242 -0700
+@@ -44,5 +44,6 @@
+ #include "ixdp425.h"
+ #include "coyote.h"
+ #include "prpmc1100.h"
++#include "nslu2.h"
+ #endif  /* _ASM_ARCH_HARDWARE_H */
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/irqs.h      2005-03-01 23:38:12.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h    2005-06-17 17:51:32.568982091 -0700
+@@ -93,4 +93,11 @@
+ #define       IRQ_COYOTE_PCI_SLOT1    IRQ_IXP4XX_GPIO11
+ #define       IRQ_COYOTE_IDE          IRQ_IXP4XX_GPIO5
++/*
++ * NSLU2 board IRQs
++ */
++#define        IRQ_NSLU2_PCI_INTA      IRQ_IXP4XX_GPIO11
++#define        IRQ_NSLU2_PCI_INTB      IRQ_IXP4XX_GPIO10
++#define        IRQ_NSLU2_PCI_INTC      IRQ_IXP4XX_GPIO9
++
+ #endif
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/nslu2-setup.c
new file mode 100644 (file)
index 0000000..fcb8566
--- /dev/null
@@ -0,0 +1,146 @@
+/*
+ * arch/arm/mach-ixp4xx/nslu2-setup.c
+ *
+ * NSLU2 board-setup
+ *
+ * based ixdp425-setup.c:
+ *      Copyright (C) 2003-2004 MontaVista Software, Inc.
+ *
+ * Author: Mark Rakes <mrakes at mac.com>
+ * Maintainers: http://www.nslu2-linux.org/
+ *
+ * Fixed missing init_time in MACHINE_START kas11 10/22/04
+ * Changed to conform to new style __init ixdp425 kas11 10/22/04 
+ */
+
+#include <linux/kernel.h>
+#include <linux/init.h>
+#include <linux/device.h>
+#include <linux/serial.h>
+#include <linux/tty.h>
+#include <linux/serial_8250.h>
+
+#include <asm/types.h>
+#include <asm/setup.h>
+#include <asm/memory.h>
+#include <asm/hardware.h>
+#include <asm/mach-types.h>
+#include <asm/irq.h>
+#include <asm/mach/arch.h>
+#include <asm/mach/flash.h>
+
+void __init nslu2_map_io(void) 
+{
+       ixp4xx_map_io();
+}
+
+static struct flash_platform_data nslu2_flash_data = {
+       .map_name       = "cfi_probe",
+       .width          = 2,
+};
+
+static struct resource nslu2_flash_resource = {
+       .start          = NSLU2_FLASH_BASE,
+       .end            = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE,
+       .flags          = IORESOURCE_MEM,
+};
+
+static struct platform_device nslu2_flash = {
+       .name           = "IXP4XX-Flash",
+       .id             = 0,
+       .dev            = {
+               .platform_data = &nslu2_flash_data,
+       },
+       .num_resources  = 1,
+       .resource       = &nslu2_flash_resource,
+};
+
+static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = {
+       .sda_pin        = NSLU2_SDA_PIN,
+       .scl_pin        = NSLU2_SCL_PIN,
+};
+
+static struct platform_device nslu2_i2c_controller = {
+       .name           = "IXP4XX-I2C",
+       .id             = 0,
+       .dev            = {
+               .platform_data = &nslu2_i2c_gpio_pins,
+       },
+       .num_resources  = 0
+};
+
+static struct resource nslu2_uart_resources[] = {
+       {
+               .start          = IXP4XX_UART1_BASE_PHYS,
+               .end            = IXP4XX_UART1_BASE_PHYS + 0x0fff,
+               .flags          = IORESOURCE_MEM
+       },
+       {
+               .start          = IXP4XX_UART2_BASE_PHYS,
+               .end            = IXP4XX_UART2_BASE_PHYS + 0x0fff,
+               .flags          = IORESOURCE_MEM
+       }
+};
+
+static struct plat_serial8250_port nslu2_uart_data[] = {
+       {
+               .mapbase        = IXP4XX_UART1_BASE_PHYS,
+               .membase        = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
+               .irq            = IRQ_IXP4XX_UART1,
+               .flags          = UPF_BOOT_AUTOCONF,
+               .iotype         = UPIO_MEM,
+               .regshift       = 2,
+               .uartclk        = IXP4XX_UART_XTAL,
+       },
+       {
+               .mapbase        = IXP4XX_UART2_BASE_PHYS,
+               .membase        = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
+               .irq            = IRQ_IXP4XX_UART2,
+               .flags          = UPF_BOOT_AUTOCONF,
+               .iotype         = UPIO_MEM,
+               .regshift       = 2,
+               .uartclk        = IXP4XX_UART_XTAL,
+       }
+};
+
+static struct platform_device nslu2_uart = {
+       .name                   = "serial8250",
+       .id                     = 0,
+       .dev.platform_data      = nslu2_uart_data,
+       .num_resources          = 2,
+       .resource               = nslu2_uart_resources
+};
+
+static struct platform_device *nslu2_devices[] __initdata = {
+       &nslu2_i2c_controller,
+       &nslu2_flash,
+       &nslu2_uart
+};
+
+static void n2_power_off(void)
+{
+        /* This causes the box to drop the power and go dead. */
+#define GPIO_PO_BM              0x0100  //b0000 0001 0000 0000
+        *IXP4XX_GPIO_GPOER &= ~GPIO_PO_BM;      // enable the pwr cntl gpio
+        *IXP4XX_GPIO_GPOUTR |= GPIO_PO_BM;      // do the deed
+}
+
+static void __init nslu2_init(void)
+{
+       ixp4xx_sys_init();
+
+       pm_power_off = n2_power_off;
+       platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices));
+}
+
+MACHINE_START(NSLU2, "Linksys NSLU2")
+               BOOT_MEM(PHYS_OFFSET, IXP4XX_PERIPHERAL_BASE_PHYS, 
+                       IXP4XX_PERIPHERAL_BASE_VIRT)
+               MAPIO(nslu2_map_io)
+               INITIRQ(ixp4xx_init_irq)        //FIXME: all irq are off here
+               .timer          = &ixp4xx_timer,
+               // INITTIME(ixp4xx_init_time)   //this was missing in 2.6.7 code ...soft reboot needed?
+               BOOT_PARAMS(0x0100)
+               INIT_MACHINE(nslu2_init)
+MACHINE_END
+
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.12/x1205-rtc.c-id.patch
new file mode 100644 (file)
index 0000000..6ef6bef
--- /dev/null
@@ -0,0 +1,18 @@
+--- original/drivers/i2c/chips/x1205-rtc.c     Sat Mar  5 23:41:12 2005
++++ linux-2.6.11/drivers/i2c/chips/x1205-rtc.c Sat Mar  5 23:41:25 2005
+@@ -139,7 +139,6 @@
+ };
+ static struct i2c_client x1205_i2c_client = {
+-      .id             =       I2C_DRIVERID_X1205,
+       .flags          =       0,
+       .addr           =       X1205_I2C_BUS_ADDR,     // chip address - NOTE: 7bit
+       .adapter        =       NULL,                   // the adapter we sit on assigned in attach
+@@ -301,7 +300,6 @@
+       int errno;
+               
+       x1205_i2c_client.adapter = adapter;
+-      x1205_i2c_client.id++;
+       if ((x1205_get_datetime(&x1205_i2c_client, &tm, X1205_CCR_BASE)) != NOERR)      //test for functional driver 
+               return -EIO;
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/00-memory-h-page-shift.patch
new file mode 100644 (file)
index 0000000..999b69e
--- /dev/null
@@ -0,0 +1,10 @@
+--- linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h.orig     2005-11-07 23:16:48.456117450 -0800
++++ linux-2.6.14/include/asm-arm/arch-ixp4xx/memory.h  2005-11-07 23:16:58.160728123 -0800
+@@ -8,6 +8,7 @@
+ #define __ASM_ARCH_MEMORY_H
+ #include <asm/sizes.h>
++#include <asm/page.h>
+ /*
+  * Physical DRAM offset.
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/30-i2c-x1205-mm1.patch
new file mode 100644 (file)
index 0000000..67cbd4c
--- /dev/null
@@ -0,0 +1,1036 @@
+--- linux-2.6.14/drivers/i2c/chips/Kconfig.orig        2005-11-07 22:30:30.413306237 -0800
++++ linux-2.6.14/drivers/i2c/chips/Kconfig     2005-11-07 22:41:15.785916976 -0800
+@@ -126,13 +126,13 @@ config SENSORS_MAX6875
+         This driver can also be built as a module.  If so, the module
+         will be called max6875.
+-config RTC_X1205_I2C
+-      tristate "Xicor X1205 RTC chip"
+-      depends on I2C && EXPERIMENTAL
+-      help
+-        If you say yes here you get support for the Xicor X1205 RTC chip.
++config SENSORS_X1205
++       tristate "Xicor X1205 RTC chip"
++       depends on I2C
++       help
++         If you say yes here you get support for the Xicor X1205 RTC chip.
+-        This driver can also be built as a module. If so, the module
+-        will be called x1205.
++         This driver can also be built as a module.  If so, the module
++         will be called x1205
+ endmenu
+--- linux-2.6.14/drivers/i2c/chips/Makefile.orig       2005-11-07 22:30:30.417306489 -0800
++++ linux-2.6.14/drivers/i2c/chips/Makefile    2005-11-07 22:41:59.616675071 -0800
+@@ -13,7 +13,7 @@ obj-$(CONFIG_SENSORS_PCF8591)        += pcf8591
+ obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o
+ obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
+ obj-$(CONFIG_TPS65010)                += tps65010.o
+-obj-$(CONFIG_RTC_X1205_I2C)   += x1205.o
++obj-$(CONFIG_SENSORS_X1205)     += x1205.o
+ ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
+ EXTRA_CFLAGS += -DDEBUG
+--- linux-2.6.14/drivers/i2c/chips/x1205.c.orig        2005-11-07 22:30:30.421306741 -0800
++++ linux-2.6.14/drivers/i2c/chips/x1205.c     2005-11-07 22:42:54.960157617 -0800
+@@ -1,14 +1,16 @@
+ /*
+- *  x1205.c - An i2c driver for the Xicor X1205 RTC
++ *  linux/drivers/i2c/chips/x1205.c
++ *
++ *  x1205.c - An 12c driver for the Xicor X1205 RTC
+  *  Copyright 2004 Karen Spearel
+  *  Copyright 2005 Alessandro Zummo
+  *
+  *  please send all reports to:
+  *    kas11 at tampabay dot rr dot com
+  *      a dot zummo at towertech dot it
+- *
++ *     
+  *  based on the other drivers in this same directory.
+- *
++ *   
+  *  This program is free software; you can redistribute it and/or modify
+  *  it under the terms of the GNU General Public License as published by
+  *  the Free Software Foundation; either version 2 of the License, or
+@@ -26,83 +28,36 @@
+ #include <linux/x1205.h>
+-#define DRV_VERSION "0.9.9"
++#define       EPOCH_1900      1900
++#define       EPOCH_1970      1970
++
++#define DRIVER_VERSION        "0.9.6"
++#define DRIVER_NAME   (x1205_driver.name)
+-/* Addresses to scan: none. This chip is located at
+- * 0x6f and uses a two bytes register addressing.
+- * Two bytes need to be written to read a single register,
+- * while most other chips just require one and take the second
+- * one as the data to be written. To prevent corrupting
+- * unknown chips, the user must explicitely set the probe parameter.
+- */
+-static unsigned short normal_i2c[] = { I2C_CLIENT_END };
++/* Addresses to scan */
++static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END };
+ /* Insmod parameters */
+ I2C_CLIENT_INSMOD;
+ I2C_CLIENT_MODULE_PARM(hctosys,
+       "Set the system time from the hardware clock upon initialization");
+-/* offsets into CCR area */
+-
+-#define CCR_SEC                       0
+-#define CCR_MIN                       1
+-#define CCR_HOUR              2
+-#define CCR_MDAY              3
+-#define CCR_MONTH             4
+-#define CCR_YEAR              5
+-#define CCR_WDAY              6
+-#define CCR_Y2K                       7
+-
+-#define X1205_REG_SR          0x3F    /* status register */
+-#define X1205_REG_Y2K         0x37
+-#define X1205_REG_DW          0x36
+-#define X1205_REG_YR          0x35
+-#define X1205_REG_MO          0x34
+-#define X1205_REG_DT          0x33
+-#define X1205_REG_HR          0x32
+-#define X1205_REG_MN          0x31
+-#define X1205_REG_SC          0x30
+-#define X1205_REG_DTR         0x13
+-#define X1205_REG_ATR         0x12
+-#define X1205_REG_INT         0x11
+-#define X1205_REG_0           0x10
+-#define X1205_REG_Y2K1                0x0F
+-#define X1205_REG_DWA1                0x0E
+-#define X1205_REG_YRA1                0x0D
+-#define X1205_REG_MOA1                0x0C
+-#define X1205_REG_DTA1                0x0B
+-#define X1205_REG_HRA1                0x0A
+-#define X1205_REG_MNA1                0x09
+-#define X1205_REG_SCA1                0x08
+-#define X1205_REG_Y2K0                0x07
+-#define X1205_REG_DWA0                0x06
+-#define X1205_REG_YRA0                0x05
+-#define X1205_REG_MOA0                0x04
+-#define X1205_REG_DTA0                0x03
+-#define X1205_REG_HRA0                0x02
+-#define X1205_REG_MNA0                0x01
+-#define X1205_REG_SCA0                0x00
+-
+-#define X1205_CCR_BASE                0x30    /* Base address of CCR */
+-#define X1205_ALM0_BASE               0x00    /* Base address of ALARM0 */
+-
+-#define X1205_SR_RTCF         0x01    /* Clock failure */
+-#define X1205_SR_WEL          0x02    /* Write Enable Latch */
+-#define X1205_SR_RWEL         0x04    /* Register Write Enable */
+-
+-#define X1205_DTR_DTR0                0x01
+-#define X1205_DTR_DTR1                0x02
+-#define X1205_DTR_DTR2                0x04
+-
+-#define X1205_HR_MIL          0x80    /* Set in ccr.hour for 24 hr mode */
+-
+ /* Prototypes */
++
+ static int x1205_attach(struct i2c_adapter *adapter);
+ static int x1205_detach(struct i2c_client *client);
+ static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
+-static int x1205_command(struct i2c_client *client, unsigned int cmd,
+-      void *arg);
++static int x1205_validate_client(struct i2c_client *client);
++
++static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              u8 reg_base);
++static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              int datetoo, u8 reg_base);
++static int x1205_validate_tm(struct rtc_time *tm);
++static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg);
++static int x1205_hctosys(struct i2c_client *client);
++
+ static struct i2c_driver x1205_driver = {
+       .owner          = THIS_MODULE,
+@@ -110,6 +65,7 @@ static struct i2c_driver x1205_driver = 
+       .flags          = I2C_DF_NOTIFY,
+       .attach_adapter = &x1205_attach,
+       .detach_client  = &x1205_detach,
++/*    .command        = &x1205_command,*/
+ };
+ struct x1205_data {
+@@ -118,8 +74,9 @@ struct x1205_data {
+       unsigned int epoch;
+ };
+-static const unsigned char days_in_mo[] =
+-      { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
++
++static const unsigned char days_in_mo[] = 
++{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
+ static LIST_HEAD(x1205_clients);
+@@ -127,6 +84,7 @@ static LIST_HEAD(x1205_clients);
+  * commands to a specific client. This function will send the command
+  * to the first client.
+  */
++
+ int x1205_do_command(unsigned int cmd, void *arg)
+ {
+       struct list_head *walk;
+@@ -141,114 +99,98 @@ int x1205_do_command(unsigned int cmd, v
+       return -ENODEV;
+ }
+-#define is_leap(year) \
+-      ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
+-
+-/* make sure the rtc_time values are in bounds */
+-static int x1205_validate_tm(struct rtc_time *tm)
+-{
+-      int year = tm->tm_year + 1900;
+-
+-      if ((tm->tm_year < 70) || (tm->tm_year > 255))
+-              return -EINVAL;
+-
+-      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
+-              return -EINVAL;
+-
+-      if (tm->tm_mday > days_in_mo[tm->tm_mon]
+-              + ((tm->tm_mon == 1) && is_leap(year)))
+-              return -EINVAL;
+-
+-      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
+-              return -EINVAL;
+-
+-      return 0;
+-}
+ /*
+- * In the routines that deal directly with the x1205 hardware, we use
++ * in the routines that deal directly with the x1205 hardware, we use
+  * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
+- * Epoch is initialized as 2000. Time is set to UTC.
++ * Epoch is inited as 2000. Time is set to UT
+  */
++
+ static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
+                               u8 reg_base)
+ {
+-      unsigned char dt_addr[2] = { 0, reg_base };
+-      static unsigned char sr_addr[2] = { 0, X1205_REG_SR };
++      static unsigned char dt_addr[] = { 0, };
++      static unsigned char sr_addr[] = { 0, };
+-      unsigned char buf[8], sr;
++      unsigned char buf[8], sr;       
+       struct i2c_msg msgs[] = {
+-              { client->addr, 0, 2, sr_addr },        /* setup read ptr */
+-              { client->addr, I2C_M_RD, 1, &sr },     /* read status */
+-              { client->addr, 0, 2, dt_addr },        /* setup read ptr */
+-              { client->addr, I2C_M_RD, 8, buf },     /* read date */
++              { client->addr, 0, 2, sr_addr },        /* random read */
++              { client->addr, I2C_M_RD, 1, &sr }, 
++              { client->addr, 0, 2, dt_addr },        /* random read */
++              { client->addr, I2C_M_RD, 8, buf },
+       };
+-      struct x1205_data *data = i2c_get_clientdata(client);
++      struct x1205_data *xdata = i2c_get_clientdata(client);
+-      /* read status register */
+-      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
+-              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
+-              return -EIO;
+-      }
++      dt_addr[1] = reg_base;
++      sr_addr[1] = X1205_REG_SR;
+-      /* check for battery failure */
+-      if (sr & X1205_SR_RTCF) {
+-              dev_warn(&client->dev,
+-                      "Clock had a power failure, you must set the date.\n");
+-              return -EINVAL;
+-      }
++      if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) ==
++              ARRAY_SIZE(msgs)) {
++              /* did we read the correct number of messages? */
++
++              /* check for battery failure */
++              if (sr & X1205_SR_RTCF)
++              {       
++                      dev_info(&client->adapter->dev,
++                              "%s: Clock had a power failure, you must set the date.\n",
++                              DRIVER_NAME);
+-      /* read date registers */
+-      if ((i2c_transfer(client->adapter, &msgs[2], 2)) != 2) {
+-              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
+-              return -EIO;
+-      }
+-
+-      dev_dbg(&client->dev,
+-              "%s: raw read data - sec=%02x, min=%02x, hr=%02x, "
+-              "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n",
+-              __FUNCTION__,
+-              buf[0], buf[1], buf[2], buf[3],
+-              buf[4], buf[5], buf[6], buf[7]);
+-
+-      tm->tm_sec = BCD2BIN(buf[CCR_SEC]);
+-      tm->tm_min = BCD2BIN(buf[CCR_MIN]);
+-      tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */
+-      tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
+-      tm->tm_mon = BCD2BIN(buf[CCR_MONTH]);
+-      data->epoch = BCD2BIN(buf[CCR_Y2K]) * 100;
+-      tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + data->epoch - 1900;
+-      tm->tm_wday = buf[CCR_WDAY];
++                      return -EINVAL;
++              }
+-      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
+-              "mday=%d, mon=%d, year=%d, wday=%d\n",
+-              __FUNCTION__,
+-              tm->tm_sec, tm->tm_min, tm->tm_hour,
+-              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++              dev_dbg(&client->dev,
++                      "%s: raw read data - sec-%02x min-%02x hr-%02x"
++                      " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", 
++                      __FUNCTION__,
++                      buf[0], buf[1], buf[2], buf[3],
++                      buf[4], buf[5], buf[6], buf[7]);
++
++              tm->tm_sec  = BCD2BIN(buf[CCR_SEC]);
++              tm->tm_min  = BCD2BIN(buf[CCR_MIN]);
++              buf[CCR_HOUR] &= ~X1205_HR_MIL;
++              tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */
++              tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
++              tm->tm_mon  = BCD2BIN(buf[CCR_MONTH]);
++              xdata->epoch   = BCD2BIN(buf[CCR_Y2K]) * 100;
++              tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900;
++              tm->tm_wday = buf[CCR_WDAY];
++
++              dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
++                      "mday=%d, mon=%d, year=%d, wday=%d\n",
++                      __FUNCTION__,
++                      tm->tm_sec, tm->tm_min, tm->tm_hour,
++                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++      } else {
++              dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }               
++      
+       return 0;
+ }
++
+ static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
+                               int datetoo, u8 reg_base)
+ {
+       int i, err, xfer;
+-      unsigned char buf[8];
++      static unsigned char wel[3]   = { 0, X1205_REG_SR,
++                                      X1205_SR_WEL };
+-      static const unsigned char wel[3] = { 0, X1205_REG_SR,
+-                                              X1205_SR_WEL };
+-      static const unsigned char rwel[3] = { 0, X1205_REG_SR,
+-                                              X1205_SR_WEL | X1205_SR_RWEL };
++      static unsigned char rwel[3]  = { 0, X1205_REG_SR,
++                                      X1205_SR_WEL | X1205_SR_RWEL };
+-      static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
++      static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
+-      struct x1205_data *data = i2c_get_clientdata(client);
++      static unsigned char data[3]  = { 0, };
++      static unsigned char buf[8];
++
++      struct x1205_data *xdata = i2c_get_clientdata(client);
+-      /* check if all values in the tm struct are correct */
+       if ((err = x1205_validate_tm(tm)) < 0)
+               return err;
+@@ -258,124 +200,52 @@ static int x1205_set_datetime(struct i2c
+               tm->tm_sec, tm->tm_min, tm->tm_hour,
+               tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
+-      buf[CCR_SEC] = BIN2BCD(tm->tm_sec);
+-      buf[CCR_MIN] = BIN2BCD(tm->tm_min);
+-      /* set hour and 24hr bit */
++      buf[CCR_SEC]  = BIN2BCD(tm->tm_sec);
++      buf[CCR_MIN]  = BIN2BCD(tm->tm_min);
++
++      /* Set 24HR format */
+       buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
+-      /* should we also set the date? */
+-      if (datetoo) {
+-              buf[CCR_MDAY] = BIN2BCD(tm->tm_mday);
++      if (datetoo == X1205_DATETOO) {
++              buf[CCR_MDAY]  = BIN2BCD(tm->tm_mday);
+               /* month, 0 - 11 */
+-              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);
++              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);   /* input is 0-11 */
+               /* year, since 1900 */
+-              buf[CCR_YEAR] = BIN2BCD(tm->tm_year + 1900 - data->epoch);
+-              buf[CCR_WDAY] = tm->tm_wday & 0x07;
+-              buf[CCR_Y2K] = BIN2BCD(data->epoch / 100);
++              buf[CCR_YEAR]  = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch));
++              buf[CCR_WDAY]  = tm->tm_wday & 7;
++              buf[CCR_Y2K]   = BIN2BCD(xdata->epoch / 100);
+       }
+-      /* this sequence is required to unlock the chip */
+       xfer = i2c_master_send(client, wel, 3);
+-      if (xfer != 3) {
+-              dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer);
++      dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
+               return -EIO;
+-      }
+       xfer = i2c_master_send(client, rwel, 3);
+-      if (xfer != 3) {
+-              dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer);
++      dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
+               return -EIO;
+-      }
+-      /* write register's data */
+-      for (i = 0; i < (datetoo ? 8 : 3); i++) {
+-              unsigned char rdata[3] = { 0, reg_base + i, buf[i] };
+-
+-              xfer = i2c_master_send(client, rdata, 3);
+-              if (xfer != 3) {
+-                      dev_err(&client->dev,
+-                              "%s: xfer=%d addr=%02x, data=%02x\n",
+-                              __FUNCTION__,
+-                               xfer, rdata[1], rdata[2]);
++      for (i = 0; i < 8; i++) {
++              data[1] = i + reg_base;
++              data[2] =  buf[i];
++              xfer = i2c_master_send(client, data, 3);
++
++              dev_dbg(&client->dev, "%s: xfer %d addr, %02x,  data %02x\n",
++                      __FUNCTION__,
++                       xfer, data[1], data[2]);
++
++              if (xfer != 3)
+                       return -EIO;
+-              }
+       };
+-      /* disable further writes */
+       xfer = i2c_master_send(client, diswe, 3);
+-      if (xfer != 3) {
+-              dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer);
+-              return -EIO;
+-      }
+-
+-      return 0;
+-}
+-
+-static int x1205_get_dtrim(struct i2c_client *client, int *trim)
+-{
+-      unsigned char dtr;
+-      static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR };
+-
+-      struct i2c_msg msgs[] = {
+-              { client->addr, 0, 2, dtr_addr },       /* setup read ptr */
+-              { client->addr, I2C_M_RD, 1, &dtr },    /* read dtr */
+-      };
+-
+-      /* read dtr register */
+-      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
+-              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
+-              return -EIO;
+-      }
+-
+-      dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr);
+-
+-      *trim = 0;
+-
+-      if (dtr & X1205_DTR_DTR0)
+-              *trim += 20;
+-
+-      if (dtr & X1205_DTR_DTR1)
+-              *trim += 10;
+-
+-      if (dtr & X1205_DTR_DTR2)
+-              *trim = -*trim;
+-
+-      return 0;
+-}
+-
+-static int x1205_get_atrim(struct i2c_client *client, int *trim)
+-{
+-      s8 atr;
+-      static unsigned char atr_addr[2] = { 0, X1205_REG_ATR };
+-
+-      struct i2c_msg msgs[] = {
+-              { client->addr, 0, 2, atr_addr },       /* setup read ptr */
+-              { client->addr, I2C_M_RD, 1, &atr },    /* read atr */
+-      };
+-
+-      /* read atr register */
+-      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
+-              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
+-              return -EIO;
+-      }
+-
+-      dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr);
+-
+-      /* atr is a two's complement value on 6 bits,
+-       * perform sign extension. The formula is
+-       * Catr = (atr * 0.25pF) + 11.00pF.
+-       */
+-      if (atr & 0x20)
+-              atr |= 0xC0;
+-
+-      dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr);
+-
+-      *trim = (atr * 250) + 11000;
+-
+-      dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim);
++      dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
++              return -EIO;            
+       return 0;
+ }
+@@ -386,24 +256,28 @@ static int x1205_hctosys(struct i2c_clie
+       struct rtc_time tm;
+       struct timespec tv;
++      
+       err = x1205_command(client, X1205_CMD_GETDATETIME, &tm);
+-      if (err) {
+-              dev_err(&client->dev,
+-                      "Unable to set the system clock\n");
++      if (err)
++      {
++              dev_info(&client->adapter->dev,
++                      "%s: Unable to set the system clock\n",
++                      DRIVER_NAME);
++
+               return err;
++
+       }
+-      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
+-       * whether it stores the most close value or the value with partial
+-       * seconds truncated. However, it is important that we use it to store
+-       * the truncated value. This is because otherwise it is necessary,
+-       * in an rtc sync function, to read both xtime.tv_sec and
+-       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
+-       * of >32bits is not possible. So storing the most close value would
+-       * slow down the sync API. So here we have the truncated value and
+-       * the best guess is to add 0.5s.
++      /* IMPORTANT: the RTC only stores whole seconds.  It is arbitrary whether
++       * it stores the most close value or the value with partial seconds
++       * truncated, however it is important for x1205_sync_rtc that it be
++       * defined to store the truncated value.  This is because otherwise it
++       * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the
++       * sync function, and atomic reads of >32bits on ARM are not possible.
++       * So storing the most close value would slow down the sync API.  So
++       * Here we have the truncated value and the best guess is to add 0.5s
+        */
+       tv.tv_nsec = NSEC_PER_SEC >> 1;
+@@ -413,15 +287,16 @@ static int x1205_hctosys(struct i2c_clie
+        * the month to be in the range 1-12
+        */
+-      tv.tv_sec  = mktime(tm.tm_year + 1900, tm.tm_mon + 1,
++      tv.tv_sec  = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
+                               tm.tm_mday, tm.tm_hour,
+                               tm.tm_min, tm.tm_sec);
+       do_settimeofday(&tv);
+-      dev_info(&client->dev,
+-              "setting the system clock to %d-%d-%d %d:%d:%d\n",
+-              tm.tm_year + 1900, tm.tm_mon + 1,
++      dev_info(&client->adapter->dev,
++              "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n",
++              DRIVER_NAME,
++              tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
+               tm.tm_mday, tm.tm_hour, tm.tm_min,
+               tm.tm_sec);
+@@ -432,7 +307,7 @@ struct x1205_limit
+ {
+       unsigned char reg;
+       unsigned char mask;
+-      unsigned char min;
++      unsigned char min;      
+       unsigned char max;
+ };
+@@ -443,16 +318,34 @@ static int x1205_validate_client(struct 
+       /* Probe array. We will read the register at the specified
+        * address and check if the given bits are zero.
+        */
+-      static const unsigned char probe_zero_pattern[] = {
+-              /* register, mask */
++
++      const unsigned char probe_zero_pattern[] = {
++
+               X1205_REG_SR,   0x18,
++              X1205_REG_Y2K,  0xC6,
++              X1205_REG_DW,   0xF8,
++              X1205_REG_MO,   0xE0,
++              X1205_REG_DT,   0xC0,
++              X1205_REG_HR,   0x40,
++              X1205_REG_MN,   0x80,
++              X1205_REG_SC,   0x80,
+               X1205_REG_DTR,  0xF8,
+               X1205_REG_ATR,  0xC0,
+               X1205_REG_INT,  0x18,
+               X1205_REG_0,    0xFF,
++              X1205_REG_Y2K1, 0xC6,
++              X1205_REG_DWA1, 0x78,
++              X1205_REG_MOA1, 0x60,
++              X1205_REG_DTA1, 0x40,
++              X1205_REG_HRA1, 0x40,
++              X1205_REG_Y2K0, 0xC6,
++              X1205_REG_DWA0, 0x78,
++              X1205_REG_MOA0, 0x60,
++              X1205_REG_DTA0, 0x40,
++              X1205_REG_HRA0, 0x40,
+       };
+-      static const struct x1205_limit probe_limits_pattern[] = {
++      const struct x1205_limit probe_limits_pattern[] = {
+               /* register, mask, min, max */
+               { X1205_REG_Y2K,        0xFF,   19,     20      },
+               { X1205_REG_DW,         0xFF,   0,      6       },
+@@ -463,23 +356,41 @@ static int x1205_validate_client(struct 
+               { X1205_REG_MN,         0xFF,   0,      59      },
+               { X1205_REG_SC,         0xFF,   0,      59      },
+               { X1205_REG_Y2K1,       0xFF,   19,     20      },
++              { X1205_REG_DWA1,       0x7F,   0,      6       },
++              { X1205_REG_MOA1,       0x7F,   0,      12      },
++              { X1205_REG_DTA1,       0x7F,   0,      31      },
++              { X1205_REG_HRA1,       0x7F,   0,      23      },
++              { X1205_REG_MNA1,       0x7F,   0,      59      },
++              { X1205_REG_SCA1,       0x7F,   0,      59      },
+               { X1205_REG_Y2K0,       0xFF,   19,     20      },
++              { X1205_REG_DWA0,       0x7F,   0,      6       },
++              { X1205_REG_MOA0,       0x7F,   0,      12      },
++              { X1205_REG_DTA0,       0x7F,   0,      31      },
++              { X1205_REG_HRA0,       0x7F,   0,      23      },
++              { X1205_REG_MNA0,       0x7F,   0,      59      },
++              { X1205_REG_SCA0,       0x7F,   0,      59      },
+       };
+       /* check that registers have bits a 0 where expected */
+-      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) {
++
++      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2)
++      {
+               unsigned char buf;
+-              unsigned char addr[2] = { 0, probe_zero_pattern[i] };
++              static unsigned char addr[2];
+               struct i2c_msg msgs[2] = {
+-                      { client->addr, 0, 2, addr },
++                      { client->addr, 0, 2, addr },   /* random read */
+                       { client->addr, I2C_M_RD, 1, &buf },
+               };
++              addr[0] = 0x00;
++              addr[1] = probe_zero_pattern[i];
++
+               xfer = i2c_transfer(client->adapter, msgs, 2);
++
+               if (xfer != 2) {
+-                      dev_err(&client->adapter->dev,
++                      dev_dbg(&client->adapter->dev, 
+                               "%s: could not read register %x\n",
+                               __FUNCTION__, addr[1]);
+@@ -487,42 +398,47 @@ static int x1205_validate_client(struct 
+               }
+               if ((buf & probe_zero_pattern[i+1]) != 0) {
+-                      dev_err(&client->adapter->dev,
+-                              "%s: register=%02x, zero pattern=%d, value=%x\n",
++                      dev_dbg(&client->adapter->dev,
++                              "%s: register %x, zero pattern %d: %x\n",
+                               __FUNCTION__, addr[1], i, buf);
+                       return -ENODEV;
+               }
+       }
+-      /* check limits (only registers with bcd values) */
+-      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) {
+-              unsigned char reg, value;
++      /* check limits */
+-              unsigned char addr[2] = { 0, probe_limits_pattern[i].reg };
++      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++)
++      {
++              unsigned char buf, val;
++
++              static unsigned char addr[2];
+               struct i2c_msg msgs[2] = {
+-                      { client->addr, 0, 2, addr },
+-                      { client->addr, I2C_M_RD, 1, &reg },
++                      { client->addr, 0, 2, addr },   /* random read */
++                      { client->addr, I2C_M_RD, 1, &buf },
+               };
++              addr[0] = 0x00;
++              addr[1] = probe_limits_pattern[i].reg;
++
+               xfer = i2c_transfer(client->adapter, msgs, 2);
+               if (xfer != 2) {
+-                      dev_err(&client->adapter->dev,
++                      dev_dbg(&client->adapter->dev, 
+                               "%s: could not read register %x\n",
+                               __FUNCTION__, addr[1]);
+                       return -EIO;
+               }
+-              value = BCD2BIN(reg & probe_limits_pattern[i].mask);
++              val = BCD2BIN(buf & probe_limits_pattern[i].mask);
+-              if (value > probe_limits_pattern[i].max ||
+-                      value < probe_limits_pattern[i].min) {
++              if (val > probe_limits_pattern[i].max ||
++                      val < probe_limits_pattern[i].min) {
+                       dev_dbg(&client->adapter->dev,
+-                              "%s: register=%x, lim pattern=%d, value=%d\n",
+-                              __FUNCTION__, addr[1], i, value);
++                              "%s: register %x, lim pattern %d: %d\n",
++                              __FUNCTION__, addr[1], i, val);
+                       return -ENODEV;
+               }
+@@ -538,79 +454,66 @@ static int x1205_attach(struct i2c_adapt
+       return i2c_probe(adapter, &addr_data, x1205_probe);
+ }
+-int x1205_direct_attach(int adapter_id,
+-      struct i2c_client_address_data *address_data)
+-{
+-      int err;
+-      struct i2c_adapter *adapter = i2c_get_adapter(adapter_id);
+-
+-      if (adapter) {
+-              err = i2c_probe(adapter,
+-                      address_data, x1205_probe);
+-
+-              i2c_put_adapter(adapter);
+-
+-              return err;
+-      }
+-
+-      return -ENODEV;
+-}
+-
+ static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
+ {
+-      struct i2c_client *client;
+-      struct x1205_data *data;
++      struct i2c_client *new_client;
++      struct x1205_data *xdata;
+       int err = 0;
+       dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
+-      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
+-              err = -ENODEV;
+-              goto exit;
+-      }
+-
+-      if (!(data = kzalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
++      if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
+               err = -ENOMEM;
+               goto exit;
+       }
+-      /* Initialize our structures */
+-      data->epoch = 2000;
++      /* Fill our data structure */
+-      client = &data->client;
+-      client->addr = address;
+-      client->driver = &x1205_driver;
+-      client->adapter = adapter;
++      memset(xdata, 0, sizeof(struct x1205_data));
+-      strlcpy(client->name, "x1205", I2C_NAME_SIZE);
++      xdata->epoch = 2000;
++
++
++      /* Prepare i2c_client structure */
++
++      new_client              = &xdata->client;
++      i2c_set_clientdata(new_client, xdata);
++      new_client->addr        = address;
++      new_client->adapter     = adapter;
++      new_client->driver      = &x1205_driver;
++      new_client->flags       = 0;
++      
++      strlcpy(new_client->name, "x1205", I2C_NAME_SIZE);
+-      i2c_set_clientdata(client, data);
+       /* Verify the chip is really an X1205 */
+-      if (kind < 0) {
+-              if (x1205_validate_client(client) < 0) {
++
++      if (kind < 0)
++      {
++              if (x1205_validate_client(new_client) < 0) {
+                       err = -ENODEV;
+                       goto exit_kfree;
+               }
+       }
+       /* Inform the i2c layer */
+-      if ((err = i2c_attach_client(client)))
++      if ((err = i2c_attach_client(new_client)))
+               goto exit_kfree;
+-      list_add(&data->list, &x1205_clients);
++      list_add(&xdata->list, &x1205_clients);
+-      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
++      dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n",
++                      DRIVER_NAME);
+-      /* If requested, set the system time */
++      /* If requested, se the system time */
+       if (hctosys)
+-              x1205_hctosys(client);
++              x1205_hctosys(new_client);
+       return 0;
+ exit_kfree:
+-      kfree(data);
++      kfree(xdata);
+ exit:
+       return err;
+@@ -620,23 +523,44 @@ static int x1205_detach(struct i2c_clien
+ {
+       int err;
+       struct x1205_data *data = i2c_get_clientdata(client);
+-
++      
+       dev_dbg(&client->dev, "%s\n", __FUNCTION__);
+       if ((err = i2c_detach_client(client)))
+               return err;
+       list_del(&data->list);
+-
+       kfree(data);
++      return 0;
++}
++
++/* make sure the rtc_time values are in bounds */
++static int x1205_validate_tm(struct rtc_time *tm)
++{
++      tm->tm_year += 1900;
++
++      if (tm->tm_year < EPOCH_1970)
++              return -EINVAL;
++
++      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
++              return -EINVAL;
++
++      if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && 
++              ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400)))))
++              return -EINVAL;
++
++      if ((tm->tm_year -= EPOCH_1900) > 255)
++              return -EINVAL;
++                      
++      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
++              return -EINVAL;
+       return 0;
+ }
+-static int x1205_command(struct i2c_client *client, unsigned int cmd,
+-      void *param)
++static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm)
+ {
+-      if (param == NULL)
++      if (client == NULL || tm == NULL)
+               return -EINVAL;
+       if (!capable(CAP_SYS_TIME))
+@@ -646,34 +570,26 @@ static int x1205_command(struct i2c_clie
+       switch (cmd) {
+       case X1205_CMD_GETDATETIME:
+-              return x1205_get_datetime(client, param, X1205_CCR_BASE);
++              return x1205_get_datetime(client, tm, X1205_CCR_BASE);
+       case X1205_CMD_SETTIME:
+-              return x1205_set_datetime(client, param, 0,
+-                              X1205_CCR_BASE);
++              return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE);
+       case X1205_CMD_SETDATETIME:
+-              return x1205_set_datetime(client, param, 1,
+-                              X1205_CCR_BASE);
++              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE);
+       case X1205_CMD_GETALARM:
+-              return x1205_get_datetime(client, param, X1205_ALM0_BASE);
++              return x1205_get_datetime(client, tm, X1205_ALM0_BASE);
+       case X1205_CMD_SETALARM:
+-              return x1205_set_datetime(client, param, 1,
+-                              X1205_ALM0_BASE);
+-
+-      case X1205_CMD_GETDTRIM:
+-              return x1205_get_dtrim(client, param);
+-
+-      case X1205_CMD_GETATRIM:
+-              return x1205_get_atrim(client, param);
++              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE);
+       default:
+               return -EINVAL;
+       }
+ }
++
+ static int __init x1205_init(void)
+ {
+       return i2c_add_driver(&x1205_driver);
+@@ -689,10 +605,8 @@ MODULE_AUTHOR(
+       "Alessandro Zummo <a.zummo@towertech.it>");
+ MODULE_DESCRIPTION("Xicor X1205 RTC driver");
+ MODULE_LICENSE("GPL");
+-MODULE_VERSION(DRV_VERSION);
+ EXPORT_SYMBOL_GPL(x1205_do_command);
+-EXPORT_SYMBOL_GPL(x1205_direct_attach);
+ module_init(x1205_init);
+ module_exit(x1205_exit);
+--- linux-2.6.14/include/linux/x1205.h.orig    2005-11-07 22:38:42.196252187 -0800
++++ linux-2.6.14/include/linux/x1205.h 2005-11-07 22:42:54.960157617 -0800
+@@ -1,31 +1,67 @@
+-/*
+- *  x1205.h - defines for drivers/i2c/chips/x1205.c
+- *  Copyright 2004 Karen Spearel
+- *  Copyright 2005 Alessandro Zummo
+- *
+- *  This program is free software; you can redistribute it and/or modify
+- *  it under the terms of the GNU General Public License as published by
+- *  the Free Software Foundation; either version 2 of the License, or
+- *  (at your option) any later version.
+- */
+-
+-#ifndef __LINUX_X1205_H__
+-#define __LINUX_X1205_H__
+ /* commands */
+-#define X1205_CMD_GETDATETIME 0
+-#define X1205_CMD_SETTIME     1
+-#define X1205_CMD_SETDATETIME 2
++#define       X1205_CMD_GETDATETIME   0
++#define       X1205_CMD_SETTIME       1
++#define       X1205_CMD_SETDATETIME   2
+ #define X1205_CMD_GETALARM    3
+ #define X1205_CMD_SETALARM    4
+-#define X1205_CMD_GETDTRIM    5
+-#define X1205_CMD_SETDTRIM    6
+-#define X1205_CMD_GETATRIM    7
+-#define X1205_CMD_SETATRIM    8
++
++/* flags */
++
++#define       X1205_NODATE            0
++#define       X1205_DATETOO           1
++
++/*  offsets into read buf - add 2 for write buf */
++
++#define       CCR_SEC                 0
++#define       CCR_MIN                 1
++#define       CCR_HOUR                2
++#define       CCR_MDAY                3
++#define       CCR_MONTH               4
++#define       CCR_YEAR                5
++#define       CCR_WDAY                6
++#define       CCR_Y2K                 7
++
++#define       X1205_REG_SR            0x3F    /* status register */
++#define       X1205_REG_Y2K           0x37
++#define       X1205_REG_DW            0x36
++#define       X1205_REG_YR            0x35
++#define       X1205_REG_MO            0x34
++#define       X1205_REG_DT            0x33
++#define       X1205_REG_HR            0x32
++#define       X1205_REG_MN            0x31
++#define       X1205_REG_SC            0x30
++#define       X1205_REG_DTR           0x13
++#define       X1205_REG_ATR           0x12
++#define       X1205_REG_INT           0x11
++#define       X1205_REG_0             0x10
++#define       X1205_REG_Y2K1          0x0F
++#define       X1205_REG_DWA1          0x0E
++#define       X1205_REG_YRA1          0x0D
++#define       X1205_REG_MOA1          0x0C
++#define       X1205_REG_DTA1          0x0B
++#define       X1205_REG_HRA1          0x0A
++#define       X1205_REG_MNA1          0x09
++#define       X1205_REG_SCA1          0x08
++#define       X1205_REG_Y2K0          0x07
++#define       X1205_REG_DWA0          0x06
++#define       X1205_REG_YRA0          0x05
++#define       X1205_REG_MOA0          0x04
++#define       X1205_REG_DTA0          0x03
++#define       X1205_REG_HRA0          0x02
++#define       X1205_REG_MNA0          0x01
++#define       X1205_REG_SCA0          0x00
++
++#define       X1205_I2C_BUS_ADDR      0x6f    /* hardwired into x1205 */
++#define       X1205_CCR_BASE          0x30    /* Base address of CCR */
++#define       X1205_ALM0_BASE         0x00    /* Base address of ALARM0 */
++
++#define X1205_SR_RTCF         0x01
++#define       X1205_SR_WEL            0x02    /* Write Enable Latch bit */
++#define       X1205_SR_RWEL           0x04    /* Register Write Enable Bit */
++
++#define       X1205_HR_MIL            0x80    /* set in ccr.hour for 24 hr mode */
+ extern int x1205_do_command(unsigned int cmd, void *arg);
+-extern int x1205_direct_attach(int adapter_id,
+-      struct i2c_client_address_data *address_data);
+-#endif /* __LINUX_X1205_H__ */
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/80-nslu2-class-device-create.patch
new file mode 100644 (file)
index 0000000..116f95b
--- /dev/null
@@ -0,0 +1,20 @@
+--- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c.orig  2005-11-07 22:26:36.010556202 -0800
++++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-io.c       2005-11-07 22:27:15.921067613 -0800
+@@ -504,7 +504,7 @@ static int __init n2iom_init(void)
+               return -EBUSY;
+       }
+       else {
+-              class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
++              class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
+       }
+ #endif
+@@ -513,7 +513,7 @@ static int __init n2iom_init(void)
+               return -EBUSY;
+       }
+       else {
+-              class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
++              class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
+       }
+       return 0;
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.14-mm/defconfig
new file mode 100644 (file)
index 0000000..ecb422f
--- /dev/null
@@ -0,0 +1,1595 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.14
+# Mon Nov  7 22:59:39 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SWAP_PREFETCH=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+CONFIG_MACH_NSLU2=y
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc x1205.hctosys=1 noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+# CONFIG_NETFILTER_NETLINK is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_DCCP is not set
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+# CONFIG_IP_NF_MATCH_STRING is not set
+CONFIG_IP_NF_FILTER=m
+# CONFIG_IP_NF_TARGET_REJECT is not set
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+# CONFIG_IP_NF_TARGET_NFQUEUE is not set
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+# CONFIG_IP_NF_TARGET_TTL is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_BLK_DEV_IO_TRACE is not set
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI Transport Layers
+#
+# CONFIG_SAS_CLASS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SKY2 is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
+# CONFIG_ACX is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+# CONFIG_KGDBOE is not set
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=m
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+CONFIG_SENSORS_X1205=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+CONFIG_VIDEO_BT848=m
+# CONFIG_VIDEO_SAA6588 is not set
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_VIDEO_OVCAMCHIP=m
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_VIDEOBUF=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Speakup console speech
+#
+# CONFIG_SPEAKUP is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_RTCTIMER is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_LIBUSUAL is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_ITMTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_W9968CF is not set
+CONFIG_USB_PWC=m
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_NOKIA_DKU2 is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_GOTEMP is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+# CONFIG_REISER4_FS is not set
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ASFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-copy-from.patch
new file mode 100644 (file)
index 0000000..f3da2e0
--- /dev/null
@@ -0,0 +1,73 @@
+--- linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-27 17:02:08.000000000 -0700
++++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-29 23:11:24.990820968 -0700
+@@ -38,10 +38,14 @@
+ #define       BYTE1(h)        ((h) & 0xFF)
+ #endif
++#define FLASHWORD(a)  (*(__u16*)(a))
++#define FLASHVAL(a)   FLASHWORD(a)
++#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0)
++
+ static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs)
+ {
+       map_word val;
+-      val.x[0] = *(__u16 *) (map->map_priv_1 + ofs);
++      val.x[0] = FLASHVAL(map->map_priv_1 + ofs);
+       return val;
+ }
+@@ -53,19 +57,25 @@ static map_word ixp4xx_read16(struct map
+ static void ixp4xx_copy_from(struct map_info *map, void *to,
+                            unsigned long from, ssize_t len)
+ {
+-      int i;
+-      u8 *dest = (u8 *) to;
+-      u16 *src = (u16 *) (map->map_priv_1 + from);
+-      u16 data;
+-
+-      for (i = 0; i < (len / 2); i++) {
+-              data = src[i];
+-              dest[i * 2] = BYTE0(data);
+-              dest[i * 2 + 1] = BYTE1(data);
++      u8 *dest, *src;
++
++      if (len <= 0)
++              return;
++
++      dest = (u8 *) to;
++      src  = (u8 *) (map->map_priv_1 + from);
++      if (from & 1)
++              *dest++ = BYTE1(FLASHVAL(src-1)), ++src, --len;
++
++      while (len >= 2) {
++              u16 data = FLASHVAL(src); src += 2;
++              *dest++ = BYTE0(data);
++              *dest++ = BYTE1(data);
++              len -= 2;
+       }
+-      if (len & 1)
+-              dest[len - 1] = BYTE0(src[i]);
++      if (len > 0)
++              *dest++ = BYTE0(FLASHVAL(src));
+ }
+ /* 
+@@ -75,7 +85,7 @@ static void ixp4xx_copy_from(struct map_
+ static void ixp4xx_probe_write16(struct map_info *map, map_word d, unsigned long adr)
+ {
+       if (!(adr & 1))
+-             *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
++             FLASHSET(map->map_priv_1 + adr, d.x[0]);
+ }
+ /* 
+@@ -83,7 +93,7 @@ static void ixp4xx_probe_write16(struct 
+  */
+ static void ixp4xx_write16(struct map_info *map, map_word d, unsigned long adr)
+ {
+-       *(__u16 *) (map->map_priv_1 + adr) = d.x[0];
++       FLASHSET(map->map_priv_1 + adr, d.x[0]);
+ }
+ struct ixp4xx_flash_info {
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-ixp4xx-le.patch
new file mode 100644 (file)
index 0000000..0b50e4e
--- /dev/null
@@ -0,0 +1,54 @@
+--- linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-27 17:02:08.000000000 -0700
++++ linux-2.6.14/drivers/mtd/maps/ixp4xx.c     2005-10-29 23:11:24.990820968 -0700
+@@ -22,6 +22,7 @@
+ #include <linux/string.h>
+ #include <linux/mtd/mtd.h>
+ #include <linux/mtd/map.h>
++#include <linux/mtd/cfi_endian.h>
+ #include <linux/mtd/partitions.h>
+ #include <linux/ioport.h>
+ #include <linux/device.h>
+@@ -30,17 +31,40 @@
+ #include <linux/reboot.h>
++/* On a little-endian IXP4XX system (tested on NSLU2) an LDRH or STRH
++ * will flip the second address bit - i.e. XOR the address with 10b.
++ * This causes the cfi commands (sent to the command address, 0xAA for
++ * 16 bit flash) to fail.  This is fixed here by XOR'ing the address
++ * before use with 10b.  The cost of this is that the flash layout ends
++ * up with pdp-endiannes (on an LE system), however this is not a problem
++ * as the access code consistently only accesses half words - so the
++ * endianness is not determinable on stuff which is written and read
++ * consistently in the little endian world.
++ *
++ * For flash data from the big-endian world, however, the results are
++ * weird - the pdp-endianness results in the data apparently being
++ * 2-byte swapped (as in dd conv=swab).  To work round this the 16
++ * bit values are written and read using cpu_to_cfi16 and cfi16_to_cpu,
++ * by default these are no-ops, but if the MTD driver is configed with
++ * CONFIG_MTD_CFI_BE_BYTE_SWAP the macros will byte swap the data,
++ * resulting in a consistently BE view of the flash on both BE (no
++ * op) and LE systems.  This config setting also causes the command
++ * data from the CFI implementation to get swapped - as is required
++ * so that this code will *unswap* it and give the correct command
++ * data to the flash.
++ */
+ #ifndef __ARMEB__
+ #define       BYTE0(h)        ((h) & 0xFF)
+ #define       BYTE1(h)        (((h) >> 8) & 0xFF)
++#define       FLASHWORD(a)    (*(__u16*)((u32)(a) ^ 2))
+ #else
+ #define       BYTE0(h)        (((h) >> 8) & 0xFF)
+ #define       BYTE1(h)        ((h) & 0xFF)
++#define       FLASHWORD(a)    (*(__u16*)(a))
+ #endif
+-#define FLASHWORD(a)  (*(__u16*)(a))
+-#define FLASHVAL(a)   FLASHWORD(a)
+-#define FLASHSET(a,v) do { FLASHWORD(a) = (v); } while (0)
++#define FLASHVAL(a)   cfi16_to_cpu(FLASHWORD(a))
++#define FLASHSET(a,v) (FLASHWORD(a) = cpu_to_cfi16(v))
+ static map_word ixp4xx_read16(struct map_info *map, unsigned long ofs)
+ {
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/10-mtdpart-redboot-fis-byteswap.patch
new file mode 100644 (file)
index 0000000..3fa0535
--- /dev/null
@@ -0,0 +1,70 @@
+drivers/mtd/redboot.c: recognise a foreign byte sex partition table
+
+The RedBoot boot loader writes flash partition tables containing native
+byte sex 32 bit values.  When booting an opposite byte sex kernel (e.g.  an
+LE kernel from BE RedBoot) the current MTD driver fails to handle the
+partition table and therefore is unable to generate the correct partition
+map for the flash.
+
+The patch recognises that the FIS directory (the partition table) is
+byte-reversed by examining the partition table size, which is known to be
+one erase block (this is an assumption made elsewhere in redboot.c).  If
+the size matches the erase block after byte swapping the value then
+byte-reversal is assumed, if not no further action is taken.  The patched
+code is fail safe; should redboot.c be changed to support a partition table
+with a modified size field the test will fail and the partition table will
+be assumed to have the host byte sex.
+
+If byte-reversal is detected the patch byte swaps the remainder of the 32
+bit fields in the copy of the table; this copy is then used to set up the
+MTD partition map.
+
+Signed-off-by: John Bowler <jbowler@acm.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Modified slightly and
+Signed-off-by: David Woodhouse <dwmw2@infradead.org>
+
+Index: drivers/mtd/redboot.c
+===================================================================
+RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v
+retrieving revision 1.18
+retrieving revision 1.19
+diff -u -p -r1.18 -r1.19
+--- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
+@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru
+                       i = numslots;
+                       break;
+               }
+-              if (!memcmp(buf[i].name, "FIS directory", 14))
++              if (!memcmp(buf[i].name, "FIS directory", 14)) {
++                      /* This is apparently the FIS directory entry for the
++                       * FIS directory itself.  The FIS directory size is
++                       * one erase block; if the buf[i].size field is
++                       * swab32(erasesize) then we know we are looking at
++                       * a byte swapped FIS directory - swap all the entries!
++                       * (NOTE: this is 'size' not 'data_length'; size is
++                       * the full size of the entry.)
++                       */
++                      if (swab32(buf[i].size) == master->erasesize) {
++                              int j;
++                              for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) {
++                                      /* The unsigned long fields were written with the
++                                       * wrong byte sex, name and pad have no byte sex.
++                                       */
++                                      swab32s(&buf[j].flash_base);
++                                      swab32s(&buf[j].mem_base);
++                                      swab32s(&buf[j].size);
++                                      swab32s(&buf[j].entry_point);
++                                      swab32s(&buf[j].data_length);
++                                      swab32s(&buf[j].desc_cksum);
++                                      swab32s(&buf[j].file_cksum);
++                              }
++                      }
+                       break;
++              }
+       }
+       if (i == numslots) {
+               /* Didn't find it */
+
+
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/15-ixp4xx-writesb-l-w.patch
new file mode 100644 (file)
index 0000000..6ac0807
--- /dev/null
@@ -0,0 +1,31 @@
+# The inline caller of these APIs were changed to have
+# const vaddr parameters...
+--- linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h.orig 2005-09-24 17:06:19.968099976 -0700
++++ linux-2.6.13/include/asm-arm/arch-ixp4xx/io.h      2005-09-24 17:06:52.542149731 -0700
+@@ -113,7 +113,7 @@
+ }
+ static inline void
+-__ixp4xx_writesb(u32 bus_addr, u8 *vaddr, int count)
++__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count)
+ {
+       while (count--)
+               writeb(*vaddr++, bus_addr);
+@@ -136,7 +136,7 @@
+ }
+ static inline void
+-__ixp4xx_writesw(u32 bus_addr, u16 *vaddr, int count)
++__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count)
+ {
+       while (count--)
+               writew(*vaddr++, bus_addr);
+@@ -154,7 +154,7 @@
+ }
+ static inline void
+-__ixp4xx_writesl(u32 bus_addr, u32 *vaddr, int count)
++__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count)
+ {
+       while (count--)
+               writel(*vaddr++, bus_addr);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/18-ixp4xx-io-h-addr.patch
new file mode 100644 (file)
index 0000000..5813bbb
--- /dev/null
@@ -0,0 +1,287 @@
+--- linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h      2005-10-29 23:33:21.757679882 -0700
++++ linux-2.6.14/include/asm-arm/arch-ixp4xx/io.h      2005-10-29 23:47:02.581331058 -0700
+@@ -80,9 +80,9 @@ __ixp4xx_iounmap(void __iomem *addr)
+ #define __arch_ioremap(a, s, f, x)    __ixp4xx_ioremap(a, s, f, x)
+ #define       __arch_iounmap(a)               __ixp4xx_iounmap(a)
+-#define       writeb(p, v)                    __ixp4xx_writeb(p, v)
+-#define       writew(p, v)                    __ixp4xx_writew(p, v)
+-#define       writel(p, v)                    __ixp4xx_writel(p, v)
++#define       writeb(v, p)                    __ixp4xx_writeb(v, p)
++#define       writew(v, p)                    __ixp4xx_writew(v, p)
++#define       writel(v, p)                    __ixp4xx_writel(v, p)
+ #define       writesb(p, v, l)                __ixp4xx_writesb(p, v, l)
+ #define       writesw(p, v, l)                __ixp4xx_writesw(p, v, l)
+@@ -97,8 +97,9 @@ __ixp4xx_iounmap(void __iomem *addr)
+ #define       readsl(p, v, l)                 __ixp4xx_readsl(p, v, l)
+ static inline void 
+-__ixp4xx_writeb(u8 value, u32 addr)
++__ixp4xx_writeb(u8 value, volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       u32 n, byte_enables, data;
+       if (addr >= VMALLOC_START) {
+@@ -113,15 +114,16 @@ __ixp4xx_writeb(u8 value, u32 addr)
+ }
+ static inline void
+-__ixp4xx_writesb(u32 bus_addr, const u8 *vaddr, int count)
++__ixp4xx_writesb(volatile void __iomem *bus_addr, const u8 *vaddr, int count)
+ {
+       while (count--)
+               writeb(*vaddr++, bus_addr);
+ }
+ static inline void 
+-__ixp4xx_writew(u16 value, u32 addr)
++__ixp4xx_writew(u16 value, volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       u32 n, byte_enables, data;
+       if (addr >= VMALLOC_START) {
+@@ -136,15 +138,16 @@ __ixp4xx_writew(u16 value, u32 addr)
+ }
+ static inline void
+-__ixp4xx_writesw(u32 bus_addr, const u16 *vaddr, int count)
++__ixp4xx_writesw(volatile void __iomem *bus_addr, const u16 *vaddr, int count)
+ {
+       while (count--)
+               writew(*vaddr++, bus_addr);
+ }
+ static inline void 
+-__ixp4xx_writel(u32 value, u32 addr)
++__ixp4xx_writel(u32 value, volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       if (addr >= VMALLOC_START) {
+               __raw_writel(value, addr);
+               return;
+@@ -154,15 +157,16 @@ __ixp4xx_writel(u32 value, u32 addr)
+ }
+ static inline void
+-__ixp4xx_writesl(u32 bus_addr, const u32 *vaddr, int count)
++__ixp4xx_writesl(volatile void __iomem *bus_addr, const u32 *vaddr, int count)
+ {
+       while (count--)
+               writel(*vaddr++, bus_addr);
+ }
+ static inline unsigned char 
+-__ixp4xx_readb(u32 addr)
++__ixp4xx_readb(const volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       u32 n, byte_enables, data;
+       if (addr >= VMALLOC_START)
+@@ -177,15 +181,16 @@ __ixp4xx_readb(u32 addr)
+ }
+ static inline void
+-__ixp4xx_readsb(u32 bus_addr, u8 *vaddr, u32 count)
++__ixp4xx_readsb(const volatile void __iomem *bus_addr, u8 *vaddr, u32 count)
+ {
+       while (count--)
+               *vaddr++ = readb(bus_addr);
+ }
+ static inline unsigned short 
+-__ixp4xx_readw(u32 addr)
++__ixp4xx_readw(const volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       u32 n, byte_enables, data;
+       if (addr >= VMALLOC_START)
+@@ -200,15 +205,16 @@ __ixp4xx_readw(u32 addr)
+ }
+ static inline void 
+-__ixp4xx_readsw(u32 bus_addr, u16 *vaddr, u32 count)
++__ixp4xx_readsw(const volatile void __iomem *bus_addr, u16 *vaddr, u32 count)
+ {
+       while (count--)
+               *vaddr++ = readw(bus_addr);
+ }
+ static inline unsigned long 
+-__ixp4xx_readl(u32 addr)
++__ixp4xx_readl(const volatile void __iomem *p)
+ {
++      u32 addr = (u32)p;
+       u32 data;
+       if (addr >= VMALLOC_START)
+@@ -221,7 +227,7 @@ __ixp4xx_readl(u32 addr)
+ }
+ static inline void 
+-__ixp4xx_readsl(u32 bus_addr, u32 *vaddr, u32 count)
++__ixp4xx_readsl(const volatile void __iomem *bus_addr, u32 *vaddr, u32 count)
+ {
+       while (count--)
+               *vaddr++ = readl(bus_addr);
+@@ -239,7 +245,7 @@ __ixp4xx_readsl(u32 bus_addr, u32 *vaddr
+                               eth_copy_and_sum((s),__mem_pci(c),(l),(b))
+ static inline int
+-check_signature(unsigned long bus_addr, const unsigned char *signature,
++check_signature(const unsigned char __iomem *bus_addr, const unsigned char *signature,
+               int length)
+ {
+       int retval = 0;
+@@ -389,7 +395,7 @@ __ixp4xx_insl(u32 io_addr, u32 *vaddr, u
+ #define       __is_io_address(p)      (((unsigned long)p >= PIO_OFFSET) && \
+                                       ((unsigned long)p <= (PIO_MASK + PIO_OFFSET)))
+ static inline unsigned int
+-__ixp4xx_ioread8(void __iomem *addr)
++__ixp4xx_ioread8(const void __iomem *addr)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -398,12 +404,12 @@ __ixp4xx_ioread8(void __iomem *addr)
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               return (unsigned int)__raw_readb(port);
+ #else
+-              return (unsigned int)__ixp4xx_readb(port);
++              return (unsigned int)__ixp4xx_readb(addr);
+ #endif
+ }
+ static inline void
+-__ixp4xx_ioread8_rep(void __iomem *addr, void *vaddr, u32 count)
++__ixp4xx_ioread8_rep(const void __iomem *addr, void *vaddr, u32 count)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -412,12 +418,12 @@ __ixp4xx_ioread8_rep(void __iomem *addr,
+ #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_readsb(addr, vaddr, count);
+ #else
+-              __ixp4xx_readsb(port, vaddr, count);
++              __ixp4xx_readsb(addr, vaddr, count);
+ #endif
+ }
+ static inline unsigned int
+-__ixp4xx_ioread16(void __iomem *addr)
++__ixp4xx_ioread16(const void __iomem *addr)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -426,12 +432,12 @@ __ixp4xx_ioread16(void __iomem *addr)
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               return le16_to_cpu(__raw_readw((u32)port));
+ #else
+-              return (unsigned int)__ixp4xx_readw((u32)port);
++              return (unsigned int)__ixp4xx_readw(addr);
+ #endif
+ }
+ static inline void
+-__ixp4xx_ioread16_rep(void __iomem *addr, void *vaddr, u32 count)
++__ixp4xx_ioread16_rep(const void __iomem *addr, void *vaddr, u32 count)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -440,12 +446,12 @@ __ixp4xx_ioread16_rep(void __iomem *addr
+ #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_readsw(addr, vaddr, count);
+ #else
+-              __ixp4xx_readsw(port, vaddr, count);
++              __ixp4xx_readsw(addr, vaddr, count);
+ #endif
+ }
+ static inline unsigned int
+-__ixp4xx_ioread32(void __iomem *addr)
++__ixp4xx_ioread32(const void __iomem *addr)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -454,13 +460,13 @@ __ixp4xx_ioread32(void __iomem *addr)
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               return le32_to_cpu(__raw_readl((u32)port));
+ #else
+-              return (unsigned int)__ixp4xx_readl((u32)port);
++              return (unsigned int)__ixp4xx_readl(addr);
+ #endif
+       }
+ }
+ static inline void
+-__ixp4xx_ioread32_rep(void __iomem *addr, void *vaddr, u32 count)
++__ixp4xx_ioread32_rep(const void __iomem *addr, void *vaddr, u32 count)
+ {
+       unsigned long port = (unsigned long __force)addr;
+       if (__is_io_address(port))
+@@ -469,7 +475,7 @@ __ixp4xx_ioread32_rep(void __iomem *addr
+ #ifndef       CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_readsl(addr, vaddr, count);
+ #else
+-              __ixp4xx_readsl(port, vaddr, count);
++              __ixp4xx_readsl(addr, vaddr, count);
+ #endif
+ }
+@@ -483,7 +489,7 @@ __ixp4xx_iowrite8(u8 value, void __iomem
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writeb(value, port);
+ #else
+-              __ixp4xx_writeb(value, port);
++              __ixp4xx_writeb(value, addr);
+ #endif
+ }
+@@ -497,7 +503,7 @@ __ixp4xx_iowrite8_rep(void __iomem *addr
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writesb(addr, vaddr, count);
+ #else
+-              __ixp4xx_writesb(port, vaddr, count);
++              __ixp4xx_writesb(addr, vaddr, count);
+ #endif
+ }
+@@ -511,7 +517,7 @@ __ixp4xx_iowrite16(u16 value, void __iom
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writew(cpu_to_le16(value), addr);
+ #else
+-              __ixp4xx_writew(value, port);
++              __ixp4xx_writew(value, addr);
+ #endif
+ }
+@@ -525,7 +531,7 @@ __ixp4xx_iowrite16_rep(void __iomem *add
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writesw(addr, vaddr, count);
+ #else
+-              __ixp4xx_writesw(port, vaddr, count);
++              __ixp4xx_writesw(addr, vaddr, count);
+ #endif
+ }
+@@ -539,7 +545,7 @@ __ixp4xx_iowrite32(u32 value, void __iom
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writel(cpu_to_le32(value), port);
+ #else
+-              __ixp4xx_writel(value, port);
++              __ixp4xx_writel(value, addr);
+ #endif
+ }
+@@ -553,7 +559,7 @@ __ixp4xx_iowrite32_rep(void __iomem *add
+ #ifndef CONFIG_IXP4XX_INDIRECT_PCI
+               __raw_writesl(addr, vaddr, count);
+ #else
+-              __ixp4xx_writesl(port, vaddr, count);
++              __ixp4xx_writesl(addr, vaddr, count);
+ #endif
+ }
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/19-jffs2-force-be.patch
new file mode 100644 (file)
index 0000000..4406d17
--- /dev/null
@@ -0,0 +1,13 @@
+--- linux-2.6.14.1/fs/jffs2/nodelist.h.orig    2005-11-09 23:12:29.641449728 -0800
++++ linux-2.6.14.1/fs/jffs2/nodelist.h 2005-11-09 23:13:19.228570049 -0800
+@@ -44,7 +44,9 @@
+ #define D2(x)
+ #endif
+-#define JFFS2_NATIVE_ENDIAN
++#undef JFFS2_NATIVE_ENDIAN
++#define JFFS2_BIG_ENDIAN 1
++#undef JFFS2_LITTLE_ENDIAN
+ /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
+    whatever OS we're actually running on here too. */
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/20-timer.patch
new file mode 100644 (file)
index 0000000..3d4a03f
--- /dev/null
@@ -0,0 +1,285 @@
+--- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
+@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void)
+  * IXP4xx timer tick
+  * We use OS timer1 on the CPU for the timer tick and the timestamp 
+  * counter as a source of real clock ticks to account for missed jiffies.
++ *
++ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second,
++ * this is significantly greater than the actual number on any ixp4xx
++ * board.  Neither this nor 'LATCH' are required by this code because
++ * the only requirement is to generate HZ timer_tick calls per second.
+  *************************************************************************/
++#if TICK_NSEC * HZ != 1000000000
++      /* This will cause the jiffies to drift unnecessarily. */
++#     error CLOCK_TICK_RATE should be a multiple of HZ for this code
++#endif
++
++/* These are the control registers for the interrupt handler, they must
++ * only be read and written by the interrupt handler and by the init
++ * method (which sets them to 0).
++ */
++static volatile u32 last_timer_time;
++static volatile int accumulated_error;
++
++/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset
++ * this from the board level code if required.  The following variables
++ * must be *written* only by set_board_tick_rate
++ */
++static u32 board_tick_rate;
++static u32 board_tick_per_1000; /* board_tick_rate/1000 */
++static u32 timer_count;
++
++/* The following symbol may be written to change the current tick rate,
++ * it is read by the interrupt handler and used to reload the timer.
++ * The 'real' value (the one in use) is 'board_tick_rate' above.
++ * NOTE: this can be tweaked to match the actual crystal on a particular
++ * machine.
++ */
++volatile u32 ixp4xx_board_tick_rate = 66666600;
++EXPORT_SYMBOL(ixp4xx_board_tick_rate);
++
++/* The set API may run asynchronously in the presence of interrupts,
++ * everything it does it is both atomic and complete (notice that it
++ * doesn't change any of the 'volatile' values).  The mathematics in
++ * here require the following values.  Changing the board tick rate
++ * implies an unknown error in the current timestamp tick count.
++ */
++#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1
++#     error unexpected value for timer reload mask
++#endif
++static void set_board_tick_rate(u32 rate) {
++      u32 reload;
++
++      /* Store the two effectively informational rate values, the
++       * error calculation is (rate - count*HZ) (above), and rate
++       * is changed first, this can cause a temporary error which
++       * will be corrected on the next interrupt.
++       */
++      board_tick_rate = rate;
++      board_tick_per_1000 = (rate+500)/1000;
++
++      /* Calculate the correct value to load into the timer countdown
++       * register, the low two bits must be b01 (to enable the timer).
++       * Select the top bits to be as close to the desired value as
++       * possible.
++       *
++       * First find the best value, regardless of the low two bits -
++       * this is the value used in the interrupt calculation even though
++       * it cannot necessarily be set into the register.
++       */
++      timer_count = (rate + (HZ/2))/HZ;
++
++      /* Now the timer_ticks are being generated at this rate, calculate
++       * an appropriate value for the register.  This stores a 30 bit
++       * value which gives a period of 4*x+1, we want:
++       *
++       *   4*x+1 = board_tick_rate/HZ
++       *
++       * This needs to be rounded to the closest 4*HZ value:
++       * 
++       *   x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ
++       *   x = (board_tick_rate+HZ) / (4*HZ);
++       */
++      reload = (board_tick_rate + HZ) / HZ;
++      reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++      *IXP4XX_OSRT1 = reload;
+-static unsigned volatile last_jiffy_time;
++      /* If the clock is drifing, look in syslog: */
++      printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload);
++}
+-#define CLOCK_TICKS_PER_USEC  ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
++/* This returns the time in timer ticks since the 'last_timer_time'
++ * recorded above.  Use this to avoid arithmetic errors because of
++ * the overflow when the timer wraps.
++ */
++static inline u32 ixp4xx_timer_delta(void)
++{
++      return *IXP4XX_OSTS - last_timer_time;
++}
+ /* IRQs are disabled before entering here from do_gettimeofday() */
+ static unsigned long ixp4xx_gettimeoffset(void)
+ {
+-      u32 elapsed;
+-
+-      elapsed = *IXP4XX_OSTS - last_jiffy_time;
++      /* Return the offset of the current time from the last time
++       * timer tick in microseconds.  This is only used for the
++       * gettimeofday call.
++       *
++       * The result of this API is at most about 20000 (for a 50Hz
++       * HZ - 20000 uS/tick), the input delta is at most about
++       * 1.3M - 21 bits.
++       */
++      u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */
++      /* return delta * 1000000 / board_tick_rate; */
++      return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000;
++}
+-      return elapsed / CLOCK_TICKS_PER_USEC;
++/* This is the correct adjustment to the counter to compensate for an
++ * error iff timer_count-1 <= exact_count <= timer_count+1
++ */
++static inline int adjustment(int error) {
++      if (error >= HZ)
++              return 1;
++      else if (error <= -HZ)
++              return -1;
++      return 0;
+ }
+ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+ {
++      u32 rate;
++      u32 count;
++      int error;
++
+       write_seqlock(&xtime_lock);
+       /* Clear Pending Interrupt by writing '1' to it */
+       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
++      /* If the board tick rate has been changed update the cached
++       * value.
++       */
++      if (ixp4xx_board_tick_rate != board_tick_rate) {
++              set_board_tick_rate(ixp4xx_board_tick_rate);
++              accumulated_error = 0;
++      }
++
+       /*
+        * Catch up with the real idea of time
++       *
++       * board_tick_rate: actual ixp4xx ticks/second, read-only
++       * accumulated_error: aggregate error/tick * HZ, read/write
++       * timer_count: best ixp4xx ticks per timer_tick, read-only
+        */
+-      while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
++      rate = board_tick_rate;
++      error = accumulated_error;
++      count = timer_count;
++      do {
++              u32 adjusted_count = count + adjustment(error);
++              if (ixp4xx_timer_delta() < adjusted_count)
++                      break;
+               timer_tick(regs);
+-              last_jiffy_time += LATCH;
+-      }
++              last_timer_time += adjusted_count;
++              error += rate - adjusted_count*HZ;
++      } while (1);
++      accumulated_error = error;
+       write_sequnlock(&xtime_lock);
+@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq
+       .handler        = ixp4xx_timer_interrupt,
+ };
++u32 ixp4xx_get_board_tick_rate(void) {
++      return board_tick_rate;
++}
++
++EXPORT_SYMBOL(ixp4xx_get_board_tick_rate);
++
++void ixp4xx_set_board_tick_rate(u32 rate) {
++      ixp4xx_board_tick_rate = rate;
++}
++
++EXPORT_SYMBOL(ixp4xx_set_board_tick_rate);
++
+ static void __init ixp4xx_timer_init(void)
+ {
+       /* Clear Pending Interrupt by writing '1' to it */
+       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
+       /* Setup the Timer counter value */
+-      *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++      set_board_tick_rate(ixp4xx_board_tick_rate);
+       /* Reset time-stamp counter */
+       *IXP4XX_OSTS = 0;
+-      last_jiffy_time = 0;
++      last_timer_time = 0;
++      accumulated_error = 0;
+       /* Connect the interrupt handler and enable the interrupt */
+       setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq);
+@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void)
+                               ARRAY_SIZE(ixp46x_devices));
+       }
+ }
+-
+--- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
+@@ -119,6 +119,11 @@ static void nslu2_power_off(void)
+ static void __init nslu2_init(void)
+ {
++      /* The NSLU2 has a 33MHz crystal on board - 1.01% different
++       * from the typical value.
++       */
++      ixp4xx_set_board_tick_rate(66000000);
++
+       ixp4xx_sys_init();
+       pm_power_off = nslu2_power_off;
+--- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
+@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input
+       }
+       if (value > 20 && value < 32767)
+-              count = (NSLU2_FREQ / (value*4)) - 1;
++              count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1;
+       spin_lock_irqsave(&beep_lock, flags);
+--- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
+@@ -38,11 +38,6 @@
+ #define NSLU2_PCI_INTD_PIN    8
+-/* NSLU2 Timer */
+-#define NSLU2_FREQ 66000000
+-#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
+-#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
+-
+ /* GPIO */
+ #define NSLU2_GPIO0           0
+--- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
+@@ -6,10 +6,23 @@
+ #include <asm/hardware.h>
+ /*
+- * We use IXP425 General purpose timer for our timer needs, it runs at 
+- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
+- * timer register ignores the bottom 2 bits of the LATCH value.
++ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and
++ * is the number of internal counts per timer interrupt.  Thus
++ * CLOCK_TICK_RATE is LATCH*HZ.
++ *
++ * The actual values of these numbers do not matter, because they
++ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed
++ * point number), so the value here gives a LATCH of 1 and pretty
++ * much guarantees to flush out any off-by-one errors.
++ *
++ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of
++ * HZ, this is checked in the ixp4xx/common.c code.
+  */
+-#define FREQ 66666666
+-#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
++#define CLOCK_TICK_RATE HZ
++/* The following allow the exact board tick rate to be set and
++ * discovered.  The value should be exactly twice the frequency
++ * (in Hz) of the onboard crystal.
++ */
++extern u32 ixp4xx_get_board_tick_rate(void);
++extern void ixp4xx_set_board_tick_rate(u32 new_rate);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/28-spinlock-up.patch
new file mode 100644 (file)
index 0000000..3ae5178
--- /dev/null
@@ -0,0 +1,32 @@
+--- linux-2.6.14-rc5/include/linux/spinlock_up.h       2005-10-26 08:37:20.164248408 -0700
++++ patched/include/linux/spinlock_up.h        2005-10-26 12:15:13.458898975 -0700
+@@ -47,6 +47,14 @@ static inline void __raw_spin_unlock(raw
+       lock->slock = 1;
+ }
++#else /* DEBUG_SPINLOCK */
++#define __raw_spin_is_locked(lock)    ((void)(lock), 0)
++/* for sched.c and kernel_lock.c: */
++# define __raw_spin_lock(lock)                do { (void)(lock); } while (0)
++# define __raw_spin_unlock(lock)      do { (void)(lock); } while (0)
++# define __raw_spin_trylock(lock)     ({ (void)(lock); 1; })
++#endif /* DEBUG_SPINLOCK */
++
+ /*
+  * Read-write spinlocks. No debug version.
+  */
+@@ -57,14 +65,6 @@ static inline void __raw_spin_unlock(raw
+ #define __raw_read_unlock(lock)               do { (void)(lock); } while (0)
+ #define __raw_write_unlock(lock)      do { (void)(lock); } while (0)
+-#else /* DEBUG_SPINLOCK */
+-#define __raw_spin_is_locked(lock)    ((void)(lock), 0)
+-/* for sched.c and kernel_lock.c: */
+-# define __raw_spin_lock(lock)                do { (void)(lock); } while (0)
+-# define __raw_spin_unlock(lock)      do { (void)(lock); } while (0)
+-# define __raw_spin_trylock(lock)     ({ (void)(lock); 1; })
+-#endif /* DEBUG_SPINLOCK */
+-
+ #define __raw_read_can_lock(lock)     (((void)(lock), 1))
+ #define __raw_write_can_lock(lock)    (((void)(lock), 1))
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/29-ipv4-route-c-spinlock.patch
new file mode 100644 (file)
index 0000000..93e0705
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-2.6.14-rc5/net/ipv4/route.c  2005-10-26 08:37:20.752285410 -0700
++++ patched/net/ipv4/route.c   2005-10-26 12:17:00.761651111 -0700
+@@ -231,7 +231,7 @@ static spinlock_t  *rt_hash_locks;
+                       spin_lock_init(&rt_hash_locks[i]); \
+               }
+ #else
+-# define rt_hash_lock_addr(slot) NULL
++# define rt_hash_lock_addr(slot) ((spinlock_t*)NULL)
+ # define rt_hash_lock_init()
+ #endif
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/30-i2c-x1205.patch
new file mode 100644 (file)
index 0000000..1e775ba
--- /dev/null
@@ -0,0 +1,714 @@
+diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Kconfig test9/drivers/i2c/chips/Kconfig
+--- linux-2.6.14-rc3/drivers/i2c/chips/Kconfig 2005-10-01 13:46:50.000000000 +0200
++++ test9/drivers/i2c/chips/Kconfig    2005-10-03 16:10:22.000000000 +0200
+@@ -126,4 +126,13 @@
+         This driver can also be built as a module.  If so, the module
+         will be called max6875.
++config SENSORS_X1205
++       tristate "Xicor X1205 RTC chip"
++       depends on I2C
++       help
++         If you say yes here you get support for the Xicor X1205 RTC chip.
++
++         This driver can also be built as a module.  If so, the module
++         will be called x1205
++
+ endmenu
+diff -urN linux-2.6.14-rc3/drivers/i2c/chips/Makefile test9/drivers/i2c/chips/Makefile
+--- linux-2.6.14-rc3/drivers/i2c/chips/Makefile        2005-09-17 12:42:33.000000000 +0200
++++ test9/drivers/i2c/chips/Makefile   2005-10-01 15:30:06.000000000 +0200
+@@ -13,6 +13,7 @@
+ obj-$(CONFIG_SENSORS_RTC8564) += rtc8564.o
+ obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
+ obj-$(CONFIG_TPS65010)                += tps65010.o
++obj-$(CONFIG_SENSORS_X1205)     += x1205.o
+ ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
+ EXTRA_CFLAGS += -DDEBUG
+diff -urN linux-2.6.14-rc3/drivers/i2c/chips/x1205.c test9/drivers/i2c/chips/x1205.c
+--- linux-2.6.14-rc3/drivers/i2c/chips/x1205.c 1970-01-01 01:00:00.000000000 +0100
++++ test9/drivers/i2c/chips/x1205.c    2005-10-03 16:02:57.000000000 +0200
+@@ -0,0 +1,612 @@
++/*
++ *  linux/drivers/i2c/chips/x1205.c
++ *
++ *  x1205.c - An 12c driver for the Xicor X1205 RTC
++ *  Copyright 2004 Karen Spearel
++ *  Copyright 2005 Alessandro Zummo
++ *
++ *  please send all reports to:
++ *    kas11 at tampabay dot rr dot com
++ *      a dot zummo at towertech dot it
++ *     
++ *  based on the other drivers in this same directory.
++ *   
++ *  This program is free software; you can redistribute it and/or modify
++ *  it under the terms of the GNU General Public License as published by
++ *  the Free Software Foundation; either version 2 of the License, or
++ *  (at your option) any later version.
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/i2c.h>
++#include <linux/string.h>
++#include <linux/bcd.h>
++#include <linux/rtc.h>
++#include <linux/list.h>
++
++#include <linux/x1205.h>
++
++#define       EPOCH_1900      1900
++#define       EPOCH_1970      1970
++
++#define DRIVER_VERSION        "0.9.6"
++#define DRIVER_NAME   (x1205_driver.name)
++
++
++/* Addresses to scan */
++static unsigned short normal_i2c[] = { X1205_I2C_BUS_ADDR, I2C_CLIENT_END };
++
++/* Insmod parameters */
++I2C_CLIENT_INSMOD;
++I2C_CLIENT_MODULE_PARM(hctosys,
++      "Set the system time from the hardware clock upon initialization");
++
++/* Prototypes */
++
++static int x1205_attach(struct i2c_adapter *adapter);
++static int x1205_detach(struct i2c_client *client);
++static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
++static int x1205_validate_client(struct i2c_client *client);
++
++static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              u8 reg_base);
++static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              int datetoo, u8 reg_base);
++static int x1205_validate_tm(struct rtc_time *tm);
++static int x1205_command(struct i2c_client *client, unsigned int cmd, void *arg);
++static int x1205_hctosys(struct i2c_client *client);
++
++
++static struct i2c_driver x1205_driver = {
++      .owner          = THIS_MODULE,
++      .name           = "x1205",
++      .flags          = I2C_DF_NOTIFY,
++      .attach_adapter = &x1205_attach,
++      .detach_client  = &x1205_detach,
++/*    .command        = &x1205_command,*/
++};
++
++struct x1205_data {
++      struct i2c_client client;
++      struct list_head list;
++      unsigned int epoch;
++};
++
++
++static const unsigned char days_in_mo[] = 
++{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
++
++static LIST_HEAD(x1205_clients);
++
++/* Workaround until the I2C subsytem will allow to send
++ * commands to a specific client. This function will send the command
++ * to the first client.
++ */
++
++int x1205_do_command(unsigned int cmd, void *arg)
++{
++      struct list_head *walk;
++      struct list_head *tmp;
++      struct x1205_data *data;
++
++      list_for_each_safe(walk, tmp, &x1205_clients) {
++              data = list_entry(walk, struct x1205_data, list);
++              return x1205_command(&data->client, cmd, arg);
++      }
++
++      return -ENODEV;
++}
++
++
++/*
++ * in the routines that deal directly with the x1205 hardware, we use
++ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
++ * Epoch is inited as 2000. Time is set to UT
++ */
++
++static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              u8 reg_base)
++{
++      static unsigned char dt_addr[] = { 0, };
++      static unsigned char sr_addr[] = { 0, };
++
++      unsigned char buf[8], sr;       
++
++      struct i2c_msg msgs[] = {
++              { client->addr, 0, 2, sr_addr },        /* random read */
++              { client->addr, I2C_M_RD, 1, &sr }, 
++              { client->addr, 0, 2, dt_addr },        /* random read */
++              { client->addr, I2C_M_RD, 8, buf },
++      };
++
++      struct x1205_data *xdata = i2c_get_clientdata(client);
++
++      dt_addr[1] = reg_base;
++      sr_addr[1] = X1205_REG_SR;
++
++      if ((i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs))) ==
++              ARRAY_SIZE(msgs)) {
++              /* did we read the correct number of messages? */
++
++              /* check for battery failure */
++              if (sr & X1205_SR_RTCF)
++              {       
++                      dev_info(&client->adapter->dev,
++                              "%s: Clock had a power failure, you must set the date.\n",
++                              DRIVER_NAME);
++
++                      return -EINVAL;
++              }
++
++              dev_dbg(&client->dev,
++                      "%s: raw read data - sec-%02x min-%02x hr-%02x"
++                      " mday-%02x mon-%02x year-%02x wday-%02x y2k-%02x\n", 
++                      __FUNCTION__,
++                      buf[0], buf[1], buf[2], buf[3],
++                      buf[4], buf[5], buf[6], buf[7]);
++
++              tm->tm_sec  = BCD2BIN(buf[CCR_SEC]);
++              tm->tm_min  = BCD2BIN(buf[CCR_MIN]);
++              buf[CCR_HOUR] &= ~X1205_HR_MIL;
++              tm->tm_hour = BCD2BIN(buf[CCR_HOUR]); /* hr is 0-23 */
++              tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
++              tm->tm_mon  = BCD2BIN(buf[CCR_MONTH]);
++              xdata->epoch   = BCD2BIN(buf[CCR_Y2K]) * 100;
++              tm->tm_year = BCD2BIN(buf[CCR_YEAR]) + xdata->epoch - EPOCH_1900;
++              tm->tm_wday = buf[CCR_WDAY];
++
++              dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
++                      "mday=%d, mon=%d, year=%d, wday=%d\n",
++                      __FUNCTION__,
++                      tm->tm_sec, tm->tm_min, tm->tm_hour,
++                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++      } else {
++              dev_dbg(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }               
++      
++      return 0;
++}
++
++
++static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              int datetoo, u8 reg_base)
++{
++      int i, err, xfer;
++
++      static unsigned char wel[3]   = { 0, X1205_REG_SR,
++                                      X1205_SR_WEL };
++
++
++      static unsigned char rwel[3]  = { 0, X1205_REG_SR,
++                                      X1205_SR_WEL | X1205_SR_RWEL };
++
++      static unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
++
++      static unsigned char data[3]  = { 0, };
++      static unsigned char buf[8];
++
++      struct x1205_data *xdata = i2c_get_clientdata(client);
++
++      if ((err = x1205_validate_tm(tm)) < 0)
++              return err;
++
++      dev_dbg(&client->dev, "%s: secs=%d, mins=%d, hours=%d, "
++              "mday=%d, mon=%d, year=%d, wday=%d\n",
++              __FUNCTION__,
++              tm->tm_sec, tm->tm_min, tm->tm_hour,
++              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++
++      buf[CCR_SEC]  = BIN2BCD(tm->tm_sec);
++      buf[CCR_MIN]  = BIN2BCD(tm->tm_min);
++
++      /* Set 24HR format */
++      buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
++
++      if (datetoo == X1205_DATETOO) {
++              buf[CCR_MDAY]  = BIN2BCD(tm->tm_mday);
++
++              /* month, 0 - 11 */
++              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon);   /* input is 0-11 */
++
++              /* year, since 1900 */
++              buf[CCR_YEAR]  = BIN2BCD((tm->tm_year + EPOCH_1900 - xdata->epoch));
++              buf[CCR_WDAY]  = tm->tm_wday & 7;
++              buf[CCR_Y2K]   = BIN2BCD(xdata->epoch / 100);
++      }
++
++      xfer = i2c_master_send(client, wel, 3);
++      dev_dbg(&client->dev, "%s: wen - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
++              return -EIO;
++
++      xfer = i2c_master_send(client, rwel, 3);
++      dev_dbg(&client->dev, "%s: wenb - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
++              return -EIO;
++
++      for (i = 0; i < 8; i++) {
++              data[1] = i + reg_base;
++              data[2] =  buf[i];
++              xfer = i2c_master_send(client, data, 3);
++
++              dev_dbg(&client->dev, "%s: xfer %d addr, %02x,  data %02x\n",
++                      __FUNCTION__,
++                       xfer, data[1], data[2]);
++
++              if (xfer != 3)
++                      return -EIO;
++      };
++
++      xfer = i2c_master_send(client, diswe, 3);
++      dev_dbg(&client->dev, "%s: wdis - %x\n", __FUNCTION__, xfer);
++      if (xfer != 3)
++              return -EIO;            
++
++      return 0;
++}
++
++static int x1205_hctosys(struct i2c_client *client)
++{
++      int err;
++
++      struct rtc_time tm;
++      struct timespec tv;
++      
++
++      err = x1205_command(client, X1205_CMD_GETDATETIME, &tm);
++
++      if (err)
++      {
++              dev_info(&client->adapter->dev,
++                      "%s: Unable to set the system clock\n",
++                      DRIVER_NAME);
++
++              return err;
++
++      }
++
++      /* IMPORTANT: the RTC only stores whole seconds.  It is arbitrary whether
++       * it stores the most close value or the value with partial seconds
++       * truncated, however it is important for x1205_sync_rtc that it be
++       * defined to store the truncated value.  This is because otherwise it
++       * is necessary to read both xtime.tv_sec and xtime.tv_nsec in the
++       * sync function, and atomic reads of >32bits on ARM are not possible.
++       * So storing the most close value would slow down the sync API.  So
++       * Here we have the truncated value and the best guess is to add 0.5s
++       */
++
++      tv.tv_nsec = NSEC_PER_SEC >> 1;
++
++      /* WARNING: this is not the C library 'mktime' call, it is a built in
++       * inline function from include/linux/time.h.  It expects (requires)
++       * the month to be in the range 1-12
++       */
++
++      tv.tv_sec  = mktime(tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
++                              tm.tm_mday, tm.tm_hour,
++                              tm.tm_min, tm.tm_sec);
++
++      do_settimeofday(&tv);
++
++      dev_info(&client->adapter->dev,
++              "%s: Setting the system clock to %d-%d-%d %d:%d:%d\n",
++              DRIVER_NAME,
++              tm.tm_year + EPOCH_1900, tm.tm_mon + 1,
++              tm.tm_mday, tm.tm_hour, tm.tm_min,
++              tm.tm_sec);
++
++      return 0;
++}
++
++struct x1205_limit
++{
++      unsigned char reg;
++      unsigned char mask;
++      unsigned char min;      
++      unsigned char max;
++};
++
++static int x1205_validate_client(struct i2c_client *client)
++{
++      int i, xfer;
++
++      /* Probe array. We will read the register at the specified
++       * address and check if the given bits are zero.
++       */
++
++      const unsigned char probe_zero_pattern[] = {
++
++              X1205_REG_SR,   0x18,
++              X1205_REG_Y2K,  0xC6,
++              X1205_REG_DW,   0xF8,
++              X1205_REG_MO,   0xE0,
++              X1205_REG_DT,   0xC0,
++              X1205_REG_HR,   0x40,
++              X1205_REG_MN,   0x80,
++              X1205_REG_SC,   0x80,
++              X1205_REG_DTR,  0xF8,
++              X1205_REG_ATR,  0xC0,
++              X1205_REG_INT,  0x18,
++              X1205_REG_0,    0xFF,
++              X1205_REG_Y2K1, 0xC6,
++              X1205_REG_DWA1, 0x78,
++              X1205_REG_MOA1, 0x60,
++              X1205_REG_DTA1, 0x40,
++              X1205_REG_HRA1, 0x40,
++              X1205_REG_Y2K0, 0xC6,
++              X1205_REG_DWA0, 0x78,
++              X1205_REG_MOA0, 0x60,
++              X1205_REG_DTA0, 0x40,
++              X1205_REG_HRA0, 0x40,
++      };
++
++      const struct x1205_limit probe_limits_pattern[] = {
++              /* register, mask, min, max */
++              { X1205_REG_Y2K,        0xFF,   19,     20      },
++              { X1205_REG_DW,         0xFF,   0,      6       },
++              { X1205_REG_YR,         0xFF,   0,      99      },
++              { X1205_REG_MO,         0xFF,   0,      12      },
++              { X1205_REG_DT,         0xFF,   0,      31      },
++              { X1205_REG_HR,         0x7F,   0,      23      },
++              { X1205_REG_MN,         0xFF,   0,      59      },
++              { X1205_REG_SC,         0xFF,   0,      59      },
++              { X1205_REG_Y2K1,       0xFF,   19,     20      },
++              { X1205_REG_DWA1,       0x7F,   0,      6       },
++              { X1205_REG_MOA1,       0x7F,   0,      12      },
++              { X1205_REG_DTA1,       0x7F,   0,      31      },
++              { X1205_REG_HRA1,       0x7F,   0,      23      },
++              { X1205_REG_MNA1,       0x7F,   0,      59      },
++              { X1205_REG_SCA1,       0x7F,   0,      59      },
++              { X1205_REG_Y2K0,       0xFF,   19,     20      },
++              { X1205_REG_DWA0,       0x7F,   0,      6       },
++              { X1205_REG_MOA0,       0x7F,   0,      12      },
++              { X1205_REG_DTA0,       0x7F,   0,      31      },
++              { X1205_REG_HRA0,       0x7F,   0,      23      },
++              { X1205_REG_MNA0,       0x7F,   0,      59      },
++              { X1205_REG_SCA0,       0x7F,   0,      59      },
++      };
++
++      /* check that registers have bits a 0 where expected */
++
++      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2)
++      {
++              unsigned char buf;
++
++              static unsigned char addr[2];
++
++              struct i2c_msg msgs[2] = {
++                      { client->addr, 0, 2, addr },   /* random read */
++                      { client->addr, I2C_M_RD, 1, &buf },
++              };
++
++              addr[0] = 0x00;
++              addr[1] = probe_zero_pattern[i];
++
++              xfer = i2c_transfer(client->adapter, msgs, 2);
++
++              if (xfer != 2) {
++                      dev_dbg(&client->adapter->dev, 
++                              "%s: could not read register %x\n",
++                              __FUNCTION__, addr[1]);
++
++                      return -EIO;
++              }
++
++              if ((buf & probe_zero_pattern[i+1]) != 0) {
++                      dev_dbg(&client->adapter->dev,
++                              "%s: register %x, zero pattern %d: %x\n",
++                              __FUNCTION__, addr[1], i, buf);
++
++                      return -ENODEV;
++              }
++      }
++
++      /* check limits */
++
++      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++)
++      {
++              unsigned char buf, val;
++
++              static unsigned char addr[2];
++
++              struct i2c_msg msgs[2] = {
++                      { client->addr, 0, 2, addr },   /* random read */
++                      { client->addr, I2C_M_RD, 1, &buf },
++              };
++
++              addr[0] = 0x00;
++              addr[1] = probe_limits_pattern[i].reg;
++
++              xfer = i2c_transfer(client->adapter, msgs, 2);
++
++              if (xfer != 2) {
++                      dev_dbg(&client->adapter->dev, 
++                              "%s: could not read register %x\n",
++                              __FUNCTION__, addr[1]);
++
++                      return -EIO;
++              }
++
++              val = BCD2BIN(buf & probe_limits_pattern[i].mask);
++
++              if (val > probe_limits_pattern[i].max ||
++                      val < probe_limits_pattern[i].min) {
++                      dev_dbg(&client->adapter->dev,
++                              "%s: register %x, lim pattern %d: %d\n",
++                              __FUNCTION__, addr[1], i, val);
++
++                      return -ENODEV;
++              }
++      }
++
++      return 0;
++}
++
++static int x1205_attach(struct i2c_adapter *adapter)
++{
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      return i2c_probe(adapter, &addr_data, x1205_probe);
++}
++
++static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
++{
++      struct i2c_client *new_client;
++      struct x1205_data *xdata;
++
++      int err = 0;
++
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      if (!(xdata = kmalloc(sizeof(struct x1205_data), GFP_KERNEL))) {
++              err = -ENOMEM;
++              goto exit;
++      }
++
++      /* Fill our data structure */
++
++      memset(xdata, 0, sizeof(struct x1205_data));
++
++      xdata->epoch = 2000;
++
++
++      /* Prepare i2c_client structure */
++
++      new_client              = &xdata->client;
++      i2c_set_clientdata(new_client, xdata);
++      new_client->addr        = address;
++      new_client->adapter     = adapter;
++      new_client->driver      = &x1205_driver;
++      new_client->flags       = 0;
++      
++      strlcpy(new_client->name, "x1205", I2C_NAME_SIZE);
++
++
++      /* Verify the chip is really an X1205 */
++
++      if (kind < 0)
++      {
++              if (x1205_validate_client(new_client) < 0) {
++                      err = -ENODEV;
++                      goto exit_kfree;
++              }
++      }
++
++      /* Inform the i2c layer */
++      if ((err = i2c_attach_client(new_client)))
++              goto exit_kfree;
++
++      list_add(&xdata->list, &x1205_clients);
++
++      dev_info(&adapter->dev, "%s: Chip found, driver " DRIVER_VERSION "\n",
++                      DRIVER_NAME);
++
++      /* If requested, se the system time */
++      if (hctosys)
++              x1205_hctosys(new_client);
++
++      return 0;
++
++exit_kfree:
++      kfree(xdata);
++
++exit:
++      return err;
++}
++
++static int x1205_detach(struct i2c_client *client)
++{
++      int err;
++      struct x1205_data *data = i2c_get_clientdata(client);
++      
++      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
++
++      if ((err = i2c_detach_client(client)))
++              return err;
++
++      list_del(&data->list);
++      kfree(data);
++      return 0;
++}
++
++/* make sure the rtc_time values are in bounds */
++static int x1205_validate_tm(struct rtc_time *tm)
++{
++      tm->tm_year += 1900;
++
++      if (tm->tm_year < EPOCH_1970)
++              return -EINVAL;
++
++      if ((tm->tm_mon > 11) || (tm->tm_mday == 0))
++              return -EINVAL;
++
++      if (tm->tm_mday > (days_in_mo[tm->tm_mon] + ( (tm->tm_mon == 1) && 
++              ((!(tm->tm_year % 4) && (tm->tm_year % 100) ) || !(tm->tm_year % 400)))))
++              return -EINVAL;
++
++      if ((tm->tm_year -= EPOCH_1900) > 255)
++              return -EINVAL;
++                      
++      if ((tm->tm_hour >= 24) || (tm->tm_min >= 60) || (tm->tm_sec >= 60))
++              return -EINVAL;
++
++      return 0;
++}
++
++static int x1205_command(struct i2c_client *client, unsigned int cmd, void *tm)
++{
++      if (client == NULL || tm == NULL)
++              return -EINVAL;
++
++      if (!capable(CAP_SYS_TIME))
++              return -EACCES;
++
++      dev_dbg(&client->dev, "%s: cmd=%d\n", __FUNCTION__, cmd);
++
++      switch (cmd) {
++      case X1205_CMD_GETDATETIME:
++              return x1205_get_datetime(client, tm, X1205_CCR_BASE);
++
++      case X1205_CMD_SETTIME:
++              return x1205_set_datetime(client, tm, X1205_NODATE, X1205_CCR_BASE);
++
++      case X1205_CMD_SETDATETIME:
++              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_CCR_BASE);
++
++      case X1205_CMD_GETALARM:
++              return x1205_get_datetime(client, tm, X1205_ALM0_BASE);
++
++      case X1205_CMD_SETALARM:
++              return x1205_set_datetime(client, tm, X1205_DATETOO, X1205_ALM0_BASE);
++
++      default:
++              return -EINVAL;
++      }
++}
++
++
++static int __init x1205_init(void)
++{
++      return i2c_add_driver(&x1205_driver);
++}
++
++static void __exit x1205_exit(void)
++{
++      i2c_del_driver(&x1205_driver);
++}
++
++MODULE_AUTHOR(
++      "Karen Spearel <kas11@tampabay.rr.com>, "
++      "Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("Xicor X1205 RTC driver");
++MODULE_LICENSE("GPL");
++
++EXPORT_SYMBOL_GPL(x1205_do_command);
++
++module_init(x1205_init);
++module_exit(x1205_exit);
+--- linux-2.6.14-rc3/include/linux/x1205.h     1970-01-01 01:00:00.000000000 +0100
++++ test9/include/linux/x1205.h        2005-10-03 15:38:21.000000000 +0200
+@@ -0,0 +1,67 @@
++
++/* commands */
++
++#define       X1205_CMD_GETDATETIME   0
++#define       X1205_CMD_SETTIME       1
++#define       X1205_CMD_SETDATETIME   2
++#define X1205_CMD_GETALARM    3
++#define X1205_CMD_SETALARM    4
++
++/* flags */
++
++#define       X1205_NODATE            0
++#define       X1205_DATETOO           1
++
++/*  offsets into read buf - add 2 for write buf */
++
++#define       CCR_SEC                 0
++#define       CCR_MIN                 1
++#define       CCR_HOUR                2
++#define       CCR_MDAY                3
++#define       CCR_MONTH               4
++#define       CCR_YEAR                5
++#define       CCR_WDAY                6
++#define       CCR_Y2K                 7
++
++#define       X1205_REG_SR            0x3F    /* status register */
++#define       X1205_REG_Y2K           0x37
++#define       X1205_REG_DW            0x36
++#define       X1205_REG_YR            0x35
++#define       X1205_REG_MO            0x34
++#define       X1205_REG_DT            0x33
++#define       X1205_REG_HR            0x32
++#define       X1205_REG_MN            0x31
++#define       X1205_REG_SC            0x30
++#define       X1205_REG_DTR           0x13
++#define       X1205_REG_ATR           0x12
++#define       X1205_REG_INT           0x11
++#define       X1205_REG_0             0x10
++#define       X1205_REG_Y2K1          0x0F
++#define       X1205_REG_DWA1          0x0E
++#define       X1205_REG_YRA1          0x0D
++#define       X1205_REG_MOA1          0x0C
++#define       X1205_REG_DTA1          0x0B
++#define       X1205_REG_HRA1          0x0A
++#define       X1205_REG_MNA1          0x09
++#define       X1205_REG_SCA1          0x08
++#define       X1205_REG_Y2K0          0x07
++#define       X1205_REG_DWA0          0x06
++#define       X1205_REG_YRA0          0x05
++#define       X1205_REG_MOA0          0x04
++#define       X1205_REG_DTA0          0x03
++#define       X1205_REG_HRA0          0x02
++#define       X1205_REG_MNA0          0x01
++#define       X1205_REG_SCA0          0x00
++
++#define       X1205_I2C_BUS_ADDR      0x6f    /* hardwired into x1205 */
++#define       X1205_CCR_BASE          0x30    /* Base address of CCR */
++#define       X1205_ALM0_BASE         0x00    /* Base address of ALARM0 */
++
++#define X1205_SR_RTCF         0x01
++#define       X1205_SR_WEL            0x02    /* Write Enable Latch bit */
++#define       X1205_SR_RWEL           0x04    /* Register Write Enable Bit */
++
++#define       X1205_HR_MIL            0x80    /* set in ccr.hour for 24 hr mode */
++
++extern int x1205_do_command(unsigned int cmd, void *arg);
++
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/50-nslu2-arch.patch
new file mode 100644 (file)
index 0000000..038c71c
--- /dev/null
@@ -0,0 +1,461 @@
+--- linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
+@@ -8,6 +8,16 @@ menu "Intel IXP4xx Implementation Option
+ comment "IXP4xx Platforms"
++# This entry is placed on top because otherwise it would have
++# been shown as a submenu.
++config MACH_NSLU2
++      bool
++      prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715)
++      help
++        Say 'Y' here if you want your kernel to support Linksys's
++        NSLU2 NAS device. For more information on this platform,
++        see http://www.nslu2-linux.org
++
+ config ARCH_AVILA
+       bool "Avila"
+       help
+--- linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
+@@ -8,4 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
+ obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
++obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
+--- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c      1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-pci.c      1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,77 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-pci.c
++ *
++ * NSLU2 board-level PCI initialization
++ *
++ * based on ixdp425-pci.c:
++ *    Copyright (C) 2002 Intel Corporation.
++ *    Copyright (C) 2003-2004 MontaVista Software, Inc.
++ *
++ * Maintainer: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/pci.h>
++#include <linux/init.h>
++
++#include <asm/mach/pci.h>
++#include <asm/mach-types.h>
++
++void __init nslu2_pci_preinit(void)
++{
++      set_irq_type(IRQ_NSLU2_PCI_INTA, IRQT_LOW);
++      set_irq_type(IRQ_NSLU2_PCI_INTB, IRQT_LOW);
++      set_irq_type(IRQ_NSLU2_PCI_INTC, IRQT_LOW);
++
++      gpio_line_isr_clear(NSLU2_PCI_INTA_PIN);
++      gpio_line_isr_clear(NSLU2_PCI_INTB_PIN);
++      gpio_line_isr_clear(NSLU2_PCI_INTC_PIN);
++
++      /* INTD is not configured as GPIO is used
++       * for the power input button.
++       */
++
++      ixp4xx_pci_preinit();
++}
++
++static int __init nslu2_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
++{
++      static int pci_irq_table[NSLU2_PCI_IRQ_LINES] = {
++              IRQ_NSLU2_PCI_INTA,
++              IRQ_NSLU2_PCI_INTB,
++              IRQ_NSLU2_PCI_INTC,
++      };
++
++      int irq = -1;
++
++      if (slot >= 1 && slot <= NSLU2_PCI_MAX_DEV &&
++              pin >= 1 && pin <= NSLU2_PCI_IRQ_LINES) {
++                      irq = pci_irq_table[(slot + pin - 2) % NSLU2_PCI_IRQ_LINES];
++      }
++
++      return irq;
++}
++
++struct hw_pci __initdata nslu2_pci = {
++      .nr_controllers = 1,
++      .preinit        = nslu2_pci_preinit,
++      .swizzle        = pci_std_swizzle,
++      .setup          = ixp4xx_setup,
++      .scan           = ixp4xx_scan_bus,
++      .map_irq        = nslu2_map_irq,
++};
++
++int __init nslu2_pci_init(void) /* monkey see, monkey do */
++{
++      if (machine_is_nslu2())
++              pci_common_init(&nslu2_pci);
++
++      return 0;
++}
++
++subsys_initcall(nslu2_pci_init);
+--- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-power.c    1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,92 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-power.c
++ *
++ * NSLU2 Power/Reset driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on nslu2-io.c
++ *  Copyright (C) 2004 Karen Spearel
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/reboot.h>
++#include <linux/interrupt.h>
++
++#include <asm/mach-types.h>
++
++extern void ctrl_alt_del(void);
++
++static irqreturn_t nslu2_power_handler(int irq, void *dev_id, struct pt_regs *regs)
++{
++      /* Signal init to do the ctrlaltdel action, this will bypass init if
++       * it hasn't started and do a kernel_restart.
++       */
++      ctrl_alt_del();
++
++      return IRQ_HANDLED;
++}
++
++static irqreturn_t nslu2_reset_handler(int irq, void *dev_id, struct pt_regs *regs)
++{
++      /* This is the paper-clip reset, it shuts the machine down directly.
++       */
++      machine_power_off();
++
++      return IRQ_HANDLED;
++}
++
++static int __init nslu2_power_init(void)
++{
++      if (!(machine_is_nslu2()))
++              return 0;
++
++      *IXP4XX_GPIO_GPISR = 0x20400000;        /* read the 2 irqs to clr */
++
++      set_irq_type(NSLU2_RB_IRQ, IRQT_LOW);
++      set_irq_type(NSLU2_PB_IRQ, IRQT_HIGH);
++
++      gpio_line_isr_clear(NSLU2_RB_GPIO);
++      gpio_line_isr_clear(NSLU2_PB_GPIO);
++
++      if (request_irq(NSLU2_RB_IRQ, &nslu2_reset_handler,
++              SA_INTERRUPT, "NSLU2 reset button", NULL) < 0) {
++
++              printk(KERN_DEBUG "Reset Button IRQ %d not available\n",
++                      NSLU2_RB_IRQ);
++
++              return -EIO;
++      }
++
++      if (request_irq(NSLU2_PB_IRQ, &nslu2_power_handler,
++              SA_INTERRUPT, "NSLU2 power button", NULL) < 0) {
++
++              printk(KERN_DEBUG "Power Button IRQ %d not available\n",
++                      NSLU2_PB_IRQ);
++
++              return -EIO;
++      }
++
++      return 0;
++}
++
++static void __exit nslu2_power_exit(void)
++{
++      free_irq(NSLU2_RB_IRQ, NULL);
++      free_irq(NSLU2_PB_IRQ, NULL);
++}
++
++module_init(nslu2_power_init);
++module_exit(nslu2_power_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("NSLU2 Power/Reset driver");
++MODULE_LICENSE("GPL");
+--- linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,134 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-setup.c
++ *
++ * NSLU2 board-setup
++ *
++ * based ixdp425-setup.c:
++ *      Copyright (C) 2003-2004 MontaVista Software, Inc.
++ *
++ * Author: Mark Rakes <mrakes at mac.com>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * Fixed missing init_time in MACHINE_START kas11 10/22/04
++ * Changed to conform to new style __init ixdp425 kas11 10/22/04
++ */
++
++#include <linux/kernel.h>
++#include <linux/serial.h>
++#include <linux/serial_8250.h>
++
++#include <asm/mach-types.h>
++#include <asm/mach/arch.h>
++#include <asm/mach/flash.h>
++
++static struct flash_platform_data nslu2_flash_data = {
++      .map_name               = "cfi_probe",
++      .width                  = 2,
++};
++
++static struct resource nslu2_flash_resource = {
++      .start                  = NSLU2_FLASH_BASE,
++      .end                    = NSLU2_FLASH_BASE + NSLU2_FLASH_SIZE,
++      .flags                  = IORESOURCE_MEM,
++};
++
++static struct platform_device nslu2_flash = {
++      .name                   = "IXP4XX-Flash",
++      .id                     = 0,
++      .dev.platform_data      = &nslu2_flash_data,
++      .num_resources          = 1,
++      .resource               = &nslu2_flash_resource,
++};
++
++static struct ixp4xx_i2c_pins nslu2_i2c_gpio_pins = {
++      .sda_pin                = NSLU2_SDA_PIN,
++      .scl_pin                = NSLU2_SCL_PIN,
++};
++
++static struct platform_device nslu2_i2c_controller = {
++      .name                   = "IXP4XX-I2C",
++      .id                     = 0,
++      .dev.platform_data      = &nslu2_i2c_gpio_pins,
++      .num_resources          = 0,
++};
++
++static struct resource nslu2_uart_resources[] = {
++      {
++              .start          = IXP4XX_UART1_BASE_PHYS,
++              .end            = IXP4XX_UART1_BASE_PHYS + 0x0fff,
++              .flags          = IORESOURCE_MEM,
++      },
++      {
++              .start          = IXP4XX_UART2_BASE_PHYS,
++              .end            = IXP4XX_UART2_BASE_PHYS + 0x0fff,
++              .flags          = IORESOURCE_MEM,
++      }
++};
++
++static struct plat_serial8250_port nslu2_uart_data[] = {
++      {
++              .mapbase        = IXP4XX_UART1_BASE_PHYS,
++              .membase        = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
++              .irq            = IRQ_IXP4XX_UART1,
++              .flags          = UPF_BOOT_AUTOCONF,
++              .iotype         = UPIO_MEM,
++              .regshift       = 2,
++              .uartclk        = IXP4XX_UART_XTAL,
++      },
++      {
++              .mapbase        = IXP4XX_UART2_BASE_PHYS,
++              .membase        = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
++              .irq            = IRQ_IXP4XX_UART2,
++              .flags          = UPF_BOOT_AUTOCONF,
++              .iotype         = UPIO_MEM,
++              .regshift       = 2,
++              .uartclk        = IXP4XX_UART_XTAL,
++      },
++      { }
++};
++
++static struct platform_device nslu2_uart = {
++      .name                   = "serial8250",
++      .id                     = PLAT8250_DEV_PLATFORM,
++      .dev.platform_data      = nslu2_uart_data,
++      .num_resources          = 2,
++      .resource               = nslu2_uart_resources,
++};
++
++static struct platform_device *nslu2_devices[] __initdata = {
++      &nslu2_i2c_controller,
++      &nslu2_flash,
++      &nslu2_uart,
++};
++
++static void nslu2_power_off(void)
++{
++      /* This causes the box to drop the power and go dead. */
++
++      /* enable the pwr cntl gpio */
++      gpio_line_config(NSLU2_PO_GPIO, IXP4XX_GPIO_OUT);
++
++      /* do the deed */
++      gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH);
++}
++
++static void __init nslu2_init(void)
++{
++      ixp4xx_sys_init();
++
++      pm_power_off = nslu2_power_off;
++
++      platform_add_devices(nslu2_devices, ARRAY_SIZE(nslu2_devices));
++}
++
++MACHINE_START(NSLU2, "Linksys NSLU2")
++      /* Maintainer: www.nslu2-linux.org */
++      .phys_ram       = PHYS_OFFSET,
++      .phys_io        = IXP4XX_PERIPHERAL_BASE_PHYS,
++      .io_pg_offst    = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC,
++      .boot_params    = 0x00000100,
++      .map_io         = ixp4xx_map_io,
++      .init_irq       = ixp4xx_init_irq,
++      .timer          = &ixp4xx_timer,
++      .init_machine   = nslu2_init,
++MACHINE_END
+--- linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h        1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/include/asm-arm/arch-ixp4xx/hardware.h        1970-01-01 00:00:00.000000000 +0000
+@@ -44,5 +44,6 @@ extern unsigned int processor_id;
+ #include "ixdp425.h"
+ #include "coyote.h"
+ #include "prpmc1100.h"
++#include "nslu2.h"
+ #endif  /* _ASM_ARCH_HARDWARE_H */
+--- linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/include/asm-arm/arch-ixp4xx/irqs.h    1970-01-01 00:00:00.000000000 +0000
+@@ -93,4 +93,11 @@
+ #define       IRQ_COYOTE_PCI_SLOT1    IRQ_IXP4XX_GPIO11
+ #define       IRQ_COYOTE_IDE          IRQ_IXP4XX_GPIO5
++/*
++ * NSLU2 board IRQs
++ */
++#define        IRQ_NSLU2_PCI_INTA      IRQ_IXP4XX_GPIO11
++#define        IRQ_NSLU2_PCI_INTB      IRQ_IXP4XX_GPIO10
++#define        IRQ_NSLU2_PCI_INTC      IRQ_IXP4XX_GPIO9
++
+ #endif
+--- linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.14/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,96 @@
++/*
++ * include/asm-arm/arch-ixp4xx/nslu2.h
++ *
++ * NSLU2 platform specific definitions
++ *
++ * Author: Mark Rakes <mrakes AT mac.com>
++ * Maintainers: http://www.nslu2-linux.org
++ *
++ * based on ixdp425.h:
++ *    Copyright 2004 (c) MontaVista, Software, Inc.
++ *
++ * This file is licensed under  the terms of the GNU General Public
++ * License version 2. This program is licensed "as is" without any
++ * warranty of any kind, whether express or implied.
++ */
++
++#ifndef __ASM_ARCH_HARDWARE_H__
++#error "Do not include this directly, instead #include <asm/hardware.h>"
++#endif
++
++#define NSLU2_FLASH_BASE      IXP4XX_EXP_BUS_CS0_BASE_PHYS
++#define NSLU2_FLASH_SIZE      IXP4XX_EXP_BUS_CSX_REGION_SIZE
++
++#define NSLU2_SDA_PIN         7
++#define NSLU2_SCL_PIN         6
++
++/*
++ * NSLU2 PCI IRQs
++ */
++#define NSLU2_PCI_MAX_DEV     3
++#define NSLU2_PCI_IRQ_LINES   3
++
++
++/* PCI controller GPIO to IRQ pin mappings */
++#define NSLU2_PCI_INTA_PIN    11
++#define NSLU2_PCI_INTB_PIN    10
++#define NSLU2_PCI_INTC_PIN    9
++#define NSLU2_PCI_INTD_PIN    8
++
++
++/* NSLU2 Timer */
++#define NSLU2_FREQ 66000000
++#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
++#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
++
++/* GPIO */
++
++#define NSLU2_GPIO0           0
++#define NSLU2_GPIO1           1
++#define NSLU2_GPIO2           2
++#define NSLU2_GPIO3           3
++#define NSLU2_GPIO4           4
++#define NSLU2_GPIO5           5
++#define NSLU2_GPIO6           6
++#define NSLU2_GPIO7           7
++#define NSLU2_GPIO8           8
++#define NSLU2_GPIO9           9
++#define NSLU2_GPIO10          10
++#define NSLU2_GPIO11          11
++#define NSLU2_GPIO12          12
++#define NSLU2_GPIO13          13
++#define NSLU2_GPIO14          14
++#define NSLU2_GPIO15          15
++
++/* Buttons */
++
++#define NSLU2_PB_GPIO         NSLU2_GPIO5
++#define NSLU2_PO_GPIO         NSLU2_GPIO8     /* power off */
++#define NSLU2_RB_GPIO         NSLU2_GPIO12
++
++#define NSLU2_PB_IRQ          IRQ_IXP4XX_GPIO5
++#define NSLU2_RB_IRQ          IRQ_IXP4XX_GPIO12
++
++#define NSLU2_PB_BM           (1L << NSLU2_PB_GPIO)
++#define NSLU2_PO_BM           (1L << NSLU2_PO_GPIO)
++#define NSLU2_RB_BM           (1L << NSLU2_RB_GPIO)
++
++/* Buzzer */
++
++#define NSLU2_GPIO_BUZZ               4
++#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
++/* LEDs */
++
++#define NSLU2_LED_RED         NSLU2_GPIO0
++#define NSLU2_LED_GRN         NSLU2_GPIO1
++
++#define NSLU2_LED_RED_BM      (1L << NSLU2_LED_RED)
++#define NSLU2_LED_GRN_BM      (1L << NSLU2_LED_GRN)
++
++#define NSLU2_LED_DISK1               NSLU2_GPIO2
++#define NSLU2_LED_DISK2               NSLU2_GPIO3
++
++#define NSLU2_LED_DISK1_BM    (1L << NSLU2_GPIO2)
++#define NSLU2_LED_DISK2_BM    (1L << NSLU2_GPIO3)
++
++
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/55-nslu2-rtc.patch
new file mode 100644 (file)
index 0000000..be1f696
--- /dev/null
@@ -0,0 +1,125 @@
+--- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/Makefile  2005-10-26 15:19:43.171472071 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:23:52.923187955 -0700
+@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
+ obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+-obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
++obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o
+--- linux-2.6.13/.pc/55-nslu2-rtc.patch/arch/arm/mach-ixp4xx/nslu2-rtc.c       2005-10-26 15:19:43.443489188 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-rtc.c      2005-10-26 15:23:52.923187955 -0700
+@@ -0,0 +1,113 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-rtc.c
++ *
++ * NSLU2 RTC driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on x1205-rtc.c  
++ *  Copyright (C) 2004 Karen Spearel
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/module.h>
++#include <linux/time.h>
++#include <linux/rtc.h>
++#include <linux/init.h>
++
++#include <linux/x1205.h>
++
++#include <asm/rtc.h>
++#include <asm/mach-types.h>
++
++extern int (*set_rtc)(void);
++
++static int nslu2_set_rtc(void)
++{
++      struct rtc_time new_tm, old_tm;
++      unsigned long cur_secs = xtime.tv_sec;
++
++      if (x1205_do_command(X1205_CMD_GETDATETIME, &old_tm))
++              return 0;
++
++      /* FIXME      xtime.tv_nsec = old_tm.tm_sec * 10000000; */
++      new_tm.tm_sec  = cur_secs % 60;
++      cur_secs /= 60;
++      new_tm.tm_min  = cur_secs % 60;
++      cur_secs /= 60;
++      new_tm.tm_hour = cur_secs % 24;
++
++       /*
++      * avoid writing when we're going to change the day
++      * of the month.  We will retry in the next minute.
++      * This basically means that if the RTC must not drift
++      * by more than 1 minute in 11 minutes.
++      */
++      if ((old_tm.tm_hour == 23 && old_tm.tm_min == 59) ||
++          (new_tm.tm_hour == 23 && new_tm.tm_min == 59))
++              return 1;
++
++      return x1205_do_command(X1205_CMD_SETTIME, &new_tm);
++}
++
++static int rtc_read_alarm(struct rtc_wkalrm *alrm)
++{
++      return x1205_do_command(X1205_CMD_GETALARM, &alrm->time);
++}
++
++static int rtc_set_alarm(struct rtc_wkalrm *alrm)
++{
++      return x1205_do_command(X1205_CMD_SETALARM, &alrm->time);
++}
++
++static int rtc_read_time(struct rtc_time *tm)
++{
++      return x1205_do_command(X1205_CMD_GETDATETIME, tm);
++}
++
++static int rtc_set_time(struct rtc_time *tm)
++{
++      return x1205_do_command(X1205_CMD_SETDATETIME, tm);
++}
++
++static struct rtc_ops rtc_ops = {
++      .owner          = THIS_MODULE,
++      .read_time      = rtc_read_time,
++      .set_time       = rtc_set_time,
++      .read_alarm     = rtc_read_alarm,
++      .set_alarm      = rtc_set_alarm,
++};
++
++static int __init nslu2_rtc_init(void)
++{
++      int ret;
++
++      if (!(machine_is_nslu2()))
++              return 0;
++
++      printk(KERN_INFO "NSLU2: rtc\n");
++
++      if ((ret = register_rtc(&rtc_ops)) != 0)
++              return ret;
++
++      set_rtc = nslu2_set_rtc;
++
++      return 0;
++}
++
++static void __exit nslu2_rtc_exit(void)
++{
++      set_rtc = NULL;
++
++      unregister_rtc(&rtc_ops);
++}
++
++module_init(nslu2_rtc_init);
++module_exit(nslu2_rtc_exit);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/60-nslu2-beeper.patch
new file mode 100644 (file)
index 0000000..e8a0373
--- /dev/null
@@ -0,0 +1,175 @@
+--- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Kconfig  2005-08-28 16:41:01.000000000 -0700
++++ linux-2.6.13/drivers/input/misc/Kconfig    2005-10-26 15:24:01.199708764 -0700
+@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP
+       tristate "M68k Beeper support"
+       depends on M68K
++config INPUT_NSLU2_BEEPER
++      tristate "NSLU2 Beeper support"
++      depends on MACH_NSLU2
++      help
++        Say Y here if you want the embedded beeper on the LinkSys NSLU2
++        to be used for bells and whistles.
++
++        If unsure, say Y.
++
++        To compile this driver as a module, choose M here: the
++        module will be called nslu2spkr.
++
+ config INPUT_UINPUT
+       tristate "User level driver support"
+       help
+--- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/Makefile 2005-08-28 16:41:01.000000000 -0700
++++ linux-2.6.13/drivers/input/misc/Makefile   2005-10-26 15:24:01.199708764 -0700
+@@ -10,3 +10,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP)                += m68ksp
+ obj-$(CONFIG_INPUT_98SPKR)            += 98spkr.o
+ obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
+ obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
++obj-$(CONFIG_INPUT_NSLU2_BEEPER)      += nslu2spkr.o
+--- linux-2.6.13/.pc/60-nslu2-beeper.patch/drivers/input/misc/nslu2spkr.c      2005-10-26 15:19:43.711506053 -0700
++++ linux-2.6.13/drivers/input/misc/nslu2spkr.c        2005-10-26 15:24:01.199708764 -0700
+@@ -0,0 +1,144 @@
++/*
++ * drivers/input/misc/nslu2spkr.c
++ *
++ * NSLU2 Beeper driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on nslu2-io.c  
++ *  Copyright (C) 2004 Karen Spearel
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/input.h>
++#include <linux/delay.h>
++
++#include <asm/hardware.h>
++#include <asm/irq.h>
++
++static unsigned int beep_on_startup = 1;
++module_param(beep_on_startup, bool, 0);
++MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup");
++
++DEFINE_SPINLOCK(beep_lock);
++
++static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
++{
++      unsigned int count = 0;
++      unsigned long flags;
++
++      if (type != EV_SND)
++              return -1;
++
++      switch (code) {
++              case SND_BELL:
++                      if (value) value = 1000;
++              case SND_TONE:
++                      break;
++              default:
++                      return -1;
++      }
++
++      if (value > 20 && value < 32767)
++              count = (NSLU2_FREQ / (value*4)) - 1;
++
++      spin_lock_irqsave(&beep_lock, flags);
++
++       if (count) {
++
++              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT);
++              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW);
++
++              *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++
++      } else {
++
++              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN);
++              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH);
++
++              *IXP4XX_OSRT2 = 0;
++      }
++
++      spin_unlock_irqrestore(&beep_lock, flags);
++
++      return 0;
++}
++
++static struct input_dev nslu2_spkr_dev = {
++      .phys           = "ixp420/gpio4",
++      .name           = "NSLU2 Beeper",
++      .evbit[0]       = BIT(EV_SND),
++      .sndbit[0]      = BIT(SND_BELL) | BIT(SND_TONE),
++      .event          = nslu2_spkr_event,
++      .id             = {
++              .bustype        = BUS_HOST,
++              .vendor         = 0x001f,
++              .product        = 0x0001,
++              .version        = 0x0100
++      }
++};
++
++static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs)
++{
++      /* clear interrupt */
++      *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
++
++      /* flip the beeper output */
++      *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM;
++
++      return IRQ_HANDLED;
++}
++
++static int __init nslu2_spkr_init(void)
++{
++      if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler,
++              SA_INTERRUPT | SA_TIMER, "NSLU2 beeper", NULL < 0)) {
++                      
++              printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n",
++                      IRQ_IXP4XX_TIMER2);
++
++              return -EIO;
++      }
++
++      input_register_device(&nslu2_spkr_dev);
++
++      /* do a little beep to tell the world we are alive */
++      if (beep_on_startup)
++      {
++              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440);
++              msleep(120);
++              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0);
++      }
++
++        printk(KERN_INFO "NSLU2: beeper\n");
++      return 0;
++}
++
++static void __exit nslu2_spkr_exit(void)
++{
++      input_unregister_device(&nslu2_spkr_dev);
++
++      disable_irq(IRQ_IXP4XX_TIMER2);
++
++      /* turn it off */
++      nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0);
++
++      free_irq(IRQ_IXP4XX_TIMER2, NULL);
++}
++
++module_init(nslu2_spkr_init);
++module_exit(nslu2_spkr_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("NSLU2 Beeper driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/70-nslu2-io.patch
new file mode 100644 (file)
index 0000000..d3d200e
--- /dev/null
@@ -0,0 +1,560 @@
+--- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/Makefile   2005-10-26 15:19:43.443489188 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:08.652177718 -0700
+@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
+ obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+-obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o
++obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o nslu2-io.o
+--- linux-2.6.13/.pc/70-nslu2-io.patch/arch/arm/mach-ixp4xx/nslu2-io.c 2005-10-26 15:19:43.979522918 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-io.c       2005-10-26 15:24:08.652177718 -0700
+@@ -0,0 +1,548 @@
++//=============================================================================
++//
++// n2-io.c version 0.1.7
++// Author: Karen Spearel <kas11 at tampabay.rr.com>
++// please report problems/bugs directly to the address above
++//
++// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per
++// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk
++//
++// NOTE: THIS IS INCOMPLETE.  INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD,
++// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff.  EVENTUALLY IT
++// WILL TALK TO THE n2_pbd DAEMON.  EVENTUALLY THE LED DRIVER
++// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS.
++// 
++//=============================================================================
++//    GPIO            Function        State
++//    0               Red LED         Status          
++//    1               Green LED       Ready = 1
++//    2               Disk 2 LED      On = 0
++//    3               Disk 1 LED      On = 0
++//    4               Buzzer
++//    5               Power Button    Pressed = 1
++//    8               Power Down      Output = 1 powers down NSLU2
++//    12              Reset           Pressed = 0
++
++#include <linux/config.h>
++#include <linux/version.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/proc_fs.h>
++#include <linux/device.h>
++#include <linux/reboot.h>
++
++#include <asm/uaccess.h>
++#include <asm-arm/irq.h>
++#include <asm-arm/delay.h>
++
++/* Set this to 1 to output lots of debug messages. */
++#define NSLU2_IO_DEBUG 0
++
++#if NSLU2_IO_DEBUG
++#define nslu2_io_debug(args) printk args
++#else
++#define nslu2_io_debug(args) ((void)0)
++#endif
++
++#define VERSION                       "0.1.7"
++
++#define       NSLU2BZ_MAJOR           62              //buzzer
++#define NSLU2LM_MAJOR         126
++
++
++#define NSLU2_BEEP_DUR_LONG   2000
++#define NSLU2_BEEP_DUR_MED    400
++#define NSLU2_BEEP_DUR_SHORT  100
++#define NSLU2_BEEP_PITCH_HIGH 250
++#define NSLU2_BEEP_PITCH_MED  500
++#define NSLU2_BEEP_PITCH_LOW  1000
++#define NSLU2_LONG_DELAY      30000
++
++#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
++
++// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe
++
++#define NSLU2BZ_BEEP_STOP             _IO('M',0)       //stop multi-beep at end of audible
++#define NSLU2BZ_BEEP          _IO('M',1)       //one beep at current defaults
++#define NSLU2BZ_BEEPS         _IOW('M',3,long) //param beeps at current defaults
++#define NSLU2BZ_TONESET               _IOW('M',4,long) //set tone: range is high=250 to low=2000
++#define NSLU2BZ_ONTIME                _IOW('M',5,long) //ontime for multi-beeps in jiffies
++#define       NSLU2BZ_SILENTTIME              _IOW('M',6,long) //offtime for multi-beeps in jiffies
++#define NSLU2BZ_REPEATCNT             _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever
++#define NSLU2BZ_COMBINED              _IOW('M',8,long) //combine all params in a long
++
++#define NSLU2LM_OFF           _IOW('M',32,long)
++#define NSLU2LM_ON                    _IOW('M',33,long)
++#define NSLU2LM_BLINK         _IOW('M',34,long)
++#define NSLU2LM_ALT           _IOW('M',35,long)
++#define NSLU2LM_ALL_ON                _IO('M',36)
++#define NSLU2LM_ALL_OFF               _IO('M',37)
++
++#define PHYS_LEDS             4
++#define BLINK_DELAY           25
++
++//  OR Masks to turn these LEDs ON
++
++#define       RS_RED_ON       0x00000001      //0b0000 0000 0000 0010
++#define       RS_GRN_ON       0x00000002      //0b0000 0000 0000 0001
++#define RS_YEL_ON     0x00000003      //0b0000 0000 0000 0011
++
++// AND Masks to turn these LEDs OFF
++
++#define       RS_RED_OFF      0xfffffffe      //0b1111 1111 1111 1101
++#define       RS_GRN_OFF      0xfffffffd      //0b1111 1111 1111 1110
++#define RS_YEL_OFF    0xfffffffc      //0b1111 1111 1111 1100
++
++// AND Masks to turn these LEDs ON
++
++#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
++#define       DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
++
++// Or Masks to turn these LEDs OFF
++
++#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
++#define       DISK2_OFF       0x00000004      //0b0000 0000 0000 0100 
++
++// EOR masks for toggling LEDs on/off
++
++#define RS_RG_ALT     0x00000003      //eor mask to toggle rs rg bits
++#define RS_GRN_TGL    0x00000002
++#define RS_RED_TGL    0x00000001
++#define DISK1_TGL     0x00000008
++#define DISK2_TGL     0x00000004
++
++// The LED names for switches
++
++#define LED_RS_RED    0
++#define LED_RS_GRN    1
++#define       LED_DISK1       2
++#define LED_DISK2     3
++#define LED_ALL               4
++
++static unsigned long ontime = 50;
++static unsigned long offtime = 450;
++static unsigned long bz_repeatcnt = 10;
++static unsigned long tone = 1000;
++
++static struct timer_list n2lm_rsg_timer;      //rs green 
++static struct timer_list n2lm_rsr_timer;      //rs red
++static struct timer_list n2lm_d1_timer;               //drive 1
++static struct timer_list n2lm_d2_timer;               //drive 2
++static struct timer_list n2bz_timer;          //beeper
++
++// sysfs class
++static struct class *n2lm_class;
++
++//==================================================================================================
++//
++// Blinking is handled entirely by the 4 timer handlers.  On timeout, the bit in the
++// GPIO output register is xor'd with a mask corresponding to the selected led which simply
++// flips that bit.  No record of what any of the other leds is doing is needed.
++//
++//==================================================================================================
++// this blinks rs green or green/yellow if rs red is on
++#ifndef CONFIG_LEDS
++static void n2lm_rsg_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL;                      //flip the led
++      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;         //next timeout
++      add_timer(&n2lm_rsg_timer);                             //reinit timer
++      return;
++}
++
++// this blinks or alternates rs red green... inited wit green on/red off
++static void n2lm_rsr_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data;
++      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_rsr_timer);
++      return; 
++}
++// blinks disk 1
++static void n2lm_d1_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL;
++      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_d1_timer);
++      return;
++}
++// blinks disk 2
++static void n2lm_d2_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL;
++      n2lm_d2_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_d2_timer);
++      return;
++}
++
++//==================================================================================================
++
++static void n2lm_timer_start(unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led));
++
++      switch(led) {
++              case LED_RS_RED:
++                      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_rsr_timer);
++                      break;
++
++              case LED_RS_GRN:
++                      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_rsg_timer);
++                      break;
++
++              case LED_DISK1:
++                      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_d1_timer);
++                      break;
++
++              case LED_DISK2:
++                      n2lm_d2_timer.expires = jiffies + BLINK_DELAY; 
++                      add_timer(&n2lm_d2_timer);
++                      break;
++
++              default:
++                      break;
++      }
++      return;
++}
++
++//==================================================================================================
++
++static void n2lm_timer_stop(unsigned long led)
++{
++      switch (led) {
++              case LED_RS_RED:
++                      del_timer(&n2lm_rsr_timer);
++                      break;
++              case LED_RS_GRN:
++                      del_timer(&n2lm_rsg_timer);
++                      break;
++              case LED_DISK1:
++                      del_timer(&n2lm_d1_timer);
++                      break;
++              case LED_DISK2: 
++                      del_timer(&n2lm_d2_timer);
++                      break;
++              default:
++                      break;
++      }
++      return;
++}
++
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_timer_stop_all(void)
++{
++      del_timer(&n2lm_rsg_timer);
++      del_timer(&n2lm_rsr_timer);
++      del_timer(&n2lm_d1_timer); 
++      del_timer(&n2lm_d2_timer);
++      return;
++}
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_ledon(unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led));
++
++      switch (led) {
++              case LED_RS_RED:        
++                      *IXP4XX_GPIO_GPOUTR |= RS_RED_ON;       //1
++                      return;
++              case LED_RS_GRN:
++                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;       //2
++                      return;
++              case LED_DISK1:
++                      *IXP4XX_GPIO_GPOUTR &= DISK1_ON;        //0xfffffff7
++                      return;
++              case LED_DISK2: 
++                      *IXP4XX_GPIO_GPOUTR &= DISK2_ON;        //0xfffffffb
++                      return;
++              case LED_ALL:                                   //all green
++                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;
++                      *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON);
++                      return; 
++      }
++}
++
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_ledoff(unsigned long led)
++{
++
++      switch (led) {
++              case LED_RS_RED:        
++                      *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF;      //0xffffffffe
++                      return;
++              case LED_RS_GRN:
++                      *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF;      //0xfffffffd
++                      return;
++              case LED_DISK1:
++                      *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;       //0x00000008
++                      return;
++              case LED_DISK2: 
++                      *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;       //0x00000004
++                      return;
++              case LED_ALL:
++                      *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF);
++                      *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF);
++      }
++}
++
++//==================================================================================================
++
++static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led));
++      
++      if (led < 0 || led >= PHYS_LEDS)
++              return -EINVAL;
++
++      switch (cmd ) {
++              case NSLU2LM_ON:
++                      n2lm_timer_stop(led);
++                      n2lm_ledon(led);
++                      break;
++                      
++              case NSLU2LM_OFF:
++                      n2lm_timer_stop(led);
++                      n2lm_ledoff(led);
++                      break;
++                      
++              case NSLU2LM_BLINK:
++                      n2lm_ledon(led);
++                      if (led == LED_RS_RED)
++                              n2lm_rsr_timer.data = RS_RED_TGL;
++                      n2lm_timer_start(led);
++                      break;
++
++              case NSLU2LM_ALT:
++                      if (led == LED_RS_RED)
++                      {
++                              n2lm_ledon(LED_RS_GRN);
++                              n2lm_ledoff(LED_RS_RED);
++                              n2lm_rsr_timer.data = RS_RG_ALT;
++                              n2lm_timer_start(LED_RS_RED);
++                              break;
++                      } else
++                              return -EINVAL;
++              
++              case NSLU2LM_ALL_ON:
++                      n2lm_timer_stop_all();
++                      n2lm_ledon(LED_ALL);
++                      break;
++              
++              case NSLU2LM_ALL_OFF:
++                      n2lm_timer_stop_all();
++                      n2lm_ledoff(LED_ALL);
++                      break;
++              
++              default:
++                      return -EINVAL;
++      }
++
++      return 0;
++}
++
++static struct file_operations n2lm_fops = {
++      .owner          = THIS_MODULE,
++      .ioctl          = n2lm_ioctl,
++};
++#endif
++//==================================================================================================
++// We can't do anything fancy here since the system tick rate is far below that required to
++// generate a desirable tone.  Therefore we haven't much choice but to use a busy loop until
++// I get up to speed on the timers.  The saving grace is that for the normal uses, nothing 
++// important should be haprepening. 
++//==================================================================================================
++
++static void n2_buzz(int tone_delay, int duration)
++{
++      int i;
++
++      *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM;
++              
++      for (i = 1; i < duration; i++) {
++              *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM;
++              udelay(tone_delay);
++              *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM;
++              udelay(tone_delay);
++      }
++      *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM;
++
++      return;
++}
++//=================================================================================================
++
++// this handles the buzzer duty cycle
++static void n2bz_handler(unsigned long data)
++{
++      if (--bz_repeatcnt > 0) {                       //if just one beep left to do
++              n2bz_timer.expires = jiffies + ontime + offtime;        //next timeout
++              add_timer(&n2bz_timer);                                 //reinit timer
++      }
++      n2_buzz(tone/2, ontime);
++      nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime));
++      return;
++}
++
++//==================================================================================================
++
++static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param)
++{
++      switch (cmd) {
++              case NSLU2BZ_BEEP:
++                      n2_buzz(tone/2, ontime);
++                      break;
++      
++              case NSLU2BZ_BEEP_STOP:
++                      del_timer(&n2bz_timer);
++                      break;
++
++              case NSLU2BZ_BEEPS:
++                      if (param == 0)
++                              bz_repeatcnt = 0xffffffff;
++                      else
++                              bz_repeatcnt = param;
++                      n2bz_handler(0);
++                      break;
++      
++              case NSLU2BZ_TONESET:
++                      if (param >= 250 && param <= 2000)
++                              tone = param;
++                      break;
++
++              case NSLU2BZ_ONTIME:
++                      if (param > 4 && param < 201)
++                              ontime = param;
++                      break;
++
++              case NSLU2BZ_SILENTTIME:
++                      if (param > ontime)                     //enforce a reasonable duty cycle
++                              offtime = param;
++                      else
++                              offtime = ontime;
++                      break;
++
++              case NSLU2BZ_REPEATCNT:
++                      if (param == 0)
++                              bz_repeatcnt = 0xffffffff;
++                      else
++                              bz_repeatcnt = param;
++                      break;
++
++              case NSLU2BZ_COMBINED:
++                      bz_repeatcnt =  (param & 0xF0000000) >> 28;     //repeat 1 - 16
++                      ontime =        (param & 0x0FF00000) >> 20;     //ontime 1 - 256 jiffies
++                      offtime =       (param & 0x000FFF00) >> 8;      //offtime 1 - 4095 jiffies
++                      tone =          (param & 0x000000FF) << 4;      //tone (1 - 255) * 16
++                      break;
++
++              default:
++                      break;
++      }
++      return 0;
++}
++
++static struct file_operations n2bz_fops = {
++      .owner          = THIS_MODULE,
++      .ioctl          = n2bz_ioctl,
++};
++
++static void n2iom_initarch(void)
++{
++#ifndef CONFIG_LEDS
++      init_timer(&n2lm_rsg_timer);
++      init_timer(&n2lm_rsr_timer);
++      init_timer(&n2lm_d1_timer);
++      init_timer(&n2lm_d2_timer);
++
++      n2lm_rsr_timer.function = n2lm_rsr_handler;
++      n2lm_rsg_timer.function = n2lm_rsg_handler;
++      n2lm_d2_timer.function = n2lm_d2_handler;
++      n2lm_d1_timer.function = n2lm_d1_handler;
++#endif
++
++      init_timer(&n2bz_timer);
++      n2bz_timer.function = n2bz_handler;
++
++      n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0;
++
++#ifndef CONFIG_LEDS
++      *IXP4XX_GPIO_GPOER &= 0xfffffff0;       //enable gpio 0-3
++      *IXP4XX_GPIO_GPOUTR |= 0x00000003;      //turn off the leds
++      *IXP4XX_GPIO_GPOUTR &= 0xfffffffc;
++      n2lm_ledon(LED_ALL);
++      n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT);
++      n2lm_ledoff(LED_ALL);
++
++      // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit
++      n2lm_ledon(LED_RS_RED);
++#endif
++
++      return;
++}
++
++//==================================================================================================
++
++static int __init n2iom_init(void)
++{
++      printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION);
++      
++      n2iom_initarch();
++
++      n2lm_class = class_create(THIS_MODULE, "nslu2");
++
++#ifndef CONFIG_LEDS
++      if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) {
++              printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR);
++              return -EBUSY;
++      }
++      else {
++              class_device_create(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
++      }
++#endif
++
++      if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) {
++              printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR);
++              return -EBUSY;
++      }
++      else {
++              class_device_create(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
++      }
++
++      return 0;
++}
++
++//==================================================================================================
++
++static void __exit n2iom_exit(void)
++{
++
++#ifndef CONFIG_LEDS
++      del_timer(&n2lm_rsg_timer);
++      del_timer(&n2lm_rsr_timer);
++      del_timer(&n2lm_d1_timer);
++      del_timer(&n2lm_d2_timer);      
++
++      unregister_chrdev(NSLU2LM_MAJOR, "n2lm" );
++      class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0));
++#endif
++
++      unregister_chrdev(NSLU2BZ_MAJOR, "n2bz");
++      class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0));
++
++      class_destroy(n2lm_class);
++}
++
++module_init(n2iom_init);
++module_exit(n2iom_exit);
++
++MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>");
++MODULE_DESCRIPTION("NSLU2 I/O driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/75-nslu2-leds.patch
new file mode 100644 (file)
index 0000000..2701c01
--- /dev/null
@@ -0,0 +1,267 @@
+--- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/Kconfig      2005-10-26 15:19:34.490925838 -0700
++++ linux-2.6.13/arch/arm/Kconfig      2005-10-26 15:24:18.628805508 -0700
+@@ -389,7 +389,8 @@ config LEDS
+                  ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
+                  ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
+                  ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
+-                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE
++                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
++                 MACH_NSLU2
+       help
+         If you say Y here, the LEDs on your machine will be used
+         to provide useful information about your current system status.
+@@ -403,7 +404,7 @@ config LEDS
+ config LEDS_TIMER
+       bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
+-                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
++                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2
+       depends on LEDS
+       default y if ARCH_EBSA110
+       help
+@@ -419,7 +420,8 @@ config LEDS_TIMER
+ config LEDS_CPU
+       bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
+-                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
++                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \
++                      || MACH_NSLU2
+       depends on LEDS
+       help
+         If you say Y here, the red LED will be used to give a good real
+--- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:19:43.979522918 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/Makefile 2005-10-26 15:24:18.632805759 -0700
+@@ -10,3 +10,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE)        += coyote-
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+ obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-rtc.o nslu2-io.o
++leds-$(CONFIG_MACH_NSLU2)     += nslu2-leds.o
++obj-$(CONFIG_LEDS)            += $(leds-y)
++
++
+--- linux-2.6.13/.pc/75-nslu2-leds.patch/arch/arm/mach-ixp4xx/nslu2-leds.c     2005-10-26 15:19:44.251540035 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/nslu2-leds.c     2005-10-26 15:24:18.632805759 -0700
+@@ -0,0 +1,223 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-leds.c
++ *
++ * NSLU2 LEDs driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on nslu2-io.c  
++ *  Copyright (C) 2004 Karen Spearel
++ * and arch/arm/mach-footbridge/netwinder-leds.c
++ *  Copyright (C) 1998-1999 Russell King 
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/spinlock.h>
++#include <linux/notifier.h>
++
++#include <asm/hardware.h>
++#include <asm/leds.h>
++#include <asm/mach-types.h>
++#include <asm/system.h>
++
++#define LED_STATE_ENABLED     0x01
++#define LED_STATE_CLAIMED     0x02
++#define LED_STATE_IDLE                0x04
++
++static unsigned char led_state;
++static unsigned int hw_led_state;
++
++static const unsigned long idle_seq[4] = {
++      
++      NSLU2_LED_GRN_BM, 0,
++      NSLU2_LED_GRN_BM, 0,
++};
++
++static const unsigned long busy_seq[4] = {
++
++      NSLU2_LED_GRN_BM, 0,
++      NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0,
++};
++
++static unsigned char led_count = 0;
++
++static DEFINE_SPINLOCK(leds_lock);
++extern spinlock_t gpio_lock;
++
++static void nslu2_leds_event(led_event_t evt)
++{
++      unsigned long flags;
++
++      spin_lock_irqsave(&leds_lock, flags);
++
++      switch (evt) {
++      case led_start:
++              /* Let's rock! Red led on, all others off. Remember
++               * that disk1/disk2 works inverted. On the NSLU2, the
++               * interface starts in a claimed state. XXX
++               */
++              led_state = LED_STATE_ENABLED | LED_STATE_CLAIMED;
++              hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM
++                              | NSLU2_LED_RED_BM;
++              break;
++
++      case led_stop:
++              led_state &= ~LED_STATE_ENABLED;
++              break;
++
++      case led_claim:
++              /* The user claimed the interface, red and green off */
++              led_state |= LED_STATE_CLAIMED;
++              hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_release:
++              /* The user released the interface, preserve the last
++               * status of the leds, except red/green.
++               */
++              led_state &= ~LED_STATE_CLAIMED;
++              hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C;
++              break;
++
++#ifdef CONFIG_LEDS_TIMER
++      case led_timer:
++              /* Pulse green led */
++              if (!(led_state & LED_STATE_CLAIMED))
++              {
++                      /* clear red and green bits */
++                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++
++                      /* copy the right sequence in */
++                      if (led_state & LED_STATE_IDLE)
++                              hw_led_state |= idle_seq[led_count % 4];
++                      else
++                              hw_led_state |= busy_seq[led_count % 4];
++
++                      led_count++;
++              }
++              break;
++#endif
++
++#ifdef CONFIG_LEDS_CPU
++
++      case led_idle_start:
++              led_state |= LED_STATE_IDLE;
++#ifndef CONFIG_LEDS_TIMER
++              /* green on, red off */
++              hw_led_state |= NSLU2_LED_GRN_BM;
++              hw_led_state &= ~NSLU2_LED_RED_BM;
++#endif
++              break;
++
++      case led_idle_end:
++              led_state &= ~LED_STATE_IDLE;
++#ifndef CONFIG_LEDS_TIMER
++              /* green on, red on -> amber on */
++              hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM;
++#endif
++              break;
++#endif
++
++      case led_halted:
++              if (!(led_state & LED_STATE_CLAIMED))
++                      hw_led_state |= NSLU2_LED_RED_BM;
++              break;
++
++      /* leds */
++
++      case led_green_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= NSLU2_LED_GRN_BM;
++              break;
++
++      case led_green_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~NSLU2_LED_GRN_BM;
++              break;
++
++      case led_amber_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_amber_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_red_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= NSLU2_LED_RED_BM;
++              break;
++
++      case led_red_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~NSLU2_LED_RED_BM;
++              break;
++
++      default:
++              break;
++      }
++
++      spin_unlock_irqrestore(&leds_lock, flags);
++
++      if  (led_state & LED_STATE_ENABLED) {
++              spin_lock_irqsave(&gpio_lock, flags);
++              *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state;
++              spin_unlock_irqrestore(&gpio_lock, flags);
++      }
++}
++
++static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event,
++      void *ptr)
++{
++      leds_event(led_green_off);
++      leds_event(led_red_on);
++
++      return NOTIFY_DONE;
++}
++
++static struct notifier_block nslu2_leds_panic_block = {
++      .notifier_call  = nslu2_leds_panic_event,
++};
++
++static int __init nslu2_leds_init(void)
++{
++      if (!(machine_is_nslu2()))
++              return 0;
++
++      printk(KERN_INFO "NSLU2: leds\n");
++
++      /* register panic notifier */
++      notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block);
++
++      /* enable gpio 0-3 */
++      gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT);
++
++      leds_event = nslu2_leds_event;
++
++      /* this will also initialize the leds to the
++       * default state.
++       */
++
++      leds_event(led_start);
++
++      return 0;
++}
++
++module_init(nslu2_leds_init);
++
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-ixp4xx-pci-le.patch
new file mode 100644 (file)
index 0000000..1a37b13
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-2.6.13/.pc/90-ixp4xx-pci-le.patch/arch/arm/mach-ixp4xx/common-pci.c  2005-08-28 16:41:01.000000000 -0700
++++ linux-2.6.13/arch/arm/mach-ixp4xx/common-pci.c     2005-10-26 15:24:30.337542292 -0700
+@@ -427,7 +427,7 @@ void __init ixp4xx_pci_preinit(void)
+ #ifdef __ARMEB__
+       *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE | PCI_CSR_PDS | PCI_CSR_ADS;
+ #else
+-      *PCI_CSR = PCI_CSR_IC;
++      *PCI_CSR = PCI_CSR_IC | PCI_CSR_ABE;
+ #endif
+       pr_debug("DONE\n");
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/90-pegasus.patch
new file mode 100644 (file)
index 0000000..ab80672
--- /dev/null
@@ -0,0 +1,13 @@
+*** linux-2.6.13/drivers/usb/net/pegasus.h.orig        Mon Aug 29 01:41:01 2005
+--- linux-2.6.13/drivers/usb/net/pegasus.h     Sat Oct 22 20:51:29 2005
+***************
+*** 181,186 ****
+--- 181,188 ----
+               DEFAULT_GPIO_RESET )
+  PEGASUS_DEV( "SpeedStream USB 10/100 Ethernet", VENDOR_ACCTON, 0x5046,
+               DEFAULT_GPIO_RESET | PEGASUS_II )
++ PEGASUS_DEV( "Philips CPWUE01/00 USB 10/100 Ethernet", VENDOR_ACCTON, 0xb004,
++              DEFAULT_GPIO_RESET | PEGASUS_II )
+  PEGASUS_DEV( "ADMtek ADM8511 \"Pegasus II\" USB Ethernet",
+               VENDOR_ADMTEK, 0x8511,
+               DEFAULT_GPIO_RESET | PEGASUS_II | HAS_HOME_PNA )
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.14/defconfig
new file mode 100644 (file)
index 0000000..83b2521
--- /dev/null
@@ -0,0 +1,1556 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.14
+# Mon Nov 28 18:53:25 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+CONFIG_MACH_NSLU2=y
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc x1205.hctosys=1 noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+# CONFIG_NETFILTER_NETLINK is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_DCCP is not set
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+# CONFIG_IP_NF_MATCH_STRING is not set
+CONFIG_IP_NF_FILTER=m
+# CONFIG_IP_NF_TARGET_REJECT is not set
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+# CONFIG_IP_NF_TARGET_NFQUEUE is not set
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+# CONFIG_IP_NF_TARGET_TTL is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+# CONFIG_IP6_NF_TARGET_NFQUEUE is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_EDB7312 is not set
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MACLIST=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=m
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+CONFIG_RTC=m
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+CONFIG_SENSORS_X1205=y
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+CONFIG_VIDEO_BT848=m
+# CONFIG_VIDEO_SAA6588 is not set
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_SAA7134=m
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+CONFIG_VIDEO_OVCAMCHIP=m
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_VIDEOBUF=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_RTCTIMER is not set
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+
+#
+# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem
+#
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_ITMTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_W9968CF is not set
+CONFIG_USB_PWC=m
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/00-memory-h-page-shift.patch
new file mode 100644 (file)
index 0000000..30d3495
--- /dev/null
@@ -0,0 +1,91 @@
+http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3218/1
+
+PAGE_SHIFT is undeclared in include/asm-arm/arch-ixp4xx/memory.h, identified by the following kernel compilation error:
+
+CC [M] sound/core/memory.o
+In file included from include/asm/memory.h:27,
+from include/asm/io.h:28,
+from sound/core/memory.c:24:
+include/asm/arch/memory.h: In function `__arch_adjust_zones':
+include/asm/arch/memory.h:28: error: `PAGE_SHIFT' undeclared (first use
+in this function)
+
+This patch replaces my previous attempt at fixing this problem (Patch 3214/1) and is based on the following feedback:
+
+Russell King wrote:
+> The error you see came up on SA1100. The best solution was to move
+> the __arch_adjust_zones() function out of line. I suggest ixp4xx
+> does the same.
+
+I have moved the function out of line into arch/arm/mach-ixp4xx/common-pci.c as suggested.
+
+Signed-off-by: Rod Whitby <rod@whitby.id.au>
+--- linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h~     2005-12-30 05:18:27.000000000 +1030
++++ linux-2.6.15-rc7/include/asm-arm/arch-ixp4xx/memory.h      2005-12-30 05:36:04.000000000 +1030
+@@ -16,31 +16,10 @@
+ #ifndef __ASSEMBLY__
+-/*
+- * Only first 64MB of memory can be accessed via PCI.
+- * We use GFP_DMA to allocate safe buffers to do map/unmap.
+- * This is really ugly and we need a better way of specifying
+- * DMA-capable regions of memory.
+- */
+-static inline void __arch_adjust_zones(int node, unsigned long *zone_size, 
+-      unsigned long *zhole_size) 
+-{
+-      unsigned int sz = SZ_64M >> PAGE_SHIFT;
+-
+-      /*
+-       * Only adjust if > 64M on current system
+-       */
+-      if (node || (zone_size[0] <= sz))
+-              return;
+-
+-      zone_size[1] = zone_size[0] - sz;
+-      zone_size[0] = sz;
+-      zhole_size[1] = zhole_size[0];
+-      zhole_size[0] = 0;
+-}
++void ixp4xx_adjust_zones(int node, unsigned long *size, unsigned long *holes);
+ #define arch_adjust_zones(node, size, holes) \
+-      __arch_adjust_zones(node, size, holes)
++      ixp4xx_adjust_zones(node, size, holes)
+ #define ISA_DMA_THRESHOLD (SZ_64M - 1)
+--- linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c~        2005-12-30 05:16:03.000000000 +1030
++++ linux-2.6.15-rc7/arch/arm/mach-ixp4xx/common-pci.c 2005-12-30 05:43:55.000000000 +1030
+@@ -341,6 +341,29 @@ int dma_needs_bounce(struct device *dev,
+       return (dev->bus == &pci_bus_type ) && ((dma_addr + size) >= SZ_64M);
+ }
++/*
++ * Only first 64MB of memory can be accessed via PCI.
++ * We use GFP_DMA to allocate safe buffers to do map/unmap.
++ * This is really ugly and we need a better way of specifying
++ * DMA-capable regions of memory.
++ */
++void __init ixp4xx_adjust_zones(int node, unsigned long *zone_size, 
++      unsigned long *zhole_size) 
++{
++      unsigned int sz = SZ_64M >> PAGE_SHIFT;
++
++      /*
++       * Only adjust if > 64M on current system
++       */
++      if (node || (zone_size[0] <= sz))
++              return;
++
++      zone_size[1] = zone_size[0] - sz;
++      zone_size[0] = sz;
++      zhole_size[1] = zhole_size[0];
++      zhole_size[0] = 0;
++}
++
+ void __init ixp4xx_pci_preinit(void)
+ {  
+       unsigned long processor_id;
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/10-mtdpart-redboot-fis-byteswap.patch
new file mode 100644 (file)
index 0000000..3fa0535
--- /dev/null
@@ -0,0 +1,70 @@
+drivers/mtd/redboot.c: recognise a foreign byte sex partition table
+
+The RedBoot boot loader writes flash partition tables containing native
+byte sex 32 bit values.  When booting an opposite byte sex kernel (e.g.  an
+LE kernel from BE RedBoot) the current MTD driver fails to handle the
+partition table and therefore is unable to generate the correct partition
+map for the flash.
+
+The patch recognises that the FIS directory (the partition table) is
+byte-reversed by examining the partition table size, which is known to be
+one erase block (this is an assumption made elsewhere in redboot.c).  If
+the size matches the erase block after byte swapping the value then
+byte-reversal is assumed, if not no further action is taken.  The patched
+code is fail safe; should redboot.c be changed to support a partition table
+with a modified size field the test will fail and the partition table will
+be assumed to have the host byte sex.
+
+If byte-reversal is detected the patch byte swaps the remainder of the 32
+bit fields in the copy of the table; this copy is then used to set up the
+MTD partition map.
+
+Signed-off-by: John Bowler <jbowler@acm.org>
+Signed-off-by: Andrew Morton <akpm@osdl.org>
+Modified slightly and
+Signed-off-by: David Woodhouse <dwmw2@infradead.org>
+
+Index: drivers/mtd/redboot.c
+===================================================================
+RCS file: /home/cvs/mtd/drivers/mtd/redboot.c,v
+retrieving revision 1.18
+retrieving revision 1.19
+diff -u -p -r1.18 -r1.19
+--- linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/mtd/redboot.c 1970-01-01 00:00:00.000000000 +0000
+@@ -89,8 +89,32 @@ static int parse_redboot_partitions(stru
+                       i = numslots;
+                       break;
+               }
+-              if (!memcmp(buf[i].name, "FIS directory", 14))
++              if (!memcmp(buf[i].name, "FIS directory", 14)) {
++                      /* This is apparently the FIS directory entry for the
++                       * FIS directory itself.  The FIS directory size is
++                       * one erase block; if the buf[i].size field is
++                       * swab32(erasesize) then we know we are looking at
++                       * a byte swapped FIS directory - swap all the entries!
++                       * (NOTE: this is 'size' not 'data_length'; size is
++                       * the full size of the entry.)
++                       */
++                      if (swab32(buf[i].size) == master->erasesize) {
++                              int j;
++                              for (j = 0; j < numslots && buf[j].name[0] != 0xff; ++j) {
++                                      /* The unsigned long fields were written with the
++                                       * wrong byte sex, name and pad have no byte sex.
++                                       */
++                                      swab32s(&buf[j].flash_base);
++                                      swab32s(&buf[j].mem_base);
++                                      swab32s(&buf[j].size);
++                                      swab32s(&buf[j].entry_point);
++                                      swab32s(&buf[j].data_length);
++                                      swab32s(&buf[j].desc_cksum);
++                                      swab32s(&buf[j].file_cksum);
++                              }
++                      }
+                       break;
++              }
+       }
+       if (i == numslots) {
+               /* Didn't find it */
+
+
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/15-jffs2-endian-config.patch
new file mode 100644 (file)
index 0000000..fdebb65
--- /dev/null
@@ -0,0 +1,68 @@
+--- linux-2.6.15/fs/Kconfig~   2006-01-03 13:51:10.000000000 +1030
++++ linux-2.6.15/fs/Kconfig    2006-01-05 01:35:36.000000000 +1030
+@@ -1132,6 +1132,31 @@ config JFFS2_CMODE_SIZE
+ endchoice
++choice
++        prompt "JFFS2 endianness"
++        default JFFS2_NATIVE_ENDIAN
++        depends on JFFS2_FS
++        help
++          You can set here the default endianness of JFFS2 from
++          the available options. Don't touch if unsure.
++
++config JFFS2_NATIVE_ENDIAN
++        bool "native endian"
++        help
++          Uses a native endian bytestream.
++
++config JFFS2_BIG_ENDIAN
++        bool "big endian"
++        help
++          Uses a big endian bytestream.
++
++config JFFS2_LITTLE_ENDIAN
++        bool "little endian"
++        help
++          Uses a little endian bytestream.
++
++endchoice
++
+ config CRAMFS
+       tristate "Compressed ROM file system support (cramfs)"
+       select ZLIB_INFLATE
+--- linux-2.6.15/fs/jffs2/nodelist.h~  2006-01-05 01:37:06.000000000 +1030
++++ linux-2.6.15/fs/jffs2/nodelist.h   2006-01-05 01:37:54.000000000 +1030
+@@ -29,12 +29,10 @@
+ #include "os-linux.h"
+ #endif
+-#define JFFS2_NATIVE_ENDIAN
+-
+ /* Note we handle mode bits conversion from JFFS2 (i.e. Linux) to/from
+    whatever OS we're actually running on here too. */
+-#if defined(JFFS2_NATIVE_ENDIAN)
++#if defined(CONFIG_JFFS2_NATIVE_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){x})
+ #define cpu_to_je32(x) ((jint32_t){x})
+ #define cpu_to_jemode(x) ((jmode_t){os_to_jffs2_mode(x)})
+@@ -42,7 +40,7 @@
+ #define je16_to_cpu(x) ((x).v16)
+ #define je32_to_cpu(x) ((x).v32)
+ #define jemode_to_cpu(x) (jffs2_to_os_mode((x).m))
+-#elif defined(JFFS2_BIG_ENDIAN)
++#elif defined(CONFIG_JFFS2_BIG_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){cpu_to_be16(x)})
+ #define cpu_to_je32(x) ((jint32_t){cpu_to_be32(x)})
+ #define cpu_to_jemode(x) ((jmode_t){cpu_to_be32(os_to_jffs2_mode(x))})
+@@ -50,7 +48,7 @@
+ #define je16_to_cpu(x) (be16_to_cpu(x.v16))
+ #define je32_to_cpu(x) (be32_to_cpu(x.v32))
+ #define jemode_to_cpu(x) (be32_to_cpu(jffs2_to_os_mode((x).m)))
+-#elif defined(JFFS2_LITTLE_ENDIAN)
++#elif defined(CONFIG_JFFS2_LITTLE_ENDIAN)
+ #define cpu_to_je16(x) ((jint16_t){cpu_to_le16(x)})
+ #define cpu_to_je32(x) ((jint32_t){cpu_to_le32(x)})
+ #define cpu_to_jemode(x) ((jmode_t){cpu_to_le32(os_to_jffs2_mode(x))})
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/40-rtc-class.patch
new file mode 100644 (file)
index 0000000..feea3f2
--- /dev/null
@@ -0,0 +1,2719 @@
+--- linux-nslu2.orig/include/linux/rtc.h       2006-01-03 15:31:18.000000000 +0100
++++ linux-nslu2/include/linux/rtc.h    2006-01-03 15:34:24.000000000 +0100
+@@ -91,8 +91,81 @@ struct rtc_pll_info {
+ #define RTC_PLL_GET   _IOR('p', 0x11, struct rtc_pll_info)  /* Get PLL correction */
+ #define RTC_PLL_SET   _IOW('p', 0x12, struct rtc_pll_info)  /* Set PLL correction */
++/* interrupt flags */
++#define RTC_IRQF 0x80 /* any of the following is active */
++#define RTC_PF 0x40
++#define RTC_AF 0x20
++#define RTC_UF 0x10
++
+ #ifdef __KERNEL__
++#include <linux/device.h>
++#include <linux/seq_file.h>
++#include <linux/cdev.h>
++#include <linux/poll.h>
++
++struct rtc_class_ops {
++      int (*open)(struct device *);
++      void (*release)(struct device *);
++      int (*ioctl)(struct device *, unsigned int, unsigned long);
++      int (*read_time)(struct device *, struct rtc_time *);
++      int (*set_time)(struct device *, struct rtc_time *);
++      int (*read_alarm)(struct device *, struct rtc_wkalrm *);
++      int (*set_alarm)(struct device *, struct rtc_wkalrm *);
++      int (*proc)(struct device *, struct seq_file *);
++      int (*set_mmss)(struct device *, unsigned long secs);
++      int (*irq_set_state)(struct device *, int enabled);
++      int (*irq_set_freq)(struct device *, int freq);
++};
++
++#define RTC_DEVICE_NAME_SIZE 20
++struct rtc_task;
++
++struct rtc_device
++{
++      int id;
++      struct module *owner;
++      struct rw_semaphore lock;
++      struct class_device class_dev;
++      struct rtc_class_ops *ops;
++      char name[RTC_DEVICE_NAME_SIZE];
++
++      struct cdev char_dev;
++      struct semaphore char_sem;
++
++      unsigned long irq_data;
++      spinlock_t irq_lock;
++      wait_queue_head_t irq_queue;
++      struct fasync_struct *async_queue;
++
++      spinlock_t irq_task_lock;
++      struct rtc_task *irq_task;
++      int irq_freq;
++};
++#define to_rtc_device(d) container_of(d, struct rtc_device, class_dev)
++
++extern struct rtc_device *rtc_device_register(char *name,
++                                      struct device *dev,
++                                      struct rtc_class_ops *ops,
++                                      struct module *owner);
++extern void rtc_device_unregister(struct rtc_device *rdev);
++extern int rtc_interface_register(struct class_interface *intf);
++
++
++extern int rtc_month_days(unsigned int month, unsigned int year);
++extern int rtc_valid_tm(struct rtc_time *tm);
++extern int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time);
++extern void rtc_time_to_tm(unsigned long time, struct rtc_time *tm);
++
++extern int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm);
++extern int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm);
++extern int rtc_read_alarm(struct class_device *class_dev,
++                              struct rtc_wkalrm *alrm);
++extern int rtc_set_alarm(struct class_device *class_dev,
++                              struct rtc_wkalrm *alrm);
++extern void rtc_update_irq(struct class_device *class_dev,
++                      unsigned long num, unsigned long events);
++
+ typedef struct rtc_task {
+       void (*func)(void *private_data);
+       void *private_data;
+--- linux-nslu2.orig/drivers/Kconfig   2006-01-03 15:31:19.000000000 +0100
++++ linux-nslu2/drivers/Kconfig        2006-01-04 01:27:31.000000000 +0100
+@@ -66,4 +66,6 @@ source "drivers/infiniband/Kconfig"
+ source "drivers/sn/Kconfig"
++source "drivers/rtc/Kconfig"
++
+ endmenu
+--- linux-nslu2.orig/drivers/Makefile  2006-01-03 15:33:32.000000000 +0100
++++ linux-nslu2/drivers/Makefile       2006-01-04 01:27:31.000000000 +0100
+@@ -54,6 +54,7 @@ obj-$(CONFIG_USB_GADGET)     += usb/gadget/
+ obj-$(CONFIG_GAMEPORT)                += input/gameport/
+ obj-$(CONFIG_INPUT)           += input/
+ obj-$(CONFIG_I2O)             += message/
++obj-y                         += rtc/
+ obj-$(CONFIG_I2C)             += i2c/
+ obj-$(CONFIG_W1)              += w1/
+ obj-$(CONFIG_HWMON)           += hwmon/
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/class.c    2006-01-03 15:45:19.000000000 +0100
+@@ -0,0 +1,141 @@
++/*
++ * RTC subsystem, base class
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * class skeleton from drivers/hwmon/hwmon.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/module.h>
++#include <linux/rtc.h>
++#include <linux/kdev_t.h>
++#include <linux/idr.h>
++
++static DEFINE_IDR(rtc_idr);
++static DECLARE_MUTEX(idr_lock);
++struct class *rtc_class;
++
++static void rtc_device_release(struct class_device *class_dev)
++{
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++      down(&idr_lock);
++      idr_remove(&rtc_idr, rtc->id);
++      up(&idr_lock);
++      kfree(rtc);
++}
++
++/**
++ * rtc_device_register - register w/ RTC class
++ * @dev: the device to register
++ *
++ * rtc_device_unregister() must be called when the class device is no
++ * longer needed.
++ *
++ * Returns the pointer to the new struct class device.
++ */
++struct rtc_device *rtc_device_register(char *name, struct device *dev,
++                                      struct rtc_class_ops *ops,
++                                      struct module *owner)
++{
++      struct rtc_device *rtc;
++      int id, err;
++
++      if (idr_pre_get(&rtc_idr, GFP_KERNEL) == 0) {
++              err = -ENOMEM;
++              goto exit;
++      }
++
++
++      down(&idr_lock);
++      err = idr_get_new(&rtc_idr, NULL, &id);
++      up(&idr_lock);
++
++      if (err < 0)
++              goto exit;
++
++      id = id & MAX_ID_MASK;
++
++      if ((rtc = kzalloc(sizeof(struct rtc_device), GFP_KERNEL)) == NULL) {
++              err = -ENOMEM;
++              goto exit_idr;
++      }
++
++      rtc->id = id;
++      rtc->ops = ops;
++      rtc->owner = owner;
++      rtc->class_dev.dev = dev;
++      rtc->class_dev.class = rtc_class;
++      rtc->class_dev.release = rtc_device_release;
++
++      init_rwsem(&rtc->lock);
++      spin_lock_init(&rtc->irq_lock);
++      spin_lock_init(&rtc->irq_task_lock);
++
++      strlcpy(rtc->name, name, RTC_DEVICE_NAME_SIZE);
++      snprintf(rtc->class_dev.class_id, BUS_ID_SIZE, "rtc%d", id);
++
++      if ((err = class_device_register(&rtc->class_dev)))
++              goto exit_kfree;
++
++      dev_info(dev, "rtc core: registered %s as %s\n",
++                      rtc->name, rtc->class_dev.class_id);
++
++      return rtc;
++
++exit_kfree:
++      kfree(rtc);
++
++exit_idr:
++      idr_remove(&rtc_idr, id);
++
++exit:
++      return ERR_PTR(err);
++}
++EXPORT_SYMBOL_GPL(rtc_device_register);
++
++
++/**
++ * rtc_device_unregister - removes the previously registered RTC class device
++ *
++ * @rtc: the RTC class device to destroy
++ */
++void rtc_device_unregister(struct rtc_device *rtc)
++{
++      down_write(&rtc->lock);
++      class_device_unregister(&rtc->class_dev);
++}
++EXPORT_SYMBOL_GPL(rtc_device_unregister);
++
++int rtc_interface_register(struct class_interface *intf)
++{
++      intf->class = rtc_class;
++      return class_interface_register(intf);
++}
++EXPORT_SYMBOL_GPL(rtc_interface_register);
++
++static int __init rtc_init(void)
++{
++      rtc_class = class_create(THIS_MODULE, "rtc");
++      if (IS_ERR(rtc_class)) {
++              printk(KERN_ERR "%s: couldn't create class\n", __FILE__);
++              return PTR_ERR(rtc_class);
++      }
++      return 0;
++}
++
++static void __exit rtc_exit(void)
++{
++      class_destroy(rtc_class);
++}
++
++module_init(rtc_init);
++module_exit(rtc_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towerteh.it>");
++MODULE_DESCRIPTION("RTC class support");
++MODULE_LICENSE("GPL");
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/Kconfig    2006-01-04 01:27:21.000000000 +0100
+@@ -0,0 +1,93 @@
++#
++# RTC class/drivers configuration
++#
++
++menu "Real Time Clock"
++
++config RTC_CLASS
++      tristate "RTC class"
++      depends on EXPERIMENTAL
++      default y
++      help
++        Generic RTC class support. If you say yes here, you will
++        be allowed to plug one or more RTCs to your system. You will
++        probably want to enable one of more of the interfaces below.
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-class.
++
++comment "RTC interfaces"
++      depends on RTC_CLASS
++
++config RTC_INTF_SYSFS
++      tristate "sysfs"
++      depends on RTC_CLASS && SYSFS
++      default RTC_CLASS
++      help
++        Say yes here if you want to use your RTC using the sysfs
++        interface, /sys/class/rtc/rtcX .
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-sysfs.
++
++config RTC_INTF_PROC
++      tristate "proc"
++      depends on RTC_CLASS && PROC_FS
++      default RTC_CLASS
++      help
++        Say yes here if you want to use your RTC using the proc
++        interface, /proc/driver/rtc .
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-proc.
++
++config RTC_INTF_DEV
++      tristate "dev"
++      depends on RTC_CLASS
++      default RTC_CLASS
++      help
++        Say yes here if you want to use your RTC using the dev
++        interface, /dev/rtc .
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-dev.
++
++comment "RTC drivers"
++      depends on RTC_CLASS
++
++config RTC_DRV_X1205
++      tristate "Xicor/Intersil X1205 RTC chip"
++      depends on RTC_CLASS && I2C
++      help
++        If you say yes here you get support for the
++        Xicor/Intersil X1205 RTC chip.
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-x1205.
++
++config RTC_DRV_DS1672
++      tristate "Dallas/Maxim DS1672"
++      depends on RTC_CLASS && I2C
++      help
++        If you say yes here you get support for the
++        Dallas/Maxim DS1672 timekeeping chip.
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-ds1672.
++
++config RTC_DRV_TEST
++      tristate "Test driver/device"
++      depends on RTC_CLASS
++      help
++        If you say yes here you get support for the
++        RTC test driver. It's a software RTC which can be
++        used to test the RTC subsystem APIs. It gets
++        the time from the system clock.
++        You want this driver only if you are doing development
++        on the RTC subsystem. Please read the source code
++        for further details.
++
++        This driver can also be built as a module. If so, the module
++        will be called rtc-test.
++
++endmenu
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/Makefile   2006-01-04 01:27:21.000000000 +0100
+@@ -0,0 +1,15 @@
++#
++# Makefile for RTC class/drivers.
++#
++
++obj-y                         += utils.o
++obj-$(CONFIG_RTC_CLASS)               += rtc-core.o
++rtc-core-y                    := class.o interface.o
++obj-$(CONFIG_RTC_INTF_SYSFS)  += rtc-sysfs.o
++obj-$(CONFIG_RTC_INTF_PROC)   += rtc-proc.o
++obj-$(CONFIG_RTC_INTF_DEV)    += rtc-dev.o
++
++obj-$(CONFIG_RTC_DRV_X1205)   += rtc-x1205.o
++obj-$(CONFIG_RTC_DRV_TEST)    += rtc-test.o
++obj-$(CONFIG_RTC_DRV_DS1672)  += rtc-ds1672.o
++
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/interface.c        2006-01-03 15:34:24.000000000 +0100
+@@ -0,0 +1,189 @@
++/*
++ * RTC subsystem, interface functions
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * based on arch/arm/common/rtctime.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/rtc.h>
++
++extern struct class *rtc_class;
++
++int rtc_read_time(struct class_device *class_dev, struct rtc_time *tm)
++{
++      int err = -EINVAL;
++      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
++
++      if (ops->read_time) {
++              memset(tm, 0, sizeof(struct rtc_time));
++              err = ops->read_time(class_dev->dev, tm);
++      }
++      return err;
++}
++EXPORT_SYMBOL(rtc_read_time);
++
++int rtc_set_time(struct class_device *class_dev, struct rtc_time *tm)
++{
++      int err;
++      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
++
++      err = rtc_valid_tm(tm);
++      if (err == 0 && ops->set_time)
++              err = ops->set_time(class_dev->dev, tm);
++
++      return err;
++}
++EXPORT_SYMBOL(rtc_set_time);
++
++int rtc_read_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm)
++{
++      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
++      int err = -EINVAL;
++
++      if (ops->read_alarm) {
++              memset(alarm, 0, sizeof(struct rtc_wkalrm));
++              err = ops->read_alarm(class_dev->dev, alarm);
++      }
++      return err;
++}
++EXPORT_SYMBOL(rtc_read_alarm);
++
++int rtc_set_alarm(struct class_device *class_dev, struct rtc_wkalrm *alarm)
++{
++      int err = -EINVAL;
++      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
++
++      if (ops->set_alarm)
++              err = ops->set_alarm(class_dev->dev, alarm);
++      return err;
++}
++EXPORT_SYMBOL(rtc_set_alarm);
++
++void rtc_update_irq(struct class_device *class_dev,
++              unsigned long num, unsigned long events)
++{
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      spin_lock(&rtc->irq_lock);
++      rtc->irq_data = (rtc->irq_data + (num << 8)) | events;
++      spin_unlock(&rtc->irq_lock);
++
++      spin_lock(&rtc->irq_task_lock);
++      if (rtc->irq_task)
++              rtc->irq_task->func(rtc->irq_task->private_data);
++      spin_unlock(&rtc->irq_task_lock);
++
++      wake_up_interruptible(&rtc->irq_queue);
++      kill_fasync(&rtc->async_queue, SIGIO, POLL_IN);
++}
++EXPORT_SYMBOL(rtc_update_irq);
++
++struct class_device *rtc_open(char *name)
++{
++      struct class_device *class_dev = NULL,
++                              *class_dev_tmp;
++
++      down(&rtc_class->sem);
++      list_for_each_entry(class_dev_tmp, &rtc_class->children, node) {
++              if (strncmp(class_dev_tmp->class_id, name, BUS_ID_SIZE) == 0) {
++                      class_dev = class_dev_tmp;
++                      break;
++              }
++      }
++      up(&rtc_class->sem);
++
++      return class_dev;
++}
++EXPORT_SYMBOL(rtc_open);
++
++void rtc_close(struct class_device *class_dev)
++{
++}
++EXPORT_SYMBOL(rtc_close);
++
++int rtc_irq_register(struct class_device *class_dev, struct rtc_task *task)
++{
++      int retval = -EBUSY;
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      if (task == NULL || task->func == NULL)
++              return -EINVAL;
++
++      spin_lock(&rtc->irq_task_lock);
++      if (rtc->irq_task == NULL) {
++              rtc->irq_task = task;
++              retval = 0;
++      }
++      spin_unlock(&rtc->irq_task_lock);
++
++      return retval;
++}
++EXPORT_SYMBOL(rtc_irq_register);
++
++void rtc_irq_unregister(struct class_device *class_dev, struct rtc_task *task)
++{
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      spin_lock(&rtc->irq_task_lock);
++      if (rtc->irq_task == task)
++              rtc->irq_task = NULL;
++      spin_unlock(&rtc->irq_task_lock);
++}
++EXPORT_SYMBOL(rtc_irq_unregister);
++
++int rtc_irq_set_state(struct class_device *class_dev, struct rtc_task *task, int enabled)
++{
++      int err = 0;
++      unsigned long flags;
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      spin_lock_irqsave(&rtc->irq_task_lock, flags);
++      if (rtc->irq_task != task)
++              err = -ENXIO;
++      spin_unlock_irqrestore(&rtc->irq_task_lock, flags);
++
++      if (err == 0)
++              err = rtc->ops->irq_set_state(class_dev->dev, enabled);
++
++      return err;
++}
++EXPORT_SYMBOL(rtc_irq_set_state);
++
++int rtc_irq_set_freq(struct class_device *class_dev, struct rtc_task *task, int freq)
++{
++      int err = 0, tmp = 0;
++      unsigned long flags;
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      /* allowed range is 2-8192 */
++      if (freq < 2 || freq > 8192)
++              return -EINVAL;
++
++/*    if ((freq > rtc_max_user_freq) && (!capable(CAP_SYS_RESOURCE)))
++              return -EACCES;
++*/
++      /* check if freq is a power of 2 */
++      while (freq > (1 << tmp))
++              tmp++;
++
++      if (freq != (1 << tmp))
++              return -EINVAL;
++
++      spin_lock_irqsave(&rtc->irq_task_lock, flags);
++      if (rtc->irq_task != task)
++              err = -ENXIO;
++      spin_unlock_irqrestore(&rtc->irq_task_lock, flags);
++
++      if (err == 0) {
++              if ((err = rtc->ops->irq_set_freq(class_dev->dev, freq)) == 0)
++                      rtc->irq_freq = freq;
++      }
++      return err;
++
++}
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/utils.c    2006-01-03 15:34:24.000000000 +0100
+@@ -0,0 +1,97 @@
++/*
++ * RTC subsystem, utility functions
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * based on arch/arm/common/rtctime.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/rtc.h>
++
++static const unsigned char rtc_days_in_month[] = {
++      31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
++};
++
++#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
++#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
++
++int rtc_month_days(unsigned int month, unsigned int year)
++{
++      return rtc_days_in_month[month] + (LEAP_YEAR(year) && month == 1);
++}
++EXPORT_SYMBOL(rtc_month_days);
++
++/*
++ * Convert seconds since 01-01-1970 00:00:00 to Gregorian date.
++ */
++void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
++{
++      int days, month, year;
++
++      days = time / 86400;
++      time -= days * 86400;
++
++      tm->tm_wday = (days + 4) % 7;
++
++      year = 1970 + days / 365;
++      days -= (year - 1970) * 365
++              + LEAPS_THRU_END_OF(year - 1)
++              - LEAPS_THRU_END_OF(1970 - 1);
++      if (days < 0) {
++              year -= 1;
++              days += 365 + LEAP_YEAR(year);
++      }
++      tm->tm_year = year - 1900;
++      tm->tm_yday = days + 1;
++
++      for (month = 0; month < 11; month++) {
++              int newdays;
++
++              newdays = days - rtc_month_days(month, year);
++              if (newdays < 0)
++                      break;
++              days = newdays;
++      }
++      tm->tm_mon = month;
++      tm->tm_mday = days + 1;
++
++      tm->tm_hour = time / 3600;
++      time -= tm->tm_hour * 3600;
++      tm->tm_min = time / 60;
++      tm->tm_sec = time - tm->tm_min * 60;
++}
++EXPORT_SYMBOL(rtc_time_to_tm);
++
++/*
++ * Does the rtc_time represent a valid date/time?
++ */
++int rtc_valid_tm(struct rtc_time *tm)
++{
++      if (tm->tm_year < 70 ||
++          tm->tm_mon >= 12 ||
++          tm->tm_mday < 1 ||
++          tm->tm_mday > rtc_month_days(tm->tm_mon, tm->tm_year + 1900) ||
++          tm->tm_hour >= 24 ||
++          tm->tm_min >= 60 ||
++          tm->tm_sec >= 60)
++              return -EINVAL;
++
++      return 0;
++}
++EXPORT_SYMBOL(rtc_valid_tm);
++
++/*
++ * Convert Gregorian date to seconds since 01-01-1970 00:00:00.
++ */
++int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time)
++{
++      *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
++                     tm->tm_hour, tm->tm_min, tm->tm_sec);
++      return 0;
++}
++EXPORT_SYMBOL(rtc_tm_to_time);
+--- linux-nslu2.orig/arch/arm/Kconfig  2006-01-04 01:27:04.000000000 +0100
++++ linux-nslu2/arch/arm/Kconfig       2006-01-04 01:27:31.000000000 +0100
+@@ -750,6 +750,8 @@ source "drivers/usb/Kconfig"
+ source "drivers/mmc/Kconfig"
++source "drivers/rtc/Kconfig"
++
+ endmenu
+ source "fs/Kconfig"
+--- linux-nslu2.orig/arch/arm/common/rtctime.c 2006-01-04 01:27:04.000000000 +0100
++++ linux-nslu2/arch/arm/common/rtctime.c      2006-01-04 01:27:09.000000000 +0100
+@@ -40,89 +40,6 @@ static struct rtc_ops *rtc_ops;
+ #define rtc_epoch 1900UL
+-static const unsigned char days_in_month[] = {
+-      31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
+-};
+-
+-#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
+-#define LEAP_YEAR(year) ((!(year % 4) && (year % 100)) || !(year % 400))
+-
+-static int month_days(unsigned int month, unsigned int year)
+-{
+-      return days_in_month[month] + (LEAP_YEAR(year) && month == 1);
+-}
+-
+-/*
+- * Convert seconds since 01-01-1970 00:00:00 to Gregorian date.
+- */
+-void rtc_time_to_tm(unsigned long time, struct rtc_time *tm)
+-{
+-      int days, month, year;
+-
+-      days = time / 86400;
+-      time -= days * 86400;
+-
+-      tm->tm_wday = (days + 4) % 7;
+-
+-      year = 1970 + days / 365;
+-      days -= (year - 1970) * 365
+-              + LEAPS_THRU_END_OF(year - 1)
+-              - LEAPS_THRU_END_OF(1970 - 1);
+-      if (days < 0) {
+-              year -= 1;
+-              days += 365 + LEAP_YEAR(year);
+-      }
+-      tm->tm_year = year - 1900;
+-      tm->tm_yday = days + 1;
+-
+-      for (month = 0; month < 11; month++) {
+-              int newdays;
+-
+-              newdays = days - month_days(month, year);
+-              if (newdays < 0)
+-                      break;
+-              days = newdays;
+-      }
+-      tm->tm_mon = month;
+-      tm->tm_mday = days + 1;
+-
+-      tm->tm_hour = time / 3600;
+-      time -= tm->tm_hour * 3600;
+-      tm->tm_min = time / 60;
+-      tm->tm_sec = time - tm->tm_min * 60;
+-}
+-EXPORT_SYMBOL(rtc_time_to_tm);
+-
+-/*
+- * Does the rtc_time represent a valid date/time?
+- */
+-int rtc_valid_tm(struct rtc_time *tm)
+-{
+-      if (tm->tm_year < 70 ||
+-          tm->tm_mon >= 12 ||
+-          tm->tm_mday < 1 ||
+-          tm->tm_mday > month_days(tm->tm_mon, tm->tm_year + 1900) ||
+-          tm->tm_hour >= 24 ||
+-          tm->tm_min >= 60 ||
+-          tm->tm_sec >= 60)
+-              return -EINVAL;
+-
+-      return 0;
+-}
+-EXPORT_SYMBOL(rtc_valid_tm);
+-
+-/*
+- * Convert Gregorian date to seconds since 01-01-1970 00:00:00.
+- */
+-int rtc_tm_to_time(struct rtc_time *tm, unsigned long *time)
+-{
+-      *time = mktime(tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
+-                     tm->tm_hour, tm->tm_min, tm->tm_sec);
+-
+-      return 0;
+-}
+-EXPORT_SYMBOL(rtc_tm_to_time);
+-
+ /*
+  * Calculate the next alarm time given the requested alarm time mask
+  * and the current time.
+@@ -141,13 +58,13 @@ void rtc_next_alarm_time(struct rtc_time
+       next->tm_sec = alrm->tm_sec;
+ }
+-static inline int rtc_read_time(struct rtc_ops *ops, struct rtc_time *tm)
++static inline int rtc_arm_read_time(struct rtc_ops *ops, struct rtc_time *tm)
+ {
+       memset(tm, 0, sizeof(struct rtc_time));
+       return ops->read_time(tm);
+ }
+-static inline int rtc_set_time(struct rtc_ops *ops, struct rtc_time *tm)
++static inline int rtc_arm_set_time(struct rtc_ops *ops, struct rtc_time *tm)
+ {
+       int ret;
+@@ -158,7 +75,7 @@ static inline int rtc_set_time(struct rt
+       return ret;
+ }
+-static inline int rtc_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
++static inline int rtc_arm_read_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
+ {
+       int ret = -EINVAL;
+       if (ops->read_alarm) {
+@@ -168,7 +85,7 @@ static inline int rtc_read_alarm(struct 
+       return ret;
+ }
+-static inline int rtc_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
++static inline int rtc_arm_set_alarm(struct rtc_ops *ops, struct rtc_wkalrm *alrm)
+ {
+       int ret = -EINVAL;
+       if (ops->set_alarm)
+@@ -256,7 +173,7 @@ static int rtc_ioctl(struct inode *inode
+       switch (cmd) {
+       case RTC_ALM_READ:
+-              ret = rtc_read_alarm(ops, &alrm);
++              ret = rtc_arm_read_alarm(ops, &alrm);
+               if (ret)
+                       break;
+               ret = copy_to_user(uarg, &alrm.time, sizeof(tm));
+@@ -278,11 +195,11 @@ static int rtc_ioctl(struct inode *inode
+               alrm.time.tm_wday = -1;
+               alrm.time.tm_yday = -1;
+               alrm.time.tm_isdst = -1;
+-              ret = rtc_set_alarm(ops, &alrm);
++              ret = rtc_arm_set_alarm(ops, &alrm);
+               break;
+       case RTC_RD_TIME:
+-              ret = rtc_read_time(ops, &tm);
++              ret = rtc_arm_read_time(ops, &tm);
+               if (ret)
+                       break;
+               ret = copy_to_user(uarg, &tm, sizeof(tm));
+@@ -300,7 +217,7 @@ static int rtc_ioctl(struct inode *inode
+                       ret = -EFAULT;
+                       break;
+               }
+-              ret = rtc_set_time(ops, &tm);
++              ret = rtc_arm_set_time(ops, &tm);
+               break;
+       case RTC_EPOCH_SET:
+@@ -331,11 +248,11 @@ static int rtc_ioctl(struct inode *inode
+                       ret = -EFAULT;
+                       break;
+               }
+-              ret = rtc_set_alarm(ops, &alrm);
++              ret = rtc_arm_set_alarm(ops, &alrm);
+               break;
+       case RTC_WKALM_RD:
+-              ret = rtc_read_alarm(ops, &alrm);
++              ret = rtc_arm_read_alarm(ops, &alrm);
+               if (ret)
+                       break;
+               ret = copy_to_user(uarg, &alrm, sizeof(alrm));
+@@ -425,7 +342,7 @@ static int rtc_read_proc(char *page, cha
+       struct rtc_time tm;
+       char *p = page;
+-      if (rtc_read_time(ops, &tm) == 0) {
++      if (rtc_arm_read_time(ops, &tm) == 0) {
+               p += sprintf(p,
+                       "rtc_time\t: %02d:%02d:%02d\n"
+                       "rtc_date\t: %04d-%02d-%02d\n"
+@@ -435,7 +352,7 @@ static int rtc_read_proc(char *page, cha
+                       rtc_epoch);
+       }
+-      if (rtc_read_alarm(ops, &alrm) == 0) {
++      if (rtc_arm_read_alarm(ops, &alrm) == 0) {
+               p += sprintf(p, "alrm_time\t: ");
+               if ((unsigned int)alrm.time.tm_hour <= 24)
+                       p += sprintf(p, "%02d:", alrm.time.tm_hour);
+--- linux-nslu2.orig/include/asm-arm/rtc.h     2006-01-04 01:27:04.000000000 +0100
++++ linux-nslu2/include/asm-arm/rtc.h  2006-01-04 01:27:09.000000000 +0100
+@@ -25,9 +25,6 @@ struct rtc_ops {
+       int             (*proc)(char *buf);
+ };
+-void rtc_time_to_tm(unsigned long, struct rtc_time *);
+-int rtc_tm_to_time(struct rtc_time *, unsigned long *);
+-int rtc_valid_tm(struct rtc_time *);
+ void rtc_next_alarm_time(struct rtc_time *, struct rtc_time *, struct rtc_time *);
+ void rtc_update(unsigned long, unsigned long);
+ int register_rtc(struct rtc_ops *);
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-sysfs.c        2006-01-04 01:27:12.000000000 +0100
+@@ -0,0 +1,125 @@
++/*
++ * RTC subsystem, sysfs interface
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/module.h>
++#include <linux/rtc.h>
++
++/* device attributes */
++
++static ssize_t rtc_sysfs_show_name(struct class_device *dev, char *buf)
++{
++      return sprintf(buf, "%s\n", to_rtc_device(dev)->name);
++}
++static CLASS_DEVICE_ATTR(name, S_IRUGO, rtc_sysfs_show_name, NULL);
++
++static ssize_t rtc_sysfs_show_date(struct class_device *dev, char *buf)
++{
++      ssize_t retval = 0;
++      struct rtc_device *rtc = to_rtc_device(dev);
++      struct rtc_time tm;
++
++      if (down_read_trylock(&rtc->lock) == 0)
++              return -ENODEV;
++
++      if (rtc_read_time(dev, &tm) == 0) {
++              retval = sprintf(buf, "%04d-%02d-%02d\n",
++                      tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
++      }
++
++      up_read(&rtc->lock);
++      return retval;
++}
++static CLASS_DEVICE_ATTR(date, S_IRUGO, rtc_sysfs_show_date, NULL);
++
++static ssize_t rtc_sysfs_show_time(struct class_device *dev, char *buf)
++{
++      ssize_t retval = 0;
++      struct rtc_device *rtc = to_rtc_device(dev);
++      struct rtc_time tm;
++
++      if (down_read_trylock(&rtc->lock) == 0)
++              return -ENODEV;
++
++      if (rtc_read_time(dev, &tm) == 0) {
++              retval = sprintf(buf, "%02d:%02d:%02d\n",
++                      tm.tm_hour, tm.tm_min, tm.tm_sec);
++      }
++
++      up_read(&rtc->lock);
++      return retval;
++}
++static CLASS_DEVICE_ATTR(time, S_IRUGO, rtc_sysfs_show_time, NULL);
++
++static ssize_t rtc_sysfs_show_since_epoch(struct class_device *dev, char *buf)
++{
++      ssize_t retval = 0;
++      struct rtc_device *rtc = to_rtc_device(dev);
++      struct rtc_time tm;
++
++      if (down_read_trylock(&rtc->lock) == 0)
++              return -ENODEV;
++
++      if (rtc_read_time(dev, &tm) == 0) {
++              unsigned long time;
++              rtc_tm_to_time(&tm, &time);
++              retval = sprintf(buf, "%lu\n", time);
++      }
++
++      up_read(&rtc->lock);
++      return retval;
++}
++static CLASS_DEVICE_ATTR(since_epoch, S_IRUGO, rtc_sysfs_show_since_epoch, NULL);
++
++/* insertion/removal hooks */
++
++static int __devinit rtc_sysfs_add_device(struct class_device *class_dev,
++                                         struct class_interface *class_intf)
++{
++      class_device_create_file(class_dev, &class_device_attr_name);
++      class_device_create_file(class_dev, &class_device_attr_date);
++      class_device_create_file(class_dev, &class_device_attr_time);
++      class_device_create_file(class_dev, &class_device_attr_since_epoch);
++      dev_info(class_dev->dev, "rtc intf: sysfs\n");
++      return 0;
++}
++
++static void rtc_sysfs_remove_device(struct class_device *class_dev,
++                                    struct class_interface *class_intf)
++{
++      class_device_remove_file(class_dev, &class_device_attr_name);
++      class_device_remove_file(class_dev, &class_device_attr_date);
++      class_device_remove_file(class_dev, &class_device_attr_time);
++      class_device_remove_file(class_dev, &class_device_attr_since_epoch);
++}
++
++/* interface registration */
++
++struct class_interface rtc_sysfs_interface = {
++      .add = &rtc_sysfs_add_device,
++      .remove = &rtc_sysfs_remove_device,
++};
++
++static int __init rtc_sysfs_init(void)
++{
++      return rtc_interface_register(&rtc_sysfs_interface);
++}
++
++static void __exit rtc_sysfs_exit(void)
++{
++      class_interface_unregister(&rtc_sysfs_interface);
++}
++
++module_init(rtc_sysfs_init);
++module_exit(rtc_sysfs_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("RTC class sysfs interface");
++MODULE_LICENSE("GPL");
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-proc.c 2006-01-04 01:27:14.000000000 +0100
+@@ -0,0 +1,158 @@
++/*
++ * RTC subsystem, proc interface
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * based on arch/arm/common/rtctime.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/module.h>
++#include <linux/rtc.h>
++#include <linux/proc_fs.h>
++#include <linux/seq_file.h>
++
++static struct class_device *rtc_dev = NULL;
++static DECLARE_MUTEX(rtc_sem);
++
++static int rtc_proc_show(struct seq_file *seq, void *offset)
++{
++      struct class_device *class_dev = seq->private;
++      struct rtc_class_ops *ops = to_rtc_device(class_dev)->ops;
++      struct rtc_wkalrm alrm;
++      struct rtc_time tm;
++
++      if (rtc_read_time(class_dev, &tm) == 0) {
++              seq_printf(seq,
++                      "rtc_time\t: %02d:%02d:%02d\n"
++                      "rtc_date\t: %04d-%02d-%02d\n",
++                      tm.tm_hour, tm.tm_min, tm.tm_sec,
++                      tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday);
++      }
++
++      if (rtc_read_alarm(class_dev, &alrm) == 0) {
++              seq_printf(seq, "alrm_time\t: ");
++              if ((unsigned int)alrm.time.tm_hour <= 24)
++                      seq_printf(seq, "%02d:", alrm.time.tm_hour);
++              else
++                      seq_printf(seq, "**:");
++              if ((unsigned int)alrm.time.tm_min <= 59)
++                      seq_printf(seq, "%02d:", alrm.time.tm_min);
++              else
++                      seq_printf(seq, "**:");
++              if ((unsigned int)alrm.time.tm_sec <= 59)
++                      seq_printf(seq, "%02d\n", alrm.time.tm_sec);
++              else
++                      seq_printf(seq, "**\n");
++
++              seq_printf(seq, "alrm_date\t: ");
++              if ((unsigned int)alrm.time.tm_year <= 200)
++                      seq_printf(seq, "%04d-", alrm.time.tm_year + 1900);
++              else
++                      seq_printf(seq, "****-");
++              if ((unsigned int)alrm.time.tm_mon <= 11)
++                      seq_printf(seq, "%02d-", alrm.time.tm_mon + 1);
++              else
++                      seq_printf(seq, "**-");
++              if ((unsigned int)alrm.time.tm_mday <= 31)
++                      seq_printf(seq, "%02d\n", alrm.time.tm_mday);
++              else
++                      seq_printf(seq, "**\n");
++              seq_printf(seq, "alrm_wakeup\t: %s\n",
++                           alrm.enabled ? "yes" : "no");
++              seq_printf(seq, "alrm_pending\t: %s\n",
++                           alrm.pending ? "yes" : "no");
++      }
++
++      if (ops->proc)
++              ops->proc(class_dev->dev, seq);
++
++      return 0;
++}
++
++static int rtc_proc_open(struct inode *inode, struct file *file)
++{
++      struct class_device *class_dev = PDE(inode)->data;
++
++      if (!try_module_get(THIS_MODULE))
++              return -ENODEV;
++
++      return single_open(file, rtc_proc_show, class_dev);
++}
++
++static int rtc_proc_release(struct inode *inode, struct file *file)
++{
++      int res = single_release(inode, file);
++      module_put(THIS_MODULE);
++      return res;
++}
++
++static struct file_operations rtc_proc_fops = {
++      .open           = rtc_proc_open,
++      .read           = seq_read,
++      .llseek         = seq_lseek,
++      .release        = rtc_proc_release,
++};
++
++static int rtc_proc_add_device(struct class_device *class_dev,
++                                         struct class_interface *class_intf)
++{
++      down(&rtc_sem);
++      if (rtc_dev == NULL) {
++              struct proc_dir_entry *ent;
++
++              rtc_dev = class_dev;
++
++              if ((ent = create_proc_entry("driver/rtc", 0, NULL))) {
++                      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++                      ent->proc_fops = &rtc_proc_fops;
++                      ent->owner = rtc->owner;
++                      ent->data = class_dev;
++
++                      dev_info(class_dev->dev, "rtc intf: proc\n");
++              }
++              else
++                      rtc_dev = NULL;
++      }
++      up(&rtc_sem);
++
++      return 0;
++}
++
++static void rtc_proc_remove_device(struct class_device *class_dev,
++                                            struct class_interface *class_intf)
++{
++      down(&rtc_sem);
++      if (rtc_dev == class_dev) {
++              remove_proc_entry("driver/rtc", NULL);
++              rtc_dev = NULL;
++      }
++      up(&rtc_sem);
++}
++
++struct class_interface rtc_proc_interface = {
++      .add = &rtc_proc_add_device,
++      .remove = &rtc_proc_remove_device,
++};
++
++static int __init rtc_proc_init(void)
++{
++      return rtc_interface_register(&rtc_proc_interface);
++}
++
++static void __exit rtc_proc_exit(void)
++{
++      class_interface_unregister(&rtc_proc_interface);
++}
++
++module_init(rtc_proc_init);
++module_exit(rtc_proc_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("RTC class proc interface");
++MODULE_LICENSE("GPL");
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-dev.c  2006-01-04 01:27:15.000000000 +0100
+@@ -0,0 +1,372 @@
++/*
++ * RTC subsystem, dev interface
++ *
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * based on arch/arm/common/rtctime.c
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++*/
++
++#include <linux/module.h>
++#include <linux/rtc.h>
++
++static dev_t rtc_devt;
++
++#define RTC_DEV_MAX 16 /* 16 RTCs should be enough for everyone... */
++
++static int rtc_dev_open(struct inode *inode, struct file *file)
++{
++      int err;
++      struct rtc_device *rtc = container_of(inode->i_cdev,
++                                      struct rtc_device, char_dev);
++      struct rtc_class_ops *ops = rtc->ops;
++
++      /* We keep the lock as long as the device is in use
++       * and return immediately if busy
++       */
++      if (down_trylock(&rtc->char_sem))
++              return -EBUSY;
++
++      file->private_data = &rtc->class_dev;
++
++      err = ops->open ? ops->open(rtc->class_dev.dev) : 0;
++      if (err == 0) {
++
++              spin_lock_irq(&rtc->irq_lock);
++              rtc->irq_data = 0;
++              spin_unlock_irq(&rtc->irq_lock);
++
++              return 0;
++      }
++
++      /* something has gone wrong, release the lock */
++      up(&rtc->char_sem);
++      return err;
++}
++
++
++static ssize_t
++rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
++{
++      struct rtc_device *rtc = to_rtc_device(file->private_data);
++
++      DECLARE_WAITQUEUE(wait, current);
++      unsigned long data;
++      ssize_t ret;
++
++      if (count < sizeof(unsigned long))
++              return -EINVAL;
++
++      add_wait_queue(&rtc->irq_queue, &wait);
++      do {
++              __set_current_state(TASK_INTERRUPTIBLE);
++
++              spin_lock_irq(&rtc->irq_lock);
++              data = rtc->irq_data;
++              rtc->irq_data = 0;
++              spin_unlock_irq(&rtc->irq_lock);
++
++              if (data != 0) {
++                      ret = 0;
++                      break;
++              }
++              if (file->f_flags & O_NONBLOCK) {
++                      ret = -EAGAIN;
++                      break;
++              }
++              if (signal_pending(current)) {
++                      ret = -ERESTARTSYS;
++                      break;
++              }
++              schedule();
++      } while (1);
++      set_current_state(TASK_RUNNING);
++      remove_wait_queue(&rtc->irq_queue, &wait);
++
++      if (ret == 0) {
++              ret = put_user(data, (unsigned long __user *)buf);
++              if (ret == 0)
++                      ret = sizeof(unsigned long);
++      }
++      return ret;
++}
++
++static unsigned int rtc_dev_poll(struct file *file, poll_table *wait)
++{
++      struct rtc_device *rtc = to_rtc_device(file->private_data);
++      unsigned long data;
++
++      poll_wait(file, &rtc->irq_queue, wait);
++
++      spin_lock_irq(&rtc->irq_lock);
++      data = rtc->irq_data;
++      spin_unlock_irq(&rtc->irq_lock);
++
++      return data != 0 ? POLLIN | POLLRDNORM : 0;
++}
++
++static int rtc_dev_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
++                   unsigned long arg)
++{
++      int err = 0;
++      struct class_device *class_dev = file->private_data;
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++      struct rtc_class_ops *ops = rtc->ops;
++      struct rtc_time tm;
++      struct rtc_wkalrm alarm;
++      void __user *uarg = (void __user *) arg;
++
++      /* avoid conflicting IRQ users */
++      if (cmd == RTC_PIE_ON || cmd == RTC_PIE_OFF || cmd == RTC_IRQP_SET) {
++              spin_lock(&rtc->irq_task_lock);
++              if (rtc->irq_task)
++                      err = -EBUSY;
++              spin_unlock(&rtc->irq_task_lock);
++
++              if (err < 0)
++                      return err;
++      }
++
++      /* try the driver's ioctl interface */
++      if (ops->ioctl) {
++              err = ops->ioctl(class_dev->dev, cmd, arg);
++              if (err < 0 && err != -EINVAL)
++                      return err;
++      }
++
++      /* if the driver does not provide the ioctl interface
++       * or if that particular ioctl was not implemented
++       * (-EINVAL), we will try to emulate here.
++       */
++
++      switch (cmd) {
++      case RTC_ALM_READ:
++              if ((err = rtc_read_alarm(class_dev, &alarm)) < 0)
++                      return err;
++
++              if ((err = copy_to_user(uarg, &alarm.time, sizeof(tm))))
++                      return -EFAULT;
++              break;
++
++      case RTC_ALM_SET:
++              if ((err = copy_from_user(&alarm.time, uarg, sizeof(tm))))
++                      return -EFAULT;
++
++              alarm.enabled = 0;
++              alarm.pending = 0;
++              alarm.time.tm_mday = -1;
++              alarm.time.tm_mon = -1;
++              alarm.time.tm_year = -1;
++              alarm.time.tm_wday = -1;
++              alarm.time.tm_yday = -1;
++              alarm.time.tm_isdst = -1;
++              err = rtc_set_alarm(class_dev, &alarm);
++              break;
++
++      case RTC_RD_TIME:
++              if ((err = rtc_read_time(class_dev, &tm)) < 0)
++                      return err;
++
++              if ((err = copy_to_user(uarg, &tm, sizeof(tm))))
++                      return -EFAULT;
++              break;
++
++      case RTC_SET_TIME:
++              if (!capable(CAP_SYS_TIME))
++                      return -EACCES;
++
++              if ((err = copy_from_user(&tm, uarg, sizeof(tm))))
++                      return -EFAULT;
++
++              err = rtc_set_time(class_dev, &tm);
++              break;
++#if 0
++      case RTC_EPOCH_SET:
++#ifndef rtc_epoch
++              /*
++               * There were no RTC clocks before 1900.
++               */
++              if (arg < 1900) {
++                      err = -EINVAL;
++                      break;
++              }
++              if (!capable(CAP_SYS_TIME)) {
++                      err = -EACCES;
++                      break;
++              }
++              rtc_epoch = arg;
++              err = 0;
++#endif
++              break;
++
++      case RTC_EPOCH_READ:
++              err = put_user(rtc_epoch, (unsigned long __user *)uarg);
++              break;
++#endif
++      case RTC_WKALM_SET:
++              if ((err = copy_from_user(&alarm, uarg, sizeof(alarm))))
++                      return -EFAULT;
++
++              err = rtc_set_alarm(class_dev, &alarm);
++              break;
++
++      case RTC_WKALM_RD:
++              if ((err = rtc_read_alarm(class_dev, &alarm)) < 0)
++                      return err;
++
++              if ((err = copy_to_user(uarg, &alarm, sizeof(alarm))))
++                      return -EFAULT;
++              break;
++
++      default:
++              err = -EINVAL;
++              break;
++      }
++
++      return err;
++}
++
++static int rtc_dev_release(struct inode *inode, struct file *file)
++{
++      struct rtc_device *rtc = to_rtc_device(file->private_data);
++
++      if (rtc->ops->release)
++              rtc->ops->release(rtc->class_dev.dev);
++
++      spin_lock_irq(&rtc->irq_lock);
++      rtc->irq_data = 0;
++      spin_unlock_irq(&rtc->irq_lock);
++
++      up(&rtc->char_sem);
++      return 0;
++}
++
++static int rtc_dev_fasync(int fd, struct file *file, int on)
++{
++      struct rtc_device *rtc = to_rtc_device(file->private_data);
++      return fasync_helper(fd, file, on, &rtc->async_queue);
++}
++
++static struct file_operations rtc_dev_fops = {
++      .owner          = THIS_MODULE,
++      .llseek         = no_llseek,
++      .read           = rtc_dev_read,
++      .poll           = rtc_dev_poll,
++      .ioctl          = rtc_dev_ioctl,
++      .open           = rtc_dev_open,
++      .release        = rtc_dev_release,
++      .fasync         = rtc_dev_fasync,
++};
++
++static ssize_t rtc_dev_show_dev(struct class_device *class_dev, char *buf)
++{
++        return print_dev_t(buf, class_dev->devt);
++}
++static CLASS_DEVICE_ATTR(dev, S_IRUGO, rtc_dev_show_dev, NULL);
++
++/* insertion/removal hooks */
++
++static int rtc_dev_add_device(struct class_device *class_dev,
++                              struct class_interface *class_intf)
++{
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      if (rtc->id >= RTC_DEV_MAX) {
++              dev_err(class_dev->dev, "too many RTCs\n");
++              return -EINVAL;
++      }
++
++      init_MUTEX(&rtc->char_sem);
++      spin_lock_init(&rtc->irq_lock);
++      init_waitqueue_head(&rtc->irq_queue);
++
++      cdev_init(&rtc->char_dev, &rtc_dev_fops);
++      rtc->char_dev.owner = rtc->owner;
++      class_dev->devt = MKDEV(MAJOR(rtc_devt), rtc->id);
++
++      if (cdev_add(&rtc->char_dev, class_dev->devt, 1)) {
++              cdev_del(&rtc->char_dev);
++
++              dev_err(class_dev->dev,
++                      "failed to add char device %d:%d\n",
++                      MAJOR(class_dev->devt),
++                      MINOR(class_dev->devt));
++
++              class_dev->devt = MKDEV(0, 0);
++              return -ENODEV;
++      }
++
++      class_device_create_file(class_dev, &class_device_attr_dev);
++
++      dev_info(class_dev->dev, "rtc intf: dev (%d:%d)\n",
++              MAJOR(class_dev->devt),
++              MINOR(class_dev->devt));
++
++      kobject_hotplug(&class_dev->kobj, KOBJ_ADD);
++
++      return 0;
++}
++
++static void rtc_dev_remove_device(struct class_device *class_dev,
++                                      struct class_interface *class_intf)
++{
++      struct rtc_device *rtc = to_rtc_device(class_dev);
++
++      class_device_remove_file(class_dev, &class_device_attr_dev);
++
++      if (MAJOR(class_dev->devt)) {
++              dev_dbg(class_dev->dev, "removing char %d:%d\n",
++                      MAJOR(class_dev->devt),
++                      MINOR(class_dev->devt));
++              cdev_del(&rtc->char_dev);
++
++              kobject_hotplug(&class_dev->kobj, KOBJ_REMOVE);
++
++              class_dev->devt = MKDEV(0, 0);
++      }
++}
++
++/* interface registration */
++
++struct class_interface rtc_dev_interface = {
++      .add = &rtc_dev_add_device,
++      .remove = &rtc_dev_remove_device,
++};
++
++static int __init rtc_dev_init(void)
++{
++      int err;
++
++      if ((err = alloc_chrdev_region(&rtc_devt, 0, RTC_DEV_MAX, "rtc")) < 0) {
++              printk(KERN_ERR "%s: failed to allocate char dev region\n",
++                      __FILE__);
++              return err;
++      }
++
++      if ((err = rtc_interface_register(&rtc_dev_interface)) < 0) {
++              printk(KERN_ERR "%s: failed to register the interface\n",
++                      __FILE__);
++              unregister_chrdev_region(rtc_devt, RTC_DEV_MAX);
++              return err;
++      }
++
++      return 0;
++}
++
++static void __exit rtc_dev_exit(void)
++{
++      class_interface_unregister(&rtc_dev_interface);
++
++      unregister_chrdev_region(rtc_devt, RTC_DEV_MAX);
++}
++
++module_init(rtc_dev_init);
++module_exit(rtc_dev_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("RTC class dev interface");
++MODULE_LICENSE("GPL");
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-x1205.c        2006-01-04 01:27:17.000000000 +0100
+@@ -0,0 +1,725 @@
++/*
++ * An i2c driver for the Xicor/Intersil X1205 RTC
++ * Copyright 2004 Karen Spearel
++ * Copyright 2005 Alessandro Zummo
++ *
++ * please send all reports to:
++ *    kas11 at tampabay dot rr dot com
++ *    a dot zummo at towertech dot it
++ *
++ * based on a lot of other RTC drivers.
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ */
++
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/err.h>
++#include <linux/i2c.h>
++#include <linux/string.h>
++#include <linux/bcd.h>
++#include <linux/rtc.h>
++#include <linux/delay.h>
++
++#define DRV_VERSION "1.0.5"
++
++/* Addresses to scan: none. This chip is located at
++ * 0x6f and uses a two bytes register addressing.
++ * Two bytes need to be written to read a single register,
++ * while most other chips just require one and take the second
++ * one as the data to be written. To prevent corrupting
++ * unknown chips, the user must explicitely set the probe parameter.
++ */
++
++static unsigned short normal_i2c[] = { I2C_CLIENT_END };
++
++/* Insmod parameters */
++I2C_CLIENT_INSMOD;
++I2C_CLIENT_MODULE_PARM(hctosys,
++      "Set the system time from the hardware clock upon initialization");
++
++/* offsets into CCR area */
++
++#define CCR_SEC                       0
++#define CCR_MIN                       1
++#define CCR_HOUR              2
++#define CCR_MDAY              3
++#define CCR_MONTH             4
++#define CCR_YEAR              5
++#define CCR_WDAY              6
++#define CCR_Y2K                       7
++
++#define X1205_REG_SR          0x3F    /* status register */
++#define X1205_REG_Y2K         0x37
++#define X1205_REG_DW          0x36
++#define X1205_REG_YR          0x35
++#define X1205_REG_MO          0x34
++#define X1205_REG_DT          0x33
++#define X1205_REG_HR          0x32
++#define X1205_REG_MN          0x31
++#define X1205_REG_SC          0x30
++#define X1205_REG_DTR         0x13
++#define X1205_REG_ATR         0x12
++#define X1205_REG_INT         0x11
++#define X1205_REG_0           0x10
++#define X1205_REG_Y2K1                0x0F
++#define X1205_REG_DWA1                0x0E
++#define X1205_REG_YRA1                0x0D
++#define X1205_REG_MOA1                0x0C
++#define X1205_REG_DTA1                0x0B
++#define X1205_REG_HRA1                0x0A
++#define X1205_REG_MNA1                0x09
++#define X1205_REG_SCA1                0x08
++#define X1205_REG_Y2K0                0x07
++#define X1205_REG_DWA0                0x06
++#define X1205_REG_YRA0                0x05
++#define X1205_REG_MOA0                0x04
++#define X1205_REG_DTA0                0x03
++#define X1205_REG_HRA0                0x02
++#define X1205_REG_MNA0                0x01
++#define X1205_REG_SCA0                0x00
++
++#define X1205_CCR_BASE                0x30    /* Base address of CCR */
++#define X1205_ALM0_BASE               0x00    /* Base address of ALARM0 */
++
++#define X1205_SR_RTCF         0x01    /* Clock failure */
++#define X1205_SR_WEL          0x02    /* Write Enable Latch */
++#define X1205_SR_RWEL         0x04    /* Register Write Enable */
++
++#define X1205_DTR_DTR0                0x01
++#define X1205_DTR_DTR1                0x02
++#define X1205_DTR_DTR2                0x04
++
++#define X1205_HR_MIL          0x80    /* Set in ccr.hour for 24 hr mode */
++
++/* Prototypes */
++static int x1205_attach(struct i2c_adapter *adapter);
++static int x1205_detach(struct i2c_client *client);
++static int x1205_probe(struct i2c_adapter *adapter, int address, int kind);
++
++static struct i2c_driver x1205_driver = {
++      .owner          = THIS_MODULE,
++      .name           = "x1205",
++      .flags          = I2C_DF_NOTIFY,
++      .attach_adapter = &x1205_attach,
++      .detach_client  = &x1205_detach,
++};
++
++/*
++ * In the routines that deal directly with the x1205 hardware, we use
++ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
++ * Epoch is initialized as 2000. Time is set to UTC.
++ */
++static int x1205_get_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              unsigned char reg_base)
++{
++      unsigned char dt_addr[2] = { 0, reg_base };
++
++      unsigned char buf[8];
++
++      struct i2c_msg msgs[] = {
++              { client->addr, 0, 2, dt_addr },        /* setup read ptr */
++              { client->addr, I2C_M_RD, 8, buf },     /* read date */
++      };
++
++      /* read date registers */
++      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
++              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }
++
++      dev_dbg(&client->dev,
++              "%s: raw read data - sec=%02x, min=%02x, hr=%02x, "
++              "mday=%02x, mon=%02x, year=%02x, wday=%02x, y2k=%02x\n",
++              __FUNCTION__,
++              buf[0], buf[1], buf[2], buf[3],
++              buf[4], buf[5], buf[6], buf[7]);
++
++      tm->tm_sec = BCD2BIN(buf[CCR_SEC]);
++      tm->tm_min = BCD2BIN(buf[CCR_MIN]);
++      tm->tm_hour = BCD2BIN(buf[CCR_HOUR] & 0x3F); /* hr is 0-23 */
++      tm->tm_mday = BCD2BIN(buf[CCR_MDAY]);
++      tm->tm_mon = BCD2BIN(buf[CCR_MONTH]) - 1; /* mon is 0-11 */
++      tm->tm_year = BCD2BIN(buf[CCR_YEAR])
++                      + (BCD2BIN(buf[CCR_Y2K]) * 100) - 1900;
++      tm->tm_wday = buf[CCR_WDAY];
++
++      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
++              "mday=%d, mon=%d, year=%d, wday=%d\n",
++              __FUNCTION__,
++              tm->tm_sec, tm->tm_min, tm->tm_hour,
++              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++      return 0;
++}
++
++static int x1205_get_status(struct i2c_client *client, unsigned char *sr)
++{
++      static unsigned char sr_addr[2] = { 0, X1205_REG_SR };
++
++      struct i2c_msg msgs[] = {
++              { client->addr, 0, 2, sr_addr },        /* setup read ptr */
++              { client->addr, I2C_M_RD, 1, sr },      /* read status */
++      };
++
++      /* read status register */
++      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
++              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }
++
++      return 0;
++}
++
++static int x1205_set_datetime(struct i2c_client *client, struct rtc_time *tm,
++                              int datetoo, u8 reg_base)
++{
++      int i, xfer;
++      unsigned char buf[8];
++
++      static const unsigned char wel[3] = { 0, X1205_REG_SR,
++                                              X1205_SR_WEL };
++
++      static const unsigned char rwel[3] = { 0, X1205_REG_SR,
++                                              X1205_SR_WEL | X1205_SR_RWEL };
++
++      static const unsigned char diswe[3] = { 0, X1205_REG_SR, 0 };
++
++      dev_dbg(&client->dev,
++              "%s: secs=%d, mins=%d, hours=%d\n",
++              __FUNCTION__,
++              tm->tm_sec, tm->tm_min, tm->tm_hour);
++
++      buf[CCR_SEC] = BIN2BCD(tm->tm_sec);
++      buf[CCR_MIN] = BIN2BCD(tm->tm_min);
++
++      /* set hour and 24hr bit */
++      buf[CCR_HOUR] = BIN2BCD(tm->tm_hour) | X1205_HR_MIL;
++
++      /* should we also set the date? */
++      if (datetoo) {
++              dev_dbg(&client->dev,
++                      "%s: mday=%d, mon=%d, year=%d, wday=%d\n",
++                      __FUNCTION__,
++                      tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++              buf[CCR_MDAY] = BIN2BCD(tm->tm_mday);
++
++              /* month, 1 - 12 */
++              buf[CCR_MONTH] = BIN2BCD(tm->tm_mon + 1);
++
++              /* year, since the rtc epoch*/
++              buf[CCR_YEAR] = BIN2BCD(tm->tm_year % 100);
++              buf[CCR_WDAY] = tm->tm_wday & 0x07;
++              buf[CCR_Y2K] = BIN2BCD(tm->tm_year / 100);
++      }
++
++      /* this sequence is required to unlock the chip */
++      xfer = i2c_master_send(client, wel, 3);
++      if (xfer != 3) {
++              dev_err(&client->dev, "%s: wel - %d\n", __FUNCTION__, xfer);
++              return -EIO;
++      }
++
++      xfer = i2c_master_send(client, rwel, 3);
++      if (xfer != 3) {
++              dev_err(&client->dev, "%s: rwel - %d\n", __FUNCTION__, xfer);
++              return -EIO;
++      }
++
++      /* write register's data */
++      for (i = 0; i < (datetoo ? 8 : 3); i++) {
++              unsigned char rdata[3] = { 0, reg_base + i, buf[i] };
++
++              xfer = i2c_master_send(client, rdata, 3);
++              if (xfer != 3) {
++                      dev_err(&client->dev,
++                              "%s: xfer=%d addr=%02x, data=%02x\n",
++                              __FUNCTION__,
++                               xfer, rdata[1], rdata[2]);
++                      return -EIO;
++              }
++      };
++
++      /* disable further writes */
++      xfer = i2c_master_send(client, diswe, 3);
++      if (xfer != 3) {
++              dev_err(&client->dev, "%s: diswe - %d\n", __FUNCTION__, xfer);
++              return -EIO;
++      }
++
++      return 0;
++}
++
++static int x1205_fix_osc(struct i2c_client *client)
++{
++      int err;
++      struct rtc_time tm;
++
++      tm.tm_hour = 0;
++      tm.tm_min = 0;
++      tm.tm_sec = 0;
++
++      if ((err = x1205_set_datetime(client, &tm, 0, X1205_CCR_BASE)) < 0)
++              dev_err(&client->dev,
++                      "unable to restart the clock\n");
++
++      return err;
++}
++
++static int x1205_get_dtrim(struct i2c_client *client, int *trim)
++{
++      unsigned char dtr;
++      static unsigned char dtr_addr[2] = { 0, X1205_REG_DTR };
++
++      struct i2c_msg msgs[] = {
++              { client->addr, 0, 2, dtr_addr },       /* setup read ptr */
++              { client->addr, I2C_M_RD, 1, &dtr },    /* read dtr */
++      };
++
++      /* read dtr register */
++      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
++              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }
++
++      dev_dbg(&client->dev, "%s: raw dtr=%x\n", __FUNCTION__, dtr);
++
++      *trim = 0;
++
++      if (dtr & X1205_DTR_DTR0)
++              *trim += 20;
++
++      if (dtr & X1205_DTR_DTR1)
++              *trim += 10;
++
++      if (dtr & X1205_DTR_DTR2)
++              *trim = -*trim;
++
++      return 0;
++}
++
++static int x1205_get_atrim(struct i2c_client *client, int *trim)
++{
++      s8 atr;
++      static unsigned char atr_addr[2] = { 0, X1205_REG_ATR };
++
++      struct i2c_msg msgs[] = {
++              { client->addr, 0, 2, atr_addr },       /* setup read ptr */
++              { client->addr, I2C_M_RD, 1, &atr },    /* read atr */
++      };
++
++      /* read atr register */
++      if ((i2c_transfer(client->adapter, &msgs[0], 2)) != 2) {
++              dev_err(&client->dev, "%s: read error\n", __FUNCTION__);
++              return -EIO;
++      }
++
++      dev_dbg(&client->dev, "%s: raw atr=%x\n", __FUNCTION__, atr);
++
++      /* atr is a two's complement value on 6 bits,
++       * perform sign extension. The formula is
++       * Catr = (atr * 0.25pF) + 11.00pF.
++       */
++      if (atr & 0x20)
++              atr |= 0xC0;
++
++      dev_dbg(&client->dev, "%s: raw atr=%x (%d)\n", __FUNCTION__, atr, atr);
++
++      *trim = (atr * 250) + 11000;
++
++      dev_dbg(&client->dev, "%s: real=%d\n", __FUNCTION__, *trim);
++
++      return 0;
++}
++
++static int x1205_hctosys(struct i2c_client *client)
++{
++      int err;
++
++      struct rtc_time tm;
++      struct timespec tv;
++      unsigned char sr;
++
++      if ((err = x1205_get_status(client, &sr)) < 0)
++              return err;
++
++      /* Don't set if we had a power failure */
++      if (sr & X1205_SR_RTCF)
++              return -EINVAL;
++
++      if ((err = x1205_get_datetime(client, &tm, X1205_CCR_BASE)) < 0)
++              return err;
++
++      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
++       * whether it stores the most close value or the value with partial
++       * seconds truncated. However, it is important that we use it to store
++       * the truncated value. This is because otherwise it is necessary,
++       * in an rtc sync function, to read both xtime.tv_sec and
++       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
++       * of >32bits is not possible. So storing the most close value would
++       * slow down the sync API. So here we have the truncated value and
++       * the best guess is to add 0.5s.
++       */
++
++      tv.tv_nsec = NSEC_PER_SEC >> 1;
++
++      rtc_tm_to_time(&tm, &tv.tv_sec);
++
++      do_settimeofday(&tv);
++
++      dev_info(&client->dev,
++              "setting the system clock to %d-%d-%d %d:%d:%d\n",
++              tm.tm_year + 1900, tm.tm_mon + 1,
++              tm.tm_mday, tm.tm_hour, tm.tm_min,
++              tm.tm_sec);
++
++      return 0;
++}
++
++struct x1205_limit
++{
++      unsigned char reg;
++      unsigned char mask;
++      unsigned char min;
++      unsigned char max;
++};
++
++static int x1205_validate_client(struct i2c_client *client)
++{
++      int i, xfer;
++
++      /* Probe array. We will read the register at the specified
++       * address and check if the given bits are zero.
++       */
++      static const unsigned char probe_zero_pattern[] = {
++              /* register, mask */
++              X1205_REG_SR,   0x18,
++              X1205_REG_DTR,  0xF8,
++              X1205_REG_ATR,  0xC0,
++              X1205_REG_INT,  0x18,
++              X1205_REG_0,    0xFF,
++      };
++
++      static const struct x1205_limit probe_limits_pattern[] = {
++              /* register, mask, min, max */
++              { X1205_REG_Y2K,        0xFF,   19,     20      },
++              { X1205_REG_DW,         0xFF,   0,      6       },
++              { X1205_REG_YR,         0xFF,   0,      99      },
++              { X1205_REG_MO,         0xFF,   0,      12      },
++              { X1205_REG_DT,         0xFF,   0,      31      },
++              { X1205_REG_HR,         0x7F,   0,      23      },
++              { X1205_REG_MN,         0xFF,   0,      59      },
++              { X1205_REG_SC,         0xFF,   0,      59      },
++              { X1205_REG_Y2K1,       0xFF,   19,     20      },
++              { X1205_REG_Y2K0,       0xFF,   19,     20      },
++      };
++
++      /* check that registers have bits a 0 where expected */
++      for (i = 0; i < ARRAY_SIZE(probe_zero_pattern); i += 2) {
++              unsigned char buf;
++
++              unsigned char addr[2] = { 0, probe_zero_pattern[i] };
++
++              struct i2c_msg msgs[2] = {
++                      { client->addr, 0, 2, addr },
++                      { client->addr, I2C_M_RD, 1, &buf },
++              };
++
++              xfer = i2c_transfer(client->adapter, msgs, 2);
++              if (xfer != 2) {
++                      dev_err(&client->adapter->dev,
++                              "%s: could not read register %x\n",
++                              __FUNCTION__, addr[1]);
++
++                      return -EIO;
++              }
++
++              if ((buf & probe_zero_pattern[i+1]) != 0) {
++                      dev_err(&client->adapter->dev,
++                              "%s: register=%02x, zero pattern=%d, value=%x\n",
++                              __FUNCTION__, addr[1], i, buf);
++
++                      return -ENODEV;
++              }
++      }
++
++      /* check limits (only registers with bcd values) */
++      for (i = 0; i < ARRAY_SIZE(probe_limits_pattern); i++) {
++              unsigned char reg, value;
++
++              unsigned char addr[2] = { 0, probe_limits_pattern[i].reg };
++
++              struct i2c_msg msgs[2] = {
++                      { client->addr, 0, 2, addr },
++                      { client->addr, I2C_M_RD, 1, &reg },
++              };
++
++              xfer = i2c_transfer(client->adapter, msgs, 2);
++
++              if (xfer != 2) {
++                      dev_err(&client->adapter->dev,
++                              "%s: could not read register %x\n",
++                              __FUNCTION__, addr[1]);
++
++                      return -EIO;
++              }
++
++              value = BCD2BIN(reg & probe_limits_pattern[i].mask);
++
++              if (value > probe_limits_pattern[i].max ||
++                      value < probe_limits_pattern[i].min) {
++                      dev_dbg(&client->adapter->dev,
++                              "%s: register=%x, lim pattern=%d, value=%d\n",
++                              __FUNCTION__, addr[1], i, value);
++
++                      return -ENODEV;
++              }
++      }
++
++      return 0;
++}
++
++static int x1205_rtc_read_alarm(struct device *dev,
++      struct rtc_wkalrm *alrm)
++{
++      return x1205_get_datetime(to_i2c_client(dev),
++              &alrm->time, X1205_ALM0_BASE);
++}
++
++static int x1205_rtc_set_alarm(struct device *dev,
++      struct rtc_wkalrm *alrm)
++{
++      return x1205_set_datetime(to_i2c_client(dev),
++              &alrm->time, 1, X1205_ALM0_BASE);
++}
++
++static int x1205_rtc_read_time(struct device *dev,
++      struct rtc_time *tm)
++{
++      return x1205_get_datetime(to_i2c_client(dev),
++              tm, X1205_CCR_BASE);
++}
++
++static int x1205_rtc_set_time(struct device *dev,
++      struct rtc_time *tm)
++{
++      return x1205_set_datetime(to_i2c_client(dev),
++              tm, 1, X1205_CCR_BASE);
++}
++
++static int x1205_rtc_set_mmss(struct device *dev, unsigned long secs)
++{
++      int err;
++
++      struct rtc_time new_tm, old_tm;
++
++      if ((err = x1205_rtc_read_time(dev, &old_tm) == 0))
++              return err;
++
++      /* FIXME      xtime.tv_nsec = old_tm.tm_sec * 10000000; */
++      new_tm.tm_sec  = secs % 60;
++      secs /= 60;
++      new_tm.tm_min  = secs % 60;
++      secs /= 60;
++      new_tm.tm_hour = secs % 24;
++
++       /*
++      * avoid writing when we're going to change the day
++      * of the month.  We will retry in the next minute.
++      * This basically means that if the RTC must not drift
++      * by more than 1 minute in 11 minutes.
++      */
++      if ((old_tm.tm_hour == 23 && old_tm.tm_min == 59) ||
++          (new_tm.tm_hour == 23 && new_tm.tm_min == 59))
++              return 1;
++
++      return x1205_rtc_set_time(dev, &new_tm);
++}
++
++static int x1205_rtc_proc(struct device *dev, struct seq_file *seq)
++{
++      int err, dtrim, atrim;
++
++      seq_printf(seq, "24hr\t\t: yes\n");
++
++      err = x1205_get_dtrim(to_i2c_client(dev), &dtrim);
++      if (err == 0)
++              seq_printf(seq, "digital_trim\t: %d ppm\n", dtrim);
++
++      err = x1205_get_atrim(to_i2c_client(dev), &atrim);
++      if (err == 0)
++              seq_printf(seq, "analog_trim\t: %d.%02d pF\n",
++                      atrim / 1000, atrim % 1000);
++      return 0;
++}
++
++static struct rtc_class_ops x1205_rtc_ops = {
++      .proc = x1205_rtc_proc,
++      .read_time = x1205_rtc_read_time,
++      .set_time = x1205_rtc_set_time,
++      .read_alarm = x1205_rtc_read_alarm,
++      .set_alarm = x1205_rtc_set_alarm,
++      .set_mmss = x1205_rtc_set_mmss,
++};
++
++static ssize_t x1205_sysfs_show_atrim(struct device *dev,
++                              struct device_attribute *attr, char *buf)
++{
++      int atrim;
++
++        if (x1205_get_atrim(to_i2c_client(dev), &atrim) == 0) {
++                return sprintf(buf, "%d.%02d pF\n",
++                        atrim / 1000, atrim % 1000);        }
++        return 0;
++}
++static DEVICE_ATTR(atrim, S_IRUGO, x1205_sysfs_show_atrim, NULL);
++
++static ssize_t x1205_sysfs_show_dtrim(struct device *dev,
++                              struct device_attribute *attr, char *buf)
++{
++      int dtrim;
++
++        if (x1205_get_dtrim(to_i2c_client(dev), &dtrim) == 0) {
++                return sprintf(buf, "%d ppm\n", dtrim);
++        }
++        return 0;
++}
++static DEVICE_ATTR(dtrim, S_IRUGO, x1205_sysfs_show_dtrim, NULL);
++
++
++static int x1205_attach(struct i2c_adapter *adapter)
++{
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      return i2c_probe(adapter, &addr_data, x1205_probe);
++}
++
++static int x1205_probe(struct i2c_adapter *adapter, int address, int kind)
++{
++      int err = 0;
++      unsigned char sr;
++      struct i2c_client *client;
++      struct rtc_device *rtc;
++
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
++              err = -ENODEV;
++              goto exit;
++      }
++
++      if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) {
++              err = -ENOMEM;
++              goto exit;
++      }
++
++      /* I2C client */
++      client->addr = address;
++      client->driver = &x1205_driver;
++      client->adapter = adapter;
++
++      strlcpy(client->name, x1205_driver.name, I2C_NAME_SIZE);
++
++      /* Verify the chip is really an X1205 */
++      if (kind < 0) {
++              if (x1205_validate_client(client) < 0) {
++                      err = -ENODEV;
++                      goto exit_kfree;
++              }
++      }
++
++      /* Inform the i2c layer */
++      if ((err = i2c_attach_client(client)))
++              goto exit_kfree;
++
++      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
++
++      rtc = rtc_device_register(x1205_driver.name, &client->dev,
++                              &x1205_rtc_ops, THIS_MODULE);
++
++      if (IS_ERR(rtc)) {
++              err = PTR_ERR(rtc);
++              dev_err(&client->dev,
++                      "unable to register the class device\n");
++              goto exit_detach;
++      }
++
++      i2c_set_clientdata(client, rtc);
++
++      /* Check for power failures and eventualy enable the osc */
++      if ((err = x1205_get_status(client, &sr)) == 0) {
++              if (sr & X1205_SR_RTCF) {
++                      dev_err(&client->dev,
++                              "power failure detected, "
++                              "please set the clock\n");
++                      udelay(50);
++                      x1205_fix_osc(client);
++              }
++      }
++      else
++              dev_err(&client->dev, "couldn't read status\n");
++
++      /* If requested, set the system time */
++      if (hctosys) {
++              if ((err = x1205_hctosys(client)) < 0)
++                      dev_err(&client->dev,
++                              "unable to set the system clock\n");
++      }
++
++      device_create_file(&client->dev, &dev_attr_atrim);
++      device_create_file(&client->dev, &dev_attr_dtrim);
++
++      return 0;
++
++exit_detach:
++      i2c_detach_client(client);
++
++exit_kfree:
++      kfree(client);
++
++exit:
++      return err;
++}
++
++static int x1205_detach(struct i2c_client *client)
++{
++      int err;
++      struct rtc_device *rtc = i2c_get_clientdata(client);
++
++      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
++
++      if (rtc)
++              rtc_device_unregister(rtc);
++
++      if ((err = i2c_detach_client(client)))
++              return err;
++
++      kfree(client);
++
++      return 0;
++}
++
++static int __init x1205_init(void)
++{
++      return i2c_add_driver(&x1205_driver);
++}
++
++static void __exit x1205_exit(void)
++{
++      i2c_del_driver(&x1205_driver);
++}
++
++MODULE_AUTHOR(
++      "Karen Spearel <kas11@tampabay.rr.com>, "
++      "Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("Xicor/Intersil X1205 RTC driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(DRV_VERSION);
++
++module_init(x1205_init);
++module_exit(x1205_exit);
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-test.c 2006-01-04 01:27:19.000000000 +0100
+@@ -0,0 +1,189 @@
++/*
++ * An RTC test device/driver
++ * Copyright (C) 2005 Tower Technologies
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ */
++
++#include <linux/module.h>
++#include <linux/err.h>
++#include <linux/rtc.h>
++#include <linux/platform_device.h>
++
++static int test_rtc_read_alarm(struct device *dev,
++      struct rtc_wkalrm *alrm)
++{
++      return 0;
++}
++
++static int test_rtc_set_alarm(struct device *dev,
++      struct rtc_wkalrm *alrm)
++{
++      return 0;
++}
++
++static int test_rtc_read_time(struct device *dev,
++      struct rtc_time *tm)
++{
++      rtc_time_to_tm(get_seconds(), tm);
++      return 0;
++}
++
++static int test_rtc_set_time(struct device *dev,
++      struct rtc_time *tm)
++{
++      return 0;
++}
++
++static int test_rtc_set_mmss(struct device *dev, unsigned long secs)
++{
++      return 0;
++}
++
++static int test_rtc_proc(struct device *dev, struct seq_file *seq)
++{
++      struct platform_device *plat_dev = to_platform_device(dev);
++
++      seq_printf(seq, "24hr\t\t: yes\n");
++      seq_printf(seq, "test\t\t: yes\n");
++      seq_printf(seq, "id\t\t: %d\n", plat_dev->id);
++
++      return 0;
++}
++
++static int test_rtc_ioctl(struct device *dev, unsigned int cmd,
++      unsigned long arg)
++{
++      /* We do support interrupts, they're generated
++       * using the sysfs interface.
++       */
++      switch (cmd) {
++      case RTC_PIE_ON:
++      case RTC_PIE_OFF:
++      case RTC_UIE_ON:
++      case RTC_UIE_OFF:
++      case RTC_AIE_ON:
++      case RTC_AIE_OFF:
++              return 0;
++
++      default:
++              return -EINVAL;
++      }
++}
++
++static struct rtc_class_ops test_rtc_ops = {
++      .proc = test_rtc_proc,
++      .read_time = test_rtc_read_time,
++      .set_time = test_rtc_set_time,
++      .read_alarm = test_rtc_read_alarm,
++      .set_alarm = test_rtc_set_alarm,
++      .set_mmss = test_rtc_set_mmss,
++      .ioctl = test_rtc_ioctl,
++};
++
++static ssize_t test_irq_show(struct device *dev,
++                              struct device_attribute *attr, char *buf)
++{
++      return sprintf(buf, "%d\n", 42);
++}
++static ssize_t test_irq_store(struct device *dev,
++                              struct device_attribute *attr,
++                              const char *buf, size_t count)
++{
++      int retval;
++      struct platform_device *plat_dev = to_platform_device(dev);
++      struct rtc_device *rtc = platform_get_drvdata(plat_dev);
++
++      retval = count;
++      if (strncmp(buf, "tick", 4) == 0)
++              rtc_update_irq(&rtc->class_dev, 1, RTC_PF | RTC_IRQF);
++      else if (strncmp(buf, "alarm", 5) == 0)
++              rtc_update_irq(&rtc->class_dev, 1, RTC_AF | RTC_IRQF);
++      else if (strncmp(buf, "update", 6) == 0)
++              rtc_update_irq(&rtc->class_dev, 1, RTC_UF | RTC_IRQF);
++      else
++              retval = -EINVAL;
++
++      return retval;
++}
++static DEVICE_ATTR(irq, S_IRUGO | S_IWUSR, test_irq_show, test_irq_store);
++
++static int test_probe(struct platform_device *plat_dev)
++{
++      int err;
++      struct rtc_device *rtc = rtc_device_register("test", &plat_dev->dev,
++                                              &test_rtc_ops, THIS_MODULE);
++      if (IS_ERR(rtc)) {
++              err = PTR_ERR(rtc);
++              dev_err(&plat_dev->dev,
++                      "unable to register the class device\n");
++              return err;
++      }
++      device_create_file(&plat_dev->dev, &dev_attr_irq);
++
++      platform_set_drvdata(plat_dev, rtc);
++
++      return 0;
++}
++
++static int test_remove(struct platform_device *plat_dev)
++{
++      struct rtc_device *rtc = platform_get_drvdata(plat_dev);
++
++      rtc_device_unregister(rtc);
++      device_remove_file(&plat_dev->dev, &dev_attr_irq);
++
++      return 0;
++}
++
++static void test_release(struct device * dev)
++{
++}
++
++struct platform_device test_dev_zero = {
++      .name   = "rtc-test",
++      .id     = 0,
++      .dev.release = test_release,
++};
++
++struct platform_device test_dev_one = {
++      .name   = "rtc-test",
++      .id     = 1,
++      .dev.release = test_release,
++};
++
++struct platform_driver test_drv = {
++      .probe  = test_probe,
++      .remove = test_remove,
++      .driver = {
++              .name = "rtc-test",
++              .owner = THIS_MODULE,
++      },
++};
++
++static int __init test_init(void)
++{
++      platform_device_register(&test_dev_zero);
++      platform_device_register(&test_dev_one);
++      platform_driver_register(&test_drv);
++
++      return 0;
++}
++
++static void __exit test_exit(void)
++{
++      platform_driver_unregister(&test_drv);
++      platform_device_unregister(&test_dev_zero);
++      platform_device_unregister(&test_dev_one);
++}
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("RTC test driver/device");
++MODULE_LICENSE("GPL");
++
++module_init(test_init);
++module_exit(test_exit);
+--- /dev/null  1970-01-01 00:00:00.000000000 +0000
++++ linux-nslu2/drivers/rtc/rtc-ds1672.c       2006-01-04 01:27:21.000000000 +0100
+@@ -0,0 +1,266 @@
++/*
++ * An rtc/i2c driver for the Dallas DS1672
++ * Copyright 2005 Alessandro Zummo
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ */
++
++#include <linux/module.h>
++#include <linux/i2c.h>
++#include <linux/rtc.h>
++
++#define DRV_VERSION "0.1"
++
++/* Addresses to scan: none. This chip cannot be detected. */
++static unsigned short normal_i2c[] = { I2C_CLIENT_END };
++
++/* Insmod parameters */
++I2C_CLIENT_INSMOD;
++I2C_CLIENT_MODULE_PARM(hctosys,
++      "Set the system time from the hardware clock upon initialization");
++
++/* Registers */
++
++#define DS1672_REG_CNT_BASE   0
++#define DS1672_REG_CONTROL    4
++#define DS1672_REG_TRICKLE    5
++
++
++/* Prototypes */
++static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind);
++
++/*
++ * In the routines that deal directly with the ds1672 hardware, we use
++ * rtc_time -- month 0-11, hour 0-23, yr = calendar year-epoch
++ * Epoch is initialized as 2000. Time is set to UTC.
++ */
++static int ds1672_get_datetime(struct i2c_client *client, struct rtc_time *tm)
++{
++      unsigned long time;
++      unsigned char buf[4];
++
++      dev_dbg(&client->dev,
++              "%s: raw read data - counters=%02x,%02x,%02x,%02x\n"
++              __FUNCTION__,
++              buf[0], buf[1], buf[2], buf[3]);
++
++      time = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
++
++      rtc_time_to_tm(time, tm);
++
++      dev_dbg(&client->dev, "%s: tm is secs=%d, mins=%d, hours=%d, "
++              "mday=%d, mon=%d, year=%d, wday=%d\n",
++              __FUNCTION__,
++              tm->tm_sec, tm->tm_min, tm->tm_hour,
++              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++      return 0;
++}
++
++static int ds1672_set_mmss(struct i2c_client *client, unsigned long secs)
++{
++      int xfer;
++      unsigned char buf[5];
++
++      buf[0] = DS1672_REG_CNT_BASE;
++      buf[1] = secs & 0x000000FF;
++      buf[2] = (secs & 0x0000FF00) >> 8;
++      buf[3] = (secs & 0x00FF0000) >> 16;
++      buf[4] = (secs & 0xFF000000) >> 24;
++
++      xfer = i2c_master_send(client, buf, 5);
++      if (xfer != 5) {
++              dev_err(&client->dev, "%s: send: %d\n", __FUNCTION__, xfer);
++              return -EIO;
++      }
++
++      return 0;
++}
++
++static int ds1672_set_datetime(struct i2c_client *client, struct rtc_time *tm)
++{
++      unsigned long secs;
++
++      dev_dbg(&client->dev,
++              "%s: secs=%d, mins=%d, hours=%d, ",
++              "mday=%d, mon=%d, year=%d, wday=%d\n",
++              __FUNCTION__,
++              tm->tm_sec, tm->tm_min, tm->tm_hour,
++              tm->tm_mday, tm->tm_mon, tm->tm_year, tm->tm_wday);
++
++      rtc_tm_to_time(tm, &secs);
++
++      return ds1672_set_mmss(client, secs);
++}
++
++static int ds1672_hctosys(struct i2c_client *client)
++{
++      int err;
++      struct rtc_time tm;
++      struct timespec tv;
++
++      if ((err = ds1672_get_datetime(client, &tm)) != 0)
++              return err;
++
++      /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
++       * whether it stores the most close value or the value with partial
++       * seconds truncated. However, it is important that we use it to store
++       * the truncated value. This is because otherwise it is necessary,
++       * in an rtc sync function, to read both xtime.tv_sec and
++       * xtime.tv_nsec. On some processors (i.e. ARM), an atomic read
++       * of >32bits is not possible. So storing the most close value would
++       * slow down the sync API. So here we have the truncated value and
++       * the best guess is to add 0.5s.
++       */
++
++      tv.tv_nsec = NSEC_PER_SEC >> 1;
++
++      rtc_tm_to_time(&tm, &tv.tv_sec);
++
++      do_settimeofday(&tv);
++
++      dev_info(&client->dev,
++              "setting the system clock to %d-%02d-%02d %02d:%02d:%02d\n",
++              tm.tm_year + 1900, tm.tm_mon + 1,
++              tm.tm_mday, tm.tm_hour, tm.tm_min,
++              tm.tm_sec);
++
++      return 0;
++}
++
++static int ds1672_rtc_read_time(struct device *dev, struct rtc_time *tm)
++{
++      return ds1672_get_datetime(to_i2c_client(dev), tm);
++}
++
++static int ds1672_rtc_set_time(struct device *dev, struct rtc_time *tm)
++{
++      return ds1672_set_datetime(to_i2c_client(dev), tm);
++}
++
++static int ds1672_rtc_set_mmss(struct device *dev, unsigned long secs)
++{
++      return ds1672_set_mmss(to_i2c_client(dev), secs);
++}
++
++static struct rtc_class_ops ds1672_rtc_ops = {
++      .read_time = ds1672_rtc_read_time,
++      .set_time = ds1672_rtc_set_time,
++      .set_mmss = ds1672_rtc_set_mmss,
++};
++
++static int ds1672_attach(struct i2c_adapter *adapter)
++{
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      return i2c_probe(adapter, &addr_data, ds1672_probe);
++}
++
++static int ds1672_detach(struct i2c_client *client)
++{
++      int err;
++      struct rtc_device *rtc = i2c_get_clientdata(client);
++
++      dev_dbg(&client->dev, "%s\n", __FUNCTION__);
++
++      if (rtc)
++              rtc_device_unregister(rtc);
++
++      if ((err = i2c_detach_client(client)))
++              return err;
++
++      kfree(client);
++
++      return 0;
++}
++
++static struct i2c_driver ds1672_driver = {
++      .owner          = THIS_MODULE,
++      .name           = "ds1672",
++      .flags          = I2C_DF_NOTIFY,
++      .attach_adapter = &ds1672_attach,
++      .detach_client  = &ds1672_detach,
++};
++
++static int ds1672_probe(struct i2c_adapter *adapter, int address, int kind)
++{
++      int err = 0;
++      struct i2c_client *client;
++      struct rtc_device *rtc;
++
++      dev_dbg(&adapter->dev, "%s\n", __FUNCTION__);
++
++      if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) {
++              err = -ENODEV;
++              goto exit;
++      }
++
++      if (!(client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL))) {
++              err = -ENOMEM;
++              goto exit;
++      }
++
++      /* I2C client */
++      client->addr = address;
++      client->driver = &ds1672_driver;
++      client->adapter = adapter;
++
++      strlcpy(client->name, ds1672_driver.name, I2C_NAME_SIZE);
++
++      /* Inform the i2c layer */
++      if ((err = i2c_attach_client(client)))
++              goto exit_kfree;
++
++      dev_info(&client->dev, "chip found, driver version " DRV_VERSION "\n");
++
++      rtc = rtc_device_register(ds1672_driver.name, &client->dev,
++                              &ds1672_rtc_ops, THIS_MODULE);
++
++      if (IS_ERR(rtc)) {
++              err = PTR_ERR(rtc);
++              dev_err(&client->dev,
++                      "unable to register the class device\n");
++              goto exit_detach;
++      }
++
++      i2c_set_clientdata(client, rtc);
++
++      /* If requested, set the system time */
++      if (hctosys) {
++              if ((err = ds1672_hctosys(client)) < 0)
++                      dev_err(&client->dev,
++                              "unable to set the system clock\n");
++      }
++
++      return 0;
++
++exit_detach:
++      i2c_detach_client(client);
++
++exit_kfree:
++      kfree(client);
++
++exit:
++      return err;
++}
++
++static int __init ds1672_init(void)
++{
++      return i2c_add_driver(&ds1672_driver);
++}
++
++static void __exit ds1672_exit(void)
++{
++      i2c_del_driver(&ds1672_driver);
++}
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("Dallas/Maxim DS1672 timekeeper driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(DRV_VERSION);
++
++module_init(ds1672_init);
++module_exit(ds1672_exit);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/60-nslu2-beeper.patch
new file mode 100644 (file)
index 0000000..12fdc4d
--- /dev/null
@@ -0,0 +1,184 @@
+ drivers/input/misc/Kconfig     |   12 +++
+ drivers/input/misc/Makefile    |    1 
+ drivers/input/misc/nslu2spkr.c |  148 +++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 161 insertions(+)
+
+--- linux-2.6.15/drivers/input/misc/Kconfig    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/input/misc/Kconfig    1970-01-01 00:00:00.000000000 +0000
+@@ -40,6 +40,18 @@ config INPUT_M68K_BEEP
+       tristate "M68k Beeper support"
+       depends on M68K
++config INPUT_NSLU2_BEEPER
++      tristate "NSLU2 Beeper support"
++      depends on MACH_NSLU2
++      help
++        Say Y here if you want the embedded beeper on the LinkSys NSLU2
++        to be used for bells and whistles.
++
++        If unsure, say Y.
++
++        To compile this driver as a module, choose M here: the
++        module will be called nslu2spkr.
++
+ config INPUT_UINPUT
+       tristate "User level driver support"
+       help
+--- linux-2.6.15/drivers/input/misc/Makefile   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/input/misc/Makefile   1970-01-01 00:00:00.000000000 +0000
+@@ -10,3 +10,4 @@ obj-$(CONFIG_INPUT_M68K_BEEP)                += m68ksp
+ obj-$(CONFIG_INPUT_98SPKR)            += 98spkr.o
+ obj-$(CONFIG_INPUT_UINPUT)            += uinput.o
+ obj-$(CONFIG_HP_SDC_RTC)              += hp_sdc_rtc.o
++obj-$(CONFIG_INPUT_NSLU2_BEEPER)      += nslu2spkr.o
+--- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,148 @@
++/*
++ * drivers/input/misc/nslu2spkr.c
++ *
++ * NSLU2 Beeper driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on nslu2-io.c
++ *  Copyright (C) 2004 Karen Spearel
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <linux/input.h>
++#include <linux/delay.h>
++
++#include <asm/hardware.h>
++#include <asm/irq.h>
++#include <asm/mach-types.h>
++
++static unsigned int beep_on_startup = 1;
++module_param(beep_on_startup, bool, 0);
++MODULE_PARM_DESC(beep_on_startup, "Play a beep on module startup");
++
++DEFINE_SPINLOCK(beep_lock);
++
++static int nslu2_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value)
++{
++      unsigned int count = 0;
++      unsigned long flags;
++
++      if (type != EV_SND)
++              return -1;
++
++      switch (code) {
++              case SND_BELL:
++                      if (value) value = 1000;
++              case SND_TONE:
++                      break;
++              default:
++                      return -1;
++      }
++
++      if (value > 20 && value < 32767)
++              count = (NSLU2_FREQ / (value*4)) - 1;
++
++      spin_lock_irqsave(&beep_lock, flags);
++
++       if (count) {
++
++              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_OUT);
++              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_LOW);
++
++              *IXP4XX_OSRT2 = (count & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++
++      } else {
++
++              gpio_line_config(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_IN);
++              gpio_line_set(NSLU2_GPIO_BUZZ, IXP4XX_GPIO_HIGH);
++
++              *IXP4XX_OSRT2 = 0;
++      }
++
++      spin_unlock_irqrestore(&beep_lock, flags);
++
++      return 0;
++}
++
++static struct input_dev nslu2_spkr_dev = {
++      .phys           = "ixp420/gpio4",
++      .name           = "NSLU2 Beeper",
++      .evbit[0]       = BIT(EV_SND),
++      .sndbit[0]      = BIT(SND_BELL) | BIT(SND_TONE),
++      .event          = nslu2_spkr_event,
++      .id             = {
++              .bustype        = BUS_HOST,
++              .vendor         = 0x001f,
++              .product        = 0x0001,
++              .version        = 0x0100
++      }
++};
++
++static irqreturn_t nslu2_spkr_handler(int irq, void *dev_id, struct pt_regs *regs)
++{
++      /* clear interrupt */
++      *IXP4XX_OSST = IXP4XX_OSST_TIMER_2_PEND;
++
++      /* flip the beeper output */
++      *IXP4XX_GPIO_GPOUTR ^= NSLU2_BZ_BM;
++
++      return IRQ_HANDLED;
++}
++
++static int __init nslu2_spkr_init(void)
++{
++      if (!(machine_is_nslu2()))
++              return -ENODEV;
++
++      if (request_irq(IRQ_IXP4XX_TIMER2, &nslu2_spkr_handler,
++              SA_INTERRUPT | SA_TIMER, "nslu2-beeper", NULL < 0)) {
++
++              printk(KERN_INFO "NSLU2 beeper: IRQ %d not available\n",
++                      IRQ_IXP4XX_TIMER2);
++
++              return -EIO;
++      }
++
++      input_register_device(&nslu2_spkr_dev);
++
++      /* do a little beep to tell the world we are alive */
++      if (beep_on_startup)
++      {
++              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 440);
++              msleep(120);
++              nslu2_spkr_event(NULL, EV_SND, SND_TONE, 0);
++      }
++
++        printk(KERN_INFO "NSLU2: beeper\n");
++      return 0;
++}
++
++static void __exit nslu2_spkr_exit(void)
++{
++      input_unregister_device(&nslu2_spkr_dev);
++
++      disable_irq(IRQ_IXP4XX_TIMER2);
++
++      /* turn it off */
++      nslu2_spkr_event(NULL, EV_SND, SND_BELL, 0);
++
++      free_irq(IRQ_IXP4XX_TIMER2, NULL);
++}
++
++module_init(nslu2_spkr_init);
++module_exit(nslu2_spkr_exit);
++
++MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
++MODULE_DESCRIPTION("NSLU2 Beeper driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/75-nslu2-leds.patch
new file mode 100644 (file)
index 0000000..7497409
--- /dev/null
@@ -0,0 +1,272 @@
+ arch/arm/Kconfig                  |    8 -
+ arch/arm/mach-ixp4xx/Makefile     |    4 
+ arch/arm/mach-ixp4xx/nslu2-leds.c |  223 ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 232 insertions(+), 3 deletions(-)
+
+--- linux-2.6.15/arch/arm/Kconfig      1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/Kconfig      1970-01-01 00:00:00.000000000 +0000
+@@ -418,7 +418,8 @@ config LEDS
+                  ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
+                  ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
+                  ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
+-                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE
++                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
++                 MACH_NSLU2
+       help
+         If you say Y here, the LEDs on your machine will be used
+         to provide useful information about your current system status.
+@@ -432,7 +433,7 @@ config LEDS
+ config LEDS_TIMER
+       bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
+-                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
++                          MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 || MACH_NSLU2
+       depends on LEDS
+       default y if ARCH_EBSA110
+       help
+@@ -448,7 +449,8 @@ config LEDS_TIMER
+ config LEDS_CPU
+       bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
+-                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
++                      !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 \
++                      || MACH_NSLU2
+       depends on LEDS
+       help
+         If you say Y here, the red LED will be used to give a good real
+--- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
+@@ -10,3 +10,7 @@ obj-$(CONFIG_ARCH_ADI_COYOTE)        += coyote-
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+ obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
++leds-$(CONFIG_MACH_NSLU2)     += nslu2-leds.o
++obj-$(CONFIG_LEDS)            += $(leds-y)
++
++
+--- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c     1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-leds.c     1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,223 @@
++/*
++ * arch/arm/mach-ixp4xx/nslu2-leds.c
++ *
++ * NSLU2 LEDs driver
++ *
++ * Copyright (C) 2005 Tower Technologies
++ *
++ * based on nslu2-io.c
++ *  Copyright (C) 2004 Karen Spearel
++ * and arch/arm/mach-footbridge/netwinder-leds.c
++ *  Copyright (C) 1998-1999 Russell King
++ *
++ * Author: Alessandro Zummo <a.zummo@towertech.it>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ */
++
++#include <linux/config.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/spinlock.h>
++#include <linux/notifier.h>
++
++#include <asm/hardware.h>
++#include <asm/leds.h>
++#include <asm/mach-types.h>
++#include <asm/system.h>
++
++#define LED_STATE_ENABLED     0x01
++#define LED_STATE_CLAIMED     0x02
++#define LED_STATE_IDLE                0x04
++
++static unsigned char led_state;
++static unsigned int hw_led_state;
++
++#ifdef CONFIG_LEDS_TIMER
++static const unsigned long idle_seq[4] = {
++      NSLU2_LED_GRN_BM, 0,
++      NSLU2_LED_GRN_BM, 0,
++};
++
++static const unsigned long busy_seq[4] = {
++      NSLU2_LED_GRN_BM, 0,
++      NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM, 0,
++};
++#endif
++
++static unsigned char led_count = 0;
++
++static DEFINE_SPINLOCK(leds_lock);
++extern spinlock_t gpio_lock;
++
++static void nslu2_leds_event(led_event_t evt)
++{
++      unsigned long flags;
++
++      spin_lock_irqsave(&leds_lock, flags);
++
++      switch (evt) {
++      case led_start:
++              /* Let's rock! Red led on, all others off. Remember
++               * that disk1/disk2 works inverted.
++               */
++              led_state = LED_STATE_ENABLED;
++              hw_led_state = NSLU2_LED_DISK1_BM | NSLU2_LED_DISK2_BM
++                              | NSLU2_LED_RED_BM;
++              break;
++
++      case led_stop:
++              led_state &= ~LED_STATE_ENABLED;
++              break;
++
++      case led_claim:
++              /* The user claimed the interface, red and green off */
++              led_state |= LED_STATE_CLAIMED;
++              hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_release:
++              /* The user released the interface, preserve the last
++               * status of the leds, except red/green.
++               */
++              led_state &= ~LED_STATE_CLAIMED;
++              hw_led_state = *IXP4XX_GPIO_GPOUTR & 0x0000000C;
++              break;
++
++#ifdef CONFIG_LEDS_TIMER
++      case led_timer:
++              /* Pulse green led */
++              if (!(led_state & LED_STATE_CLAIMED))
++              {
++                      /* clear red and green bits */
++                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++
++                      /* copy the right sequence in */
++                      if (led_state & LED_STATE_IDLE)
++                              hw_led_state |= idle_seq[led_count % 4];
++                      else
++                              hw_led_state |= busy_seq[led_count % 4];
++
++                      led_count++;
++              }
++              break;
++#endif
++
++#ifdef CONFIG_LEDS_CPU
++      case led_idle_start:
++              led_state |= LED_STATE_IDLE;
++#ifndef CONFIG_LEDS_TIMER
++              /* green on, red off */
++              hw_led_state |= NSLU2_LED_GRN_BM;
++              hw_led_state &= ~NSLU2_LED_RED_BM;
++#endif
++              break;
++
++      case led_idle_end:
++              led_state &= ~LED_STATE_IDLE;
++#ifndef CONFIG_LEDS_TIMER
++              /* green on, red on -> amber on */
++              hw_led_state |= NSLU2_LED_GRN_BM | NSLU2_LED_RED_BM;
++#endif
++              break;
++#endif /* CONFIG_LEDS_CPU */
++
++      case led_halted:
++              if (!(led_state & LED_STATE_CLAIMED))
++                      hw_led_state |= NSLU2_LED_RED_BM;
++              break;
++
++      /* leds */
++
++      case led_green_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= NSLU2_LED_GRN_BM;
++              break;
++
++      case led_green_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~NSLU2_LED_GRN_BM;
++              break;
++
++      case led_amber_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= (NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_amber_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~(NSLU2_LED_RED_BM | NSLU2_LED_GRN_BM);
++              break;
++
++      case led_red_on:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state |= NSLU2_LED_RED_BM;
++              break;
++
++      case led_red_off:
++              if (led_state & LED_STATE_CLAIMED)
++                      hw_led_state &= ~NSLU2_LED_RED_BM;
++              break;
++
++      default:
++              break;
++      }
++
++      spin_unlock_irqrestore(&leds_lock, flags);
++
++      if  (led_state & LED_STATE_ENABLED) {
++              spin_lock_irqsave(&gpio_lock, flags);
++              *IXP4XX_GPIO_GPOUTR = (*IXP4XX_GPIO_GPOUTR & 0xFFFFFFF0) | hw_led_state;
++              spin_unlock_irqrestore(&gpio_lock, flags);
++      }
++}
++
++static int nslu2_leds_panic_event(struct notifier_block *this, unsigned long event,
++      void *ptr)
++{
++#ifdef CONFIG_LEDS_TIMER
++      leds_event(led_claim);
++#endif
++      leds_event(led_green_off);
++      leds_event(led_red_on);
++
++      return NOTIFY_DONE;
++}
++
++static struct notifier_block nslu2_leds_panic_block = {
++      .notifier_call  = nslu2_leds_panic_event,
++};
++
++static int __init nslu2_leds_init(void)
++{
++      if (!(machine_is_nslu2()))
++              return 0;
++
++      printk(KERN_INFO "NSLU2: leds\n");
++
++      /* register panic notifier */
++      notifier_chain_register(&panic_notifier_list, &nslu2_leds_panic_block);
++
++      /* enable gpio 0-3 */
++      gpio_line_config(NSLU2_LED_GRN, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_RED, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_DISK1, IXP4XX_GPIO_OUT);
++      gpio_line_config(NSLU2_LED_DISK2, IXP4XX_GPIO_OUT);
++
++      leds_event = nslu2_leds_event;
++
++      /* this will also initialize the leds to the
++       * default state.
++       */
++
++      leds_event(led_start);
++
++      return 0;
++}
++
++module_init(nslu2_leds_init);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/80-nslu2-io.patch
new file mode 100644 (file)
index 0000000..26031f6
--- /dev/null
@@ -0,0 +1,560 @@
+--- linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 1970-01-01 00:00:00.000000000 +0000
+@@ -8,5 +8,5 @@ obj-$(CONFIG_ARCH_IXDP4XX)     += ixdp425-pc
+ obj-$(CONFIG_MACH_IXDPG425)   += ixdpg425-pci.o coyote-setup.o
+ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o
+ obj-$(CONFIG_MACH_GTWX5715)   += gtwx5715-pci.o gtwx5715-setup.o
+-obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o
++obj-$(CONFIG_MACH_NSLU2)      += nslu2-pci.o nslu2-setup.o nslu2-power.o nslu2-io.o
+--- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c       1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-io.c       1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,548 @@
++//=============================================================================
++//
++// n2-io.c version 0.1.7
++// Author: Karen Spearel <kas11 at tampabay.rr.com>
++// please report problems/bugs directly to the address above
++//
++// Boilerplate to be added "real soon now"...it is and has always been GPL'ed per
++// MODULE_LICENSE but is offered without warrantee of any sort..use at your own risk
++//
++// NOTE: THIS IS INCOMPLETE.  INCLUDED ONLY TO KEEP FROM BREAKING THE BUILD,
++// IT BEEPS AND SENDS A MESSAGE TO /proc/poweroff.  EVENTUALLY IT
++// WILL TALK TO THE n2_pbd DAEMON.  EVENTUALLY THE LED DRIVER
++// WILL TALK TO SOME USERLAND APP BUT ***NOT*** SET_LEDS.
++// 
++//=============================================================================
++//    GPIO            Function        State
++//    0               Red LED         Status          
++//    1               Green LED       Ready = 1
++//    2               Disk 2 LED      On = 0
++//    3               Disk 1 LED      On = 0
++//    4               Buzzer
++//    5               Power Button    Pressed = 1
++//    8               Power Down      Output = 1 powers down NSLU2
++//    12              Reset           Pressed = 0
++
++#include <linux/config.h>
++#include <linux/version.h>
++#include <linux/module.h>
++#include <linux/kernel.h>
++#include <linux/proc_fs.h>
++#include <linux/device.h>
++#include <linux/reboot.h>
++
++#include <asm/uaccess.h>
++#include <asm-arm/irq.h>
++#include <asm-arm/delay.h>
++
++/* Set this to 1 to output lots of debug messages. */
++#define NSLU2_IO_DEBUG 0
++
++#if NSLU2_IO_DEBUG
++#define nslu2_io_debug(args) printk args
++#else
++#define nslu2_io_debug(args) ((void)0)
++#endif
++
++#define VERSION                       "0.1.7"
++
++#define       NSLU2BZ_MAJOR           62              //buzzer
++#define NSLU2LM_MAJOR         126
++
++
++#define NSLU2_BEEP_DUR_LONG   2000
++#define NSLU2_BEEP_DUR_MED    400
++#define NSLU2_BEEP_DUR_SHORT  100
++#define NSLU2_BEEP_PITCH_HIGH 250
++#define NSLU2_BEEP_PITCH_MED  500
++#define NSLU2_BEEP_PITCH_LOW  1000
++#define NSLU2_LONG_DELAY      30000
++
++#define NSLU2_BZ_BM           (1L << NSLU2_GPIO_BUZZ)
++
++// ioctls -- 'M" is used for sound cards...we don't got one so it seems safe
++
++#define NSLU2BZ_BEEP_STOP             _IO('M',0)       //stop multi-beep at end of audible
++#define NSLU2BZ_BEEP          _IO('M',1)       //one beep at current defaults
++#define NSLU2BZ_BEEPS         _IOW('M',3,long) //param beeps at current defaults
++#define NSLU2BZ_TONESET               _IOW('M',4,long) //set tone: range is high=250 to low=2000
++#define NSLU2BZ_ONTIME                _IOW('M',5,long) //ontime for multi-beeps in jiffies
++#define       NSLU2BZ_SILENTTIME              _IOW('M',6,long) //offtime for multi-beeps in jiffies
++#define NSLU2BZ_REPEATCNT             _IOW('M',7,long) //number of repeats for multi-beeps 0 = forever
++#define NSLU2BZ_COMBINED              _IOW('M',8,long) //combine all params in a long
++
++#define NSLU2LM_OFF           _IOW('M',32,long)
++#define NSLU2LM_ON                    _IOW('M',33,long)
++#define NSLU2LM_BLINK         _IOW('M',34,long)
++#define NSLU2LM_ALT           _IOW('M',35,long)
++#define NSLU2LM_ALL_ON                _IO('M',36)
++#define NSLU2LM_ALL_OFF               _IO('M',37)
++
++#define PHYS_LEDS             4
++#define BLINK_DELAY           25
++
++//  OR Masks to turn these LEDs ON
++
++#define       RS_RED_ON       0x00000001      //0b0000 0000 0000 0010
++#define       RS_GRN_ON       0x00000002      //0b0000 0000 0000 0001
++#define RS_YEL_ON     0x00000003      //0b0000 0000 0000 0011
++
++// AND Masks to turn these LEDs OFF
++
++#define       RS_RED_OFF      0xfffffffe      //0b1111 1111 1111 1101
++#define       RS_GRN_OFF      0xfffffffd      //0b1111 1111 1111 1110
++#define RS_YEL_OFF    0xfffffffc      //0b1111 1111 1111 1100
++
++// AND Masks to turn these LEDs ON
++
++#define DISK1_ON      0xfffffff7      //0b1111 1111 1111 0111
++#define       DISK2_ON        0xfffffffb      //0b1111 1111 1111 1011
++
++// Or Masks to turn these LEDs OFF
++
++#define DISK1_OFF     0x00000008      //0b0000 0000 0000 1000
++#define       DISK2_OFF       0x00000004      //0b0000 0000 0000 0100 
++
++// EOR masks for toggling LEDs on/off
++
++#define RS_RG_ALT     0x00000003      //eor mask to toggle rs rg bits
++#define RS_GRN_TGL    0x00000002
++#define RS_RED_TGL    0x00000001
++#define DISK1_TGL     0x00000008
++#define DISK2_TGL     0x00000004
++
++// The LED names for switches
++
++#define LED_RS_RED    0
++#define LED_RS_GRN    1
++#define       LED_DISK1       2
++#define LED_DISK2     3
++#define LED_ALL               4
++
++static unsigned long ontime = 50;
++static unsigned long offtime = 450;
++static unsigned long bz_repeatcnt = 10;
++static unsigned long tone = 1000;
++
++static struct timer_list n2lm_rsg_timer;      //rs green 
++static struct timer_list n2lm_rsr_timer;      //rs red
++static struct timer_list n2lm_d1_timer;               //drive 1
++static struct timer_list n2lm_d2_timer;               //drive 2
++static struct timer_list n2bz_timer;          //beeper
++
++// sysfs class
++static struct class *n2lm_class;
++
++//==================================================================================================
++//
++// Blinking is handled entirely by the 4 timer handlers.  On timeout, the bit in the
++// GPIO output register is xor'd with a mask corresponding to the selected led which simply
++// flips that bit.  No record of what any of the other leds is doing is needed.
++//
++//==================================================================================================
++// this blinks rs green or green/yellow if rs red is on
++#ifndef CONFIG_LEDS
++static void n2lm_rsg_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= RS_GRN_TGL;                      //flip the led
++      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;         //next timeout
++      add_timer(&n2lm_rsg_timer);                             //reinit timer
++      return;
++}
++
++// this blinks or alternates rs red green... inited wit green on/red off
++static void n2lm_rsr_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= n2lm_rsr_timer.data;
++      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_rsr_timer);
++      return; 
++}
++// blinks disk 1
++static void n2lm_d1_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= DISK1_TGL;
++      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_d1_timer);
++      return;
++}
++// blinks disk 2
++static void n2lm_d2_handler(unsigned long data)
++{
++      *IXP4XX_GPIO_GPOUTR ^= DISK2_TGL;
++      n2lm_d2_timer.expires = jiffies + BLINK_DELAY;
++      add_timer(&n2lm_d2_timer);
++      return;
++}
++
++//==================================================================================================
++
++static void n2lm_timer_start(unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "timer: %ld\n",led));
++
++      switch(led) {
++              case LED_RS_RED:
++                      n2lm_rsr_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_rsr_timer);
++                      break;
++
++              case LED_RS_GRN:
++                      n2lm_rsg_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_rsg_timer);
++                      break;
++
++              case LED_DISK1:
++                      n2lm_d1_timer.expires = jiffies + BLINK_DELAY;
++                      add_timer(&n2lm_d1_timer);
++                      break;
++
++              case LED_DISK2:
++                      n2lm_d2_timer.expires = jiffies + BLINK_DELAY; 
++                      add_timer(&n2lm_d2_timer);
++                      break;
++
++              default:
++                      break;
++      }
++      return;
++}
++
++//==================================================================================================
++
++static void n2lm_timer_stop(unsigned long led)
++{
++      switch (led) {
++              case LED_RS_RED:
++                      del_timer(&n2lm_rsr_timer);
++                      break;
++              case LED_RS_GRN:
++                      del_timer(&n2lm_rsg_timer);
++                      break;
++              case LED_DISK1:
++                      del_timer(&n2lm_d1_timer);
++                      break;
++              case LED_DISK2: 
++                      del_timer(&n2lm_d2_timer);
++                      break;
++              default:
++                      break;
++      }
++      return;
++}
++
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_timer_stop_all(void)
++{
++      del_timer(&n2lm_rsg_timer);
++      del_timer(&n2lm_rsr_timer);
++      del_timer(&n2lm_d1_timer); 
++      del_timer(&n2lm_d2_timer);
++      return;
++}
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_ledon(unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "ledon: %ld\n", led));
++
++      switch (led) {
++              case LED_RS_RED:        
++                      *IXP4XX_GPIO_GPOUTR |= RS_RED_ON;       //1
++                      return;
++              case LED_RS_GRN:
++                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;       //2
++                      return;
++              case LED_DISK1:
++                      *IXP4XX_GPIO_GPOUTR &= DISK1_ON;        //0xfffffff7
++                      return;
++              case LED_DISK2: 
++                      *IXP4XX_GPIO_GPOUTR &= DISK2_ON;        //0xfffffffb
++                      return;
++              case LED_ALL:                                   //all green
++                      *IXP4XX_GPIO_GPOUTR |= RS_GRN_ON;
++                      *IXP4XX_GPIO_GPOUTR &= (DISK1_ON & DISK2_ON);
++                      return; 
++      }
++}
++
++//--------------------------------------------------------------------------------------------------
++
++static void n2lm_ledoff(unsigned long led)
++{
++
++      switch (led) {
++              case LED_RS_RED:        
++                      *IXP4XX_GPIO_GPOUTR &= RS_RED_OFF;      //0xffffffffe
++                      return;
++              case LED_RS_GRN:
++                      *IXP4XX_GPIO_GPOUTR &= RS_GRN_OFF;      //0xfffffffd
++                      return;
++              case LED_DISK1:
++                      *IXP4XX_GPIO_GPOUTR |= DISK1_OFF;       //0x00000008
++                      return;
++              case LED_DISK2: 
++                      *IXP4XX_GPIO_GPOUTR |= DISK2_OFF;       //0x00000004
++                      return;
++              case LED_ALL:
++                      *IXP4XX_GPIO_GPOUTR &= (RS_GRN_OFF & RS_RED_OFF);
++                      *IXP4XX_GPIO_GPOUTR |= (DISK1_OFF | DISK2_OFF);
++      }
++}
++
++//==================================================================================================
++
++static int n2lm_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long led)
++{
++
++      nslu2_io_debug((KERN_DEBUG "cmd=%d, led=%ld\n", cmd, led));
++      
++      if (led < 0 || led >= PHYS_LEDS)
++              return -EINVAL;
++
++      switch (cmd ) {
++              case NSLU2LM_ON:
++                      n2lm_timer_stop(led);
++                      n2lm_ledon(led);
++                      break;
++                      
++              case NSLU2LM_OFF:
++                      n2lm_timer_stop(led);
++                      n2lm_ledoff(led);
++                      break;
++                      
++              case NSLU2LM_BLINK:
++                      n2lm_ledon(led);
++                      if (led == LED_RS_RED)
++                              n2lm_rsr_timer.data = RS_RED_TGL;
++                      n2lm_timer_start(led);
++                      break;
++
++              case NSLU2LM_ALT:
++                      if (led == LED_RS_RED)
++                      {
++                              n2lm_ledon(LED_RS_GRN);
++                              n2lm_ledoff(LED_RS_RED);
++                              n2lm_rsr_timer.data = RS_RG_ALT;
++                              n2lm_timer_start(LED_RS_RED);
++                              break;
++                      } else
++                              return -EINVAL;
++              
++              case NSLU2LM_ALL_ON:
++                      n2lm_timer_stop_all();
++                      n2lm_ledon(LED_ALL);
++                      break;
++              
++              case NSLU2LM_ALL_OFF:
++                      n2lm_timer_stop_all();
++                      n2lm_ledoff(LED_ALL);
++                      break;
++              
++              default:
++                      return -EINVAL;
++      }
++
++      return 0;
++}
++
++static struct file_operations n2lm_fops = {
++      .owner          = THIS_MODULE,
++      .ioctl          = n2lm_ioctl,
++};
++#endif
++//==================================================================================================
++// We can't do anything fancy here since the system tick rate is far below that required to
++// generate a desirable tone.  Therefore we haven't much choice but to use a busy loop until
++// I get up to speed on the timers.  The saving grace is that for the normal uses, nothing 
++// important should be haprepening. 
++//==================================================================================================
++
++static void n2_buzz(int tone_delay, int duration)
++{
++      int i;
++
++      *IXP4XX_GPIO_GPOER &= ~NSLU2_BZ_BM;
++              
++      for (i = 1; i < duration; i++) {
++              *IXP4XX_GPIO_GPOUTR &= ~NSLU2_BZ_BM;
++              udelay(tone_delay);
++              *IXP4XX_GPIO_GPOUTR |= NSLU2_BZ_BM;
++              udelay(tone_delay);
++      }
++      *IXP4XX_GPIO_GPOER |= NSLU2_BZ_BM;
++
++      return;
++}
++//=================================================================================================
++
++// this handles the buzzer duty cycle
++static void n2bz_handler(unsigned long data)
++{
++      if (--bz_repeatcnt > 0) {                       //if just one beep left to do
++              n2bz_timer.expires = jiffies + ontime + offtime;        //next timeout
++              add_timer(&n2bz_timer);                                 //reinit timer
++      }
++      n2_buzz(tone/2, ontime);
++      nslu2_io_debug((KERN_DEBUG "Count = %d\tOntime = %d\n", bz_repeatcnt, ontime));
++      return;
++}
++
++//==================================================================================================
++
++static int n2bz_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long param)
++{
++      switch (cmd) {
++              case NSLU2BZ_BEEP:
++                      n2_buzz(tone/2, ontime);
++                      break;
++      
++              case NSLU2BZ_BEEP_STOP:
++                      del_timer(&n2bz_timer);
++                      break;
++
++              case NSLU2BZ_BEEPS:
++                      if (param == 0)
++                              bz_repeatcnt = 0xffffffff;
++                      else
++                              bz_repeatcnt = param;
++                      n2bz_handler(0);
++                      break;
++      
++              case NSLU2BZ_TONESET:
++                      if (param >= 250 && param <= 2000)
++                              tone = param;
++                      break;
++
++              case NSLU2BZ_ONTIME:
++                      if (param > 4 && param < 201)
++                              ontime = param;
++                      break;
++
++              case NSLU2BZ_SILENTTIME:
++                      if (param > ontime)                     //enforce a reasonable duty cycle
++                              offtime = param;
++                      else
++                              offtime = ontime;
++                      break;
++
++              case NSLU2BZ_REPEATCNT:
++                      if (param == 0)
++                              bz_repeatcnt = 0xffffffff;
++                      else
++                              bz_repeatcnt = param;
++                      break;
++
++              case NSLU2BZ_COMBINED:
++                      bz_repeatcnt =  (param & 0xF0000000) >> 28;     //repeat 1 - 16
++                      ontime =        (param & 0x0FF00000) >> 20;     //ontime 1 - 256 jiffies
++                      offtime =       (param & 0x000FFF00) >> 8;      //offtime 1 - 4095 jiffies
++                      tone =          (param & 0x000000FF) << 4;      //tone (1 - 255) * 16
++                      break;
++
++              default:
++                      break;
++      }
++      return 0;
++}
++
++static struct file_operations n2bz_fops = {
++      .owner          = THIS_MODULE,
++      .ioctl          = n2bz_ioctl,
++};
++
++static void n2iom_initarch(void)
++{
++#ifndef CONFIG_LEDS
++      init_timer(&n2lm_rsg_timer);
++      init_timer(&n2lm_rsr_timer);
++      init_timer(&n2lm_d1_timer);
++      init_timer(&n2lm_d2_timer);
++
++      n2lm_rsr_timer.function = n2lm_rsr_handler;
++      n2lm_rsg_timer.function = n2lm_rsg_handler;
++      n2lm_d2_timer.function = n2lm_d2_handler;
++      n2lm_d1_timer.function = n2lm_d1_handler;
++#endif
++
++      init_timer(&n2bz_timer);
++      n2bz_timer.function = n2bz_handler;
++
++      n2lm_rsr_timer.data = n2lm_rsg_timer.data = n2lm_d1_timer.data = n2lm_d2_timer.data = n2bz_timer.data = 0;
++
++#ifndef CONFIG_LEDS
++      *IXP4XX_GPIO_GPOER &= 0xfffffff0;       //enable gpio 0-3
++      *IXP4XX_GPIO_GPOUTR |= 0x00000003;      //turn off the leds
++      *IXP4XX_GPIO_GPOUTR &= 0xfffffffc;
++      n2lm_ledon(LED_ALL);
++      n2_buzz(NSLU2_BEEP_PITCH_MED, NSLU2_BEEP_DUR_SHORT);
++      n2lm_ledoff(LED_ALL);
++
++      // Default the Ready/Status to Red during kernel boot, Turn Green at the end of sysvinit
++      n2lm_ledon(LED_RS_RED);
++#endif
++
++      return;
++}
++
++//==================================================================================================
++
++static int __init n2iom_init(void)
++{
++      printk(KERN_INFO "NSLU2: i/o, %s\n", VERSION);
++      
++      n2iom_initarch();
++
++      n2lm_class = class_create(THIS_MODULE, "nslu2");
++
++#ifndef CONFIG_LEDS
++      if (register_chrdev(NSLU2LM_MAJOR, "n2_ledm", &n2lm_fops) < 0) {
++              printk(KERN_DEBUG "Led Manager Major %d not available\n", NSLU2LM_MAJOR);
++              return -EBUSY;
++      }
++      else {
++              class_device_create(n2lm_class, NULL, MKDEV(NSLU2LM_MAJOR, 0), NULL, "leds");
++      }
++#endif
++
++      if (register_chrdev(NSLU2BZ_MAJOR, "n2_bzm", &n2bz_fops) < 0) {
++              printk(KERN_DEBUG "Buzzer Major %d not available\n", NSLU2BZ_MAJOR);
++              return -EBUSY;
++      }
++      else {
++              class_device_create(n2lm_class, NULL, MKDEV(NSLU2BZ_MAJOR, 0), NULL, "buzzer");
++      }
++
++      return 0;
++}
++
++//==================================================================================================
++
++static void __exit n2iom_exit(void)
++{
++
++#ifndef CONFIG_LEDS
++      del_timer(&n2lm_rsg_timer);
++      del_timer(&n2lm_rsr_timer);
++      del_timer(&n2lm_d1_timer);
++      del_timer(&n2lm_d2_timer);      
++
++      unregister_chrdev(NSLU2LM_MAJOR, "n2lm" );
++      class_device_destroy(n2lm_class, MKDEV(NSLU2LM_MAJOR, 0));
++#endif
++
++      unregister_chrdev(NSLU2BZ_MAJOR, "n2bz");
++      class_device_destroy(n2lm_class, MKDEV(NSLU2BZ_MAJOR, 0));
++
++      class_destroy(n2lm_class);
++}
++
++module_init(n2iom_init);
++module_exit(n2iom_exit);
++
++MODULE_AUTHOR("Karen Spearel <kas11@tampabay.rr.com>");
++MODULE_DESCRIPTION("NSLU2 I/O driver");
++MODULE_LICENSE("GPL");
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/85-timer.patch
new file mode 100644 (file)
index 0000000..3d4a03f
--- /dev/null
@@ -0,0 +1,285 @@
+--- linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/common.c 1970-01-01 00:00:00.000000000 +0000
+@@ -239,36 +239,165 @@ void __init ixp4xx_init_irq(void)
+  * IXP4xx timer tick
+  * We use OS timer1 on the CPU for the timer tick and the timestamp 
+  * counter as a source of real clock ticks to account for missed jiffies.
++ *
++ * 'CLOCK_TICK_RATE' is the nominal number of internal ticks per second,
++ * this is significantly greater than the actual number on any ixp4xx
++ * board.  Neither this nor 'LATCH' are required by this code because
++ * the only requirement is to generate HZ timer_tick calls per second.
+  *************************************************************************/
++#if TICK_NSEC * HZ != 1000000000
++      /* This will cause the jiffies to drift unnecessarily. */
++#     error CLOCK_TICK_RATE should be a multiple of HZ for this code
++#endif
++
++/* These are the control registers for the interrupt handler, they must
++ * only be read and written by the interrupt handler and by the init
++ * method (which sets them to 0).
++ */
++static volatile u32 last_timer_time;
++static volatile int accumulated_error;
++
++/* Most ixp4xx boards have 66.6666MHz crystals, so default to this, reset
++ * this from the board level code if required.  The following variables
++ * must be *written* only by set_board_tick_rate
++ */
++static u32 board_tick_rate;
++static u32 board_tick_per_1000; /* board_tick_rate/1000 */
++static u32 timer_count;
++
++/* The following symbol may be written to change the current tick rate,
++ * it is read by the interrupt handler and used to reload the timer.
++ * The 'real' value (the one in use) is 'board_tick_rate' above.
++ * NOTE: this can be tweaked to match the actual crystal on a particular
++ * machine.
++ */
++volatile u32 ixp4xx_board_tick_rate = 66666600;
++EXPORT_SYMBOL(ixp4xx_board_tick_rate);
++
++/* The set API may run asynchronously in the presence of interrupts,
++ * everything it does it is both atomic and complete (notice that it
++ * doesn't change any of the 'volatile' values).  The mathematics in
++ * here require the following values.  Changing the board tick rate
++ * implies an unknown error in the current timestamp tick count.
++ */
++#if IXP4XX_OST_RELOAD_MASK != 3 || IXP4XX_OST_ENABLE != 1
++#     error unexpected value for timer reload mask
++#endif
++static void set_board_tick_rate(u32 rate) {
++      u32 reload;
++
++      /* Store the two effectively informational rate values, the
++       * error calculation is (rate - count*HZ) (above), and rate
++       * is changed first, this can cause a temporary error which
++       * will be corrected on the next interrupt.
++       */
++      board_tick_rate = rate;
++      board_tick_per_1000 = (rate+500)/1000;
++
++      /* Calculate the correct value to load into the timer countdown
++       * register, the low two bits must be b01 (to enable the timer).
++       * Select the top bits to be as close to the desired value as
++       * possible.
++       *
++       * First find the best value, regardless of the low two bits -
++       * this is the value used in the interrupt calculation even though
++       * it cannot necessarily be set into the register.
++       */
++      timer_count = (rate + (HZ/2))/HZ;
++
++      /* Now the timer_ticks are being generated at this rate, calculate
++       * an appropriate value for the register.  This stores a 30 bit
++       * value which gives a period of 4*x+1, we want:
++       *
++       *   4*x+1 = board_tick_rate/HZ
++       *
++       * This needs to be rounded to the closest 4*HZ value:
++       * 
++       *   x = ((board_tick_rate-HZ) + (4*HZ)/2) / 4*HZ
++       *   x = (board_tick_rate+HZ) / (4*HZ);
++       */
++      reload = (board_tick_rate + HZ) / HZ;
++      reload = (reload & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++      *IXP4XX_OSRT1 = reload;
+-static unsigned volatile last_jiffy_time;
++      /* If the clock is drifing, look in syslog: */
++      printk(KERN_INFO "IXP4xx: FREQ=%d COUNT=%d\n", rate, reload);
++}
+-#define CLOCK_TICKS_PER_USEC  ((CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
++/* This returns the time in timer ticks since the 'last_timer_time'
++ * recorded above.  Use this to avoid arithmetic errors because of
++ * the overflow when the timer wraps.
++ */
++static inline u32 ixp4xx_timer_delta(void)
++{
++      return *IXP4XX_OSTS - last_timer_time;
++}
+ /* IRQs are disabled before entering here from do_gettimeofday() */
+ static unsigned long ixp4xx_gettimeoffset(void)
+ {
+-      u32 elapsed;
+-
+-      elapsed = *IXP4XX_OSTS - last_jiffy_time;
++      /* Return the offset of the current time from the last time
++       * timer tick in microseconds.  This is only used for the
++       * gettimeofday call.
++       *
++       * The result of this API is at most about 20000 (for a 50Hz
++       * HZ - 20000 uS/tick), the input delta is at most about
++       * 1.3M - 21 bits.
++       */
++      u32 delta = ixp4xx_timer_delta(); /* About 21 bits max */
++      /* return delta * 1000000 / board_tick_rate; */
++      return (delta * 1000 + board_tick_per_1000/2) / board_tick_per_1000;
++}
+-      return elapsed / CLOCK_TICKS_PER_USEC;
++/* This is the correct adjustment to the counter to compensate for an
++ * error iff timer_count-1 <= exact_count <= timer_count+1
++ */
++static inline int adjustment(int error) {
++      if (error >= HZ)
++              return 1;
++      else if (error <= -HZ)
++              return -1;
++      return 0;
+ }
+ static irqreturn_t ixp4xx_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+ {
++      u32 rate;
++      u32 count;
++      int error;
++
+       write_seqlock(&xtime_lock);
+       /* Clear Pending Interrupt by writing '1' to it */
+       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
++      /* If the board tick rate has been changed update the cached
++       * value.
++       */
++      if (ixp4xx_board_tick_rate != board_tick_rate) {
++              set_board_tick_rate(ixp4xx_board_tick_rate);
++              accumulated_error = 0;
++      }
++
+       /*
+        * Catch up with the real idea of time
++       *
++       * board_tick_rate: actual ixp4xx ticks/second, read-only
++       * accumulated_error: aggregate error/tick * HZ, read/write
++       * timer_count: best ixp4xx ticks per timer_tick, read-only
+        */
+-      while ((*IXP4XX_OSTS - last_jiffy_time) > LATCH) {
++      rate = board_tick_rate;
++      error = accumulated_error;
++      count = timer_count;
++      do {
++              u32 adjusted_count = count + adjustment(error);
++              if (ixp4xx_timer_delta() < adjusted_count)
++                      break;
+               timer_tick(regs);
+-              last_jiffy_time += LATCH;
+-      }
++              last_timer_time += adjusted_count;
++              error += rate - adjusted_count*HZ;
++      } while (1);
++      accumulated_error = error;
+       write_sequnlock(&xtime_lock);
+@@ -281,17 +410,30 @@ static struct irqaction ixp4xx_timer_irq
+       .handler        = ixp4xx_timer_interrupt,
+ };
++u32 ixp4xx_get_board_tick_rate(void) {
++      return board_tick_rate;
++}
++
++EXPORT_SYMBOL(ixp4xx_get_board_tick_rate);
++
++void ixp4xx_set_board_tick_rate(u32 rate) {
++      ixp4xx_board_tick_rate = rate;
++}
++
++EXPORT_SYMBOL(ixp4xx_set_board_tick_rate);
++
+ static void __init ixp4xx_timer_init(void)
+ {
+       /* Clear Pending Interrupt by writing '1' to it */
+       *IXP4XX_OSST = IXP4XX_OSST_TIMER_1_PEND;
+       /* Setup the Timer counter value */
+-      *IXP4XX_OSRT1 = (LATCH & ~IXP4XX_OST_RELOAD_MASK) | IXP4XX_OST_ENABLE;
++      set_board_tick_rate(ixp4xx_board_tick_rate);
+       /* Reset time-stamp counter */
+       *IXP4XX_OSTS = 0;
+-      last_jiffy_time = 0;
++      last_timer_time = 0;
++      accumulated_error = 0;
+       /* Connect the interrupt handler and enable the interrupt */
+       setup_irq(IRQ_IXP4XX_TIMER1, &ixp4xx_timer_irq);
+@@ -337,4 +479,3 @@ void __init ixp4xx_sys_init(void)
+                               ARRAY_SIZE(ixp46x_devices));
+       }
+ }
+-
+--- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
+@@ -119,6 +119,11 @@ static void nslu2_power_off(void)
+ static void __init nslu2_init(void)
+ {
++      /* The NSLU2 has a 33MHz crystal on board - 1.01% different
++       * from the typical value.
++       */
++      ixp4xx_set_board_tick_rate(66000000);
++
+       ixp4xx_sys_init();
+       pm_power_off = nslu2_power_off;
+--- linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/input/misc/nslu2spkr.c        1970-01-01 00:00:00.000000000 +0000
+@@ -51,7 +51,7 @@ static int nslu2_spkr_event(struct input
+       }
+       if (value > 20 && value < 32767)
+-              count = (NSLU2_FREQ / (value*4)) - 1;
++              count = (ixp4xx_get_board_tick_rate() / (value*4)) - 1;
+       spin_lock_irqsave(&beep_lock, flags);
+--- linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/include/asm-arm/arch-ixp4xx/nslu2.h   1970-01-01 00:00:00.000000000 +0000
+@@ -38,11 +38,6 @@
+ #define NSLU2_PCI_INTD_PIN    8
+-/* NSLU2 Timer */
+-#define NSLU2_FREQ 66000000
+-#define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
+-#define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
+-
+ /* GPIO */
+ #define NSLU2_GPIO0           0
+--- linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/include/asm-arm/arch-ixp4xx/timex.h   1970-01-01 00:00:00.000000000 +0000
+@@ -6,10 +6,23 @@
+ #include <asm/hardware.h>
+ /*
+- * We use IXP425 General purpose timer for our timer needs, it runs at 
+- * 66.66... MHz. We do a convulted calculation of CLOCK_TICK_RATE b/c the
+- * timer register ignores the bottom 2 bits of the LATCH value.
++ * In linux/timex.h 'LATCH' is defined as CLOCK_TICK_RATE/HZ and
++ * is the number of internal counts per timer interrupt.  Thus
++ * CLOCK_TICK_RATE is LATCH*HZ.
++ *
++ * The actual values of these numbers do not matter, because they
++ * are only used to calculate ACTHZ (rate/latch as a 24.8 fixed
++ * point number), so the value here gives a LATCH of 1 and pretty
++ * much guarantees to flush out any off-by-one errors.
++ *
++ * ACTHZ is equal to HZ, because CLOCK_TICK_RATE is a multiple of
++ * HZ, this is checked in the ixp4xx/common.c code.
+  */
+-#define FREQ 66666666
+-#define CLOCK_TICK_RATE (((FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
++#define CLOCK_TICK_RATE HZ
++/* The following allow the exact board tick rate to be set and
++ * discovered.  The value should be exactly twice the frequency
++ * (in Hz) of the onboard crystal.
++ */
++extern u32 ixp4xx_get_board_tick_rate(void);
++extern void ixp4xx_set_board_tick_rate(u32 new_rate);
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6.15/defconfig b/packages/obsolete/nslu2/nslu2-kernel/2.6.15/defconfig
new file mode 100644 (file)
index 0000000..9f7bf76
--- /dev/null
@@ -0,0 +1,1617 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.15
+# Mon Nov 14 10:44:43 2005
+#
+CONFIG_ARM=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_HOTPLUG=y
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_EMBEDDED=y
+# CONFIG_KALLSYMS is not set
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+# CONFIG_BASE_FULL is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=1
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_OBSOLETE_MODPARM=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_KMOD=y
+
+#
+# Block layer
+#
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+
+#
+# System Type
+#
+# CONFIG_ARCH_CLPS7500 is not set
+# CONFIG_ARCH_CLPS711X is not set
+# CONFIG_ARCH_CO285 is not set
+# CONFIG_ARCH_EBSA110 is not set
+# CONFIG_ARCH_CAMELOT is not set
+# CONFIG_ARCH_FOOTBRIDGE is not set
+# CONFIG_ARCH_INTEGRATOR is not set
+# CONFIG_ARCH_IOP3XX is not set
+CONFIG_ARCH_IXP4XX=y
+# CONFIG_ARCH_IXP2000 is not set
+# CONFIG_ARCH_L7200 is not set
+# CONFIG_ARCH_PXA is not set
+# CONFIG_ARCH_RPC is not set
+# CONFIG_ARCH_SA1100 is not set
+# CONFIG_ARCH_S3C2410 is not set
+# CONFIG_ARCH_SHARK is not set
+# CONFIG_ARCH_LH7A40X is not set
+# CONFIG_ARCH_OMAP is not set
+# CONFIG_ARCH_VERSATILE is not set
+# CONFIG_ARCH_REALVIEW is not set
+# CONFIG_ARCH_IMX is not set
+# CONFIG_ARCH_H720X is not set
+# CONFIG_ARCH_AAEC2000 is not set
+CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
+
+#
+# Intel IXP4xx Implementation Options
+#
+
+#
+# IXP4xx Platforms
+#
+CONFIG_MACH_NSLU2=y
+# CONFIG_ARCH_AVILA is not set
+# CONFIG_ARCH_ADI_COYOTE is not set
+# CONFIG_ARCH_IXDP425 is not set
+# CONFIG_MACH_IXDPG425 is not set
+# CONFIG_MACH_IXDP465 is not set
+# CONFIG_ARCH_PRPMC1100 is not set
+# CONFIG_MACH_GTWX5715 is not set
+
+#
+# IXP4xx Options
+#
+CONFIG_IXP4XX_INDIRECT_PCI=y
+
+#
+# Processor Type
+#
+CONFIG_CPU_32=y
+CONFIG_CPU_XSCALE=y
+CONFIG_CPU_32v5=y
+CONFIG_CPU_ABRT_EV5T=y
+CONFIG_CPU_CACHE_VIVT=y
+CONFIG_CPU_TLB_V4WBI=y
+
+#
+# Processor Features
+#
+CONFIG_ARM_THUMB=y
+CONFIG_CPU_BIG_ENDIAN=y
+CONFIG_XSCALE_PMU=y
+CONFIG_DMABOUNCE=y
+
+#
+# Bus support
+#
+CONFIG_ISA_DMA_API=y
+CONFIG_PCI=y
+# CONFIG_PCI_LEGACY_PROC is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+# CONFIG_PCCARD is not set
+
+#
+# Kernel Features
+#
+# CONFIG_PREEMPT is not set
+# CONFIG_NO_IDLE_HZ is not set
+# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4096
+# CONFIG_LEDS is not set
+CONFIG_ALIGNMENT_TRAP=y
+
+#
+# Boot options
+#
+CONFIG_ZBOOT_ROM_TEXT=0x0
+CONFIG_ZBOOT_ROM_BSS=0x0
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8"
+# CONFIG_XIP_KERNEL is not set
+
+#
+# Floating point emulation
+#
+
+#
+# At least one emulation must be selected
+#
+CONFIG_FPE_NWFPE=y
+# CONFIG_FPE_NWFPE_XP is not set
+# CONFIG_FPE_FASTFPE is not set
+
+#
+# Userspace binary formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_AOUT is not set
+# CONFIG_BINFMT_MISC is not set
+# CONFIG_ARTHUR is not set
+
+#
+# Power management options
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_BIC=y
+
+#
+# IP: Virtual Server Configuration
+#
+# CONFIG_IP_VS is not set
+CONFIG_IPV6=m
+# CONFIG_IPV6_PRIVACY is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+CONFIG_INET6_IPCOMP=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_TUNNEL=m
+CONFIG_NETFILTER=y
+# CONFIG_NETFILTER_DEBUG is not set
+CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+# CONFIG_NETFILTER_NETLINK is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_IP_NF_CONNTRACK=m
+# CONFIG_IP_NF_CT_ACCT is not set
+# CONFIG_IP_NF_CONNTRACK_MARK is not set
+# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
+CONFIG_IP_NF_CT_PROTO_SCTP=m
+CONFIG_IP_NF_FTP=m
+CONFIG_IP_NF_IRC=m
+# CONFIG_IP_NF_NETBIOS_NS is not set
+CONFIG_IP_NF_TFTP=m
+CONFIG_IP_NF_AMANDA=m
+# CONFIG_IP_NF_PPTP is not set
+CONFIG_IP_NF_QUEUE=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_LIMIT=m
+CONFIG_IP_NF_MATCH_IPRANGE=m
+CONFIG_IP_NF_MATCH_MAC=m
+CONFIG_IP_NF_MATCH_PKTTYPE=m
+CONFIG_IP_NF_MATCH_MARK=m
+CONFIG_IP_NF_MATCH_MULTIPORT=m
+CONFIG_IP_NF_MATCH_TOS=m
+CONFIG_IP_NF_MATCH_RECENT=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_DSCP=m
+CONFIG_IP_NF_MATCH_AH_ESP=m
+CONFIG_IP_NF_MATCH_LENGTH=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_MATCH_TCPMSS=m
+CONFIG_IP_NF_MATCH_HELPER=m
+CONFIG_IP_NF_MATCH_STATE=m
+CONFIG_IP_NF_MATCH_CONNTRACK=m
+CONFIG_IP_NF_MATCH_OWNER=m
+CONFIG_IP_NF_MATCH_PHYSDEV=m
+CONFIG_IP_NF_MATCH_ADDRTYPE=m
+CONFIG_IP_NF_MATCH_REALM=m
+# CONFIG_IP_NF_MATCH_SCTP is not set
+# CONFIG_IP_NF_MATCH_DCCP is not set
+CONFIG_IP_NF_MATCH_COMMENT=m
+CONFIG_IP_NF_MATCH_HASHLIMIT=m
+# CONFIG_IP_NF_MATCH_STRING is not set
+CONFIG_IP_NF_FILTER=m
+# CONFIG_IP_NF_TARGET_REJECT is not set
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=m
+CONFIG_IP_NF_TARGET_TCPMSS=m
+# CONFIG_IP_NF_TARGET_NFQUEUE is not set
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_SAME=m
+CONFIG_IP_NF_NAT_SNMP_BASIC=m
+CONFIG_IP_NF_NAT_IRC=m
+CONFIG_IP_NF_NAT_FTP=m
+CONFIG_IP_NF_NAT_TFTP=m
+CONFIG_IP_NF_NAT_AMANDA=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_TOS=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_DSCP=m
+CONFIG_IP_NF_TARGET_MARK=m
+CONFIG_IP_NF_TARGET_CLASSIFY=m
+# CONFIG_IP_NF_TARGET_TTL is not set
+# CONFIG_IP_NF_RAW is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+
+#
+# IPv6: Netfilter Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP6_NF_QUEUE is not set
+# CONFIG_IP6_NF_IPTABLES is not set
+
+#
+# Bridge: Netfilter Configuration
+#
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+
+#
+# DCCP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_DCCP is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+CONFIG_BRIDGE=m
+CONFIG_VLAN_8021Q=m
+# CONFIG_DECNET is not set
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+CONFIG_IPX=m
+# CONFIG_IPX_INTERN is not set
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=y
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_IPDDP_DECAP=y
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+CONFIG_NET_CLS_ROUTE=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+CONFIG_BT=m
+CONFIG_BT_L2CAP=m
+CONFIG_BT_SCO=m
+CONFIG_BT_RFCOMM=m
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
+# CONFIG_BT_HIDP is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_HCIUSB=m
+CONFIG_BT_HCIUSB_SCO=y
+# CONFIG_BT_HCIUART is not set
+CONFIG_BT_HCIBCM203X=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_IEEE80211 is not set
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=m
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+CONFIG_MTD_CONCAT=y
+CONFIG_MTD_PARTITIONS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
+# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+# CONFIG_MTD_AFS_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+# CONFIG_MTD_CFI_NOSWAP is not set
+CONFIG_MTD_CFI_BE_BYTE_SWAP=y
+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_GEOMETRY=y
+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_4 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_CFI_INTELEXT=y
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_XIP is not set
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_ARM_INTEGRATOR is not set
+CONFIG_MTD_IXP4XX=y
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PLATRAM is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLKMTD is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# OneNAND Flash Device Drivers
+#
+# CONFIG_MTD_ONENAND is not set
+
+#
+# Parallel port support
+#
+# CONFIG_PARPORT is not set
+
+#
+# Plug and Play support
+#
+
+#
+# Block devices
+#
+# CONFIG_BLK_CPQ_DA is not set
+# CONFIG_BLK_CPQ_CISS_DA is not set
+# CONFIG_BLK_DEV_DAC960 is not set
+# CONFIG_BLK_DEV_UMEM is not set
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=m
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_SX8 is not set
+# CONFIG_BLK_DEV_UB is not set
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=4
+CONFIG_BLK_DEV_RAM_SIZE=10240
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_CDROM_PKTCDVD=m
+CONFIG_CDROM_PKTCDVD_BUFFERS=8
+# CONFIG_CDROM_PKTCDVD_WCACHE is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=m
+# CONFIG_CHR_DEV_SCH is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+CONFIG_SCSI_MULTI_LUN=y
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+
+#
+# SCSI Transport Attributes
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+
+#
+# SCSI low-level drivers
+#
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_DPT_I2O is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_SATA is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_EATA is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GDTH is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_FC is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+CONFIG_SCSI_QLA2XXX=y
+# CONFIG_SCSI_QLA21XX is not set
+# CONFIG_SCSI_QLA22XX is not set
+# CONFIG_SCSI_QLA2300 is not set
+# CONFIG_SCSI_QLA2322 is not set
+# CONFIG_SCSI_QLA6312 is not set
+# CONFIG_SCSI_QLA24XX is not set
+# CONFIG_SCSI_LPFC is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_DC390T is not set
+# CONFIG_SCSI_NSP32 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+CONFIG_MD_LINEAR=m
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID5=m
+CONFIG_MD_RAID6=m
+CONFIG_MD_MULTIPATH=m
+CONFIG_MD_FAULTY=m
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_CRYPT is not set
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+# CONFIG_FUSION_SPI is not set
+# CONFIG_FUSION_FC is not set
+# CONFIG_FUSION_SAS is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_IEEE1394 is not set
+
+#
+# I2O device support
+#
+# CONFIG_I2O is not set
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+# CONFIG_DUMMY is not set
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=m
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MACLIST=y
+CONFIG_MII=y
+# CONFIG_HAPPYMEAL is not set
+# CONFIG_SUNGEM is not set
+# CONFIG_CASSINI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_SMC91X is not set
+# CONFIG_DM9000 is not set
+
+#
+# Tulip family network device support
+#
+# CONFIG_NET_TULIP is not set
+# CONFIG_HP100 is not set
+CONFIG_NET_PCI=y
+# CONFIG_PCNET32 is not set
+# CONFIG_AMD8111_ETH is not set
+# CONFIG_ADAPTEC_STARFIRE is not set
+# CONFIG_B44 is not set
+# CONFIG_FORCEDETH is not set
+# CONFIG_DGRS is not set
+# CONFIG_EEPRO100 is not set
+# CONFIG_E100 is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+# CONFIG_SIS900 is not set
+# CONFIG_EPIC100 is not set
+# CONFIG_SUNDANCE is not set
+# CONFIG_TLAN is not set
+# CONFIG_VIA_RHINE is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+# CONFIG_ACENIC is not set
+# CONFIG_DL2K is not set
+# CONFIG_E1000 is not set
+# CONFIG_NS83820 is not set
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+# CONFIG_R8169 is not set
+# CONFIG_SIS190 is not set
+# CONFIG_SKGE is not set
+# CONFIG_SK98LIN is not set
+# CONFIG_VIA_VELOCITY is not set
+# CONFIG_TIGON3 is not set
+# CONFIG_BNX2 is not set
+
+#
+# Ethernet (10000 Mbit)
+#
+# CONFIG_CHELSIO_T1 is not set
+# CONFIG_IXGB is not set
+# CONFIG_S2IO is not set
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_AIRO is not set
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
+#
+# CONFIG_PRISM54 is not set
+# CONFIG_HOSTAP is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PPP=m
+# CONFIG_PPP_MULTILINK is not set
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+# CONFIG_PPP_SYNC_TTY is not set
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPPOE is not set
+# CONFIG_SLIP is not set
+# CONFIG_NET_FC is not set
+# CONFIG_SHAPER is not set
+CONFIG_NETCONSOLE=m
+CONFIG_NETPOLL=y
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+CONFIG_NET_POLL_CONTROLLER=y
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+# CONFIG_INPUT_KEYBOARD is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_NSLU2_BEEPER=m
+# CONFIG_INPUT_UINPUT is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+# CONFIG_VT is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+# CONFIG_SERIAL_8250_EXTENDED is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=16
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+CONFIG_WATCHDOG=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+CONFIG_IXP4XX_WATCHDOG=y
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+# CONFIG_NVRAM is not set
+# CONFIG_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+# CONFIG_APPLICOM is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+# CONFIG_TELCLOCK is not set
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_CHARDEV=y
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+# CONFIG_I2C_ALGOPCF is not set
+# CONFIG_I2C_ALGOPCA is not set
+
+#
+# I2C Hardware Bus support
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_I810 is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_IOP3XX is not set
+CONFIG_I2C_IXP4XX=y
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_PARPORT_LIGHT is not set
+# CONFIG_I2C_PROSAVAGE is not set
+# CONFIG_I2C_SAVAGE4 is not set
+# CONFIG_SCx200_ACB is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+# CONFIG_I2C_VOODOO3 is not set
+# CONFIG_I2C_PCA_ISA is not set
+
+#
+# Miscellaneous I2C Chip support
+#
+# CONFIG_SENSORS_DS1337 is not set
+# CONFIG_SENSORS_DS1374 is not set
+CONFIG_SENSORS_EEPROM=y
+# CONFIG_SENSORS_PCF8574 is not set
+# CONFIG_SENSORS_PCA9539 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_SENSORS_RTC8564 is not set
+# CONFIG_SENSORS_MAX6875 is not set
+# CONFIG_RTC_X1205_I2C is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# CONFIG_I2C_DEBUG_CHIP is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ASB100 is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_FSCHER is not set
+# CONFIG_SENSORS_FSCPOS is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Misc devices
+#
+
+#
+# Multimedia Capabilities Port drivers
+#
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=m
+
+#
+# Video For Linux
+#
+
+#
+# Video Adapters
+#
+CONFIG_VIDEO_BT848=m
+# CONFIG_VIDEO_SAA6588 is not set
+CONFIG_VIDEO_CPIA=m
+CONFIG_VIDEO_CPIA_USB=m
+CONFIG_VIDEO_SAA5246A=m
+CONFIG_VIDEO_SAA5249=m
+CONFIG_TUNER_3036=m
+CONFIG_VIDEO_STRADIS=m
+CONFIG_VIDEO_ZORAN=m
+CONFIG_VIDEO_ZORAN_BUZ=m
+CONFIG_VIDEO_ZORAN_DC10=m
+CONFIG_VIDEO_ZORAN_DC30=m
+CONFIG_VIDEO_ZORAN_LML33=m
+CONFIG_VIDEO_ZORAN_LML33R10=m
+CONFIG_VIDEO_SAA7134=m
+# CONFIG_VIDEO_SAA7134_ALSA is not set
+CONFIG_VIDEO_MXB=m
+CONFIG_VIDEO_DPC=m
+CONFIG_VIDEO_HEXIUM_ORION=m
+CONFIG_VIDEO_HEXIUM_GEMINI=m
+CONFIG_VIDEO_CX88=m
+# CONFIG_VIDEO_EM28XX is not set
+CONFIG_VIDEO_OVCAMCHIP=m
+# CONFIG_VIDEO_AUDIO_DECODER is not set
+# CONFIG_VIDEO_DECODER is not set
+
+#
+# Radio Adapters
+#
+# CONFIG_RADIO_GEMTEK_PCI is not set
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_MAESTRO is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+CONFIG_VIDEO_SAA7146=m
+CONFIG_VIDEO_SAA7146_VV=m
+CONFIG_VIDEO_VIDEOBUF=m
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
+CONFIG_VIDEO_TVEEPROM=m
+
+#
+# Graphics support
+#
+# CONFIG_FB is not set
+
+#
+# Sound
+#
+CONFIG_SOUND=m
+
+#
+# Advanced Linux Sound Architecture
+#
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_OSSEMUL=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
+# CONFIG_SND_VERBOSE_PRINTK is not set
+# CONFIG_SND_DEBUG is not set
+
+#
+# Generic devices
+#
+# CONFIG_SND_DUMMY is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# PCI devices
+#
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_YMFPCI is not set
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS4000 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_HDA_INTEL is not set
+
+#
+# ALSA ARM devices
+#
+
+#
+# USB devices
+#
+CONFIG_SND_USB_AUDIO=m
+
+#
+# Open Sound System
+#
+# CONFIG_SOUND_PRIME is not set
+
+#
+# USB support
+#
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB=y
+# CONFIG_USB_DEBUG is not set
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+# CONFIG_USB_BANDWIDTH is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_SPLIT_ISO=y
+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
+# CONFIG_USB_ISP116X_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+# CONFIG_USB_OHCI_BIG_ENDIAN is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_OBSOLETE_OSS_USB_DRIVER is not set
+CONFIG_USB_ACM=m
+CONFIG_USB_PRINTER=m
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_DPCM is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=m
+CONFIG_USB_HIDINPUT=y
+# CONFIG_HID_FF is not set
+CONFIG_USB_HIDDEV=y
+
+#
+# USB HID Boot Protocol drivers
+#
+CONFIG_USB_KBD=m
+# CONFIG_USB_MOUSE is not set
+# CONFIG_USB_AIPTEK is not set
+# CONFIG_USB_WACOM is not set
+# CONFIG_USB_ACECAD is not set
+# CONFIG_USB_KBTAB is not set
+# CONFIG_USB_POWERMATE is not set
+# CONFIG_USB_MTOUCH is not set
+# CONFIG_USB_ITMTOUCH is not set
+# CONFIG_USB_EGALAX is not set
+# CONFIG_USB_YEALINK is not set
+# CONFIG_USB_XPAD is not set
+# CONFIG_USB_ATI_REMOTE is not set
+# CONFIG_USB_KEYSPAN_REMOTE is not set
+# CONFIG_USB_APPLETOUCH is not set
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+
+#
+# USB Multimedia devices
+#
+# CONFIG_USB_DABUSB is not set
+# CONFIG_USB_VICAM is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_IBMCAM is not set
+# CONFIG_USB_KONICAWC is not set
+# CONFIG_USB_OV511 is not set
+# CONFIG_USB_SE401 is not set
+# CONFIG_USB_SN9C102 is not set
+# CONFIG_USB_STV680 is not set
+# CONFIG_USB_W9968CF is not set
+CONFIG_USB_PWC=m
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_RNDIS_HOST is not set
+# CONFIG_USB_NET_CDC_SUBSET is not set
+CONFIG_USB_NET_ZAURUS=m
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_USB_MON is not set
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_AIRPRIME is not set
+# CONFIG_USB_SERIAL_ANYDATA is not set
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+# CONFIG_USB_SERIAL_CP2101 is not set
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_HP4X is not set
+CONFIG_USB_SERIAL_SAFE=m
+# CONFIG_USB_SERIAL_SAFE_PADDED is not set
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_XIRCOM=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_EZUSB=y
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_AUERSWALD is not set
+# CONFIG_USB_RIO500 is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_LED is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_PHIDGETKIT is not set
+# CONFIG_USB_PHIDGETSERVO is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TEST is not set
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_CLASS=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+
+#
+# RTC drivers
+#
+CONFIG_RTC_DRV_X1205=y
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=m
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=m
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=y
+CONFIG_EXT3_FS_SECURITY=y
+CONFIG_JBD=m
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=m
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+CONFIG_REISERFS_FS_SECURITY=y
+# CONFIG_JFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+# CONFIG_XFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_AUTOFS4_FS=m
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_ZISOFS_FS=m
+CONFIG_UDF_FS=m
+CONFIG_UDF_NLS=y
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS_FS is not set
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+CONFIG_JFFS2_FS_WRITEBUFFER=y
+# CONFIG_JFFS2_SUMMARY is not set
+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
+CONFIG_JFFS2_ZLIB=y
+CONFIG_JFFS2_RTIME=y
+# CONFIG_JFFS2_RUBIN is not set
+# CONFIG_JFFS2_NATIVE_ENDIAN is not set
+CONFIG_JFFS2_BIG_ENDIAN=y
+# CONFIG_JFFS2_LITTLE_ENDIAN is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+CONFIG_NFS_DIRECTIO=y
+CONFIG_NFSD=m
+CONFIG_NFSD_V3=y
+# CONFIG_NFSD_V3_ACL is not set
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+# CONFIG_CIFS_EXPERIMENTAL is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=m
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_PRINTK_TIME is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_FRAME_POINTER=y
+# CONFIG_DEBUG_USER is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=m
+CONFIG_CRYPTO_SHA512=m
+CONFIG_CRYPTO_WP512=m
+CONFIG_CRYPTO_TGR192=m
+CONFIG_CRYPTO_DES=m
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_AES=m
+CONFIG_CRYPTO_CAST5=m
+CONFIG_CRYPTO_CAST6=m
+CONFIG_CRYPTO_TEA=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=m
+CONFIG_CRYPTO_ANUBIS=m
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_CRC32C=m
+CONFIG_CRYPTO_TEST=m
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_CRC_CCITT=m
+# CONFIG_CRC16 is not set
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/2.6/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/40-scsi-idle.patch
new file mode 100644 (file)
index 0000000..e04996e
--- /dev/null
@@ -0,0 +1,44 @@
+diff -ur linux-2.6.12.2/drivers/scsi/sd.c linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c
+--- linux-2.6.12.2/drivers/scsi/sd.c   2005-08-27 06:12:31.000000000 +0200
++++ linux-2.6.12.2_scsi-idle/drivers/scsi/sd.c 2005-08-27 06:26:50.000000000 +0200
+@@ -266,6 +266,9 @@
+                           "count=%d\n", disk->disk_name,
+                        (unsigned long long)block, this_count));
++      /* Update idle-since time */
++      sdp->idle = jiffies;
++
+       if (!sdp || !scsi_device_online(sdp) ||
+           block + rq->nr_sectors > get_capacity(disk)) {
+               SCSI_LOG_HLQUEUE(2, printk("Finishing %ld sectors\n", 
+@@ -600,6 +603,8 @@
+               case SCSI_IOCTL_GET_IDLUN:
+               case SCSI_IOCTL_GET_BUS_NUMBER:
+                       return scsi_ioctl(sdp, cmd, p);
++              case SCSI_IOCTL_IDLE:
++                      return (jiffies - sdp->idle) / HZ + 1;
+               default:
+                       error = scsi_cmd_ioctl(filp, disk, cmd, p);
+                       if (error != -ENOTTY)
+diff -ur linux-2.6.12.2/include/scsi/scsi_device.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h
+--- linux-2.6.12.2/include/scsi/scsi_device.h  2005-08-27 06:12:44.000000000 +0200
++++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_device.h        2005-08-27 06:27:09.000000000 +0200
+@@ -125,6 +125,7 @@
+       atomic_t ioerr_cnt;
+       int timeout;
++      unsigned long           idle;   /* scsi idle time in jiffers */
+       struct device           sdev_gendev;
+       struct class_device     sdev_classdev;
+diff -ur linux-2.6.12.2/include/scsi/scsi_ioctl.h linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h
+--- linux-2.6.12.2/include/scsi/scsi_ioctl.h   2005-08-27 06:12:44.000000000 +0200
++++ linux-2.6.12.2_scsi-idle/include/scsi/scsi_ioctl.h 2005-08-28 17:32:17.000000000 +0200
+@@ -7,6 +7,7 @@
+ #define SCSI_IOCTL_SYNC 4                     /* Request synchronous parameters */
+ #define SCSI_IOCTL_START_UNIT 5
+ #define SCSI_IOCTL_STOP_UNIT 6
++#define SCSI_IOCTL_IDLE 4746                  /* get idle time in jiffies */
+ /* The door lock/unlock constants are compatible with Sun constants for
+    the cdrom */
+ #define SCSI_IOCTL_DOORLOCK 0x5380            /* lock the eject mechanism */
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/91-maclist.patch
new file mode 100644 (file)
index 0000000..27af1ea
--- /dev/null
@@ -0,0 +1,377 @@
+--- linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/include/net/maclist.h 1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,23 @@
++#ifndef _MACLIST_H
++#define _MACLIST_H 1
++/*
++ * Interfaces to the MAC repository
++ */
++/*
++ * Add a single entry, returns 0 on success else an error
++ * code.  Must *not* be called from an interrupt handler.
++ */
++extern int maclist_add(const u8 id_to_add[6]);
++
++/*
++ * Return the current entry count (valid in any context).
++ */
++extern int maclist_count(void);
++
++/*
++ * Return the ID from the n'th entry (valid in any context),
++ * returns 0 on success, -EINVAL if 'n' is out of range.
++ */
++extern int maclist_read(u8 (*buffer_for_id)[6], int index_of_id_to_return);
++
++#endif /*_MACLIST_H*/
+--- linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/net/maclist.c 1970-01-01 00:00:00.000000000 +0000
+@@ -0,0 +1,314 @@
++/*
++ * drivers/net/maclist.c
++ *
++ * a simple driver to remember ethernet MAC values
++ *
++ * Some Ethernet hardware implementations have no built-in
++ * storage for allocated MAC values - an example is the Intel
++ * IXP420 chip which has support for Ethernet but no defined
++ * way of storing allocated MAC values.  With such hardware
++ * different board level implementations store the allocated
++ * MAC (or MACs) in different ways.  Rather than put board
++ * level code into a specific Ethernet driver this driver
++ * provides a generally accessible repository for the MACs
++ * which can be written by board level code and read by the
++ * driver.
++ *
++ * The implementation also allows user level programs to
++ * access the MAC information in /proc/net/maclist.  This is
++ * useful as it allows user space code to use the MAC if it
++ * is not used by a built-in driver.
++ *
++ * Copyright (C) 2005 John Bowler
++ * Author: John Bowler <jbowler@acm.org>
++ * Maintainers: http://www.nslu2-linux.org/
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 as published by the Free Software Foundation.
++ *
++ * External interfaces:
++ *  Interfaces to linux kernel (and modules)
++ *   maclist_add:   add a single MAC
++ *   maclist_count: total number of MACs stored
++ *   maclist_read:  read a MAC 0..(maclist_count-1)
++ */
++#include <linux/module.h>
++#include <linux/moduleparam.h>
++#include <linux/etherdevice.h>
++#include <linux/proc_fs.h>
++#include <linux/errno.h>
++
++#include <net/maclist.h>
++
++#define MACLIST_NAME "maclist"
++
++MODULE_AUTHOR("John Bowler <jbowler@acm.org>");
++MODULE_DESCRIPTION("MAC list repository");
++MODULE_LICENSE("GPL");
++
++typedef struct maclist_entry {
++      struct maclist_entry *next;  /* Linked list, first first */
++      u8                    id[6]; /* 6 byte Ethernet MAC */
++} maclist_entry_t;
++
++/* Access to this list is possible at any time - entries in
++ * the list are never destroyed.  Modification of the list is
++ * safe only from the init code (i.e. modification must be
++ * single threaded), but read from an interrupt at the same
++ * time is possible and safe.
++ */
++static maclist_entry_t *maclist_list = 0;
++
++/*
++ * External interfaces.
++ *
++ * Add a single entry, returns 0 on success else an error
++ * code.  Must be single threaded.
++ */
++int maclist_add(const u8 new_id[6]) {
++      maclist_entry_t *new_entry, **tail;
++
++      if (new_id == 0 || !is_valid_ether_addr(new_id)) {
++              printk(KERN_ERR MACLIST_NAME ": invalid ethernet address\n");
++              return -EINVAL;
++      }
++      new_entry = kmalloc(sizeof *new_entry, GFP_KERNEL);
++      if (new_entry == 0)
++              return -ENOMEM;
++      new_entry->next = 0;
++      memcpy(new_entry->id, new_id, sizeof new_entry->id);
++
++      tail = &maclist_list;
++      while (*tail != 0)
++              tail = &(*tail)->next;
++      *tail = new_entry;
++      return 0;
++}
++EXPORT_SYMBOL(maclist_add);
++
++/*
++ * Return the current entry count (valid in any context).
++ */
++int maclist_count(void) {
++      maclist_entry_t *tail = maclist_list;
++      int count = 0;
++
++      while (tail != 0) {
++              tail = tail->next;
++              ++count;
++      }
++
++      return count;
++}
++EXPORT_SYMBOL(maclist_count);
++
++/*
++ * Return the ID from the n'th entry (valid in any context),
++ * returns 0 on success, -EINVAL if 'n' is out of range.
++ */
++int maclist_read(u8 (*id)[6], int n) {
++      maclist_entry_t *entry = maclist_list;
++
++      while (n > 0 && entry != 0) {
++              --n;
++              entry = entry->next;
++      }
++
++      if (n == 0 && entry != 0) {
++              memcpy(id, entry->id, sizeof *id);
++              return 0;
++      }
++
++      printk(KERN_ERR MACLIST_NAME ": id does not exist\n");
++      return -EINVAL;
++}
++EXPORT_SYMBOL(maclist_read);
++
++/*
++ * Parameter parsing.  The option string is a list of MAC
++ * addresses, comma separated.  (The parsing really should
++ * be somewhere central...)
++ */
++static int __init maclist_setup(char *param) {
++      int bytes = 0, seen_a_digit = 0;
++      u8 id[6];
++
++      memset(id, 0, sizeof id);
++
++      if (param) do {
++              int digit = -1;
++              switch (*param) {
++              case '0': digit = 0; break;
++              case '1': digit = 1; break;
++              case '2': digit = 2; break;
++              case '3': digit = 3; break;
++              case '4': digit = 4; break;
++              case '5': digit = 5; break;
++              case '6': digit = 6; break;
++              case '7': digit = 7; break;
++              case '8': digit = 8; break;
++              case '9': digit = 9; break;
++              case 'a': case 'A': digit = 10; break;
++              case 'b': case 'B': digit = 11; break;
++              case 'c': case 'C': digit = 12; break;
++              case 'd': case 'D': digit = 13; break;
++              case 'e': case 'E': digit = 14; break;
++              case 'f': case 'F': digit = 15; break;
++              case ':':
++                      if (seen_a_digit)
++                              bytes = (bytes+1) & ~1;
++                      else
++                              bytes += 2; /* i.e. ff::ff is ff:00:ff */
++                      seen_a_digit = 0;
++                      break;
++              case 0:
++                      if (bytes == 0) /* nothing new seen so far */
++                              return 0;
++                      /*fall through*/
++              case ',': case ';':
++                      if (bytes > 0)
++                              bytes = 12; /* i.e. all trailing bytes 0 */
++                      break;
++              default:
++                      printk(KERN_ERR MACLIST_NAME ": invalid character <%c[%d]>\n",
++                                      *param, *param);
++                      return -EINVAL;
++              }
++
++              if (digit >= 0) {
++                      id[bytes>>1] = (id[bytes>>1] << 4) + digit; break;
++                      ++bytes;
++                      seen_a_digit = 1;
++              }
++
++              if (bytes >= 12) {
++                      int rc = maclist_add(id);
++                      if (rc)
++                              return rc;
++                      bytes = 0;
++                      seen_a_digit = 0;
++                      memset(id, 0, sizeof id);
++                      if (*param == 0)
++                              return 0;
++              }
++              ++param;
++      } while (1);
++
++      return 0;
++}
++
++/*
++ * procfs support, if compiled in.
++ */
++#ifdef CONFIG_PROC_FS
++/*
++ * Character device read
++ */
++static int maclist_getchar(off_t n) {
++      static char xdigit[16] = "0123456789abcdef";
++      maclist_entry_t *head = maclist_list;
++      int b;
++
++      do {
++              if (head == 0)
++                      return -1;
++              if (n < 18)
++                      break;
++              head = head->next;
++              n -= 18;
++      } while (1);
++
++      if (n == 17)
++              return '\n';
++
++      b = n/3;
++      switch (n - b*3) {
++      case 0: return xdigit[head->id[b] >> 4];
++      case 1: return xdigit[head->id[b] & 0xf];
++      default: return ':';
++      }
++}
++
++/*
++ * The extensively undocumented proc_read_t callback is implemented here.
++ * Go look in fs/proc/generic.c:
++ *
++ * Prototype:
++ *    int f(char *buffer, char **start, off_t offset,
++ *          int count, int *peof, void *dat)
++ *
++ * Assume that the buffer is "count" bytes in size.
++ *
++ * 2) Set *start = an address within the buffer.
++ *    Put the data of the requested offset at *start.
++ *    Return the number of bytes of data placed there.
++ *    If this number is greater than zero and you
++ *    didn't signal eof and the reader is prepared to
++ *    take more data you will be called again with the
++ *    requested offset advanced by the number of bytes
++ *    absorbed.
++ */
++static int maclist_proc_read(char *buffer, char **start, off_t offset,
++              int count, int *peof, void *dat) {
++      int total;
++
++      *start = buffer;
++      total = 0;
++
++      while (total < count) {
++              int ch = maclist_getchar(offset++);
++              if (ch == -1) {
++                      *peof = 1;
++                      break;
++              }
++              *buffer++ = ch;
++              ++total;
++      }
++
++      return total;
++}
++#endif
++
++/*
++ * Finally, the init/exit functions.
++ */
++static void __exit maclist_exit(void)
++{
++      maclist_entry_t *list;
++
++      remove_proc_entry(MACLIST_NAME, proc_net);
++
++      list = maclist_list;
++      maclist_list = 0;
++
++      while (list != 0) {
++              maclist_entry_t *head = list;
++              list = head->next;
++              kfree(head);
++      }
++}
++
++#ifdef MODULE
++static char ids[256];
++module_param_string(ids, ids, sizeof ids, 0);
++MODULE_PARM_DESC(ids, "comma separated list of MAC ids\n");
++#else
++__setup("maclist_ids=", maclist_setup);
++#endif
++
++static int __init maclist_init(void)
++{
++#     ifdef MODULE
++              if (ids[0])
++                      maclist_setup(ids);
++#     endif
++
++      /* Ignore failure, the module will still work. */
++      (void)create_proc_read_entry(MACLIST_NAME, S_IRUGO, proc_net, maclist_proc_read, NULL);
++
++      return 0;
++}
++
++module_init(maclist_init);
++module_exit(maclist_exit);
+--- linux-2.6.15/drivers/net/Makefile  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/net/Makefile  1970-01-01 00:00:00.000000000 +0000
+@@ -70,6 +70,7 @@ obj-$(CONFIG_RIONET) += rionet.o
+ # end link order section
+ #
++obj-$(CONFIG_MACLIST) += maclist.o
+ obj-$(CONFIG_MII) += mii.o
+ obj-$(CONFIG_PHYLIB) += phy/
+--- linux-2.6.15/drivers/net/Kconfig   1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/drivers/net/Kconfig   1970-01-01 00:00:00.000000000 +0000
+@@ -166,6 +166,21 @@ config NET_ETHERNET
+         kernel: saying N will just cause the configurator to skip all
+         the questions about Ethernet network cards. If unsure, say N.
++config MACLIST
++      tristate "Ethernet MAC repository"
++      depends on NET_ETHERNET
++      help
++        Some ethernet controllers have no built-in way of obtaining an
++        appropriate Ethernet MAC address.  Such controllers have to be
++        initialised in a board-specific way, depending on how the allocated
++        MAC is stored.  The MAC repository provides a set of APIs and a
++        proc entry (/proc/net/maclist) to store MAC values from the board
++        so that such drivers can obtain a MAC address without board-specific
++        code.  You do not need to enable this device - it will be selected
++        automatically by any device which requires it.  It is only useful
++        to enable it manually when building a device driver independently
++        of the kernel build.
++
+ config MII
+       tristate "Generic Media Independent Interface device support"
+       depends on NET_ETHERNET
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/92-nslu2-maclist.patch
new file mode 100644 (file)
index 0000000..c8b8a9b
--- /dev/null
@@ -0,0 +1,80 @@
+--- linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig  1970-01-01 00:00:00.000000000 +0000
+@@ -11,8 +11,8 @@ comment "IXP4xx Platforms"
+ # This entry is placed on top because otherwise it would have
+ # been shown as a submenu.
+ config MACH_NSLU2
+-      bool
+-      prompt "NSLU2" if !(MACH_IXDP465 || MACH_IXDPG425 || ARCH_IXDP425 || ARCH_ADI_COYOTE || ARCH_AVILA || ARCH_IXCDP1100 || ARCH_PRPMC1100 || MACH_GTWX5715)
++      bool "NSLU2"
++      select MACLIST
+       help
+         Say 'Y' here if you want your kernel to support Linksys's
+         NSLU2 NAS device. For more information on this platform,
+--- linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
++++ linux-2.6.15/arch/arm/mach-ixp4xx/nslu2-setup.c    1970-01-01 00:00:00.000000000 +0000
+@@ -16,11 +16,14 @@
+ #include <linux/kernel.h>
+ #include <linux/serial.h>
+ #include <linux/serial_8250.h>
++#include <linux/mtd/mtd.h>
+ #include <asm/mach-types.h>
+ #include <asm/mach/arch.h>
+ #include <asm/mach/flash.h>
++#include <net/maclist.h>
++
+ static struct flash_platform_data nslu2_flash_data = {
+       .map_name               = "cfi_probe",
+       .width                  = 2,
+@@ -112,6 +115,37 @@ static void nslu2_power_off(void)
+       gpio_line_set(NSLU2_PO_GPIO, IXP4XX_GPIO_HIGH);
+ }
++/*
++ * When the RedBoot partition is added the MAC address is read from
++ * it.
++ */
++void flash_add(struct mtd_info *mtd) {
++      if (strcmp(mtd->name, "RedBoot") == 0) {
++              size_t retlen;
++              u_char mac[6];
++
++              /* The MAC is at a known offset... */
++              if (mtd->read(mtd, 0x3FFB0, 6, &retlen, mac) == 0 && retlen == 6) {
++                      printk(KERN_INFO "NSLU2 MAC: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
++                              mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
++                      maclist_add(mac);
++              } else {
++                      printk(KERN_ERR "NSLU2 MAC: read failed\n");
++              }
++      }
++}
++
++/*
++ * Nothing to do on remove at present.
++ */
++void flash_remove(struct mtd_info *mtd) {
++}
++
++struct mtd_notifier flash_notifier = {
++      .add = flash_add,
++      .remove = flash_remove,
++};
++
+ static void __init nslu2_init(void)
+ {
+       /* The NSLU2 has a 33MHz crystal on board - 1.01% different
+@@ -119,6 +153,11 @@ static void __init nslu2_init(void)
+        */
+       ixp4xx_set_board_tick_rate(66000000);
++      /* The flash has an ethernet MAC embedded in it which we need,
++       * that is all this notifier does.
++       */
++      register_mtd_user(&flash_notifier);
++
+       ixp4xx_sys_init();
+       pm_power_off = nslu2_power_off;
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/compile-switches.patch
new file mode 100644 (file)
index 0000000..4b7a688
--- /dev/null
@@ -0,0 +1,58 @@
+--- linux-2.6.11/arch/arm/Makefile.orig        2005-03-20 15:02:07.587138712 -0800
++++ linux-2.6.11/arch/arm/Makefile     2005-03-20 15:10:36.546765088 -0800
+@@ -33,6 +33,12 @@
+ AFLAGS                += -mlittle-endian
+ endif
++ifeq ($(CONFIG_ARM_THUMB_INTERWORK),y)
++CFLAGS                += -mthumb-interwork
++else
++CFLAGS                += -mno-thumb-interwork
++endif
++
+ comma = ,
+ # This selects which instruction set is used.
+@@ -43,6 +49,8 @@
+ arch-$(CONFIG_CPU_32v5)               :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=armv5te,-march=armv4)
+ arch-$(CONFIG_CPU_32v4)               :=-D__LINUX_ARM_ARCH__=4 -march=armv4
+ arch-$(CONFIG_CPU_32v3)               :=-D__LINUX_ARM_ARCH__=3 -march=armv3
++# The following overrides the CPU_32v5 setting if specified
++arch-$(CONFIG_ARCH_XSCALE)    :=-D__LINUX_ARM_ARCH__=5 $(call cc-option,-march=xscale,-march=armv5te)
+ # This selects how we optimise for the processor.
+ tune-$(CONFIG_CPU_ARM610)     :=-mtune=arm610
+--- linux-2.6.11/arch/arm/mm/Kconfig.orig      2005-03-20 14:54:07.927058128 -0800
++++ linux-2.6.11/arch/arm/mm/Kconfig   2005-03-20 15:01:26.727350344 -0800
+@@ -366,6 +366,31 @@
+         If you don't know what this all is, saying Y is a safe choice.
++config ARM_THUMB_INTERWORK
++      bool "Support Thumb code within the kernel"
++      depends on CPU_ARM720T || CPU_ARM920T || CPU_ARM922T || CPU_ARM925T || CPU_ARM926T || CPU_ARM1020 || CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || CPU_XSCALE || CPU_V6
++      default n
++      help
++        Say Y to compile the whole kernel with support for the interworking
++        of the 16 bit thumb instruction set and 32 bit ARM instruction set.
++
++        You only need this if some parts of the kernel will be compiled
++        as thumb code, this is not usual.  It increases the total kernel
++        size by about 3%.
++
++config ARCH_XSCALE
++      bool "Use -march=xscale in preference to -march=armv5te"
++      depends on CPU_XSCALE
++      default y
++      help
++        Say yes to ask gcc to use the xscale architecture (instruction set)
++        in preference to armv5te.  This allows gcc to use the extra xscale
++        instructions but means the code will not run on a standard (non-xscale)
++        armv5te.  At present this makes no difference - gcc 3.4.3 does not
++        generate any xscale specific instructions - however gcc 3.4.3 does
++        generate slightly more optimal instructions if this is specified (this
++        is an error inside gcc 3.4.3 which should be fixed in 4.1.)
++
+ config CPU_BIG_ENDIAN
+       bool "Build big-endian kernel"
+       depends on ARCH_SUPPORTS_BIG_ENDIAN
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/ixp4xx-regs.patch
new file mode 100644 (file)
index 0000000..32f7e3c
--- /dev/null
@@ -0,0 +1,11 @@
+--- linux-2.6.11/.pc/2.6.patch/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h       2005-03-01 23:37:49.000000000 -0800
++++ linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h     2005-06-17 17:51:32.569981939 -0700
+@@ -52,7 +52,7 @@
+  * Expansion BUS Configuration registers
+  */
+ #define IXP4XX_EXP_CFG_BASE_PHYS      (0xC4000000)
+-#define IXP4XX_EXP_CFG_BASE_VIRT      (0xFFBFD000)
++#define IXP4XX_EXP_CFG_BASE_VIRT      (0xFFBFE000)
+ #define IXP4XX_EXP_CFG_REGION_SIZE    (0x00001000)
+ /*
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/nslu2-io_rpbutton.patch
new file mode 100644 (file)
index 0000000..b5ce101
--- /dev/null
@@ -0,0 +1,139 @@
+--- nslu2-io.c.old     2da1d3f5c0aa0804c5769588337077ddcb35c5e9
++++ linux-2.6.12.2/arch/arm/mach-ixp4xx/nslu2-io.c     e895da638b4aae16a11fafe52ae0b063645a9a12
+@@ -158,6 +158,8 @@
+ #define LED_DISK2     3
+ #define LED_ALL               4
++static int nslu2_shutdown_in_progress = 0;
++
+ static unsigned long init_jiffy = 0;                  //jiffies at init time
+ static unsigned long rb_presses = 0;                  //number of reset button presses
+ static unsigned long ontime = 50;
+@@ -503,40 +505,20 @@
+ static irqreturn_t n2pb_handler (int irq, void *dev_id, struct pt_regs *regs)
+ {
+       void *ret;
+-      
+-      wake_up(&n2pb_waitq);   
+-      remove_proc_entry(PWR_OFF_STR, NULL);           //no parent     
+-      n2_buzz(N2_BEEP_PITCH_MED, N2_BEEP_DUR_MED);
+-      ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
+-      nslu2_io_debug((KERN_DEBUG "cpe ret = %p\n", ret));
+-
+-// WARNING: This is RUDE...it unconditionally pulls the power plug.
+-// Your data will be at risk...since this is just a test system
+-// I am leaving it enabled...eventually userland needs to get the
+-// message, do an orderly shutdown and use an ioctl or something in
+-// /proc/powerdowm to actually have us pull the plug.
+-
+-      machine_power_off();
+-
++      if (!nslu2_shutdown_in_progress++) {                    
++              wake_up(&n2pb_waitq);   
++              remove_proc_entry(PWR_OFF_STR, NULL);           //no parent     
++              n2_buzz(N2_BEEP_PITCH_HIGH, N2_BEEP_DUR_SHORT); // Short, high-pitched "OK"
++              ret = create_proc_entry(PWR_OFF_STR, 0, NULL);
++              nslu2_io_debug((KERN_DEBUG "Powerbutton pressed. Shutting down. cpe ret = %p\n", ret));
++              kill_proc(1,SIGINT,1);                          // Signal init to shut down
++      } else {
++              n2_buzz(N2_BEEP_PITCH_LOW, N2_BEEP_DUR_MED);    // Make a scary noise!
++              nslu2_io_debug((KERN_DEBUG "Powerbutton pressed while already in shutdown")); // Whine!
++      }                                
+       return IRQ_HANDLED;
+ }
+-//==================================================================================================
+-//
+-//static void do_rb_timeout(unsigned long data)
+-//{
+-//    int i;
+-//
+-//    for (i = 0; i < rb_presses; i++)
+-//            n2_buzz(N2_BEEP_PITCH_MED,N2_BEEP_DUR_SHORT);
+-//    return;
+-//}
+-//
+-//==================================================================================================
+-// does nothing -- waiting for userland to define
+-// This thing is sorta braindead...edge triggered IRQs aren't available in the drivers yet...so
+-// we hang in a loop until the button is no longer pressed
+-
+ struct testr {
+       int     ctl;
+       long    param;
+@@ -544,72 +526,11 @@
+ static irqreturn_t n2rb_handler (int irq, void *dev_id, struct pt_regs *regs)
+ {
++//    This doesn't reset the NSLU2. It powers it off. Close enough, since reset is unreliable
+-      static struct testr test[] = {
+-                               { N2LM_ALL_OFF,0 },
+-                               { N2LM_ON,0 },
+-                               { N2LM_OFF,0 },
+-                               { N2LM_ON,1 },
+-                               { N2LM_ALL_OFF,1 },
+-                               { N2LM_ON,2 },
+-                               { N2LM_OFF,2 },
+-                               { N2LM_ON,3 },
+-                               { N2LM_OFF,3 },
+-                               { N2LM_BLINK,0 },
+-                               { N2LM_OFF,0 },
+-                               { N2LM_BLINK,1 },
+-                               { N2LM_OFF,1 },
+-                               { N2LM_BLINK,2 },
+-                               { N2LM_OFF,2 },
+-                               { N2LM_BLINK,3 },
+-                               { N2LM_OFF,3 },
+-                               { N2LM_ALL_OFF,0 },
+-                               { N2LM_ALT,1 },
+-                               { N2LM_OFF,1 },
+-                               { N2LM_ALL_ON,0 }
+-      };
+-
+-      nslu2_io_debug(("Reset Entry IRQ =%d Presses = %d Jiffies = %08lx\tIO = %x\tIOW = %x\n", irq, rb_presses, jiffies, (int)_IO('M',rb_presses), (int)_IOW('M',rb_presses,long)));
+-
+       wake_up(&n2rb_waitq);   
+-      while ((*IXP4XX_GPIO_GPINR & GPIO_RB_BM) == 0)
+-              ;                                       //wait for button release
+-
+-      if (rb_presses > 20) 
+-              rb_presses = 0;
+-      tone = (rb_presses * 50) + 200;
+-      ontime = (rb_presses*10) + 100;
+-      offtime = 500 - (rb_presses*20);
+-      nslu2_io_debug(("Ontime = %d\tOfftime = %d\tTone = %d\n",ontime,offtime,tone));
+-      rb_presses++;
+-
+-      n2bz_ioctl(NULL,NULL, N2BZ_BEEPS, rb_presses);  
+-      n2lm_ioctl(NULL,NULL, test[rb_presses].ctl, test[rb_presses].param);
+-//    if (rb_presses == 0) {
+-//            init_jiffy = jiffies;
+-//            init_timer (&n2rb_timer);
+-//            n2rb_timer.function = do_rb_timeout;
+-//    };
+-//
+-//    if (rb_presses == 8)
+-//            rb_presses = 0;
+-//    if (rb_presses & 1)
+-//            n2lm_ledon(test[rb_presses]);
+-//    else
+-//            n2lm_ledoff(test[rb_presses]);
+-//    
+-//    n2rb_timer.expires = (jiffies + RB_DELAY);
+-//    add_timer (&n2rb_timer);
+-//    if (rb_presses < 5) {
+-//            if (rb_presses > 0)
+-//                    n2lm_ledoff(rb_presses);
+-//            n2lm_ledon(++rb_presses);
+-//            n2lm_timer_start(rb_presses);
+-//    };
+-
+-      nslu2_io_debug((KERN_DEBUG "Reset Exit IRQ=%d Presses= %d Jiffies= %08lx\n", irq, rb_presses, jiffies));
+-      return IRQ_HANDLED;
+-
++      machine_power_off();
++      return IRQ_HANDLED;             // So we don't get a nobody cared error :-P
+ }
+ //==================================================================================================
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/thumb-swi.patch
new file mode 100644 (file)
index 0000000..2e73bb1
--- /dev/null
@@ -0,0 +1,19 @@
+# This patch changes the thumb swi handling for any thumb swi with
+# an immediate value != 0, those swis are mapped into the arm
+# specific swis.  This implements a thumb breakpoint swi.
+--- linux-2.6.12.2/arch/arm/kernel/entry-common.S.orig 2005-09-19 12:48:42.323365573 -0700
++++ linux-2.6.12.2/arch/arm/kernel/entry-common.S      2005-09-19 13:31:19.004247358 -0700
+@@ -137,8 +137,11 @@
+        */
+ #ifdef CONFIG_ARM_THUMB
+       tst     r8, #PSR_T_BIT                  @ this is SPSR from save_user_regs
+-      addne   scno, r7, #__NR_SYSCALL_BASE    @ put OS number in
+-      ldreq   scno, [lr, #-4]
++      ldrneh  ip, [lr, #-2]                   @ thumb swi instruction
++      ldreq   scno, [lr, #-4]                 @ arm swi instruction
++      addne   scno, r7, #__NR_SYSCALL_BASE    @ put OS number in to thumb r7 value
++      bicnes  ip, ip, #0xff00                 @ clear thumb swi bits
++      addne   scno, ip, #__ARM_NR_BASE        @ thumb swi0->r7, swi!0->arm swi
+ #else
+       ldr     scno, [lr, #-4]                 @ get SWI instruction
+ #endif
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/timer.patch
new file mode 100644 (file)
index 0000000..6279746
--- /dev/null
@@ -0,0 +1,24 @@
+# Fix for the NSLU2 timer problem (tickadj 10101.01 when it should be 10000)
+# Also contains a fix for the more generate problem on the ixp4xx in that the
+# Intel spec says to use a 33.33MHz crystal, not 33.333333Mhz
+
+--- linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h.orig    2005-08-05 11:02:09.872690723 -0700
++++ linux-2.6.12.2/include/asm-arm/arch-ixp4xx/timex.h 2005-08-05 11:45:08.786971567 -0700
+@@ -7,7 +7,14 @@
+ /*
+  * We use IXP425 General purpose timer for our timer needs, it runs at 
+- * 66.66... MHz
++ * 66.66 MHz (exactly) by the Intel specification.
+  */
+-#define CLOCK_TICK_RATE (66666666)
+-
++#if 0
++#define CLOCK_TICK_RATE (66660000)
++#else
++/*
++ * Unfortunately the NSLU2 has a 33MHz crystal, so the rate is not the
++ * specified one.
++ */
++#define CLOCK_TICK_RATE (66000000)
++#endif
diff --git a/packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch b/packages/obsolete/nslu2/nslu2-kernel/2.6/x1205-rtc.patch
new file mode 100644 (file)
index 0000000..913f44e
--- /dev/null
@@ -0,0 +1,38 @@
+--- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Kconfig       2005-06-17 17:51:28.635578329 -0700
++++ linux-2.6.11/drivers/i2c/chips/Kconfig     2005-06-17 17:51:32.565982545 -0700
+@@ -430,6 +430,15 @@
+         
+         This driver can also be built as a module.  If so, the module
+         will be called isp1301_omap.
++config SENSORS_X1205
++       tristate "Xicor X1205 RTC chip"
++       depends on I2C && EXPERIMENTAL
++       select I2C_SENSOR
++       help
++         If you say yes here you get support for the Xicor x1205 RTC chip.
++ 
++         This driver can also be built as a module.  If so, the module
++         will be called x1205-rtc
+ config SENSORS_M41T00
+       tristate "ST M41T00 RTC chip"
+--- linux-2.6.11/.pc/2.6.patch/drivers/i2c/chips/Makefile      2005-06-17 17:51:28.636578177 -0700
++++ linux-2.6.11/drivers/i2c/chips/Makefile    2005-06-17 17:51:32.566982394 -0700
+@@ -41,6 +41,7 @@
+ obj-$(CONFIG_SENSORS_VIA686A) += via686a.o
+ obj-$(CONFIG_SENSORS_W83L785TS)       += w83l785ts.o
+ obj-$(CONFIG_ISP1301_OMAP)    += isp1301_omap.o
++obj-$(CONFIG_SENSORS_X1205)     += x1205-rtc.o
+ ifeq ($(CONFIG_I2C_DEBUG_CHIP),y)
+ EXTRA_CFLAGS += -DDEBUG
+--- linux-2.6.11/.pc/2.6.patch/include/linux/i2c-id.h  2005-06-17 17:51:31.358165630 -0700
++++ linux-2.6.11/include/linux/i2c-id.h        2005-06-17 17:51:32.569981939 -0700
+@@ -108,6 +108,7 @@
+ #define I2C_DRIVERID_TDA7313  62      /* TDA7313 audio processor      */
+ #define I2C_DRIVERID_MAX6900  63      /* MAX6900 real-time clock      */
+ #define I2C_DRIVERID_SAA7114H 64      /* video decoder                */
++#define I2C_DRIVERID_X1205    0xF0
+ #define I2C_DRIVERID_EXP0     0xF0    /* experimental use id's        */
diff --git a/packages/obsolete/nslu2/nslu2-kernel/files/.mtn2git_empty b/packages/obsolete/nslu2/nslu2-kernel/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch b/packages/obsolete/nslu2/nslu2-kernel/files/anonymiser.patch
new file mode 100644 (file)
index 0000000..3384b15
--- /dev/null
@@ -0,0 +1,22 @@
+--- linux-2.6.11.2/scripts/mkcompile_h.orig    2005-05-07 05:27:02.440000000 +0000
++++ linux-2.6.11.2/scripts/mkcompile_h 2005-05-07 05:28:30.360000000 +0000
+@@ -43,16 +43,9 @@
+   echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
+   echo \#define LINUX_COMPILE_TIME \"`LC_ALL=C LANG=C date +%T`\"
+-  echo \#define LINUX_COMPILE_BY \"`whoami`\"
+-  echo \#define LINUX_COMPILE_HOST \"`hostname | $UTS_TRUNCATE`\"
+-
+-  if [ -x /bin/dnsdomainname ]; then
+-    echo \#define LINUX_COMPILE_DOMAIN \"`dnsdomainname | $UTS_TRUNCATE`\"
+-  elif [ -x /bin/domainname ]; then
+-    echo \#define LINUX_COMPILE_DOMAIN \"`domainname | $UTS_TRUNCATE`\"
+-  else
+-    echo \#define LINUX_COMPILE_DOMAIN
+-  fi
++  echo \#define LINUX_COMPILE_BY \"openslug\"
++  echo \#define LINUX_COMPILE_HOST \"openslug.org\"
++  echo \#define LINUX_COMPILE_DOMAIN \"openslug.org\"
+   echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
+ ) > .tmpcompile
diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.14-mm1.bb
new file mode 100644 (file)
index 0000000..dff6b0e
--- /dev/null
@@ -0,0 +1,38 @@
+# Kernel for NSLU2
+#
+# Increment PR_CONFIG for changes to the nslu2-kernel specific
+# defconfig (do *NOT* increment anything in here for changes
+# to other kernel configs!)
+PR_CONFIG = "0"
+#
+# Increment the number below (i.e. the digits after PR) when
+# making changes within this file or for changes to the patches
+# applied to the kernel.
+PR = "r1.${PR_CONFIG}"
+
+require nslu2-kernel.inc
+
+# N2K_PATCHES - full list of patches to apply
+N2K_PATCHES = "\
+       file://00-memory-h-page-shift.patch;patch=1 \
+       file://90-ixp4xx-pci-le.patch;patch=1 \
+       file://18-ixp4xx-io-h-addr.patch;patch=1 \
+       file://19-jffs2-force-be.patch;patch=1 \
+       file://20-timer.patch;patch=1 \
+       file://29-ipv4-route-c-spinlock.patch;patch=1 \
+       file://30-i2c-x1205-mm1.patch;patch=1 \
+       file://50-nslu2-arch.patch;patch=1 \
+       file://55-nslu2-rtc.patch;patch=1 \
+       file://60-nslu2-beeper.patch;patch=1 \
+       file://70-nslu2-io.patch;patch=1 \
+       file://75-nslu2-leds.patch;patch=1 \
+       file://80-nslu2-class-device-create.patch;patch=1 \
+       file://90-pegasus.patch;patch=1 \
+       file://anonymiser.patch;patch=1 \
+"
+
+# These options get added to the kernel command line, only put things
+# specific to the bootstrap of *this* kernel in here - DISTRO specfic
+# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
+# in nslu2-kernel.inc)
+CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1"
diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.14.5.bb
new file mode 100644 (file)
index 0000000..b7790be
--- /dev/null
@@ -0,0 +1,42 @@
+# Kernel for NSLU2
+#
+# Increment PR_CONFIG for changes to the nslu2-kernel specific
+# defconfig (do *NOT* increment anything in here for changes
+# to other kernel configs!)
+PR_CONFIG = "0"
+#
+# Increment the number below (i.e. the digits after PR) when
+# making changes within this file or for changes to the patches
+# applied to the kernel.
+PR = "r0.${PR_CONFIG}"
+
+require nslu2-kernel.inc
+
+# N2K_PATCHES - full list of patches to apply
+N2K_PATCHES = "\
+       file://90-ixp4xx-pci-le.patch;patch=1 \
+       file://10-ixp4xx-copy-from.patch;patch=1 \
+       file://10-ixp4xx-le.patch;patch=1 \
+       file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \
+       file://15-ixp4xx-writesb-l-w.patch;patch=1 \
+       file://18-ixp4xx-io-h-addr.patch;patch=1 \
+       file://19-jffs2-force-be.patch;patch=1 \
+       file://29-ipv4-route-c-spinlock.patch;patch=1 \
+       file://30-i2c-x1205.patch;patch=1 \
+       file://50-nslu2-arch.patch;patch=1 \
+       file://55-nslu2-rtc.patch;patch=1 \
+       file://60-nslu2-beeper.patch;patch=1 \
+       file://70-nslu2-io.patch;patch=1 \
+       file://75-nslu2-leds.patch;patch=1 \
+       file://90-pegasus.patch;patch=1 \
+       file://20-timer.patch;patch=1 \
+       file://91-maclist.patch;patch=1 \
+       file://92-nslu2-maclist.patch;patch=1 \
+       file://anonymiser.patch;patch=1 \
+"
+
+# These options get added to the kernel command line, only put things
+# specific to the bootstrap of *this* kernel in here - DISTRO specfic
+# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
+# in nslu2-kernel.inc)
+CMDLINE_KERNEL_OPTIONS = "x1205.hctosys=1"
diff --git a/packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb b/packages/obsolete/nslu2/nslu2-kernel_2.6.15.bb
new file mode 100644 (file)
index 0000000..68b2b56
--- /dev/null
@@ -0,0 +1,35 @@
+# Kernel for NSLU2
+#
+# Increment PR_CONFIG for changes to the nslu2-kernel specific
+# defconfig (do *NOT* increment anything in here for changes
+# to other kernel configs!)
+PR_CONFIG = "0"
+#
+# Increment the number below (i.e. the digits after PR) when
+# making changes within this file or for changes to the patches
+# applied to the kernel.
+PR = "r3.${PR_CONFIG}"
+
+require nslu2-kernel.inc
+
+# N2K_PATCHES - full list of patches to apply
+N2K_PATCHES = "\
+       file://00-memory-h-page-shift.patch;patch=1 \
+       file://10-mtdpart-redboot-fis-byteswap.patch;patch=1 \
+       file://15-jffs2-endian-config.patch;patch=1 \
+       file://40-rtc-class.patch;patch=1 \
+       file://40-scsi-idle.patch;patch=1 \
+       file://60-nslu2-beeper.patch;patch=1 \
+       file://75-nslu2-leds.patch;patch=1 \
+       file://80-nslu2-io.patch;patch=1 \
+       file://85-timer.patch;patch=1 \
+       file://91-maclist.patch;patch=1 \
+       file://92-nslu2-maclist.patch;patch=1 \
+       file://anonymiser.patch;patch=1 \
+"
+
+# These options get added to the kernel command line, only put things
+# specific to the bootstrap of *this* kernel in here - DISTRO specfic
+# config must be in CMDLINE_ROOT (see the full definition of CMDLINE
+# in nslu2-kernel.inc)
+CMDLINE_KERNEL_OPTIONS = "rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f"
index d680ebf..d4e2da5 100644 (file)
@@ -3,6 +3,7 @@ SRC_URI = "svn://svn.openchrome.org/svn;module=trunk;proto=http \
 S = "${WORKDIR}/trunk"
 
 PACKAGES = "libviaXvMC libviaXvMCPro libviaXvMC-dev libviaXvMCPro-dev libviaXvMC-dbg libviaXvMCPro-dbg ${PN}-doc"
+PACKAGES_DYNAMIC = "xorg-driver-via"
 
 FILES_libviaXvMC = "${libdir}/libviaXvMC.so.*"
 FILES_libviaXvMCPro = "${libdir}/libviaXvMCPro.so.*"
diff --git a/packages/portmap/portmap-5-24/.mtn2git_empty b/packages/portmap/portmap-5-24/.mtn2git_empty
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/packages/portmap/portmap-5-24/make.patch b/packages/portmap/portmap-5-24/make.patch
deleted file mode 100644 (file)
index 7726846..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
-Index: portmap_5beta/Makefile
-===================================================================
---- portmap_5beta.orig/Makefile        2006-12-19 10:32:58.000000000 +0000
-+++ portmap_5beta/Makefile     2006-12-19 10:35:54.000000000 +0000
-@@ -110,6 +110,13 @@
- #
- #CONST   = -Dconst=
-+DESTDIR =
-+prefix = /usr
-+sbindir = /sbin
-+datadir = $(prefix)/share
-+mandir = $(datadir)/man
-+docdir = $(datadir)/doc/portmap
-+
- ### End of configurable stuff.
- ##############################
-@@ -127,7 +134,7 @@
- COPT  = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
-       $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(BROKEN_PIPE) \
-       $(SA_LEN) $(LOOPBACK) $(SETPGRP)
--CFLAGS        = -Wall $(COPT) -O2 $(NSARCHS)
-+CFLAGS        = -Wall -O2 $(NSARCHS)
- OBJECTS       = portmap.o pmap_check.o from_local.o $(AUX)
- all:  portmap pmap_dump pmap_set
-@@ -142,20 +149,23 @@
-       $(CC) $(CFLAGS) -o $@ $? $(LIBS)
- from_local: from_local.c
--      cc $(CFLAGS) -DTEST -o $@ from_local.c
-+      $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ from_local.c
- get_myaddress: get_myaddress.c
--      cc $(CFLAGS) -DTEST -o $@ get_myaddress.c $(LIBS)
-+      $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ get_myaddress.c $(LIBS)
- install: all
--      install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
--      install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/sbin
--      install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/sbin
--      install -o root -g root -m 0644 portmap.8 ${BASEDIR}/usr/share/man/man8
--      install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
--      install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
--      cat BLURB >${BASEDIR}/usr/share/doc/portmap/portmapper.txt
--      gzip -9f ${BASEDIR}/usr/share/doc/portmap/portmapper.txt
-+      install -d $(DESTDIR)/$(sbindir) \
-+                 $(DESTDIR)/$(docdir) \
-+                 $(DESTDIR)/$(mandir)/man8
-+      install -m 0755 portmap ${DESTDIR}/sbin
-+      install -m 0755 pmap_dump ${DESTDIR}/sbin
-+      install -m 0755 pmap_set ${DESTDIR}/sbin
-+      install -m 0644 portmap.8 ${DESTDIR}/usr/share/man/man8
-+      install -m 0644 pmap_dump.8 ${DESTDIR}/usr/share/man/man8
-+      install -m 0644 pmap_set.8 ${DESTDIR}/usr/share/man/man8
-+      cat BLURB >${DESTDIR}/usr/share/doc/portmap/portmapper.txt
-+      gzip -9f ${DESTDIR}/usr/share/doc/portmap/portmapper.txt
- lint: 
-@@ -181,3 +191,6 @@
- portmap.o: portmap.c
- portmap.o: pmap_check.h Makefile
- strerror.o: strerror.c
-+
-+%.o: %.c
-+      $(CC) $(COPT) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $*.c -o $*.o
diff --git a/packages/portmap/portmap-5-25/.mtn2git_empty b/packages/portmap/portmap-5-25/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/portmap/portmap-5-25/make.patch b/packages/portmap/portmap-5-25/make.patch
new file mode 100644 (file)
index 0000000..7726846
--- /dev/null
@@ -0,0 +1,73 @@
+
+#
+# Patch managed by http://www.holgerschurig.de/patcher.html
+#
+
+Index: portmap_5beta/Makefile
+===================================================================
+--- portmap_5beta.orig/Makefile        2006-12-19 10:32:58.000000000 +0000
++++ portmap_5beta/Makefile     2006-12-19 10:35:54.000000000 +0000
+@@ -110,6 +110,13 @@
+ #
+ #CONST   = -Dconst=
++DESTDIR =
++prefix = /usr
++sbindir = /sbin
++datadir = $(prefix)/share
++mandir = $(datadir)/man
++docdir = $(datadir)/doc/portmap
++
+ ### End of configurable stuff.
+ ##############################
+@@ -127,7 +134,7 @@
+ COPT  = $(CONST) $(HOSTS_ACCESS) $(CHECK_PORT) \
+       $(SYS) -DFACILITY=$(FACILITY) $(ULONG) $(ZOMBIES) $(BROKEN_PIPE) \
+       $(SA_LEN) $(LOOPBACK) $(SETPGRP)
+-CFLAGS        = -Wall $(COPT) -O2 $(NSARCHS)
++CFLAGS        = -Wall -O2 $(NSARCHS)
+ OBJECTS       = portmap.o pmap_check.o from_local.o $(AUX)
+ all:  portmap pmap_dump pmap_set
+@@ -142,20 +149,23 @@
+       $(CC) $(CFLAGS) -o $@ $? $(LIBS)
+ from_local: from_local.c
+-      cc $(CFLAGS) -DTEST -o $@ from_local.c
++      $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ from_local.c
+ get_myaddress: get_myaddress.c
+-      cc $(CFLAGS) -DTEST -o $@ get_myaddress.c $(LIBS)
++      $(CC) $(COPT) -DTEST $(CFLAGS) $(LDFLAGS) -o $@ get_myaddress.c $(LIBS)
+ install: all
+-      install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
+-      install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/sbin
+-      install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/sbin
+-      install -o root -g root -m 0644 portmap.8 ${BASEDIR}/usr/share/man/man8
+-      install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
+-      install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
+-      cat BLURB >${BASEDIR}/usr/share/doc/portmap/portmapper.txt
+-      gzip -9f ${BASEDIR}/usr/share/doc/portmap/portmapper.txt
++      install -d $(DESTDIR)/$(sbindir) \
++                 $(DESTDIR)/$(docdir) \
++                 $(DESTDIR)/$(mandir)/man8
++      install -m 0755 portmap ${DESTDIR}/sbin
++      install -m 0755 pmap_dump ${DESTDIR}/sbin
++      install -m 0755 pmap_set ${DESTDIR}/sbin
++      install -m 0644 portmap.8 ${DESTDIR}/usr/share/man/man8
++      install -m 0644 pmap_dump.8 ${DESTDIR}/usr/share/man/man8
++      install -m 0644 pmap_set.8 ${DESTDIR}/usr/share/man/man8
++      cat BLURB >${DESTDIR}/usr/share/doc/portmap/portmapper.txt
++      gzip -9f ${DESTDIR}/usr/share/doc/portmap/portmapper.txt
+ lint: 
+@@ -181,3 +191,6 @@
+ portmap.o: portmap.c
+ portmap.o: pmap_check.h Makefile
+ strerror.o: strerror.c
++
++%.o: %.c
++      $(CC) $(COPT) $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -c $*.c -o $*.o
diff --git a/packages/portmap/portmap_5-24.bb b/packages/portmap/portmap_5-24.bb
deleted file mode 100644 (file)
index 064679e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-require portmap.inc
diff --git a/packages/portmap/portmap_5-25.bb b/packages/portmap/portmap_5-25.bb
new file mode 100644 (file)
index 0000000..064679e
--- /dev/null
@@ -0,0 +1 @@
+require portmap.inc
index 707030c..d0a002b 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 # dont handle non-wireless interfaces 
-if [ -n `cat /proc/net/wireless|grep $IFACE` ]; then 
+if [ -n "`cat /proc/net/wireless|grep $IFACE`" ]; then 
     exit 0 
 fi 
                                                        
@@ -23,4 +23,4 @@ fi
   
 # lets hope that run-parts obeys the order :D
 
-exit 0
\ No newline at end of file
+exit 0
index b3c00e4..88623a4 100644 (file)
@@ -4,7 +4,7 @@ LICENSE = "GPL"
 DEPENDS = "prism3-firmware hostap-utils"
 RDEPENDS = "prism3-firmware hostap-utils"
 PACKAGE_ARCH = "all"
-PR = "r3"
+PR = "r4"
 
 SRC_URI = "file://hostap-fw-load"
 
index c96d926..b620914 100644 (file)
@@ -8,11 +8,13 @@ DEPENDS = "liboil avahi libsamplerate0 libsndfile1 libtool"
 # optional
 DEPENDS += "alsa-lib"
 
-PR = "r2"
+RPROVIDES = "esound esd"
+
+PR = "r3"
 
 SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz"
 
-inherit autotools
+inherit autotools pkgconfig
 
 EXTRA_OECONF = "\
                 --disable-lynx \
@@ -39,6 +41,11 @@ CONFFILES_${PN}-conf = "\
                       ${sysconfdir}/pulse/client.conf \
                       "
 
+do_stage() {
+       autotools_stage_all
+}
+
+
 python populate_packages_prepend() {
         #bb.data.setVar('PKG_pulseaudio', 'pulseaudio', d)
 
index b15dc27..d052b54 100644 (file)
@@ -76,11 +76,13 @@ do_install() {
 }
 
 PACKAGES =+ "qt-x11-plugins-imageformats qt-x11-plugins-sqldrivers qt-x11-plugins-designer \
-             qt-x11-designer qt-x11-assistant qt-x11-qvfb qt-x11-qtconfig"
-FILES_qt-x11-plugins-imageformats = "${prefix}/plugins/imageformats"
-FILES_qt-x11-plugins-sqldrivers = "${prefix}/plugins/sqldrivers"
-FILES_qt-x11-plugins-designer = "${prefix}/plugins/designer"
+             qt-x11-designer qt-x11-assistant qt-x11-qvfb qt-x11-qtconfig qt-x11-plugins-debug"
+FILES_qt-x11-plugins-imageformats = "${prefix}/plugins/imageformats/*.so"
+FILES_qt-x11-plugins-sqldrivers = "${prefix}/plugins/sqldrivers/*.so"
+FILES_qt-x11-plugins-designer = "${prefix}/plugins/designer/*.so"
 FILES_qt-x11-designer = "${bindir}/designer"
 FILES_qt-x11-assistant = "${bindir}/assistant"
 FILES_qt-x11-qvfb = "${bindir}/qvfb"
 FILES_qt-x11-qtconfig = "${bindir}/qtconfig"
+FILES_qt-x11-plugins-debug += "${prefix}/plugins/*/.debug"
+
index d5df55c..719215c 100644 (file)
@@ -1,6 +1,6 @@
 DEPENDS = "uicmoc3-native freetype virtual/libx11 xft libxext libxrender libxrandr libxcursor mysql mesa"
 PROVIDES = "qt3x11"
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
           file://configure.patch;patch=1 \
index 3c8533e..d5df55c 100644 (file)
@@ -1,6 +1,6 @@
 DEPENDS = "uicmoc3-native freetype virtual/libx11 xft libxext libxrender libxrandr libxcursor mysql mesa"
 PROVIDES = "qt3x11"
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-x11-free-${PV}.tar.bz2 \
           file://configure.patch;patch=1 \
diff --git a/packages/quagga/files/volatiles.03_quagga b/packages/quagga/files/volatiles.03_quagga
new file mode 100644 (file)
index 0000000..672fec6
--- /dev/null
@@ -0,0 +1,2 @@
+# <type> <owner> <group> <mode> <path> <linksource>
+d quagga quagga 0755 /var/run/quagga none
index e3c00c3..6adba78 100644 (file)
@@ -20,8 +20,6 @@ RDEPENDS_${PN}-doc      = ""
 RDEPENDS_${PN}-watchquagga = "${PN}"
 # the "ip" command from busybox is not sufficient (flush by protocol flushes all routes)
 RDEPENDS_${PN}          += "iproute2"
-# These are required for vtysh
-RDEPENDS_${PN}          += "ncurses readline"
 
 # ${QUAGGASUBDIR} is deal with old versions. Set to "/attic" for old
 # versions and leave it empty for recent versions.
@@ -30,7 +28,8 @@ SRC_URI = "http://www.quagga.net/download${QUAGGASUBDIR}/quagga-${PV}.tar.gz \
            file://quagga.init \
            file://quagga.default \
            file://watchquagga.init \
-           file://watchquagga.default"
+           file://watchquagga.default \
+           file://volatiles.03_quagga"
 
 inherit autotools update-rc.d
 
@@ -60,11 +59,13 @@ EXTRA_OECONF = "--prefix=${prefix} \
 
 do_install () {
         # Install init script and default settings
-        install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d ${D}${sysconfdir}/quagga
+        install -m 0755 -d ${D}${sysconfdir}/default ${D}${sysconfdir}/init.d \
+                           ${D}${sysconfdir}/quagga ${D}${sysconfdir}/default/volatiles
         install -m 0644 ${WORKDIR}/quagga.default ${D}${sysconfdir}/default/quagga
         install -m 0644 ${WORKDIR}/watchquagga.default ${D}${sysconfdir}/default/watchquagga
         install -m 0755 ${WORKDIR}/quagga.init ${D}${sysconfdir}/init.d/quagga
         install -m 0755 ${WORKDIR}/watchquagga.init ${D}${sysconfdir}/init.d/watchquagga
+        install -m 0644 ${WORKDIR}/volatiles.03_quagga  ${D}${sysconfdir}/default/volatiles/volatiles.03_quagga
         # Install quagga
         oe_runmake install DESTDIR=${D} prefix=${prefix} \
                 libexecdir=${libexecdir}/quagga \
@@ -90,6 +91,7 @@ FILES_${PN}-doc         = "/usr/share/doc /usr/share/man /usr/share/info"
 FILES_${PN}-watchquagga = "${libdir}/quagga/watchquagga ${sysconfdir}/default/watchquagga \
                            ${sysconfdir}/init.d/watchquagga"
 FILES_${PN}             = "${bindir}/vtysh ${libdir}/quagga/zebra /usr/lib/libzebra*.so.* \
+                           ${sysconfdir}/default/volatiles/volatiles.03_quagga \
                            ${sysconfdir}/quagga \
                            ${sysconfdir}/default/quagga ${sysconfdir}/init.d/quagga"
 
@@ -113,7 +115,10 @@ INITSCRIPT_PARAMS_${PN}-watchquagga     = "defaults 90 10"
 pkg_postinst_${PN} () {
         grep -q quagga: /etc/group || addgroup quagga
         grep -q quaggavty: /etc/group || addgroup quaggavty
-        grep -q quagga: /etc/passwd || adduser --disabled-password --home=/var/run/quagga/ --ingroup quagga -g "Quagga routing suite" quagga
+        grep -q quagga: /etc/passwd || \
+            adduser --disabled-password --home=/var/run/quagga/ --system \
+                    --ingroup quagga --no-create-home -g "Quagga routing suite" quagga                                            
+        /etc/init.d/populate-volatile.sh update
 }
 
 # Stop apps before uninstall
index 138c8ce..5231a5d 100644 (file)
@@ -1,3 +1,3 @@
-PR = "r3"
+PR = "r5"
 
 require quagga.inc
index 6bcc251..0595a3c 100644 (file)
@@ -1,3 +1,3 @@
-PR = "r0"
+PR = "r2"
 
 require quagga.inc
index a71abda..8070b89 100644 (file)
@@ -1,5 +1,5 @@
 DESCRIPTION = "Music composition program in the style of AMIGA Impulse Tracker"
-DEPENDS = "gtk+ libgnomeui audiofile esound-gpe alsa-lib"
+DEPENDS = "gtk+ libgnomeui audiofile esound alsa-lib"
 LICENSE = "GPL"
 SECTION = "x11/multimedia"
 PR = "r1"
index edd7855..2dc8da8 100644 (file)
@@ -6,7 +6,7 @@ PR = "r1"
 inherit gpe autotools
 
 DESCRIPTION = "Starling audio player for GPE"
-DEPENDS = "gtk+ libgpewidget gstreamer gst-plugins-good gst-plugins-bad esound-gpe"
+DEPENDS = "gtk+ libgpewidget gstreamer gst-plugins-good gst-plugins-bad esound"
 RDEPENDS = "esd \
        gst-plugins \
        gst-plugin-audio \
index b86ade6..c99647e 100644 (file)
@@ -1,9 +1,11 @@
 PACKAGES = "${PN}"
 DESCRIPTION = "Meta-package for MythTV diskless frontend"
 ALLOW_EMPTY = "1"
-PR = "r6"
+PR = "r13"
 
-RDEPENDS = "xserver-xorg mythtv lirc lirc-modules drm-module-via ttf-bitstream-vera fontconfig-utils setserial snes9x ntp mythfront-config gpe-dm mythfront-session bootlogd drm-module-drm"
+RDEPENDS = "xserver-xorg mythtv-frontend mythtv-filters mythtv-theme-g.a.n.t. mythtv-theme-default lirc lirc-modules ttf-bitstream-vera fontconfig-utils setserial snes9x ntp mythfront-config gpe-dm mythfront-session bootlogd font-cursor-misc font-misc-misc xf86-input-keyboard xf86-input-mouse"
+
+RDEPENDS_append_epia = " xorg-driver-via mesa-dri-driver-unichrome"
 
 LICENSE = "MIT"
 
index d7e4d20..7fa7c11 100644 (file)
@@ -108,7 +108,7 @@ RDEPENDS_task-sdk-x11-ext := "\
 
 RDEPENDS_task-sdk-gpe := "\
     libcontactsdb-dev \
-    esound-gpe-dev \
+    esound-dev \
     libeventdb-dev \
     libgpepimc-dev \
     libgpevtype-dev \
index e66fe8c..6839628 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "Tin is a powerful text mode news reader."
 SECTION = "console/network"
 DEPENDS = "ncurses libpcre"
-LICENSE = "GPL"
+LICENSE = "BSD"
 
 inherit autotools 
 
index 2b783b2..3adfc53 100644 (file)
@@ -1,6 +1,6 @@
 require tin.inc
 
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "ftp://ftp.tin.org/pub/news/clients/tin/v1.9/tin-${PV}.tar.gz \
           file://m4.patch;patch=1"
index a7639a2..b2d1a5f 100644 (file)
@@ -1,7 +1,7 @@
 DESCRIPTION = "Vino is an integrated VNC server for GNOME."
 LICENSE = "GPLv2"
 
-DEPENDS = "libgnomeui libglade gnome-keyring esound-gpe dbus-glib libxml2 gnutls gnome-vfs"
+DEPENDS = "libgnomeui libglade gnome-keyring esound dbus-glib libxml2 gnutls gnome-vfs"
 
 inherit gnome gconf
 
diff --git a/packages/xaos/.mtn2git_empty b/packages/xaos/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/xaos/files/.mtn2git_empty b/packages/xaos/files/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/xaos/files/fix-aalib-configure.patch b/packages/xaos/files/fix-aalib-configure.patch
new file mode 100644 (file)
index 0000000..120d85b
--- /dev/null
@@ -0,0 +1,81 @@
+Index: XaoS-3.2.3/configure.in
+===================================================================
+--- XaoS-3.2.3.orig/configure.in
++++ XaoS-3.2.3/configure.in
+@@ -130,25 +130,7 @@ if test -z "`${CC-cc} -mno-ieee-fp -c co
+       rm -f conftest*
+ ])])
+-AC_DEFUN(AC_PROG_AALIB_VER_OK,
+-[AC_CACHE_CHECK(whether aalib version >= 1.4, ac_aalib_ver_ok,
+-[echo '#include <aalib.h>
+-#include <aalib.h>
+-void f(){ 
+-#if AA_LIB_VERSIONCODE < 104000
+-#error aa_lib is probably buggy 
+-/* I am using SuSE 7.3 and 8.0. Both contains version 1.3,
+- * however they report 102000 version code.
+- */ 
+-#endif 
+-}' > conftest.c
+-if test -z "`${CC-cc} -c conftest.c 2>&1`"; then
+-    ac_aalib_ver_ok=yes
+-    else
+-        ac_aalib_ver_ok=no
+-    fi
+-      rm -f conftest*
+-])])
++ac_aalib_ver_ok=yes
+ AC_DEFUN(PROG_CC_SWITCH1,
+ [AC_CACHE_CHECK(whether ${CC-cc} accepts -$1, ac_$2,
+@@ -478,7 +460,6 @@ AC_DEFUN(AC_AALIB, [
+             AC_CHECK_LIB(aa, aa_init)
+             if test "x$ac_cv_lib_aa_aa_init" = xyes; then
+               AC_MSG_RESULT(Found aalib on $1/aalib.h)
+-              AC_PROG_AALIB_VER_OK
+             if test $ac_aalib_ver_ok = yes; then
+                #LIBS="$LIBS $2"
+              x11_linked=yes
+@@ -616,22 +597,22 @@ if test "$aa_driver_test" = yes; then
+     dnl Replace `main' with a function in -lm:
+     AC_CHECK_LIB(slang, SLsmg_init_smg)
+-    AC_NCURSES(/usr/include, ncurses.h, , -I/usr/include/ncurses , "ncurses on /usr/include")
+-    AC_NCURSES(/usr/include/ncurses, ncurses.h, , -I/usr/include/ncurses, "ncurses on /usr/include/ncurses")
+-    AC_NCURSES(/usr/local/include, ncurses.h, ,-L/usr/local/lib, -I/usr/local/include, "ncurses on /usr/local")
+-    AC_NCURSES(/usr/local/include/ncurses, ncurses.h, -L/usr/local/lib -L/usr/local/lib/ncurses, -I/usr/local/include/ncurses, "ncurses on /usr/local/include/ncurses")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, ncurses.h, , -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses , "ncurses on /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, ncurses.h, , -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, "ncurses on /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, ncurses.h, ,-L/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/lib, -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, "ncurses on /usr/local")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, ncurses.h, -L/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/lib -L/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/lib/ncurses, -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, "ncurses on /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses")
+-    AC_NCURSES(/usr/local/include/ncurses, curses.h, -L/usr/local/lib, -I/usr/local/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, curses.h, -L/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/lib, -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/local/.../ncurses")
+-    AC_NCURSES(/usr/include/ncurses, curses.h, , -I/usr/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /usr/include/ncurses")
+-    AC_CURSES(/usr/include, curses.h, , , "curses on /usr/include")
++    AC_NCURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses, curses.h, , -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses -DRENAMED_NCURSES, "renamed ncurses on /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/ncurses")
++    AC_CURSES(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, curses.h, , , "curses on /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include")
+     dnl
+     dnl We couldn't find ncurses, try SysV curses
+     dnl
+     if $search_ncurses 
+     then
+-        AC_EGREP_HEADER(init_color, /usr/include/curses.h,
++        AC_EGREP_HEADER(init_color, /home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include/curses.h,
+           AC_USE_SYSV_CURSES)
+     fi
+@@ -653,8 +634,8 @@ if test "$aa_driver_test" = yes; then
+        LIBS="$LIBS $X_EXTRA_LIBS $X_LIBS"
+        CFLAGS="$CFLAGS $X_CFLAGS"
+     fi
+-    AC_AALIB(/usr/include, , )
+-    AC_AALIB(/usr/local/include, -L/usr/local/lib, -I/usr/local/include)
++    AC_AALIB(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, , )
++    AC_AALIB(/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include, -L/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/lib, -I/home/papercrane/oe/oz354.build/tmp/staging/arm-linux/include)
+     for name in ../aalib-*.*
+     do
+       AC_AALIB($name,"-L$name","-I$name")
diff --git a/packages/xaos/files/fix-build.patch b/packages/xaos/files/fix-build.patch
new file mode 100644 (file)
index 0000000..064c0fb
--- /dev/null
@@ -0,0 +1,61 @@
+Index: XaoS-3.2.3/src/util/xstdio.c
+===================================================================
+--- XaoS-3.2.3.orig/src/util/xstdio.c
++++ XaoS-3.2.3/src/util/xstdio.c
+@@ -1,3 +1,4 @@
++#define DATAPATH "/usr/share/XaoS"
+ #ifndef _plan9_
+ #include <string.h>
+ #if defined(__EMX__) || defined(__APPLE__)
+Index: XaoS-3.2.3/src/engine/formulas.c
+===================================================================
+--- XaoS-3.2.3.orig/src/engine/formulas.c
++++ XaoS-3.2.3/src/engine/formulas.c
+@@ -69,6 +69,8 @@
+ #endif
++#include "../include/complex.h"
++
+ CONST char *CONST incolorname[] = {
+   "0",
+   "zmag",
+Index: XaoS-3.2.3/src/engine/plane.c
+===================================================================
+--- XaoS-3.2.3.orig/src/engine/plane.c
++++ XaoS-3.2.3/src/engine/plane.c
+@@ -53,6 +53,8 @@ CONST char *CONST planename[] = {
+ };
++#include "../include/complex.h"
++
+ REGISTERS (3)
+      void recalculate (int plane, number_t * x1, number_t * y1)
+ {
+Index: XaoS-3.2.3/src/engine/fractal.c
+===================================================================
+--- XaoS-3.2.3.orig/src/engine/fractal.c
++++ XaoS-3.2.3/src/engine/fractal.c
+@@ -66,6 +66,8 @@
+ #endif
+ #include <xerror.h>
++#include "../include/complex.h"
++
+ struct symetryinfo2 cursymetry;
+ struct palette cpalette;
+ struct image cimage;
+Index: XaoS-3.2.3/src/engine/zoom.c
+===================================================================
+--- XaoS-3.2.3.orig/src/engine/zoom.c
++++ XaoS-3.2.3/src/engine/zoom.c
+@@ -69,6 +69,8 @@
+ #define gettext(STRING) STRING
+ #endif
++#include "../include/complex.h"
++
+ #define ASIZE 16
+ #define ALIGN(x) (((x)+ASIZE-1)&(~(ASIZE-1)))
+ static int nsymetrized;
diff --git a/packages/xaos/xaos_3.2.3.bb b/packages/xaos/xaos_3.2.3.bb
new file mode 100644 (file)
index 0000000..22cedeb
--- /dev/null
@@ -0,0 +1,29 @@
+DESCRIPTION = "GNU XaoS, a realtime fractal generator zoomer"
+HOMEPAGE = "http://wmi.math.u-szeged.hu/xaos/doku.php"
+SECTION = "graphics"
+LICENSE = "GPLv2"
+DEPENDS = "aalib libx11 zlib libpng"
+RDEPENDS += "libxxf86dga"
+PR = "r0"
+
+SRC_URI = "http://easynews.dl.sourceforge.net/sourceforge/xaos/XaoS-3.2.3.tar.gz \
+           file://fix-build.patch;patch=1 \
+           file://fix-aalib-configure.patch;patch=1"
+
+S = "${WORKDIR}/XaoS-${PV}"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-nls"
+#--with-x --with-ncurses=${STAGING_INCDIR} --with-dga-driver=no --with-x11-driver=no --with-aa-driver=yes
+
+do_configure_prepend() {
+    sed -i 's~/usr/include~${STAGING_INCDIR}~' ${S}/configure.in
+    sed -i 's~/usr/local/include~${STAGING_INCDIR}~' ${S}/configure.in
+    sed -i 's~/usr/lib~${STAGING_LIBDIR}~' ${S}/configure.in
+    sed -i 's~/usr/local/lib~${STAGING_LIBDIR}~' ${S}/configure.in
+}
+
+FILES_${PN} = "${bindir} ${datadir}/XaoS/catalogs"
+
+CFLAGS = "-L${STAGING_LIBDIR}"
index 4f36f2b..ae85f60 100644 (file)
@@ -2,6 +2,7 @@ DESCRIPTION = "X driver"
 HOMEPAGE = "http://www.x.org"
 SECTION = "x11/drivers"
 LICENSE = "MIT-X"
+PR = "r1"
 
 DEPENDS = "randrproto xorg-server xproto"
 
@@ -11,6 +12,7 @@ SRC_URI = "${XORG_MIRROR}/${@bb.data.getVar('PV', d, 1)[0:7]}/src/driver/${XORG_
 S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 FILES_${PN} += " ${libdir}/xorg/modules"
+FILES_${PN}-dbg +=  "${libdir}/xorg/modules/*/.debug"
 
 inherit autotools pkgconfig
 
index 0a91cfe..3aa3aaf 100644 (file)
@@ -2,30 +2,32 @@ HOMEPAGE = "http://www.x.org"
 SECTION = "x11/base"
 LICENSE = "MIT-X"
 
-RPROVIDES = "virtual/xserver"
+RPROVIDES_${PN} = "virtual/xserver"
 PROVIDES = "virtual/xserver"
 
+MESA_VER ?= "6.5"
+
 DEPENDS = "fontconfig freetype flex-native lbxutil kbproto \
 xf86driproto drm glproto randrproto renderproto fixesproto damageproto \
 xcmiscproto xextproto xproto xf86miscproto xf86vidmodeproto xf86bigfontproto \
 scrnsaverproto bigreqsproto resourceproto fontsproto inputproto \
 xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \
 resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \
-libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext virtual/libx11 \
+libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \
 libxkbui libxxf86misc libxi libdmx libxtst libxres mesa mkfontscale-native"
 
-RDEPENDS="rgb"
+RDEPENDS_${PN} = "rgb"
 
 XORG_PN = "xorg-server"
 SRC_URI = "${XORG_MIRROR}/${@bb.data.getVar('PV', d, 1)[0:7]}/src/xserver/${XORG_PN}-${PV}.tar.bz2 \
+       ${SOURCEFORGE_MIRROR}/mesa3d/MesaLib-${MESA_VER}.tar.bz2 \
        file://xorg.conf"
 
 S = "${WORKDIR}/${XORG_PN}-${PV}"
 
 inherit autotools pkgconfig
 
-
-EXTRA_OECONF = "--disable-builddocs"
+EXTRA_OECONF = "--disable-builddocs --with-mesa-source=${WORKDIR}/Mesa-${MESA_VER}"
 
 PACKAGES =+ "${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xnest ${PN}-dmx"
 
diff --git a/packages/xorg-xserver/xserver-kdrive/kmode-palm.patch b/packages/xorg-xserver/xserver-kdrive/kmode-palm.patch
new file mode 100644 (file)
index 0000000..255e707
--- /dev/null
@@ -0,0 +1,34 @@
+--- kmode.c    2006-05-03 19:48:42.000000000 +0200
++++ xserver/hw/kdrive/src/kmode.c      2006-05-03 19:50:43.000000000 +0200
+@@ -32,6 +32,31 @@
+     /*        H       V       Hz      KHz */
+               /*  FP      BP      BLANK   POLARITY */
++      /* Treo 650 */
++
++    {   320,  320,    64,     16256,
++                  17,     12,     32,     KdSyncNegative,
++                  1,      11,     14,     KdSyncNegative,
++    },
++    
++    {   320,  320,    64,         0,
++                  0,      0,      0,     KdSyncNegative,
++                  0,      0,      0,     KdSyncNegative,
++    },
++      
++      /* LifeDrive/T3/TX modes */
++
++    {   320,  480,    64,     16256,
++                  17,     12,     32,     KdSyncNegative,
++                  1,      11,     14,     KdSyncNegative,
++    },
++    
++    {   480,  320,    64,         0,
++                  0,      0,      0,     KdSyncNegative,
++                  0,      0,      0,     KdSyncNegative,
++    },
++
++
+     /* IPAQ modeline:
+      *
+      * Modeline "320x240"      5.7222 320 337 340 352   240 241 244 254"
index 64a49ae..1fdee51 100644 (file)
@@ -1,11 +1,30 @@
 LICENSE = "MIT"
 DEPENDS = "tslib virtual/libsdl xproto libxdmcp xextproto xtrans libxau virtual/libx11 libxext libxrandr fixesproto damageproto libxfont resourceproto compositeproto xcalibrateext recordproto videoproto scrnsaverproto"
 
-PR = "r5"
+PR = "r7"
 
 PROVIDES = "virtual/xserver"
 RPROVIDES = "virtual/xserver"
-PACKAGES =+ "xserver-kdrive-fbdev xserver-kdrive-sdl xserver-kdrive-fake xserver-kdrive-xephyr xserver-kdrive-epson xserver-kdrive-w100"
+PACKAGES =+ "xserver-kdrive-fbdev \
+             xserver-kdrive-sdl \
+             xserver-kdrive-fake \
+             xserver-kdrive-xephyr \
+             xserver-kdrive-epson \
+             xserver-kdrive-w100 \
+             xserver-kdrive-ati \
+             xserver-kdrive-chips \
+             xserver-kdrive-i810 \
+             xserver-kdrive-mach64 \
+             xserver-kdrive-mga \
+             xserver-kdrive-neomagic \
+             xserver-kdrive-nvidia \
+             xserver-kdrive-pm2 \
+             xserver-kdrive-r128 \
+             xserver-kdrive-smi \
+             xserver-kdrive-vesa \
+             xserver-kdrive-via \
+             "
+
 SECTION = "x11/base"
 DESCRIPTION = "X server from freedesktop.org"
 DESCRIPTION_xserver-kdrive-fbdev = "X server from freedesktop.org, supporting generic framebuffer devices"
@@ -14,6 +33,18 @@ DESCRIPTION_xserver-kdrive-xephyr = "X server in an X window"
 DESCRIPTION_xserver-kdrive-epson = "X server from freedesktop.org, supporting Epson S1D13806 devices"
 DESCRIPTION_xserver-kdrive-sdl = "X server from freedesktop.org, SDL version"
 DESCRIPTION_xserver-kdrive-w100 = "X server from freedesktop.org, supporting the ATI imageon w100 chipset"
+DESCRIPTION_xserver-kdrive-ati = "X server from freedesktop.org, supporting ATI devices"
+DESCRIPTION_xserver-kdrive-chips = "X server from freedesktop.org, supporting Chips chipsets"
+DESCRIPTION_xserver-kdrive-i810 = "X server from freedesktop.org, supporting Intel chipsets"
+DESCRIPTION_xserver-kdrive-mach64 = "X server from freedesktop.org, supporting mach64 chipsets"
+DESCRIPTION_xserver-kdrive-mga = "X server from freedesktop.org, supporting mga chipsets"
+DESCRIPTION_xserver-kdrive-neomagic = "X server from freedesktop.org, supporting neomagic chipsets"
+DESCRIPTION_xserver-kdrive-nvidia = "X server from freedesktop.org, supporting nvidia devices"
+DESCRIPTION_xserver-kdrive-pm2 = "X server from freedesktop.org, supporting Permedia2 chipsets"
+DESCRIPTION_xserver-kdrive-r128 = "X server from freedesktop.org, supporting rage128 chipsets"
+DESCRIPTION_xserver-kdrive-smi = "X server from freedesktop.org, supporting Silicon Motion devices"
+DESCRIPTION_xserver-kdrive-vesa = "X server from freedesktop.org, supporting any card with a VESA, VGA or even EGA BIOS. x86 hardware only"
+DESCRIPTION_xserver-kdrive-via = "X server from freedesktop.org, supporting VIA chipsets"
 
 FILES_${PN} += "${libdir}/xserver/SecurityPolicy"
 
@@ -23,6 +54,18 @@ FILES_xserver-kdrive-xephyr = "${bindir}/Xephyr"
 FILES_xserver-kdrive-epson = "${bindir}/Xepson"
 FILES_xserver-kdrive-sdl = "${bindir}/Xsdl"
 FILES_xserver-kdrive-w100 = "${bindir}/Xw100"
+FILES_xserver-kdrive-ati = "${bindir}/Xati"
+FILES_xserver-kdrive-chips = "${bindir}/Xchips"
+FILES_xserver-kdrive-i810 = "${bindir}/Xi810"
+FILES_xserver-kdrive-mach64 = "${bindir}/Xmach64"
+FILES_xserver-kdrive-mga = "${bindir}/Xmga"
+FILES_xserver-kdrive-neomagic = "${bindir}/Xneomagic"
+FILES_xserver-kdrive-nvidia = "${bindir}/Xnvidia"
+FILES_xserver-kdrive-pm2 = "${bindir}/Xpm2"
+FILES_xserver-kdrive-r128 = "${bindir}/Xr128"
+FILES_xserver-kdrive-smi = "${bindir}/Xsmi"
+FILES_xserver-kdrive-vesa = "${bindir}/Xvesa"
+FILES_xserver-kdrive-via = "${bindir}/Xvia"
 
 RDEPENDS_xserver-kdrive-fbdev = "${PN}"
 RDEPENDS_xserver-kdrive-fake = "${PN}"
@@ -30,6 +73,18 @@ RDEPENDS_xserver-kdrive-xephyr = "${PN}"
 RDEPENDS_xserver-kdrive-epson = "${PN}"
 RDEPENDS_xserver-kdrive-sdl = "${PN}"
 RDEPENDS_xserver-kdrive-w100 = "${PN}"
+RDEPENDS_xserver-kdrive-ati = "${PN}"
+RDEPENDS_xserver-kdrive-chips = "${PN}"
+RDEPENDS_xserver-kdrive-i810 = "${PN}"
+RDEPENDS_xserver-kdrive-mach64 = "${PN}"
+RDEPENDS_xserver-kdrive-mga = "${PN}"
+RDEPENDS_xserver-kdrive-neomagic = "${PN}"
+RDEPENDS_xserver-kdrive-nvidia = "${PN}"
+RDEPENDS_xserver-kdrive-pm2 = "${PN}"
+RDEPENDS_xserver-kdrive-r128 = "${PN}"
+RDEPENDS_xserver-kdrive-smi = "${PN}"
+RDEPENDS_xserver-kdrive-vesa = "${PN}"
+RDEPENDS_xserver-kdrive-via = "${PN}"
 
 SRC_URI = "http://ftp.x.org/pub/X11R7.1/src/xserver/xorg-server-X11R7.1-1.1.0.tar.bz2 \
        file://kmode.patch;patch=1 \
@@ -44,11 +99,15 @@ SRC_URI = "http://ftp.x.org/pub/X11R7.1/src/xserver/xorg-server-X11R7.1-1.1.0.ta
        file://disable-xf86-dga-xorgcfg.patch;patch=1 \
        file://w100.patch;patch=1 \
        file://enable-tslib.patch;patch=1 \
-       file://xcalibrate.patch;patch=1"
+       file://xcalibrate.patch;patch=1 \
+       file://kmode-palm.patch;patch=1"
 
 SRC_URI_append_mnci   = " file://onlyfb.patch;patch=1"
 SRC_URI_append_poodle = " file://xserver-kdrive-poodle.patch;patch=1"
 PACKAGE_ARCH_poodle = "poodle"
+PACKAGE_ARCH_palmtx = "palmtx"
+PACKAGE_ARCH_palmld = "palmld"
+PACKAGE_ARCH_palmz72 = "palmz72"
 
 S = "${WORKDIR}/xorg-server-X11R7.1-1.1.0"
 
index acf1f2a..3c29684 100644 (file)
@@ -2,7 +2,7 @@ require xorg-xserver-common.inc
 
 SRC_URI += "file://drmfix.patch;patch=1"
 
-PR = "r1"
+PR = "r3"
 
 EXTRA_OECONF += " ac_cv_file__usr_share_X11_sgml_defs_ent=no "