From aa1c3704f43d0d6a1683856aa042a1aabe50c716 Mon Sep 17 00:00:00 2001 From: mirko Date: Sun, 10 May 2009 23:21:54 +0000 Subject: [PATCH] add support for kernel 2.6.29 (rc3) by a patch based on the Openmoko patchset (git rev. f656a97d946a2529630c9770a72c10a24dc397f9) adjusted to work within the OpenWrt environment git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15764 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/s3c24xx/Makefile | 2 +- target/linux/s3c24xx/config-2.6.29 | 587 + .../patches-2.6.29/000-downgrade-to-rc3.patch | 170300 +++++++++++++++ .../patches-2.6.29/001-merge-openmoko.patch | 96426 ++++++++ .../002-call-preinit-instead-of-init.patch | 10 + 5 files changed, 267324 insertions(+), 1 deletion(-) create mode 100644 target/linux/s3c24xx/config-2.6.29 create mode 100644 target/linux/s3c24xx/patches-2.6.29/000-downgrade-to-rc3.patch create mode 100644 target/linux/s3c24xx/patches-2.6.29/001-merge-openmoko.patch create mode 100644 target/linux/s3c24xx/patches-2.6.29/002-call-preinit-instead-of-init.patch diff --git a/target/linux/s3c24xx/Makefile b/target/linux/s3c24xx/Makefile index c5a4a9450..33050cbbc 100644 --- a/target/linux/s3c24xx/Makefile +++ b/target/linux/s3c24xx/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=Samsung S3C24xx FEATURES:=jffs2 CFLAGS:=-O2 -pipe -march=armv4t -mtune=arm920t -funit-at-a-time -LINUX_VERSION:=2.6.28.10 +LINUX_VERSION:=2.6.29 DEVICE_TYPE=phone diff --git a/target/linux/s3c24xx/config-2.6.29 b/target/linux/s3c24xx/config-2.6.29 new file mode 100644 index 000000000..c4dddb325 --- /dev/null +++ b/target/linux/s3c24xx/config-2.6.29 @@ -0,0 +1,587 @@ +# CONFIG_AEABI is not set +CONFIG_ALIGNMENT_TRAP=y +CONFIG_APM_EMULATION=y +CONFIG_APM_POWER=y +CONFIG_AR6000_WLAN=y +# CONFIG_AR6000_WLAN_DEBUG is not set +# CONFIG_AR6000_WLAN_RESET is not set +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_BAST is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_EBSA110 is not set +# CONFIG_ARCH_EP93XX is not set +CONFIG_ARCH_FLATMEM_HAS_HOLES=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_H1940 is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_KIRKWOOD is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_LOKI is not set +# CONFIG_ARCH_MSM is not set +# CONFIG_ARCH_MV78XX0 is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_OMAP is not set +# CONFIG_ARCH_ORION5X is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_REALVIEW is not set +CONFIG_ARCH_REQUIRE_GPIOLIB=y +# CONFIG_ARCH_RPC is not set +CONFIG_ARCH_S3C2410=y +CONFIG_ARCH_S3C2440=y +# CONFIG_ARCH_S3C64XX is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_SELECT_MEMORY_MODEL is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_SMDK2410 is not set +# CONFIG_ARCH_SPARSEMEM_DEFAULT is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_W90X900 is not set +CONFIG_ARM=y +CONFIG_ARM_THUMB=y +# CONFIG_ARPD is not set +CONFIG_ASHMEM=y +CONFIG_ATAGS_PROC=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_GENERIC=y +CONFIG_BACKLIGHT_GTA01=y +CONFIG_BACKLIGHT_LCD_SUPPORT=y +# CONFIG_BACKLIGHT_PWM is not set +CONFIG_BASE_SMALL=0 +CONFIG_BATTERY_BQ27000_HDQ=y +# CONFIG_BATTERY_BQ27x00 is not set +# CONFIG_BATTERY_DS2760 is not set +CONFIG_BATTERY_GTA01=y +CONFIG_BITREVERSE=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +CONFIG_BRIDGE_NETFILTER=y +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_CHARGER_PCF50606=y +CONFIG_CHARGER_PCF50633=y +CONFIG_CMDLINE="unused -- bootloader passes ATAG list" +CONFIG_COMPAT_BRK=y +CONFIG_COMPAT_NET_DEV_OPS=y +# CONFIG_CONFIGFS_FS is not set +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CPU_32=y +CONFIG_CPU_32v4T=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_LLSERIAL_S3C2410=y +CONFIG_CPU_LLSERIAL_S3C2440=y +CONFIG_CPU_PABRT_NOIFAR=y +CONFIG_CPU_S3C2410=y +CONFIG_CPU_S3C2410_DMA=y +CONFIG_CPU_S3C2440=y +CONFIG_CPU_S3C2442=y +CONFIG_CPU_S3C244X=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CRC16=y +CONFIG_CRC_CCITT=y +CONFIG_CRC_T10DIF=y +# CONFIG_CRYPTO_AEAD is not set +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_ARC4=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_BLKCIPHER2=y +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_FIPS=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_SHA1=y +# CONFIG_DCB is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_FS is not set +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DEBUG_S3C_UART=2 +# CONFIG_DEBUG_USER is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +CONFIG_DISPLAY_JBT6K74=y +# CONFIG_DISPLAY_L1K002 is not set +CONFIG_DISPLAY_SUPPORT=y +CONFIG_DMADEVICES=y +CONFIG_DUMMY_CONSOLE=y +CONFIG_ELF_CORE=y +# CONFIG_EMBEDDED is not set +# CONFIG_ENABLE_WARN_DEPRECATED is not set +CONFIG_FB=y +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_BOOT_VESA_SUPPORT is not set +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_DDC is not set +# CONFIG_FB_FOREIGN_ENDIAN is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_S3C2410=y +# CONFIG_FB_S3C2410_DEBUG is not set +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_FOPS is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FIND_IRQ_BLOCKERS is not set +CONFIG_FIQ=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FONTS=y +# CONFIG_FONT_10x18 is not set +CONFIG_FONT_6x11=y +# CONFIG_FONT_7x14 is not set +# CONFIG_FONT_8x16 is not set +# CONFIG_FONT_8x8 is not set +# CONFIG_FONT_ACORN_8x8 is not set +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +# CONFIG_FPE_FASTFPE is not set +CONFIG_FPE_NWFPE=y +# CONFIG_FPE_NWFPE_XP is not set +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +CONFIG_FRAME_POINTER=y +CONFIG_FREEZER=y +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +# CONFIG_GENERIC_TIME is not set +CONFIG_GPIOLIB=y +CONFIG_GPIO_DEVICE=y +CONFIG_GPIO_SYSFS=y +# CONFIG_GREENASIA_FF is not set +# CONFIG_HAMRADIO is not set +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAVE_AOUT=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_HAVE_IDE=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +CONFIG_HAVE_OPROFILE=y +CONFIG_HAVE_PWM=y +# CONFIG_HDQ_GPIO_BITBANG is not set +CONFIG_HID=y +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=y +CONFIG_HID_COMPAT=y +CONFIG_HID_CYPRESS=y +CONFIG_HID_EZKEY=y +CONFIG_HID_GYRATION=y +CONFIG_HID_LOGITECH=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_NTRIG=y +CONFIG_HID_PANTHERLORD=y +CONFIG_HID_PETALYNX=y +CONFIG_HID_PID=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SONY=y +CONFIG_HID_SUNPLUS=y +CONFIG_HID_SUPPORT=y +CONFIG_HID_TOPSEED=y +CONFIG_HW_CONSOLE=y +# CONFIG_HW_RANDOM is not set +CONFIG_HZ=200 +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_S3C2410=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_GPIO_BUTTONS is not set +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_LIS302DL=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +# CONFIG_INPUT_MOUSEDEV_PSAUX is not set +CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=640 +CONFIG_INPUT_PCF50606_PMU=y +CONFIG_INPUT_PCF50633_PMU=y +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_INPUT_YEALINK is not set +CONFIG_IP_PNP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_DHCP is not set +# CONFIG_IP_PNP_RARP is not set +# CONFIG_IP_ROUTE_MULTIPATH is not set +# CONFIG_IP_ROUTE_VERBOSE is not set +# CONFIG_ISDN is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_KALLSYMS=y +CONFIG_KEXEC=y +# CONFIG_KEYBOARD_ATKBD is not set +# CONFIG_KEYBOARD_GPIO is not set +# CONFIG_KEYBOARD_LKKBD is not set +CONFIG_KEYBOARD_NEO1973=y +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +CONFIG_LCD_CLASS_DEVICE=y +# CONFIG_LCD_ILI9320 is not set +CONFIG_LCD_LTV350QV=y +# CONFIG_LCD_PLATFORM is not set +# CONFIG_LCD_TDO24M is not set +# CONFIG_LCD_VGG2432A4 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP5521 is not set +CONFIG_LEDS_NEO1973_GTA02=y +CONFIG_LEDS_NEO1973_VIBRATOR=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set +# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set +CONFIG_LOCK_KERNEL=y +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=18 +# CONFIG_MACH_AML_M5900 is not set +# CONFIG_MACH_ANUBIS is not set +# CONFIG_MACH_AT2440EVB is not set +# CONFIG_MACH_JIVE is not set +# CONFIG_MACH_N30 is not set +CONFIG_MACH_NEO1973=y +CONFIG_MACH_NEO1973_GTA01=y +CONFIG_MACH_NEO1973_GTA02=y +# CONFIG_MACH_NEXCODER_2440 is not set +# CONFIG_MACH_OSIRIS is not set +# CONFIG_MACH_OTOM is not set +# CONFIG_MACH_QT2410 is not set +# CONFIG_MACH_RX3715 is not set +CONFIG_MACH_SMDK=y +# CONFIG_MACH_SMDK2412 is not set +# CONFIG_MACH_SMDK2413 is not set +# CONFIG_MACH_SMDK2443 is not set +# CONFIG_MACH_TCT_HAMMER is not set +# CONFIG_MACH_VR1000 is not set +# CONFIG_MACH_VSTMS is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MFD_GLAMO=y +CONFIG_MFD_GLAMO_FB=y +# CONFIG_MFD_GLAMO_FB_XGLAMO_WORKAROUND is not set +CONFIG_MFD_GLAMO_MCI=y +CONFIG_MFD_GLAMO_SPI_FB=y +CONFIG_MFD_GLAMO_SPI_GPIO=y +CONFIG_MFD_PCF50606=y +CONFIG_MFD_PCF50633=y +# CONFIG_MFD_T7L66XB is not set +# CONFIG_MISC_DEVICES is not set +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_S3C=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_S3C=y +# CONFIG_MMC_SPI is not set +CONFIG_MMC_UNSAFE_RESUME=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MOUSE_BCM5974 is not set +# CONFIG_MOUSE_GPIO is not set +# CONFIG_MOUSE_PS2 is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MTD_ABSENT=y +# CONFIG_MTD_CFI_AMDSTD is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_GPIO is not set +CONFIG_MTD_NAND_S3C2410=y +# CONFIG_MTD_NAND_S3C2410_CLKSTOP is not set +# CONFIG_MTD_NAND_S3C2410_DEBUG is not set +CONFIG_MTD_NAND_S3C2410_HWECC=y +CONFIG_MTD_NAND_VERIFY_WRITE=y +CONFIG_MTD_PHYSMAP=y +# CONFIG_MTD_PHYSMAP_COMPAT is not set +# CONFIG_MTD_QINFO_PROBE is not set +CONFIG_MTD_ROM=y +CONFIG_NAMESPACES=y +CONFIG_NEO1973_GTA02_2440=y +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETWORK_FILESYSTEMS is not set +# CONFIG_NET_CLS_ACT is not set +# CONFIG_NET_ETHERNET is not set +# CONFIG_NET_NS is not set +# CONFIG_NET_SCH_DRR is not set +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_IPV4=y +# CONFIG_NF_CONNTRACK_MARK is not set +# CONFIG_NF_CONNTRACK_PROC_COMPAT is not set +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NO_IOPORT=y +CONFIG_NR_TTY_DEVICES=6 +# CONFIG_NVRAM is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PCA9632=y +CONFIG_PCF50606_ADC=y +CONFIG_PCF50606_GPO=y +CONFIG_PCF50606_WATCHDOG=y +CONFIG_PCF50633_ADC=y +CONFIG_PCF50633_GPIO=y +# CONFIG_PCI_SYSCALL is not set +CONFIG_PDA_POWER=y +# CONFIG_PHYS_ADDR_T_64BIT is not set +CONFIG_PLAT_S3C=y +CONFIG_PLAT_S3C24XX=y +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_SLEEP=y +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_PREEMPT=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_DEBUG=y +CONFIG_REGULATOR_PCF50606=y +CONFIG_REGULATOR_PCF50633=y +CONFIG_RFKILL=y +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DRV_CMOS is not set +CONFIG_RTC_DRV_PCF50606=y +CONFIG_RTC_DRV_PCF50633=y +CONFIG_RTC_DRV_S3C=y +CONFIG_S3C2410_CLOCK=y +CONFIG_S3C2410_DMA=y +# CONFIG_S3C2410_DMA_DEBUG is not set +CONFIG_S3C2410_GPIO=y +CONFIG_S3C2410_PM=y +# CONFIG_S3C2410_PM_CHECK is not set +# CONFIG_S3C2410_PM_DEBUG is not set +CONFIG_S3C2410_WATCHDOG=y +CONFIG_S3C2440_DMA=y +# CONFIG_S3C24XX_ADC is not set +CONFIG_S3C24XX_GPIO_EXTRA=0 +CONFIG_S3C24XX_PWM=y +# CONFIG_S3C_BOOT_ERROR_RESET is not set +CONFIG_S3C_BOOT_UART_FORCE_FIFO=y +# CONFIG_S3C_BOOT_WATCHDOG is not set +CONFIG_S3C_DEV_USB_HOST=y +CONFIG_S3C_DMA=y +CONFIG_S3C_GPIO_SPACE=0 +CONFIG_S3C_GPIO_TRACK=y +CONFIG_S3C_LOWLEVEL_UART_PORT=2 +CONFIG_S3C_PWM=y +CONFIG_SCSI=y +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_PROC_FS is not set +# CONFIG_SDIO_UART is not set +# CONFIG_SENSORS_PCF50606 is not set +# CONFIG_SERIAL_8250 is not set +CONFIG_SERIAL_S3C2410=y +CONFIG_SERIAL_S3C2440=y +CONFIG_SERIAL_SAMSUNG=y +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_SAMSUNG_UARTS=3 +CONFIG_SERIO=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_SERPORT is not set +CONFIG_SMDK2440_CPU2440=y +CONFIG_SMDK2440_CPU2442=y +CONFIG_SND=m +# CONFIG_SND_ARM is not set +# CONFIG_SND_DRIVERS is not set +CONFIG_SND_PCM=m +CONFIG_SND_S3C24XX_SOC=m +CONFIG_SND_S3C24XX_SOC_I2S=m +# CONFIG_SND_S3C24XX_SOC_LN2440SBC_ALC650 is not set +CONFIG_SND_S3C24XX_SOC_NEO1973_GTA02_WM8753=m +# CONFIG_SND_S3C24XX_SOC_NEO1973_WM8753 is not set +# CONFIG_SND_S3C24XX_SOC_S3C24XX_UDA134X is not set +# CONFIG_SND_S3C64XX_SOC_SMDK6410_WM8731 is not set +CONFIG_SND_SOC=m +# CONFIG_SND_SOC_ALL_CODECS is not set +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_TIMER=m +# CONFIG_SND_USB is not set +# CONFIG_SND_VERBOSE_PROCFS is not set +CONFIG_SOUND=m +# CONFIG_SOUND_OSS_CORE is not set +CONFIG_SPI=y +CONFIG_SPI_BITBANG=y +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_GPIO_OLD is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_S3C24XX=y +CONFIG_SPI_S3C24XX_GPIO=y +# CONFIG_SPI_SPIDEV is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_SQUASHFS is not set +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SYSCTL_SYSCALL_CHECK is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_MD5SIG=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_ELO is not set +CONFIG_TOUCHSCREEN_FILTER=y +CONFIG_TOUCHSCREEN_FILTER_GROUP=y +CONFIG_TOUCHSCREEN_FILTER_LINEAR=y +CONFIG_TOUCHSCREEN_FILTER_MEAN=y +CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_PCAP7200 is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +CONFIG_TOUCHSCREEN_S3C2410=y +# CONFIG_TOUCHSCREEN_S3C2410_DEBUG is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +CONFIG_UID16=y +CONFIG_UIO=y +CONFIG_UIO_PDRV=y +# CONFIG_UIO_PDRV_GENIRQ is not set +# CONFIG_UIO_SERCOS3 is not set +# CONFIG_UIO_SMX is not set +CONFIG_UNEVICTABLE_LRU=y +CONFIG_USB=y +CONFIG_USB_ACM=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_DEVICEFS is not set +CONFIG_USB_ETH=y +CONFIG_USB_ETH_RNDIS=y +# CONFIG_USB_FILE_STORAGE is not set +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_GADGET_AMD5536UDC is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_ATMEL_USBA is not set +# CONFIG_USB_GADGET_CI13XXX is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DUALSPEED is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +# CONFIG_USB_GADGET_FSL_QE is not set +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_IMX is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_MUSB_HDRC is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_PXA25X is not set +# CONFIG_USB_GADGET_PXA27X is not set +CONFIG_USB_GADGET_S3C2410=y +# CONFIG_USB_GADGET_S3C_OTGD_HS is not set +CONFIG_USB_GADGET_SELECTED=y +CONFIG_USB_GADGET_VBUS_DRAW=500 +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_G_SERIAL is not set +CONFIG_USB_HID=y +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_MUSB_HDRC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_S3C2410=y +# CONFIG_USB_S3C2410_DEBUG is not set +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CONSOLE=y +# CONFIG_USB_SERIAL_OPTICON is not set +CONFIG_USB_SERIAL_OPTION=y +# CONFIG_USB_SERIAL_SIEMENS_MPI is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_SUSPEND=y +# CONFIG_USB_ZERO is not set +# CONFIG_USER_NS is not set +CONFIG_VECTORS_BASE=0xffff0000 +# CONFIG_VGA_CONSOLE is not set +CONFIG_VIDEO_OUTPUT_CONTROL=y +# CONFIG_VLAN_8021Q is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_WIRELESS is not set +# CONFIG_WLAN_80211 is not set +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/s3c24xx/patches-2.6.29/000-downgrade-to-rc3.patch b/target/linux/s3c24xx/patches-2.6.29/000-downgrade-to-rc3.patch new file mode 100644 index 000000000..c9c845382 --- /dev/null +++ b/target/linux/s3c24xx/patches-2.6.29/000-downgrade-to-rc3.patch @@ -0,0 +1,170300 @@ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/include/asm/bug.h linux-2.6.29-rc3.owrt/arch/alpha/include/asm/bug.h +--- linux-2.6.29.owrt/arch/alpha/include/asm/bug.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/include/asm/bug.h 2009-05-10 23:48:27.000000000 +0200 +@@ -8,12 +8,17 @@ + + /* ??? Would be nice to use .gprel32 here, but we can't be sure that the + function loaded the GP, so this could fail in modules. */ +-#define BUG() do { \ +- __asm__ __volatile__( \ +- "call_pal %0 # bugchk\n\t" \ +- ".long %1\n\t.8byte %2" \ +- : : "i"(PAL_bugchk), "i"(__LINE__), "i"(__FILE__)); \ +- for ( ; ; ); } while (0) ++static inline void ATTRIB_NORET __BUG(const char *file, int line) ++{ ++ __asm__ __volatile__( ++ "call_pal %0 # bugchk\n\t" ++ ".long %1\n\t.8byte %2" ++ : : "i" (PAL_bugchk), "i"(line), "i"(file)); ++ for ( ; ; ) ++ ; ++} ++ ++#define BUG() __BUG(__FILE__, __LINE__) + + #define HAVE_ARCH_BUG + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/include/asm/dma-mapping.h linux-2.6.29-rc3.owrt/arch/alpha/include/asm/dma-mapping.h +--- linux-2.6.29.owrt/arch/alpha/include/asm/dma-mapping.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/include/asm/dma-mapping.h 2009-05-10 23:48:27.000000000 +0200 +@@ -29,8 +29,6 @@ + + #else /* no PCI - no IOMMU. */ + +-#include /* for virt_to_phys() */ +- + struct scatterlist; + void *dma_alloc_coherent(struct device *dev, size_t size, + dma_addr_t *dma_handle, gfp_t gfp); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/Kconfig linux-2.6.29-rc3.owrt/arch/alpha/Kconfig +--- linux-2.6.29.owrt/arch/alpha/Kconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/Kconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -8,7 +8,6 @@ + select HAVE_AOUT + select HAVE_IDE + select HAVE_OPROFILE +- select HAVE_SYSCALL_WRAPPERS + help + The Alpha is a 64-bit general-purpose processor designed and + marketed by the Digital Equipment Corporation of blessed memory, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/entry.S linux-2.6.29-rc3.owrt/arch/alpha/kernel/entry.S +--- linux-2.6.29.owrt/arch/alpha/kernel/entry.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/entry.S 2009-05-10 23:48:27.000000000 +0200 +@@ -933,7 +933,7 @@ + osf_sigprocmask: + .prologue 0 + mov $sp, $18 +- jmp $31, sys_osf_sigprocmask ++ jmp $31, do_osf_sigprocmask + .end osf_sigprocmask + + .align 4 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/osf_sys.c linux-2.6.29-rc3.owrt/arch/alpha/kernel/osf_sys.c +--- linux-2.6.29.owrt/arch/alpha/kernel/osf_sys.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/osf_sys.c 2009-05-10 23:48:27.000000000 +0200 +@@ -54,7 +54,8 @@ + * identical to OSF as we don't return 0 on success, but doing otherwise + * would require changes to libc. Hopefully this is good enough. + */ +-SYSCALL_DEFINE1(osf_brk, unsigned long, brk) ++asmlinkage unsigned long ++osf_brk(unsigned long brk) + { + unsigned long retval = sys_brk(brk); + if (brk && brk != retval) +@@ -65,9 +66,9 @@ + /* + * This is pure guess-work.. + */ +-SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start, +- unsigned long, text_len, unsigned long, bss_start, +- unsigned long, bss_len) ++asmlinkage int ++osf_set_program_attributes(unsigned long text_start, unsigned long text_len, ++ unsigned long bss_start, unsigned long bss_len) + { + struct mm_struct *mm; + +@@ -145,9 +146,9 @@ + return -EFAULT; + } + +-SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd, +- struct osf_dirent __user *, dirent, unsigned int, count, +- long __user *, basep) ++asmlinkage int ++osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent, ++ unsigned int count, long __user *basep) + { + int error; + struct file *file; +@@ -176,9 +177,9 @@ + + #undef NAME_OFFSET + +-SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len, +- unsigned long, prot, unsigned long, flags, unsigned long, fd, +- unsigned long, off) ++asmlinkage unsigned long ++osf_mmap(unsigned long addr, unsigned long len, unsigned long prot, ++ unsigned long flags, unsigned long fd, unsigned long off) + { + struct file *file = NULL; + unsigned long ret = -EBADF; +@@ -253,8 +254,8 @@ + return error; + } + +-SYSCALL_DEFINE3(osf_statfs, char __user *, pathname, +- struct osf_statfs __user *, buffer, unsigned long, bufsiz) ++asmlinkage int ++osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned long bufsiz) + { + struct path path; + int retval; +@@ -267,8 +268,8 @@ + return retval; + } + +-SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd, +- struct osf_statfs __user *, buffer, unsigned long, bufsiz) ++asmlinkage int ++osf_fstatfs(unsigned long fd, struct osf_statfs __user *buffer, unsigned long bufsiz) + { + struct file *file; + int retval; +@@ -367,8 +368,8 @@ + return do_mount("", dirname, "proc", flags, NULL); + } + +-SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path, +- int, flag, void __user *, data) ++asmlinkage int ++osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data) + { + int retval = -EINVAL; + char *name; +@@ -398,7 +399,8 @@ + return retval; + } + +-SYSCALL_DEFINE1(osf_utsname, char __user *, name) ++asmlinkage int ++osf_utsname(char __user *name) + { + int error; + +@@ -421,12 +423,14 @@ + return error; + } + +-SYSCALL_DEFINE0(getpagesize) ++asmlinkage unsigned long ++sys_getpagesize(void) + { + return PAGE_SIZE; + } + +-SYSCALL_DEFINE0(getdtablesize) ++asmlinkage unsigned long ++sys_getdtablesize(void) + { + return sysctl_nr_open; + } +@@ -434,7 +438,8 @@ + /* + * For compatibility with OSF/1 only. Use utsname(2) instead. + */ +-SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen) ++asmlinkage int ++osf_getdomainname(char __user *name, int namelen) + { + unsigned len; + int i; +@@ -522,8 +527,8 @@ + PL_DEL = 5, PL_FDEL = 6 + }; + +-SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code, +- union pl_args __user *, args) ++asmlinkage long ++osf_proplist_syscall(enum pl_code code, union pl_args __user *args) + { + long error; + int __user *min_buf_size_ptr; +@@ -562,8 +567,8 @@ + return error; + } + +-SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss, +- struct sigstack __user *, uoss) ++asmlinkage int ++osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss) + { + unsigned long usp = rdusp(); + unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size; +@@ -603,7 +608,8 @@ + return error; + } + +-SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count) ++asmlinkage long ++osf_sysinfo(int command, char __user *buf, long count) + { + char *sysinfo_table[] = { + utsname()->sysname, +@@ -641,8 +647,9 @@ + return err; + } + +-SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer, +- unsigned long, nbytes, int __user *, start, void __user *, arg) ++asmlinkage unsigned long ++osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, ++ int __user *start, void __user *arg) + { + unsigned long w; + struct percpu_struct *cpu; +@@ -698,8 +705,9 @@ + return -EOPNOTSUPP; + } + +-SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer, +- unsigned long, nbytes, int __user *, start, void __user *, arg) ++asmlinkage unsigned long ++osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, ++ int __user *start, void __user *arg) + { + switch (op) { + case SSI_IEEE_FP_CONTROL: { +@@ -872,8 +880,8 @@ + value->tv_sec = jiffies / HZ; + } + +-SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv, +- struct timezone __user *, tz) ++asmlinkage int ++osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz) + { + if (tv) { + struct timeval ktv; +@@ -888,8 +896,8 @@ + return 0; + } + +-SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv, +- struct timezone __user *, tz) ++asmlinkage int ++osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz) + { + struct timespec kts; + struct timezone ktz; +@@ -908,7 +916,8 @@ + return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL); + } + +-SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it) ++asmlinkage int ++osf_getitimer(int which, struct itimerval32 __user *it) + { + struct itimerval kit; + int error; +@@ -920,8 +929,8 @@ + return error; + } + +-SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in, +- struct itimerval32 __user *, out) ++asmlinkage int ++osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __user *out) + { + struct itimerval kin, kout; + int error; +@@ -943,8 +952,8 @@ + + } + +-SYSCALL_DEFINE2(osf_utimes, char __user *, filename, +- struct timeval32 __user *, tvs) ++asmlinkage int ++osf_utimes(char __user *filename, struct timeval32 __user *tvs) + { + struct timespec tv[2]; + +@@ -970,8 +979,9 @@ + #define MAX_SELECT_SECONDS \ + ((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1) + +-SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp, +- fd_set __user *, exp, struct timeval32 __user *, tvp) ++asmlinkage int ++osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, ++ struct timeval32 __user *tvp) + { + struct timespec end_time, *to = NULL; + if (tvp) { +@@ -1016,7 +1026,8 @@ + long ru_nivcsw; /* involuntary " */ + }; + +-SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru) ++asmlinkage int ++osf_getrusage(int who, struct rusage32 __user *ru) + { + struct rusage32 r; + +@@ -1042,8 +1053,9 @@ + return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; + } + +-SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options, +- struct rusage32 __user *, ur) ++asmlinkage long ++osf_wait4(pid_t pid, int __user *ustatus, int options, ++ struct rusage32 __user *ur) + { + struct rusage r; + long ret, err; +@@ -1089,8 +1101,8 @@ + * seems to be a timeval pointer, and I suspect the second + * one is the time remaining.. Ho humm.. No documentation. + */ +-SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep, +- struct timeval32 __user *, remain) ++asmlinkage int ++osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remain) + { + struct timeval tmp; + unsigned long ticks; +@@ -1143,7 +1155,8 @@ + int :32; int :32; int :32; int :32; + }; + +-SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p) ++asmlinkage int ++sys_old_adjtimex(struct timex32 __user *txc_p) + { + struct timex txc; + int ret; +@@ -1254,8 +1267,8 @@ + return 0; + } + +-SYSCALL_DEFINE3(osf_readv, unsigned long, fd, +- const struct iovec __user *, vector, unsigned long, count) ++asmlinkage ssize_t ++osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long count) + { + if (unlikely(personality(current->personality) == PER_OSF4)) + if (osf_fix_iov_len(vector, count)) +@@ -1263,8 +1276,8 @@ + return sys_readv(fd, vector, count); + } + +-SYSCALL_DEFINE3(osf_writev, unsigned long, fd, +- const struct iovec __user *, vector, unsigned long, count) ++asmlinkage ssize_t ++osf_writev(unsigned long fd, const struct iovec __user * vector, unsigned long count) + { + if (unlikely(personality(current->personality) == PER_OSF4)) + if (osf_fix_iov_len(vector, count)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/pci-noop.c linux-2.6.29-rc3.owrt/arch/alpha/kernel/pci-noop.c +--- linux-2.6.29.owrt/arch/alpha/kernel/pci-noop.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/pci-noop.c 2009-05-10 23:48:27.000000000 +0200 +@@ -109,8 +109,7 @@ + /* Stubs for the routines in pci_iommu.c: */ + + void * +-__pci_alloc_consistent(struct pci_dev *pdev, size_t size, +- dma_addr_t *dma_addrp, gfp_t gfp) ++pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp) + { + return NULL; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/process.c linux-2.6.29-rc3.owrt/arch/alpha/kernel/process.c +--- linux-2.6.29.owrt/arch/alpha/kernel/process.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/process.c 2009-05-10 23:48:27.000000000 +0200 +@@ -93,8 +93,8 @@ + if (cpuid != boot_cpuid) { + flags |= 0x00040000UL; /* "remain halted" */ + *pflags = flags; +- set_cpu_present(cpuid, false); +- set_cpu_possible(cpuid, false); ++ cpu_clear(cpuid, cpu_present_map); ++ cpu_clear(cpuid, cpu_possible_map); + halt(); + } + #endif +@@ -120,8 +120,8 @@ + + #ifdef CONFIG_SMP + /* Wait for the secondaries to halt. */ +- set_cpu_present(boot_cpuid, false); +- set_cpu_possible(boot_cpuid, false); ++ cpu_clear(boot_cpuid, cpu_present_map); ++ cpu_clear(boot_cpuid, cpu_possible_map); + while (cpus_weight(cpu_present_map)) + barrier(); + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/signal.c linux-2.6.29-rc3.owrt/arch/alpha/kernel/signal.c +--- linux-2.6.29.owrt/arch/alpha/kernel/signal.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/signal.c 2009-05-10 23:48:27.000000000 +0200 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + + #include + #include +@@ -52,8 +51,8 @@ + * Note that we don't need to acquire the kernel lock for SMP + * operation, as all of this is local to this thread. + */ +-SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask, +- struct pt_regs *, regs) ++asmlinkage unsigned long ++do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs) + { + unsigned long oldmask = -EINVAL; + +@@ -82,9 +81,9 @@ + return oldmask; + } + +-SYSCALL_DEFINE3(osf_sigaction, int, sig, +- const struct osf_sigaction __user *, act, +- struct osf_sigaction __user *, oact) ++asmlinkage int ++osf_sigaction(int sig, const struct osf_sigaction __user *act, ++ struct osf_sigaction __user *oact) + { + struct k_sigaction new_ka, old_ka; + int ret; +@@ -113,9 +112,10 @@ + return ret; + } + +-SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act, +- struct sigaction __user *, oact, +- size_t, sigsetsize, void __user *, restorer) ++asmlinkage long ++sys_rt_sigaction(int sig, const struct sigaction __user *act, ++ struct sigaction __user *oact, ++ size_t sigsetsize, void __user *restorer) + { + struct k_sigaction new_ka, old_ka; + int ret; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/smp.c linux-2.6.29-rc3.owrt/arch/alpha/kernel/smp.c +--- linux-2.6.29.owrt/arch/alpha/kernel/smp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/smp.c 2009-05-10 23:48:27.000000000 +0200 +@@ -121,11 +121,10 @@ + { + int cpuid = hard_smp_processor_id(); + +- if (cpu_online(cpuid)) { ++ if (cpu_test_and_set(cpuid, cpu_online_map)) { + printk("??, cpu 0x%x already present??\n", cpuid); + BUG(); + } +- set_cpu_online(cpuid, true); + + /* Turn on machine checks. */ + wrmces(7); +@@ -436,8 +435,8 @@ + ((char *)cpubase + i*hwrpb->processor_size); + if ((cpu->flags & 0x1cc) == 0x1cc) { + smp_num_probed++; +- set_cpu_possible(i, true); +- set_cpu_present(i, true); ++ cpu_set(i, cpu_possible_map); ++ cpu_set(i, cpu_present_map); + cpu->pal_revision = boot_cpu_palrev; + } + +@@ -470,8 +469,8 @@ + + /* Nothing to do on a UP box, or when told not to. */ + if (smp_num_probed == 1 || max_cpus == 0) { +- init_cpu_possible(cpumask_of(boot_cpuid)); +- init_cpu_present(cpumask_of(boot_cpuid)); ++ cpu_possible_map = cpumask_of_cpu(boot_cpuid); ++ cpu_present_map = cpumask_of_cpu(boot_cpuid); + printk(KERN_INFO "SMP mode deactivated.\n"); + return; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/alpha/kernel/systbls.S linux-2.6.29-rc3.owrt/arch/alpha/kernel/systbls.S +--- linux-2.6.29.owrt/arch/alpha/kernel/systbls.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/alpha/kernel/systbls.S 2009-05-10 23:48:27.000000000 +0200 +@@ -17,7 +17,7 @@ + .quad sys_write + .quad alpha_ni_syscall /* 5 */ + .quad sys_close +- .quad sys_osf_wait4 ++ .quad osf_wait4 + .quad alpha_ni_syscall + .quad sys_link + .quad sys_unlink /* 10 */ +@@ -27,11 +27,11 @@ + .quad sys_mknod + .quad sys_chmod /* 15 */ + .quad sys_chown +- .quad sys_osf_brk ++ .quad osf_brk + .quad alpha_ni_syscall + .quad sys_lseek + .quad sys_getxpid /* 20 */ +- .quad sys_osf_mount ++ .quad osf_mount + .quad sys_umount + .quad sys_setuid + .quad sys_getxuid +@@ -53,7 +53,7 @@ + .quad alpha_ni_syscall /* 40 */ + .quad sys_dup + .quad sys_alpha_pipe +- .quad sys_osf_set_program_attributes ++ .quad osf_set_program_attributes + .quad alpha_ni_syscall + .quad sys_open /* 45 */ + .quad alpha_ni_syscall +@@ -81,7 +81,7 @@ + .quad sys_newlstat + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 70 */ +- .quad sys_osf_mmap ++ .quad osf_mmap + .quad alpha_ni_syscall + .quad sys_munmap + .quad sys_mprotect +@@ -94,17 +94,17 @@ + .quad sys_setgroups /* 80 */ + .quad alpha_ni_syscall + .quad sys_setpgid +- .quad sys_osf_setitimer ++ .quad osf_setitimer + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 85 */ +- .quad sys_osf_getitimer ++ .quad osf_getitimer + .quad sys_gethostname + .quad sys_sethostname + .quad sys_getdtablesize + .quad sys_dup2 /* 90 */ + .quad sys_newfstat + .quad sys_fcntl +- .quad sys_osf_select ++ .quad osf_select + .quad sys_poll + .quad sys_fsync /* 95 */ + .quad sys_setpriority +@@ -123,22 +123,22 @@ + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 110 */ + .quad sys_sigsuspend +- .quad sys_osf_sigstack ++ .quad osf_sigstack + .quad sys_recvmsg + .quad sys_sendmsg + .quad alpha_ni_syscall /* 115 */ +- .quad sys_osf_gettimeofday +- .quad sys_osf_getrusage ++ .quad osf_gettimeofday ++ .quad osf_getrusage + .quad sys_getsockopt + .quad alpha_ni_syscall + #ifdef CONFIG_OSF4_COMPAT +- .quad sys_osf_readv /* 120 */ +- .quad sys_osf_writev ++ .quad osf_readv /* 120 */ ++ .quad osf_writev + #else + .quad sys_readv /* 120 */ + .quad sys_writev + #endif +- .quad sys_osf_settimeofday ++ .quad osf_settimeofday + .quad sys_fchown + .quad sys_fchmod + .quad sys_recvfrom /* 125 */ +@@ -154,7 +154,7 @@ + .quad sys_socketpair /* 135 */ + .quad sys_mkdir + .quad sys_rmdir +- .quad sys_osf_utimes ++ .quad osf_utimes + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 140 */ + .quad sys_getpeername +@@ -172,16 +172,16 @@ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 155 */ +- .quad sys_osf_sigaction ++ .quad osf_sigaction + .quad alpha_ni_syscall + .quad alpha_ni_syscall +- .quad sys_osf_getdirentries +- .quad sys_osf_statfs /* 160 */ +- .quad sys_osf_fstatfs ++ .quad osf_getdirentries ++ .quad osf_statfs /* 160 */ ++ .quad osf_fstatfs + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall +- .quad sys_osf_getdomainname /* 165 */ ++ .quad osf_getdomainname /* 165 */ + .quad sys_setdomainname + .quad alpha_ni_syscall + .quad alpha_ni_syscall +@@ -224,7 +224,7 @@ + .quad sys_semctl + .quad sys_semget /* 205 */ + .quad sys_semop +- .quad sys_osf_utsname ++ .quad osf_utsname + .quad sys_lchown + .quad sys_shmat + .quad sys_shmctl /* 210 */ +@@ -258,23 +258,23 @@ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 240 */ +- .quad sys_osf_sysinfo ++ .quad osf_sysinfo + .quad alpha_ni_syscall + .quad alpha_ni_syscall +- .quad sys_osf_proplist_syscall ++ .quad osf_proplist_syscall + .quad alpha_ni_syscall /* 245 */ + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 250 */ +- .quad sys_osf_usleep_thread ++ .quad osf_usleep_thread + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad sys_sysfs + .quad alpha_ni_syscall /* 255 */ +- .quad sys_osf_getsysinfo +- .quad sys_osf_setsysinfo ++ .quad osf_getsysinfo ++ .quad osf_setsysinfo + .quad alpha_ni_syscall + .quad alpha_ni_syscall + .quad alpha_ni_syscall /* 260 */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/configs/at91sam9260ek_defconfig linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9260ek_defconfig +--- linux-2.6.29.owrt/arch/arm/configs/at91sam9260ek_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9260ek_defconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -608,7 +608,7 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-CONFIG_AT91SAM9X_WATCHDOG=y ++CONFIG_AT91SAM9_WATCHDOG=y + + # + # USB-based Watchdog Cards +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/configs/at91sam9261ek_defconfig linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9261ek_defconfig +--- linux-2.6.29.owrt/arch/arm/configs/at91sam9261ek_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9261ek_defconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -700,7 +700,7 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-CONFIG_AT91SAM9X_WATCHDOG=y ++CONFIG_AT91SAM9_WATCHDOG=y + + # + # USB-based Watchdog Cards +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/configs/at91sam9263ek_defconfig linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9263ek_defconfig +--- linux-2.6.29.owrt/arch/arm/configs/at91sam9263ek_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9263ek_defconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -710,7 +710,7 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-CONFIG_AT91SAM9X_WATCHDOG=y ++CONFIG_AT91SAM9_WATCHDOG=y + + # + # USB-based Watchdog Cards +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/configs/at91sam9rlek_defconfig linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9rlek_defconfig +--- linux-2.6.29.owrt/arch/arm/configs/at91sam9rlek_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/configs/at91sam9rlek_defconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -606,7 +606,7 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-CONFIG_AT91SAM9X_WATCHDOG=y ++CONFIG_AT91SAM9_WATCHDOG=y + + # + # Sonics Silicon Backplane +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/configs/qil-a9260_defconfig linux-2.6.29-rc3.owrt/arch/arm/configs/qil-a9260_defconfig +--- linux-2.6.29.owrt/arch/arm/configs/qil-a9260_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/configs/qil-a9260_defconfig 2009-05-10 23:48:27.000000000 +0200 +@@ -727,7 +727,7 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-# CONFIG_AT91SAM9X_WATCHDOG is not set ++# CONFIG_AT91SAM9_WATCHDOG is not set + + # + # USB-based Watchdog Cards +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/elf.c linux-2.6.29-rc3.owrt/arch/arm/kernel/elf.c +--- linux-2.6.29.owrt/arch/arm/kernel/elf.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/elf.c 2009-05-10 23:48:27.000000000 +0200 +@@ -74,9 +74,9 @@ + */ + int arm_elf_read_implies_exec(const struct elf32_hdr *x, int executable_stack) + { +- if (executable_stack != EXSTACK_DISABLE_X) ++ if (executable_stack != EXSTACK_ENABLE_X) + return 1; +- if (cpu_architecture() < CPU_ARCH_ARMv6) ++ if (cpu_architecture() <= CPU_ARCH_ARMv6) + return 1; + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/entry-armv.S linux-2.6.29-rc3.owrt/arch/arm/kernel/entry-armv.S +--- linux-2.6.29.owrt/arch/arm/kernel/entry-armv.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/entry-armv.S 2009-05-10 23:48:27.000000000 +0200 +@@ -650,7 +650,6 @@ + no_fp: mov pc, lr + + __und_usr_unknown: +- enable_irq + mov r0, sp + adr lr, ret_from_exception + b do_undefinstr +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/entry-common.S linux-2.6.29-rc3.owrt/arch/arm/kernel/entry-common.S +--- linux-2.6.29.owrt/arch/arm/kernel/entry-common.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/entry-common.S 2009-05-10 23:48:27.000000000 +0200 +@@ -111,7 +111,6 @@ + .globl mcount_call + mcount_call: + bl ftrace_stub +- ldr lr, [fp, #-4] @ restore lr + ldmia sp!, {r0-r3, pc} + + ENTRY(ftrace_caller) +@@ -123,7 +122,6 @@ + .globl ftrace_call + ftrace_call: + bl ftrace_stub +- ldr lr, [fp, #-4] @ restore lr + ldmia sp!, {r0-r3, pc} + + #else +@@ -135,16 +133,14 @@ + adr r0, ftrace_stub + cmp r0, r2 + bne trace +- ldr lr, [fp, #-4] @ restore lr + ldmia sp!, {r0-r3, pc} + + trace: +- ldr r1, [fp, #-4] @ lr of instrumented routine ++ ldr r1, [fp, #-4] + mov r0, lr + sub r0, r0, #MCOUNT_INSN_SIZE + mov lr, pc + mov pc, r2 +- mov lr, r1 @ restore lr + ldmia sp!, {r0-r3, pc} + + #endif /* CONFIG_DYNAMIC_FTRACE */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/fiq.c linux-2.6.29-rc3.owrt/arch/arm/kernel/fiq.c +--- linux-2.6.29.owrt/arch/arm/kernel/fiq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/fiq.c 2009-05-10 23:48:27.000000000 +0200 +@@ -88,7 +88,7 @@ + * disable irqs for the duration. Note - these functions are almost + * entirely coded in assembly. + */ +-void __naked set_fiq_regs(struct pt_regs *regs) ++void __attribute__((naked)) set_fiq_regs(struct pt_regs *regs) + { + register unsigned long tmp; + asm volatile ( +@@ -106,7 +106,7 @@ + : "r" (®s->ARM_r8), "I" (PSR_I_BIT | PSR_F_BIT | FIQ_MODE)); + } + +-void __naked get_fiq_regs(struct pt_regs *regs) ++void __attribute__((naked)) get_fiq_regs(struct pt_regs *regs) + { + register unsigned long tmp; + asm volatile ( +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/irq.c linux-2.6.29-rc3.owrt/arch/arm/kernel/irq.c +--- linux-2.6.29.owrt/arch/arm/kernel/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/irq.c 2009-05-10 23:48:27.000000000 +0200 +@@ -101,7 +101,7 @@ + /* Handle bad interrupts */ + static struct irq_desc bad_irq_desc = { + .handle_irq = handle_bad_irq, +- .lock = __SPIN_LOCK_UNLOCKED(bad_irq_desc.lock), ++ .lock = SPIN_LOCK_UNLOCKED + }; + + /* +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/machine_kexec.c linux-2.6.29-rc3.owrt/arch/arm/kernel/machine_kexec.c +--- linux-2.6.29.owrt/arch/arm/kernel/machine_kexec.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/machine_kexec.c 2009-05-10 23:48:27.000000000 +0200 +@@ -13,8 +13,8 @@ + #include + #include + +-extern const unsigned char relocate_new_kernel[]; +-extern const unsigned int relocate_new_kernel_size; ++const extern unsigned char relocate_new_kernel[]; ++const extern unsigned int relocate_new_kernel_size; + + extern void setup_mm_for_reboot(char mode); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/kernel/setup.c linux-2.6.29-rc3.owrt/arch/arm/kernel/setup.c +--- linux-2.6.29.owrt/arch/arm/kernel/setup.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/kernel/setup.c 2009-05-10 23:48:27.000000000 +0200 +@@ -233,13 +233,12 @@ + unsigned int cachetype = read_cpuid_cachetype(); + unsigned int arch = cpu_architecture(); + +- if (arch >= CPU_ARCH_ARMv6) { +- if ((cachetype & (7 << 29)) == 4 << 29) { +- /* ARMv7 register format */ +- cacheid = CACHEID_VIPT_NONALIASING; +- if ((cachetype & (3 << 14)) == 1 << 14) +- cacheid |= CACHEID_ASID_TAGGED; +- } else if (cachetype & (1 << 23)) ++ if (arch >= CPU_ARCH_ARMv7) { ++ cacheid = CACHEID_VIPT_NONALIASING; ++ if ((cachetype & (3 << 14)) == 1 << 14) ++ cacheid |= CACHEID_ASID_TAGGED; ++ } else if (arch >= CPU_ARCH_ARMv6) { ++ if (cachetype & (1 << 23)) + cacheid = CACHEID_VIPT_ALIASING; + else + cacheid = CACHEID_VIPT_NONALIASING; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/at91cap9_devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91cap9_devices.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/at91cap9_devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91cap9_devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -697,7 +697,7 @@ + * Watchdog + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) ++#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) + static struct platform_device at91cap9_wdt_device = { + .name = "at91_wdt", + .id = -1, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9260_devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9260_devices.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9260_devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9260_devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -643,7 +643,7 @@ + * Watchdog + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) ++#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) + static struct platform_device at91sam9260_wdt_device = { + .name = "at91_wdt", + .id = -1, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9261_devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9261_devices.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9261_devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9261_devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -621,7 +621,7 @@ + * Watchdog + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) ++#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) + static struct platform_device at91sam9261_wdt_device = { + .name = "at91_wdt", + .id = -1, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9263_devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9263_devices.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9263_devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9263_devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -347,111 +347,6 @@ + void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} + #endif + +-/* -------------------------------------------------------------------- +- * Compact Flash (PCMCIA or IDE) +- * -------------------------------------------------------------------- */ +- +-#if defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE) || \ +- defined(CONFIG_BLK_DEV_IDE_AT91) || defined(CONFIG_BLK_DEV_IDE_AT91_MODULE) +- +-static struct at91_cf_data cf0_data; +- +-static struct resource cf0_resources[] = { +- [0] = { +- .start = AT91_CHIPSELECT_4, +- .end = AT91_CHIPSELECT_4 + SZ_256M - 1, +- .flags = IORESOURCE_MEM | IORESOURCE_MEM_8AND16BIT, +- } +-}; +- +-static struct platform_device cf0_device = { +- .id = 0, +- .dev = { +- .platform_data = &cf0_data, +- }, +- .resource = cf0_resources, +- .num_resources = ARRAY_SIZE(cf0_resources), +-}; +- +-static struct at91_cf_data cf1_data; +- +-static struct resource cf1_resources[] = { +- [0] = { +- .start = AT91_CHIPSELECT_5, +- .end = AT91_CHIPSELECT_5 + SZ_256M - 1, +- .flags = IORESOURCE_MEM | IORESOURCE_MEM_8AND16BIT, +- } +-}; +- +-static struct platform_device cf1_device = { +- .id = 1, +- .dev = { +- .platform_data = &cf1_data, +- }, +- .resource = cf1_resources, +- .num_resources = ARRAY_SIZE(cf1_resources), +-}; +- +-void __init at91_add_device_cf(struct at91_cf_data *data) +-{ +- unsigned long ebi0_csa; +- struct platform_device *pdev; +- +- if (!data) +- return; +- +- /* +- * assign CS4 or CS5 to SMC with Compact Flash logic support, +- * we assume SMC timings are configured by board code, +- * except True IDE where timings are controlled by driver +- */ +- ebi0_csa = at91_sys_read(AT91_MATRIX_EBI0CSA); +- switch (data->chipselect) { +- case 4: +- at91_set_A_periph(AT91_PIN_PD6, 0); /* EBI0_NCS4/CFCS0 */ +- ebi0_csa |= AT91_MATRIX_EBI0_CS4A_SMC_CF1; +- cf0_data = *data; +- pdev = &cf0_device; +- break; +- case 5: +- at91_set_A_periph(AT91_PIN_PD7, 0); /* EBI0_NCS5/CFCS1 */ +- ebi0_csa |= AT91_MATRIX_EBI0_CS5A_SMC_CF2; +- cf1_data = *data; +- pdev = &cf1_device; +- break; +- default: +- printk(KERN_ERR "AT91 CF: bad chip-select requested (%u)\n", +- data->chipselect); +- return; +- } +- at91_sys_write(AT91_MATRIX_EBI0CSA, ebi0_csa); +- +- if (data->det_pin) { +- at91_set_gpio_input(data->det_pin, 1); +- at91_set_deglitch(data->det_pin, 1); +- } +- +- if (data->irq_pin) { +- at91_set_gpio_input(data->irq_pin, 1); +- at91_set_deglitch(data->irq_pin, 1); +- } +- +- if (data->vcc_pin) +- /* initially off */ +- at91_set_gpio_output(data->vcc_pin, 0); +- +- /* enable EBI controlled pins */ +- at91_set_A_periph(AT91_PIN_PD5, 1); /* NWAIT */ +- at91_set_A_periph(AT91_PIN_PD8, 0); /* CFCE1 */ +- at91_set_A_periph(AT91_PIN_PD9, 0); /* CFCE2 */ +- at91_set_A_periph(AT91_PIN_PD14, 0); /* CFNRW */ +- +- pdev->name = (data->flags & AT91_CF_TRUE_IDE) ? "at91_ide" : "at91_cf"; +- platform_device_register(pdev); +-} +-#else +-void __init at91_add_device_cf(struct at91_cf_data *data) {} +-#endif + + /* -------------------------------------------------------------------- + * NAND / SmartMedia +@@ -959,7 +854,7 @@ + * Watchdog + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) ++#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) + static struct platform_device at91sam9263_wdt_device = { + .name = "at91_wdt", + .id = -1, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9rl_devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9rl_devices.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/at91sam9rl_devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/at91sam9rl_devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -609,7 +609,7 @@ + * Watchdog + * -------------------------------------------------------------------- */ + +-#if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) ++#if defined(CONFIG_AT91SAM9_WATCHDOG) || defined(CONFIG_AT91SAM9_WATCHDOG_MODULE) + static struct platform_device at91sam9rl_wdt_device = { + .name = "at91_wdt", + .id = -1, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/gpio.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/gpio.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/gpio.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/gpio.c 2009-05-10 23:48:27.000000000 +0200 +@@ -490,8 +490,7 @@ + + /*--------------------------------------------------------------------------*/ + +-/* +- * This lock class tells lockdep that GPIO irqs are in a different ++/* This lock class tells lockdep that GPIO irqs are in a different + * category than their parents, so it won't report false recursion. + */ + static struct lock_class_key gpio_lock_class; +@@ -510,6 +509,9 @@ + unsigned id = this->id; + unsigned i; + ++ /* enable PIO controller's clock */ ++ clk_enable(this->clock); ++ + __raw_writel(~0, this->regbase + PIO_IDR); + + for (i = 0, pin = this->chipbase; i < 32; i++, pin++) { +@@ -554,14 +556,7 @@ + data->chipbase = PIN_BASE + i * 32; + data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS; + +- /* enable PIO controller's clock */ +- clk_enable(data->clock); +- +- /* +- * Some processors share peripheral ID between multiple GPIO banks. +- * SAM9263 (PIOC, PIOD, PIOE) +- * CAP9 (PIOA, PIOB, PIOC, PIOD) +- */ ++ /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */ + if (last && last->id == data->id) + last->next = data; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/include/mach/board.h linux-2.6.29-rc3.owrt/arch/arm/mach-at91/include/mach/board.h +--- linux-2.6.29.owrt/arch/arm/mach-at91/include/mach/board.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/include/mach/board.h 2009-05-10 23:48:27.000000000 +0200 +@@ -56,9 +56,6 @@ + u8 vcc_pin; /* power switching */ + u8 rst_pin; /* card reset */ + u8 chipselect; /* EBI Chip Select number */ +- u8 flags; +-#define AT91_CF_TRUE_IDE 0x01 +-#define AT91_IDE_SWAP_A0_A2 0x02 + }; + extern void __init at91_add_device_cf(struct at91_cf_data *data); + +@@ -96,7 +93,6 @@ + u8 enable_pin; /* chip enable */ + u8 det_pin; /* card detect */ + u8 rdy_pin; /* ready/busy */ +- u8 rdy_pin_active_low; /* rdy_pin value is inverted */ + u8 ale; /* address line number connected to ALE */ + u8 cle; /* address line number connected to CLE */ + u8 bus_width_16; /* buswidth is 16 bit */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-at91/pm.c linux-2.6.29-rc3.owrt/arch/arm/mach-at91/pm.c +--- linux-2.6.29.owrt/arch/arm/mach-at91/pm.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-at91/pm.c 2009-05-10 23:48:27.000000000 +0200 +@@ -332,6 +332,7 @@ + at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR)); + + error: ++ sdram_selfrefresh_disable(); + target_state = PM_SUSPEND_ON; + at91_irq_resume(); + at91_gpio_resume(); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-davinci/board-evm.c linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/board-evm.c +--- linux-2.6.29.owrt/arch/arm/mach-davinci/board-evm.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/board-evm.c 2009-05-10 23:48:27.000000000 +0200 +@@ -311,9 +311,6 @@ + gpio_request(gpio + 7, "nCF_SEL"); + gpio_direction_output(gpio + 7, 1); + +- /* irlml6401 sustains over 3A, switches 5V in under 8 msec */ +- setup_usb(500, 8); +- + return 0; + } + +@@ -420,6 +417,9 @@ + platform_add_devices(davinci_evm_devices, + ARRAY_SIZE(davinci_evm_devices)); + evm_init_i2c(); ++ ++ /* irlml6401 sustains over 3A, switches 5V in under 8 msec */ ++ setup_usb(500, 8); + } + + static __init void davinci_evm_irq_init(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-davinci/clock.c linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/clock.c +--- linux-2.6.29.owrt/arch/arm/mach-davinci/clock.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/clock.c 2009-05-10 23:48:27.000000000 +0200 +@@ -231,11 +231,6 @@ + .lpsc = DAVINCI_LPSC_GPIO, + }, + { +- .name = "usb", +- .rate = &commonrate, +- .lpsc = DAVINCI_LPSC_USB, +- }, +- { + .name = "AEMIFCLK", + .rate = &commonrate, + .lpsc = DAVINCI_LPSC_AEMIF, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-davinci/usb.c linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/usb.c +--- linux-2.6.29.owrt/arch/arm/mach-davinci/usb.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-davinci/usb.c 2009-05-10 23:48:27.000000000 +0200 +@@ -47,7 +47,6 @@ + #elif defined(CONFIG_USB_MUSB_HOST) + .mode = MUSB_HOST, + #endif +- .clock = "usb", + .config = &musb_config, + }; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/gesbc9312.h linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/gesbc9312.h +--- linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/gesbc9312.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/gesbc9312.h 2009-05-10 23:48:27.000000000 +0200 +@@ -0,0 +1,3 @@ ++/* ++ * arch/arm/mach-ep93xx/include/mach/gesbc9312.h ++ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/hardware.h linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/hardware.h +--- linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/hardware.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/hardware.h 2009-05-10 23:48:27.000000000 +0200 +@@ -10,6 +10,7 @@ + + #include "platform.h" + ++#include "gesbc9312.h" + #include "ts72xx.h" + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/platform.h linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/platform.h +--- linux-2.6.29.owrt/arch/arm/mach-ep93xx/include/mach/platform.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-ep93xx/include/mach/platform.h 2009-05-10 23:48:27.000000000 +0200 +@@ -4,8 +4,6 @@ + + #ifndef __ASSEMBLY__ + +-struct i2c_board_info; +- + struct ep93xx_eth_data + { + unsigned char dev_addr[6]; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-kirkwood/irq.c linux-2.6.29-rc3.owrt/arch/arm/mach-kirkwood/irq.c +--- linux-2.6.29.owrt/arch/arm/mach-kirkwood/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-kirkwood/irq.c 2009-05-10 23:48:27.000000000 +0200 +@@ -42,7 +42,7 @@ + writel(0, GPIO_EDGE_CAUSE(32)); + + for (i = IRQ_KIRKWOOD_GPIO_START; i < NR_IRQS; i++) { +- set_irq_chip(i, &orion_gpio_irq_chip); ++ set_irq_chip(i, &orion_gpio_irq_level_chip); + set_irq_handler(i, handle_level_irq); + irq_desc[i].status |= IRQ_LEVEL; + set_irq_flags(i, IRQF_VALID); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-msm/board-halibut.c linux-2.6.29-rc3.owrt/arch/arm/mach-msm/board-halibut.c +--- linux-2.6.29.owrt/arch/arm/mach-msm/board-halibut.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-msm/board-halibut.c 2009-05-10 23:48:27.000000000 +0200 +@@ -27,7 +27,6 @@ + #include + #include + +-#include + #include + #include + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-mv78xx0/irq.c linux-2.6.29-rc3.owrt/arch/arm/mach-mv78xx0/irq.c +--- linux-2.6.29.owrt/arch/arm/mach-mv78xx0/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-mv78xx0/irq.c 2009-05-10 23:48:27.000000000 +0200 +@@ -40,7 +40,7 @@ + writel(0, GPIO_EDGE_CAUSE(0)); + + for (i = IRQ_MV78XX0_GPIO_START; i < NR_IRQS; i++) { +- set_irq_chip(i, &orion_gpio_irq_chip); ++ set_irq_chip(i, &orion_gpio_irq_level_chip); + set_irq_handler(i, handle_level_irq); + irq_desc[i].status |= IRQ_LEVEL; + set_irq_flags(i, IRQF_VALID); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-mx1/devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-mx1/devices.c +--- linux-2.6.29.owrt/arch/arm/mach-mx1/devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-mx1/devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -23,8 +23,6 @@ + #include + #include + #include +- +-#include + #include + + static struct resource imx_csi_resources[] = { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-mx1/mx1ads.c linux-2.6.29-rc3.owrt/arch/arm/mach-mx1/mx1ads.c +--- linux-2.6.29.owrt/arch/arm/mach-mx1/mx1ads.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-mx1/mx1ads.c 2009-05-10 23:48:27.000000000 +0200 +@@ -21,7 +21,6 @@ + #include + #include + +-#include + #include + #include + #include +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap1/devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap1/devices.c +--- linux-2.6.29.owrt/arch/arm/mach-omap1/devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap1/devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -181,7 +181,7 @@ + } + size = OMAP1_MMC_SIZE; + +- omap_mmc_add("mmci-omap", i, base, size, irq, mmc_data[i]); ++ omap_mmc_add(i, base, size, irq, mmc_data[i]); + }; + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap1/mcbsp.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap1/mcbsp.c +--- linux-2.6.29.owrt/arch/arm/mach-omap1/mcbsp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap1/mcbsp.c 2009-05-10 23:48:27.000000000 +0200 +@@ -28,8 +28,81 @@ + #define DPS_RSTCT2_PER_EN (1 << 0) + #define DSP_RSTCT2_WD_PER_EN (1 << 1) + ++struct mcbsp_internal_clk { ++ struct clk clk; ++ struct clk **childs; ++ int n_childs; ++}; ++ + #if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX) +-const char *clk_names[] = { "dsp_ck", "api_ck", "dspxor_ck" }; ++static void omap_mcbsp_clk_init(struct mcbsp_internal_clk *mclk) ++{ ++ const char *clk_names[] = { "dsp_ck", "api_ck", "dspxor_ck" }; ++ int i; ++ ++ mclk->n_childs = ARRAY_SIZE(clk_names); ++ mclk->childs = kzalloc(mclk->n_childs * sizeof(struct clk *), ++ GFP_KERNEL); ++ ++ for (i = 0; i < mclk->n_childs; i++) { ++ /* We fake a platform device to get correct device id */ ++ struct platform_device pdev; ++ ++ pdev.dev.bus = &platform_bus_type; ++ pdev.id = mclk->clk.id; ++ mclk->childs[i] = clk_get(&pdev.dev, clk_names[i]); ++ if (IS_ERR(mclk->childs[i])) ++ printk(KERN_ERR "Could not get clock %s (%d).\n", ++ clk_names[i], mclk->clk.id); ++ } ++} ++ ++static int omap_mcbsp_clk_enable(struct clk *clk) ++{ ++ struct mcbsp_internal_clk *mclk = container_of(clk, ++ struct mcbsp_internal_clk, clk); ++ int i; ++ ++ for (i = 0; i < mclk->n_childs; i++) ++ clk_enable(mclk->childs[i]); ++ return 0; ++} ++ ++static void omap_mcbsp_clk_disable(struct clk *clk) ++{ ++ struct mcbsp_internal_clk *mclk = container_of(clk, ++ struct mcbsp_internal_clk, clk); ++ int i; ++ ++ for (i = 0; i < mclk->n_childs; i++) ++ clk_disable(mclk->childs[i]); ++} ++ ++static struct mcbsp_internal_clk omap_mcbsp_clks[] = { ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 1, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 3, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++}; ++ ++#define omap_mcbsp_clks_size ARRAY_SIZE(omap_mcbsp_clks) ++#else ++#define omap_mcbsp_clks_size 0 ++static struct mcbsp_internal_clk __initdata *omap_mcbsp_clks; ++static inline void omap_mcbsp_clk_init(struct mcbsp_internal_clk *mclk) ++{ } + #endif + + static void omap1_mcbsp_request(unsigned int id) +@@ -94,9 +167,8 @@ + .rx_irq = INT_McBSP1RX, + .tx_irq = INT_McBSP1TX, + .ops = &omap1_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 3, +- }, ++ .clk_name = "mcbsp_clk", ++ }, + { + .phys_base = OMAP1510_MCBSP2_BASE, + .dma_rx_sync = OMAP_DMA_MCBSP2_RX, +@@ -112,8 +184,7 @@ + .rx_irq = INT_McBSP3RX, + .tx_irq = INT_McBSP3TX, + .ops = &omap1_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 3, ++ .clk_name = "mcbsp_clk", + }, + }; + #define OMAP15XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap15xx_mcbsp_pdata) +@@ -131,8 +202,7 @@ + .rx_irq = INT_McBSP1RX, + .tx_irq = INT_McBSP1TX, + .ops = &omap1_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 3, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP1610_MCBSP2_BASE, +@@ -149,8 +219,7 @@ + .rx_irq = INT_McBSP3RX, + .tx_irq = INT_McBSP3TX, + .ops = &omap1_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 3, ++ .clk_name = "mcbsp_clk", + }, + }; + #define OMAP16XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap16xx_mcbsp_pdata) +@@ -161,6 +230,15 @@ + + int __init omap1_mcbsp_init(void) + { ++ int i; ++ ++ for (i = 0; i < omap_mcbsp_clks_size; i++) { ++ if (cpu_is_omap15xx() || cpu_is_omap16xx()) { ++ omap_mcbsp_clk_init(&omap_mcbsp_clks[i]); ++ clk_register(&omap_mcbsp_clks[i].clk); ++ } ++ } ++ + if (cpu_is_omap730()) + omap_mcbsp_count = OMAP730_MCBSP_PDATA_SZ; + if (cpu_is_omap15xx()) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/board-ldp.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/board-ldp.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/board-ldp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/board-ldp.c 2009-05-10 23:48:27.000000000 +0200 +@@ -81,7 +81,7 @@ + } + + ldp_smc911x_resources[0].start = cs_mem_base + 0x0; +- ldp_smc911x_resources[0].end = cs_mem_base + 0xff; ++ ldp_smc911x_resources[0].end = cs_mem_base + 0xf; + udelay(100); + + eth_gpio = LDP_SMC911X_GPIO; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/board-omap3beagle.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/board-omap3beagle.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/board-omap3beagle.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/board-omap3beagle.c 2009-05-10 23:48:27.000000000 +0200 +@@ -178,9 +178,7 @@ + #ifdef CONFIG_I2C2_OMAP_BEAGLE + omap_register_i2c_bus(2, 400, NULL, 0); + #endif +- /* Bus 3 is attached to the DVI port where devices like the pico DLP +- * projector don't work reliably with 400kHz */ +- omap_register_i2c_bus(3, 100, NULL, 0); ++ omap_register_i2c_bus(3, 400, NULL, 0); + return 0; + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/clock.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/clock.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/clock.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/clock.c 2009-05-10 23:48:27.000000000 +0200 +@@ -565,7 +565,7 @@ + * + * Given a struct clk of a rate-selectable clksel clock, and a clock divisor, + * find the corresponding register field value. The return register value is +- * the value before left-shifting. Returns ~0 on error ++ * the value before left-shifting. Returns 0xffffffff on error + */ + u32 omap2_divisor_to_clksel(struct clk *clk, u32 div) + { +@@ -577,7 +577,7 @@ + + clks = omap2_get_clksel_by_parent(clk, clk->parent); + if (clks == NULL) +- return ~0; ++ return 0; + + for (clkr = clks->rates; clkr->div; clkr++) { + if ((clkr->flags & cpu_mask) && (clkr->div == div)) +@@ -588,7 +588,7 @@ + printk(KERN_ERR "clock: Could not find divisor %d for " + "clock %s parent %s\n", div, clk->name, + clk->parent->name); +- return ~0; ++ return 0; + } + + return clkr->val; +@@ -708,7 +708,7 @@ + return 0; + + for (clkr = clks->rates; clkr->div; clkr++) { +- if (clkr->flags & cpu_mask && clkr->flags & DEFAULT_RATE) ++ if (clkr->flags & (cpu_mask | DEFAULT_RATE)) + break; /* Found the default rate for this platform */ + } + +@@ -746,7 +746,7 @@ + return -EINVAL; + + if (clk->usecount > 0) +- omap2_clk_disable(clk); ++ _omap2_clk_disable(clk); + + /* Set new source value (previous dividers if any in effect) */ + reg_val = __raw_readl(src_addr) & ~field_mask; +@@ -759,10 +759,10 @@ + wmb(); + } + +- clk->parent = new_parent; +- + if (clk->usecount > 0) +- omap2_clk_enable(clk); ++ _omap2_clk_enable(clk); ++ ++ clk->parent = new_parent; + + /* CLKSEL clocks follow their parents' rates, divided by a divisor */ + clk->rate = new_parent->rate; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/devices.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/devices.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/devices.c 2009-05-10 23:48:27.000000000 +0200 +@@ -421,7 +421,6 @@ + int nr_controllers) + { + int i; +- char *name; + + for (i = 0; i < nr_controllers; i++) { + unsigned long base, size; +@@ -451,14 +450,12 @@ + continue; + } + +- if (cpu_is_omap2420()) { ++ if (cpu_is_omap2420()) + size = OMAP2420_MMC_SIZE; +- name = "mmci-omap"; +- } else { ++ else + size = HSMMC_SIZE; +- name = "mmci-omap-hs"; +- } +- omap_mmc_add(name, i, base, size, irq, mmc_data[i]); ++ ++ omap_mmc_add(i, base, size, irq, mmc_data[i]); + }; + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/id.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/id.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/id.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/id.c 2009-05-10 23:48:27.000000000 +0200 +@@ -172,13 +172,9 @@ + omap_revision = OMAP3430_REV_ES3_0; + rev_name = "ES3.0"; + break; +- case 4: +- omap_revision = OMAP3430_REV_ES3_1; +- rev_name = "ES3.1"; +- break; + default: + /* Use the latest known revision as default */ +- omap_revision = OMAP3430_REV_ES3_1; ++ omap_revision = OMAP3430_REV_ES3_0; + rev_name = "Unknown revision\n"; + } + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/irq.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/irq.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/irq.c 2009-05-10 23:48:27.000000000 +0200 +@@ -134,7 +134,6 @@ + .ack = omap_mask_ack_irq, + .mask = omap_mask_irq, + .unmask = omap_unmask_irq, +- .disable = omap_mask_irq, + }; + + static void __init omap_irq_bank_init_one(struct omap_irq_bank *bank) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/mcbsp.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/mcbsp.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/mcbsp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/mcbsp.c 2009-05-10 23:48:27.000000000 +0200 +@@ -24,7 +24,106 @@ + #include + #include + +-const char *clk_names[] = { "mcbsp_ick", "mcbsp_fck" }; ++struct mcbsp_internal_clk { ++ struct clk clk; ++ struct clk **childs; ++ int n_childs; ++}; ++ ++#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) ++static void omap_mcbsp_clk_init(struct mcbsp_internal_clk *mclk) ++{ ++ const char *clk_names[] = { "mcbsp_ick", "mcbsp_fck" }; ++ int i; ++ ++ mclk->n_childs = ARRAY_SIZE(clk_names); ++ mclk->childs = kzalloc(mclk->n_childs * sizeof(struct clk *), ++ GFP_KERNEL); ++ ++ for (i = 0; i < mclk->n_childs; i++) { ++ /* We fake a platform device to get correct device id */ ++ struct platform_device pdev; ++ ++ pdev.dev.bus = &platform_bus_type; ++ pdev.id = mclk->clk.id; ++ mclk->childs[i] = clk_get(&pdev.dev, clk_names[i]); ++ if (IS_ERR(mclk->childs[i])) ++ printk(KERN_ERR "Could not get clock %s (%d).\n", ++ clk_names[i], mclk->clk.id); ++ } ++} ++ ++static int omap_mcbsp_clk_enable(struct clk *clk) ++{ ++ struct mcbsp_internal_clk *mclk = container_of(clk, ++ struct mcbsp_internal_clk, clk); ++ int i; ++ ++ for (i = 0; i < mclk->n_childs; i++) ++ clk_enable(mclk->childs[i]); ++ return 0; ++} ++ ++static void omap_mcbsp_clk_disable(struct clk *clk) ++{ ++ struct mcbsp_internal_clk *mclk = container_of(clk, ++ struct mcbsp_internal_clk, clk); ++ int i; ++ ++ for (i = 0; i < mclk->n_childs; i++) ++ clk_disable(mclk->childs[i]); ++} ++ ++static struct mcbsp_internal_clk omap_mcbsp_clks[] = { ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 1, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 2, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 3, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 4, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++ { ++ .clk = { ++ .name = "mcbsp_clk", ++ .id = 5, ++ .enable = omap_mcbsp_clk_enable, ++ .disable = omap_mcbsp_clk_disable, ++ }, ++ }, ++}; ++ ++#define omap_mcbsp_clks_size ARRAY_SIZE(omap_mcbsp_clks) ++#else ++#define omap_mcbsp_clks_size 0 ++static struct mcbsp_internal_clk __initdata *omap_mcbsp_clks; ++static inline void omap_mcbsp_clk_init(struct clk *clk) ++{ } ++#endif + + static void omap2_mcbsp2_mux_setup(void) + { +@@ -57,8 +156,7 @@ + .rx_irq = INT_24XX_MCBSP1_IRQ_RX, + .tx_irq = INT_24XX_MCBSP1_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP24XX_MCBSP2_BASE, +@@ -67,8 +165,7 @@ + .rx_irq = INT_24XX_MCBSP2_IRQ_RX, + .tx_irq = INT_24XX_MCBSP2_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + }; + #define OMAP2420_MCBSP_PDATA_SZ ARRAY_SIZE(omap2420_mcbsp_pdata) +@@ -86,8 +183,7 @@ + .rx_irq = INT_24XX_MCBSP1_IRQ_RX, + .tx_irq = INT_24XX_MCBSP1_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP24XX_MCBSP2_BASE, +@@ -96,8 +192,7 @@ + .rx_irq = INT_24XX_MCBSP2_IRQ_RX, + .tx_irq = INT_24XX_MCBSP2_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP2430_MCBSP3_BASE, +@@ -106,8 +201,7 @@ + .rx_irq = INT_24XX_MCBSP3_IRQ_RX, + .tx_irq = INT_24XX_MCBSP3_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP2430_MCBSP4_BASE, +@@ -116,8 +210,7 @@ + .rx_irq = INT_24XX_MCBSP4_IRQ_RX, + .tx_irq = INT_24XX_MCBSP4_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP2430_MCBSP5_BASE, +@@ -126,8 +219,7 @@ + .rx_irq = INT_24XX_MCBSP5_IRQ_RX, + .tx_irq = INT_24XX_MCBSP5_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + }; + #define OMAP2430_MCBSP_PDATA_SZ ARRAY_SIZE(omap2430_mcbsp_pdata) +@@ -145,8 +237,7 @@ + .rx_irq = INT_24XX_MCBSP1_IRQ_RX, + .tx_irq = INT_24XX_MCBSP1_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP34XX_MCBSP2_BASE, +@@ -155,8 +246,7 @@ + .rx_irq = INT_24XX_MCBSP2_IRQ_RX, + .tx_irq = INT_24XX_MCBSP2_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP34XX_MCBSP3_BASE, +@@ -165,8 +255,7 @@ + .rx_irq = INT_24XX_MCBSP3_IRQ_RX, + .tx_irq = INT_24XX_MCBSP3_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP34XX_MCBSP4_BASE, +@@ -175,8 +264,7 @@ + .rx_irq = INT_24XX_MCBSP4_IRQ_RX, + .tx_irq = INT_24XX_MCBSP4_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + { + .phys_base = OMAP34XX_MCBSP5_BASE, +@@ -185,8 +273,7 @@ + .rx_irq = INT_24XX_MCBSP5_IRQ_RX, + .tx_irq = INT_24XX_MCBSP5_IRQ_TX, + .ops = &omap2_mcbsp_ops, +- .clk_names = clk_names, +- .num_clks = 2, ++ .clk_name = "mcbsp_clk", + }, + }; + #define OMAP34XX_MCBSP_PDATA_SZ ARRAY_SIZE(omap34xx_mcbsp_pdata) +@@ -197,6 +284,14 @@ + + static int __init omap2_mcbsp_init(void) + { ++ int i; ++ ++ for (i = 0; i < omap_mcbsp_clks_size; i++) { ++ /* Once we call clk_get inside init, we do not register it */ ++ omap_mcbsp_clk_init(&omap_mcbsp_clks[i]); ++ clk_register(&omap_mcbsp_clks[i].clk); ++ } ++ + if (cpu_is_omap2420()) + omap_mcbsp_count = OMAP2420_MCBSP_PDATA_SZ; + if (cpu_is_omap2430()) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/sleep24xx.S linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/sleep24xx.S +--- linux-2.6.29.owrt/arch/arm/mach-omap2/sleep24xx.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/sleep24xx.S 2009-05-10 23:48:28.000000000 +0200 +@@ -93,8 +93,9 @@ + orr r4, r4, #0x40 @ enable self refresh on idle req + mov r5, #0x2000 @ set delay (DPLL relock + DLL relock) + str r4, [r2] @ make it so ++ mov r2, #0 + nop +- mcr p15, 0, r3, c7, c0, 4 @ wait for interrupt ++ mcr p15, 0, r2, c7, c0, 4 @ wait for interrupt + nop + loop: + subs r5, r5, #0x1 @ awake, wait just a bit +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-omap2/timer-gp.c linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/timer-gp.c +--- linux-2.6.29.owrt/arch/arm/mach-omap2/timer-gp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-omap2/timer-gp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -118,8 +118,7 @@ + clockevent_gpt.max_delta_ns = + clockevent_delta2ns(0xffffffff, &clockevent_gpt); + clockevent_gpt.min_delta_ns = +- clockevent_delta2ns(3, &clockevent_gpt); +- /* Timer internal resynch latency. */ ++ clockevent_delta2ns(1, &clockevent_gpt); + + clockevent_gpt.cpumask = cpumask_of(0); + clockevents_register_device(&clockevent_gpt); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-orion5x/common.c linux-2.6.29-rc3.owrt/arch/arm/mach-orion5x/common.c +--- linux-2.6.29.owrt/arch/arm/mach-orion5x/common.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-orion5x/common.c 2009-05-10 23:48:28.000000000 +0200 +@@ -431,10 +431,6 @@ + /***************************************************************************** + * XOR engine + ****************************************************************************/ +-struct mv_xor_platform_shared_data orion5x_xor_shared_data = { +- .dram = &orion5x_mbus_dram_info, +-}; +- + static struct resource orion5x_xor_shared_resources[] = { + { + .name = "xor low", +@@ -452,9 +448,6 @@ + static struct platform_device orion5x_xor_shared = { + .name = MV_XOR_SHARED_NAME, + .id = 0, +- .dev = { +- .platform_data = &orion5x_xor_shared_data, +- }, + .num_resources = ARRAY_SIZE(orion5x_xor_shared_resources), + .resource = orion5x_xor_shared_resources, + }; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-orion5x/irq.c linux-2.6.29-rc3.owrt/arch/arm/mach-orion5x/irq.c +--- linux-2.6.29.owrt/arch/arm/mach-orion5x/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-orion5x/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -44,7 +44,7 @@ + * User can use set_type() if he wants to use edge types handlers. + */ + for (i = IRQ_ORION5X_GPIO_START; i < NR_IRQS; i++) { +- set_irq_chip(i, &orion_gpio_irq_chip); ++ set_irq_chip(i, &orion_gpio_irq_level_chip); + set_irq_handler(i, handle_level_irq); + irq_desc[i].status |= IRQ_LEVEL; + set_irq_flags(i, IRQF_VALID); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-pxa/dma.c linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/dma.c +--- linux-2.6.29.owrt/arch/arm/mach-pxa/dma.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/dma.c 2009-05-10 23:48:28.000000000 +0200 +@@ -121,16 +121,6 @@ + if (dma_channels == NULL) + return -ENOMEM; + +- /* dma channel priorities on pxa2xx processors: +- * ch 0 - 3, 16 - 19 <--> (0) DMA_PRIO_HIGH +- * ch 4 - 7, 20 - 23 <--> (1) DMA_PRIO_MEDIUM +- * ch 8 - 15, 24 - 31 <--> (2) DMA_PRIO_LOW +- */ +- for (i = 0; i < num_ch; i++) { +- DCSR(i) = 0; +- dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW); +- } +- + ret = request_irq(IRQ_DMA, dma_irq_handler, IRQF_DISABLED, "DMA", NULL); + if (ret) { + printk (KERN_CRIT "Wow! Can't register IRQ for DMA\n"); +@@ -138,6 +128,14 @@ + return ret; + } + ++ /* dma channel priorities on pxa2xx processors: ++ * ch 0 - 3, 16 - 19 <--> (0) DMA_PRIO_HIGH ++ * ch 4 - 7, 20 - 23 <--> (1) DMA_PRIO_MEDIUM ++ * ch 8 - 15, 24 - 31 <--> (2) DMA_PRIO_LOW ++ */ ++ for (i = 0; i < num_ch; i++) ++ dma_channels[i].prio = min((i & 0xf) >> 2, DMA_PRIO_LOW); ++ + num_dma_channels = num_ch; + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-pxa/include/mach/regs-ac97.h linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/include/mach/regs-ac97.h +--- linux-2.6.29.owrt/arch/arm/mach-pxa/include/mach/regs-ac97.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/include/mach/regs-ac97.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,8 +1,6 @@ + #ifndef __ASM_ARCH_REGS_AC97_H + #define __ASM_ARCH_REGS_AC97_H + +-#include +- + /* + * AC97 Controller registers + */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-pxa/include/mach/regs-ssp.h linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/include/mach/regs-ssp.h +--- linux-2.6.29.owrt/arch/arm/mach-pxa/include/mach/regs-ssp.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/include/mach/regs-ssp.h 2009-05-10 23:48:28.000000000 +0200 +@@ -41,9 +41,6 @@ + #elif defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) + #define SSCR0_SCR (0x000fff00) /* Serial Clock Rate (mask) */ + #define SSCR0_SerClkDiv(x) (((x) - 1) << 8) /* Divisor [1..4096] */ +-#endif +- +-#if defined(CONFIG_PXA27x) || defined(CONFIG_PXA3xx) + #define SSCR0_EDSS (1 << 20) /* Extended data size select */ + #define SSCR0_NCS (1 << 21) /* Network clock select */ + #define SSCR0_RIM (1 << 22) /* Receive FIFO overrrun interrupt mask */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-pxa/pxa300.c linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/pxa300.c +--- linux-2.6.29.owrt/arch/arm/mach-pxa/pxa300.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/pxa300.c 2009-05-10 23:48:28.000000000 +0200 +@@ -88,13 +88,13 @@ + static DEFINE_PXA3_CKEN(common_nand, NAND, 156000000, 0); + + static struct clk_lookup common_clkregs[] = { +- INIT_CLKREG(&clk_common_nand, "pxa3xx-nand", NULL), ++ INIT_CLKREG(&clk_common_nand, "pxa3xx-nand", "NANDCLK"), + }; + + static DEFINE_PXA3_CKEN(pxa310_mmc3, MMC3, 19500000, 0); + + static struct clk_lookup pxa310_clkregs[] = { +- INIT_CLKREG(&clk_pxa310_mmc3, "pxa2xx-mci.2", NULL), ++ INIT_CLKREG(&clk_pxa310_mmc3, "pxa2xx-mci.2", "MMCCLK"), + }; + + static int __init pxa300_init(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-pxa/pxa320.c linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/pxa320.c +--- linux-2.6.29.owrt/arch/arm/mach-pxa/pxa320.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-pxa/pxa320.c 2009-05-10 23:48:28.000000000 +0200 +@@ -83,7 +83,7 @@ + static DEFINE_PXA3_CKEN(pxa320_nand, NAND, 104000000, 0); + + static struct clk_lookup pxa320_clkregs[] = { +- INIT_CLKREG(&clk_pxa320_nand, "pxa3xx-nand", NULL), ++ INIT_CLKREG(&clk_pxa320_nand, "pxa3xx-nand", "NANDCLK"), + }; + + static int __init pxa320_init(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-rpc/riscpc.c linux-2.6.29-rc3.owrt/arch/arm/mach-rpc/riscpc.c +--- linux-2.6.29.owrt/arch/arm/mach-rpc/riscpc.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-rpc/riscpc.c 2009-05-10 23:48:28.000000000 +0200 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + + #include + #include +@@ -202,13 +201,8 @@ + &pata_device, + }; + +-static struct i2c_board_info i2c_rtc = { +- I2C_BOARD_INFO("pcf8583", 0x50) +-}; +- + static int __init rpc_init(void) + { +- i2c_register_board_info(0, &i2c_rtc, 1); + return platform_add_devices(devs, ARRAY_SIZE(devs)); + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-s3c6410/mach-smdk6410.c linux-2.6.29-rc3.owrt/arch/arm/mach-s3c6410/mach-smdk6410.c +--- linux-2.6.29.owrt/arch/arm/mach-s3c6410/mach-smdk6410.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-s3c6410/mach-smdk6410.c 2009-05-10 23:48:28.000000000 +0200 +@@ -129,7 +129,7 @@ + .vidcon1 = VIDCON1_INV_HSYNC | VIDCON1_INV_VSYNC, + }; + +-static struct map_desc smdk6410_iodesc[] = {}; ++struct map_desc smdk6410_iodesc[] = {}; + + static struct platform_device *smdk6410_devices[] __initdata = { + #ifdef CONFIG_SMDK6410_SD_CH0 +@@ -146,7 +146,7 @@ + + static struct i2c_board_info i2c_devs0[] __initdata = { + { I2C_BOARD_INFO("24c08", 0x50), }, +- { I2C_BOARD_INFO("wm8580", 0x1b), }, ++ { I2C_BOARD_INFO("WM8580", 0X1b), }, + }; + + static struct i2c_board_info i2c_devs1[] __initdata = { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mach-sa1100/generic.c linux-2.6.29-rc3.owrt/arch/arm/mach-sa1100/generic.c +--- linux-2.6.29.owrt/arch/arm/mach-sa1100/generic.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mach-sa1100/generic.c 2009-05-10 23:48:28.000000000 +0200 +@@ -289,7 +289,7 @@ + }; + + static struct platform_device sa11x0mtd_device = { +- .name = "sa1100-mtd", ++ .name = "flash", + .id = -1, + }; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/abort-ev6.S linux-2.6.29-rc3.owrt/arch/arm/mm/abort-ev6.S +--- linux-2.6.29.owrt/arch/arm/mm/abort-ev6.S 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/abort-ev6.S 2009-05-10 23:48:28.000000000 +0200 +@@ -23,8 +23,7 @@ + #ifdef CONFIG_CPU_32v6K + clrex + #else +- sub r1, sp, #4 @ Get unused stack location +- strex r0, r1, [r1] @ Clear the exclusive monitor ++ strex r0, r1, [sp] @ Clear the exclusive monitor + #endif + mrc p15, 0, r1, c5, c0, 0 @ get FSR + mrc p15, 0, r0, c6, c0, 0 @ get FAR +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-feroceon.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-feroceon.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-feroceon.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-feroceon.c 2009-05-10 23:48:28.000000000 +0200 +@@ -13,7 +13,7 @@ + #include + #include + +-static void __naked ++static void __attribute__((naked)) + feroceon_copy_user_page(void *kto, const void *kfrom) + { + asm("\ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-v3.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v3.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-v3.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v3.c 2009-05-10 23:48:28.000000000 +0200 +@@ -15,7 +15,7 @@ + * + * FIXME: do we need to handle cache stuff... + */ +-static void __naked ++static void __attribute__((naked)) + v3_copy_user_page(void *kto, const void *kfrom) + { + asm("\n\ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-v4mc.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4mc.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-v4mc.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4mc.c 2009-05-10 23:48:28.000000000 +0200 +@@ -44,7 +44,7 @@ + * instruction. If your processor does not supply this, you have to write your + * own copy_user_highpage that does the right thing. + */ +-static void __naked ++static void __attribute__((naked)) + mc_copy_user_page(void *from, void *to) + { + asm volatile( +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-v4wb.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4wb.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-v4wb.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4wb.c 2009-05-10 23:48:28.000000000 +0200 +@@ -22,7 +22,7 @@ + * instruction. If your processor does not supply this, you have to write your + * own copy_user_highpage that does the right thing. + */ +-static void __naked ++static void __attribute__((naked)) + v4wb_copy_user_page(void *kto, const void *kfrom) + { + asm("\ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-v4wt.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4wt.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-v4wt.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-v4wt.c 2009-05-10 23:48:28.000000000 +0200 +@@ -20,7 +20,7 @@ + * dirty data in the cache. However, we do have to ensure that + * subsequent reads are up to date. + */ +-static void __naked ++static void __attribute__((naked)) + v4wt_copy_user_page(void *kto, const void *kfrom) + { + asm("\ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-xsc3.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-xsc3.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-xsc3.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-xsc3.c 2009-05-10 23:48:28.000000000 +0200 +@@ -29,7 +29,7 @@ + * if we eventually end up using our copied page. + * + */ +-static void __naked ++static void __attribute__((naked)) + xsc3_mc_copy_user_page(void *kto, const void *kfrom) + { + asm("\ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/copypage-xscale.c linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-xscale.c +--- linux-2.6.29.owrt/arch/arm/mm/copypage-xscale.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/copypage-xscale.c 2009-05-10 23:48:28.000000000 +0200 +@@ -42,7 +42,7 @@ + * Dcache aliasing issue. The writes will be forwarded to the write buffer, + * and merged as appropriate. + */ +-static void __naked ++static void __attribute__((naked)) + mc_copy_user_page(void *from, void *to) + { + /* +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/dma-mapping.c linux-2.6.29-rc3.owrt/arch/arm/mm/dma-mapping.c +--- linux-2.6.29.owrt/arch/arm/mm/dma-mapping.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/dma-mapping.c 2009-05-10 23:48:28.000000000 +0200 +@@ -490,30 +490,26 @@ + */ + void dma_cache_maint(const void *start, size_t size, int direction) + { +- void (*inner_op)(const void *, const void *); +- void (*outer_op)(unsigned long, unsigned long); ++ const void *end = start + size; + +- BUG_ON(!virt_addr_valid(start) || !virt_addr_valid(start + size - 1)); ++ BUG_ON(!virt_addr_valid(start) || !virt_addr_valid(end - 1)); + + switch (direction) { + case DMA_FROM_DEVICE: /* invalidate only */ +- inner_op = dmac_inv_range; +- outer_op = outer_inv_range; ++ dmac_inv_range(start, end); ++ outer_inv_range(__pa(start), __pa(end)); + break; + case DMA_TO_DEVICE: /* writeback only */ +- inner_op = dmac_clean_range; +- outer_op = outer_clean_range; ++ dmac_clean_range(start, end); ++ outer_clean_range(__pa(start), __pa(end)); + break; + case DMA_BIDIRECTIONAL: /* writeback and invalidate */ +- inner_op = dmac_flush_range; +- outer_op = outer_flush_range; ++ dmac_flush_range(start, end); ++ outer_flush_range(__pa(start), __pa(end)); + break; + default: + BUG(); + } +- +- inner_op(start, start + size); +- outer_op(__pa(start), __pa(start) + size); + } + EXPORT_SYMBOL(dma_cache_maint); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/fault-armv.c linux-2.6.29-rc3.owrt/arch/arm/mm/fault-armv.c +--- linux-2.6.29.owrt/arch/arm/mm/fault-armv.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/fault-armv.c 2009-05-10 23:48:28.000000000 +0200 +@@ -66,10 +66,7 @@ + * fault (ie, is old), we can safely ignore any issues. + */ + if (ret && (pte_val(entry) & L_PTE_MT_MASK) != shared_pte_mask) { +- unsigned long pfn = pte_pfn(entry); +- flush_cache_page(vma, address, pfn); +- outer_flush_range((pfn << PAGE_SHIFT), +- (pfn << PAGE_SHIFT) + PAGE_SIZE); ++ flush_cache_page(vma, address, pte_pfn(entry)); + pte_val(entry) &= ~L_PTE_MT_MASK; + pte_val(entry) |= shared_pte_mask; + set_pte_at(vma->vm_mm, address, pte, entry); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/init.c linux-2.6.29-rc3.owrt/arch/arm/mm/init.c +--- linux-2.6.29.owrt/arch/arm/mm/init.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -382,7 +382,7 @@ + for_each_node(node) + bootmem_free_node(node, mi); + +- high_memory = __va((memend_pfn << PAGE_SHIFT) - 1) + 1; ++ high_memory = __va(memend_pfn << PAGE_SHIFT); + + /* + * This doesn't seem to be used by the Linux memory manager any +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/mmap.c linux-2.6.29-rc3.owrt/arch/arm/mm/mmap.c +--- linux-2.6.29.owrt/arch/arm/mm/mmap.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/mmap.c 2009-05-10 23:48:28.000000000 +0200 +@@ -124,7 +124,7 @@ + { + if (addr < PHYS_OFFSET) + return 0; +- if (addr + size >= __pa(high_memory - 1)) ++ if (addr + size > __pa(high_memory)) + return 0; + + return 1; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/mm/mmu.c linux-2.6.29-rc3.owrt/arch/arm/mm/mmu.c +--- linux-2.6.29.owrt/arch/arm/mm/mmu.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/mm/mmu.c 2009-05-10 23:48:28.000000000 +0200 +@@ -693,8 +693,7 @@ + * Check whether this memory bank would entirely overlap + * the vmalloc area. + */ +- if (__va(bank->start) >= VMALLOC_MIN || +- __va(bank->start) < PAGE_OFFSET) { ++ if (__va(bank->start) >= VMALLOC_MIN) { + printk(KERN_NOTICE "Ignoring RAM at %.8lx-%.8lx " + "(vmalloc region overlap).\n", + bank->start, bank->start + bank->size - 1); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-mxc/include/mach/mmc.h linux-2.6.29-rc3.owrt/arch/arm/plat-mxc/include/mach/mmc.h +--- linux-2.6.29.owrt/arch/arm/plat-mxc/include/mach/mmc.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-mxc/include/mach/mmc.h 1970-01-01 01:00:00.000000000 +0100 +@@ -1,36 +0,0 @@ +-#ifndef ASMARM_ARCH_MMC_H +-#define ASMARM_ARCH_MMC_H +- +-#include +- +-struct device; +- +-/* board specific SDHC data, optional. +- * If not present, a writable card with 3,3V is assumed. +- */ +-struct imxmmc_platform_data { +- /* Return values for the get_ro callback should be: +- * 0 for a read/write card +- * 1 for a read-only card +- * -ENOSYS when not supported (equal to NULL callback) +- * or a negative errno value when something bad happened +- */ +- int (*get_ro)(struct device *); +- +- /* board specific hook to (de)initialize the SD slot. +- * The board code can call 'handler' on a card detection +- * change giving data as argument. +- */ +- int (*init)(struct device *dev, irq_handler_t handler, void *data); +- void (*exit)(struct device *dev, void *data); +- +- /* available voltages. If not given, assume +- * MMC_VDD_32_33 | MMC_VDD_33_34 +- */ +- unsigned int ocr_avail; +- +- /* adjust slot voltage */ +- void (*setpower)(struct device *, unsigned int vdd); +-}; +- +-#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/common.c linux-2.6.29-rc3.owrt/arch/arm/plat-omap/common.c +--- linux-2.6.29.owrt/arch/arm/plat-omap/common.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/common.c 2009-05-10 23:48:28.000000000 +0200 +@@ -200,16 +200,20 @@ + }; + + /* ++ * Rounds down to nearest nsec. ++ */ ++unsigned long long omap_32k_ticks_to_nsecs(unsigned long ticks_32k) ++{ ++ return cyc2ns(&clocksource_32k, ticks_32k); ++} ++ ++/* + * Returns current time from boot in nsecs. It's OK for this to wrap + * around for now, as it's just a relative time stamp. + */ + unsigned long long sched_clock(void) + { +- unsigned long long ret; +- +- ret = (unsigned long long)omap_32k_read(); +- ret = (ret * clocksource_32k.mult_orig) >> clocksource_32k.shift; +- return ret; ++ return omap_32k_ticks_to_nsecs(omap_32k_read()); + } + + static int __init omap_init_clocksource_32k(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/devices.c linux-2.6.29-rc3.owrt/arch/arm/plat-omap/devices.c +--- linux-2.6.29.owrt/arch/arm/plat-omap/devices.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/devices.c 2009-05-10 23:48:28.000000000 +0200 +@@ -200,15 +200,14 @@ + /* + * Register MMC devices. Called from mach-omap1 and mach-omap2 device init. + */ +-int __init omap_mmc_add(const char *name, int id, unsigned long base, +- unsigned long size, unsigned int irq, +- struct omap_mmc_platform_data *data) ++int __init omap_mmc_add(int id, unsigned long base, unsigned long size, ++ unsigned int irq, struct omap_mmc_platform_data *data) + { + struct platform_device *pdev; + struct resource res[OMAP_MMC_NR_RES]; + int ret; + +- pdev = platform_device_alloc(name, id); ++ pdev = platform_device_alloc("mmci-omap", id); + if (!pdev) + return -ENOMEM; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/dma.c linux-2.6.29-rc3.owrt/arch/arm/plat-omap/dma.c +--- linux-2.6.29.owrt/arch/arm/plat-omap/dma.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/dma.c 2009-05-10 23:48:28.000000000 +0200 +@@ -709,7 +709,6 @@ + chan->dev_name = dev_name; + chan->callback = callback; + chan->data = data; +- chan->flags = 0; + + #ifndef CONFIG_ARCH_OMAP1 + if (cpu_class_is_omap2()) { +@@ -1889,11 +1888,11 @@ + status = dma_read(CSR(ch)); + } + +- dma_write(status, CSR(ch)); +- + if (likely(dma_chan[ch].callback != NULL)) + dma_chan[ch].callback(ch, status, dma_chan[ch].data); + ++ dma_write(status, CSR(ch)); ++ + return 0; + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/common.h linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/common.h +--- linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/common.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/common.h 2009-05-10 23:48:28.000000000 +0200 +@@ -35,7 +35,7 @@ + extern struct sys_timer omap_timer; + extern void omap_serial_init(void); + extern void omap_serial_enable_clocks(int enable); +-#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE) ++#ifdef CONFIG_I2C_OMAP + extern int omap_register_i2c_bus(int bus_id, u32 clkrate, + struct i2c_board_info const *info, + unsigned len); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/cpu.h linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/cpu.h +--- linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/cpu.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/cpu.h 2009-05-10 23:48:28.000000000 +0200 +@@ -339,7 +339,6 @@ + #define OMAP3430_REV_ES2_0 0x34301034 + #define OMAP3430_REV_ES2_1 0x34302034 + #define OMAP3430_REV_ES3_0 0x34303034 +-#define OMAP3430_REV_ES3_1 0x34304034 + + /* + * omap_chip bits +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/mcbsp.h linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/mcbsp.h +--- linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/mcbsp.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/mcbsp.h 2009-05-10 23:48:28.000000000 +0200 +@@ -344,8 +344,7 @@ + u8 dma_rx_sync, dma_tx_sync; + u16 rx_irq, tx_irq; + struct omap_mcbsp_ops *ops; +- char const **clk_names; +- int num_clks; ++ char const *clk_name; + }; + + struct omap_mcbsp { +@@ -377,8 +376,7 @@ + /* Protect the field .free, while checking if the mcbsp is in use */ + spinlock_t lock; + struct omap_mcbsp_platform_data *pdata; +- struct clk **clks; +- int num_clks; ++ struct clk *clk; + }; + extern struct omap_mcbsp **mcbsp_ptr; + extern int omap_mcbsp_count; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/mmc.h linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/mmc.h +--- linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/mmc.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/mmc.h 2009-05-10 23:48:28.000000000 +0200 +@@ -115,9 +115,8 @@ + int nr_controllers); + void omap2_init_mmc(struct omap_mmc_platform_data **mmc_data, + int nr_controllers); +-int omap_mmc_add(const char *name, int id, unsigned long base, +- unsigned long size, unsigned int irq, +- struct omap_mmc_platform_data *data); ++int omap_mmc_add(int id, unsigned long base, unsigned long size, ++ unsigned int irq, struct omap_mmc_platform_data *data); + #else + static inline void omap1_init_mmc(struct omap_mmc_platform_data **mmc_data, + int nr_controllers) +@@ -127,9 +126,8 @@ + int nr_controllers) + { + } +-static inline int omap_mmc_add(const char *name, int id, unsigned long base, +- unsigned long size, unsigned int irq, +- struct omap_mmc_platform_data *data) ++static inline int omap_mmc_add(int id, unsigned long base, unsigned long size, ++ unsigned int irq, struct omap_mmc_platform_data *data) + { + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/pm.h linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/pm.h +--- linux-2.6.29.owrt/arch/arm/plat-omap/include/mach/pm.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/include/mach/pm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -108,7 +108,7 @@ + !defined(CONFIG_ARCH_OMAP15XX) && \ + !defined(CONFIG_ARCH_OMAP16XX) && \ + !defined(CONFIG_ARCH_OMAP24XX) +-#warning "Power management for this processor not implemented yet" ++#error "Power management for this processor not implemented yet" + #endif + + #ifndef __ASSEMBLER__ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/Makefile linux-2.6.29-rc3.owrt/arch/arm/plat-omap/Makefile +--- linux-2.6.29.owrt/arch/arm/plat-omap/Makefile 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -18,8 +18,7 @@ + obj-$(CONFIG_OMAP_DM_TIMER) += dmtimer.o + obj-$(CONFIG_OMAP_DEBUG_DEVICES) += debug-devices.o + obj-$(CONFIG_OMAP_DEBUG_LEDS) += debug-leds.o +-i2c-omap-$(CONFIG_I2C_OMAP) := i2c.o +-obj-y += $(i2c-omap-m) $(i2c-omap-y) ++obj-$(CONFIG_I2C_OMAP) += i2c.o + + # OMAP mailbox framework + obj-$(CONFIG_OMAP_MBOX_FWK) += mailbox.o +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-omap/mcbsp.c linux-2.6.29-rc3.owrt/arch/arm/plat-omap/mcbsp.c +--- linux-2.6.29.owrt/arch/arm/plat-omap/mcbsp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-omap/mcbsp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -214,7 +214,6 @@ + int omap_mcbsp_request(unsigned int id) + { + struct omap_mcbsp *mcbsp; +- int i; + int err; + + if (!omap_mcbsp_check_valid_id(id)) { +@@ -226,8 +225,7 @@ + if (mcbsp->pdata && mcbsp->pdata->ops && mcbsp->pdata->ops->request) + mcbsp->pdata->ops->request(id); + +- for (i = 0; i < mcbsp->num_clks; i++) +- clk_enable(mcbsp->clks[i]); ++ clk_enable(mcbsp->clk); + + spin_lock(&mcbsp->lock); + if (!mcbsp->free) { +@@ -278,7 +276,6 @@ + void omap_mcbsp_free(unsigned int id) + { + struct omap_mcbsp *mcbsp; +- int i; + + if (!omap_mcbsp_check_valid_id(id)) { + printk(KERN_ERR "%s: Invalid id (%d)\n", __func__, id + 1); +@@ -289,8 +286,7 @@ + if (mcbsp->pdata && mcbsp->pdata->ops && mcbsp->pdata->ops->free) + mcbsp->pdata->ops->free(id); + +- for (i = mcbsp->num_clks - 1; i >= 0; i--) +- clk_disable(mcbsp->clks[i]); ++ clk_disable(mcbsp->clk); + + spin_lock(&mcbsp->lock); + if (mcbsp->free) { +@@ -876,7 +872,6 @@ + struct omap_mcbsp_platform_data *pdata = pdev->dev.platform_data; + struct omap_mcbsp *mcbsp; + int id = pdev->id - 1; +- int i; + int ret = 0; + + if (!pdata) { +@@ -921,25 +916,14 @@ + mcbsp->dma_rx_sync = pdata->dma_rx_sync; + mcbsp->dma_tx_sync = pdata->dma_tx_sync; + +- if (pdata->num_clks) { +- mcbsp->num_clks = pdata->num_clks; +- mcbsp->clks = kzalloc(mcbsp->num_clks * sizeof(struct clk *), +- GFP_KERNEL); +- if (!mcbsp->clks) { +- ret = -ENOMEM; +- goto exit; +- } +- for (i = 0; i < mcbsp->num_clks; i++) { +- mcbsp->clks[i] = clk_get(&pdev->dev, pdata->clk_names[i]); +- if (IS_ERR(mcbsp->clks[i])) { +- dev_err(&pdev->dev, +- "Invalid %s configuration for McBSP%d.\n", +- pdata->clk_names[i], mcbsp->id); +- ret = PTR_ERR(mcbsp->clks[i]); +- goto err_clk; +- } +- } +- ++ if (pdata->clk_name) ++ mcbsp->clk = clk_get(&pdev->dev, pdata->clk_name); ++ if (IS_ERR(mcbsp->clk)) { ++ dev_err(&pdev->dev, ++ "Invalid clock configuration for McBSP%d.\n", ++ mcbsp->id); ++ ret = PTR_ERR(mcbsp->clk); ++ goto err_clk; + } + + mcbsp->pdata = pdata; +@@ -948,9 +932,6 @@ + return 0; + + err_clk: +- while (i--) +- clk_put(mcbsp->clks[i]); +- kfree(mcbsp->clks); + iounmap(mcbsp->io_base); + err_ioremap: + mcbsp->free = 0; +@@ -961,7 +942,6 @@ + static int __devexit omap_mcbsp_remove(struct platform_device *pdev) + { + struct omap_mcbsp *mcbsp = platform_get_drvdata(pdev); +- int i; + + platform_set_drvdata(pdev, NULL); + if (mcbsp) { +@@ -970,18 +950,12 @@ + mcbsp->pdata->ops->free) + mcbsp->pdata->ops->free(mcbsp->id); + +- for (i = mcbsp->num_clks - 1; i >= 0; i--) { +- clk_disable(mcbsp->clks[i]); +- clk_put(mcbsp->clks[i]); +- } ++ clk_disable(mcbsp->clk); ++ clk_put(mcbsp->clk); + + iounmap(mcbsp->io_base); + +- if (mcbsp->num_clks) { +- kfree(mcbsp->clks); +- mcbsp->clks = NULL; +- mcbsp->num_clks = 0; +- } ++ mcbsp->clk = NULL; + mcbsp->free = 0; + mcbsp->dev = NULL; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-orion/gpio.c linux-2.6.29-rc3.owrt/arch/arm/plat-orion/gpio.c +--- linux-2.6.29.owrt/arch/arm/plat-orion/gpio.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-orion/gpio.c 2009-05-10 23:48:28.000000000 +0200 +@@ -265,36 +265,51 @@ + * polarity LEVEL mask + * + ****************************************************************************/ ++static void gpio_irq_edge_ack(u32 irq) ++{ ++ int pin = irq_to_gpio(irq); ++ ++ writel(~(1 << (pin & 31)), GPIO_EDGE_CAUSE(pin)); ++} + +-static void gpio_irq_ack(u32 irq) ++static void gpio_irq_edge_mask(u32 irq) + { +- int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; +- if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) { +- int pin = irq_to_gpio(irq); +- writel(~(1 << (pin & 31)), GPIO_EDGE_CAUSE(pin)); +- } ++ int pin = irq_to_gpio(irq); ++ u32 u; ++ ++ u = readl(GPIO_EDGE_MASK(pin)); ++ u &= ~(1 << (pin & 31)); ++ writel(u, GPIO_EDGE_MASK(pin)); ++} ++ ++static void gpio_irq_edge_unmask(u32 irq) ++{ ++ int pin = irq_to_gpio(irq); ++ u32 u; ++ ++ u = readl(GPIO_EDGE_MASK(pin)); ++ u |= 1 << (pin & 31); ++ writel(u, GPIO_EDGE_MASK(pin)); + } + +-static void gpio_irq_mask(u32 irq) ++static void gpio_irq_level_mask(u32 irq) + { + int pin = irq_to_gpio(irq); +- int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; +- u32 reg = (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) ? +- GPIO_EDGE_MASK(pin) : GPIO_LEVEL_MASK(pin); +- u32 u = readl(reg); ++ u32 u; ++ ++ u = readl(GPIO_LEVEL_MASK(pin)); + u &= ~(1 << (pin & 31)); +- writel(u, reg); ++ writel(u, GPIO_LEVEL_MASK(pin)); + } + +-static void gpio_irq_unmask(u32 irq) ++static void gpio_irq_level_unmask(u32 irq) + { + int pin = irq_to_gpio(irq); +- int type = irq_desc[irq].status & IRQ_TYPE_SENSE_MASK; +- u32 reg = (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) ? +- GPIO_EDGE_MASK(pin) : GPIO_LEVEL_MASK(pin); +- u32 u = readl(reg); ++ u32 u; ++ ++ u = readl(GPIO_LEVEL_MASK(pin)); + u |= 1 << (pin & 31); +- writel(u, reg); ++ writel(u, GPIO_LEVEL_MASK(pin)); + } + + static int gpio_irq_set_type(u32 irq, u32 type) +@@ -316,9 +331,9 @@ + * Set edge/level type. + */ + if (type & (IRQ_TYPE_EDGE_RISING | IRQ_TYPE_EDGE_FALLING)) { +- desc->handle_irq = handle_edge_irq; ++ desc->chip = &orion_gpio_irq_edge_chip; + } else if (type & (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW)) { +- desc->handle_irq = handle_level_irq; ++ desc->chip = &orion_gpio_irq_level_chip; + } else { + printk(KERN_ERR "failed to set irq=%d (type=%d)\n", irq, type); + return -EINVAL; +@@ -356,11 +371,19 @@ + return 0; + } + +-struct irq_chip orion_gpio_irq_chip = { +- .name = "orion_gpio", +- .ack = gpio_irq_ack, +- .mask = gpio_irq_mask, +- .unmask = gpio_irq_unmask, ++struct irq_chip orion_gpio_irq_edge_chip = { ++ .name = "orion_gpio_irq_edge", ++ .ack = gpio_irq_edge_ack, ++ .mask = gpio_irq_edge_mask, ++ .unmask = gpio_irq_edge_unmask, ++ .set_type = gpio_irq_set_type, ++}; ++ ++struct irq_chip orion_gpio_irq_level_chip = { ++ .name = "orion_gpio_irq_level", ++ .mask = gpio_irq_level_mask, ++ .mask_ack = gpio_irq_level_mask, ++ .unmask = gpio_irq_level_unmask, + .set_type = gpio_irq_set_type, + }; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-orion/include/plat/gpio.h linux-2.6.29-rc3.owrt/arch/arm/plat-orion/include/plat/gpio.h +--- linux-2.6.29.owrt/arch/arm/plat-orion/include/plat/gpio.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-orion/include/plat/gpio.h 2009-05-10 23:48:28.000000000 +0200 +@@ -31,7 +31,8 @@ + /* + * GPIO interrupt handling. + */ +-extern struct irq_chip orion_gpio_irq_chip; ++extern struct irq_chip orion_gpio_irq_edge_chip; ++extern struct irq_chip orion_gpio_irq_level_chip; + void orion_gpio_irq_handler(int irqoff); + + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/clock.c linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/clock.c +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/clock.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/clock.c 2009-05-10 23:48:28.000000000 +0200 +@@ -248,7 +248,7 @@ + &clk_48m, + }; + +-void __init s3c64xx_register_clocks(void) ++void s3c64xx_register_clocks(void) + { + struct clk *clkp; + int ret; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/gpiolib.c linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/gpiolib.c +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/gpiolib.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/gpiolib.c 2009-05-10 23:48:28.000000000 +0200 +@@ -417,4 +417,4 @@ + return 0; + } + +-core_initcall(s3c64xx_gpiolib_init); ++arch_initcall(s3c64xx_gpiolib_init); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/include/plat/irqs.h linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/include/plat/irqs.h +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/include/plat/irqs.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/include/plat/irqs.h 2009-05-10 23:48:28.000000000 +0200 +@@ -117,7 +117,7 @@ + #define IRQ_ONENAND1 S3C64XX_IRQ_VIC1(12) + #define IRQ_NFC S3C64XX_IRQ_VIC1(13) + #define IRQ_CFCON S3C64XX_IRQ_VIC1(14) +-#define IRQ_USBH S3C64XX_IRQ_VIC1(15) ++#define IRQ_UHOST S3C64XX_IRQ_VIC1(15) + #define IRQ_SPI0 S3C64XX_IRQ_VIC1(16) + #define IRQ_SPI1 S3C64XX_IRQ_VIC1(17) + #define IRQ_IIC S3C64XX_IRQ_VIC1(18) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/irq.c linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/irq.c +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/irq.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -207,7 +207,7 @@ + + static void __init s3c64xx_uart_irq(struct uart_irq *uirq) + { +- void __iomem *reg_base = uirq->regs; ++ void *reg_base = uirq->regs; + unsigned int irq; + int offs; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/irq-eint.c linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/irq-eint.c +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/irq-eint.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/irq-eint.c 2009-05-10 23:48:28.000000000 +0200 +@@ -14,15 +14,12 @@ + + #include + #include +-#include + #include + #include + + #include + + #include +-#include +-#include + + #include + #include +@@ -58,7 +55,7 @@ + u32 mask; + + mask = __raw_readl(S3C64XX_EINT0MASK); +- mask &= ~eint_irq_to_bit(irq); ++ mask |= eint_irq_to_bit(irq); + __raw_writel(mask, S3C64XX_EINT0MASK); + } + +@@ -77,7 +74,6 @@ + static int s3c_irq_eint_set_type(unsigned int irq, unsigned int type) + { + int offs = eint_offset(irq); +- int pin; + int shift; + u32 ctrl, mask; + u32 newvalue = 0; +@@ -129,15 +125,6 @@ + ctrl |= newvalue << shift; + __raw_writel(ctrl, reg); + +- /* set the GPIO pin appropriately */ +- +- if (offs < 23) +- pin = S3C64XX_GPN(offs); +- else +- pin = S3C64XX_GPM(offs - 23); +- +- s3c_gpio_cfgpin(pin, S3C_GPIO_SFN(2)); +- + return 0; + } + +@@ -194,7 +181,7 @@ + s3c_irq_demux_eint(20, 27); + } + +-static int __init s3c64xx_init_irq_eint(void) ++int __init s3c64xx_init_irq_eint(void) + { + int irq; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/plat-s3c64xx/s3c6400-clock.c linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/s3c6400-clock.c +--- linux-2.6.29.owrt/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/plat-s3c64xx/s3c6400-clock.c 2009-05-10 23:48:28.000000000 +0200 +@@ -36,7 +36,7 @@ + * ext_xtal_mux for want of an actual name from the manual. + */ + +-static struct clk clk_ext_xtal_mux = { ++struct clk clk_ext_xtal_mux = { + .name = "ext_xtal", + .id = -1, + }; +@@ -63,7 +63,7 @@ + void __iomem *reg_divider; + }; + +-static struct clk clk_fout_apll = { ++struct clk clk_fout_apll = { + .name = "fout_apll", + .id = -1, + }; +@@ -78,7 +78,7 @@ + .nr_sources = ARRAY_SIZE(clk_src_apll_list), + }; + +-static struct clksrc_clk clk_mout_apll = { ++struct clksrc_clk clk_mout_apll = { + .clk = { + .name = "mout_apll", + .id = -1, +@@ -88,7 +88,7 @@ + .sources = &clk_src_apll, + }; + +-static struct clk clk_fout_epll = { ++struct clk clk_fout_epll = { + .name = "fout_epll", + .id = -1, + }; +@@ -103,7 +103,7 @@ + .nr_sources = ARRAY_SIZE(clk_src_epll_list), + }; + +-static struct clksrc_clk clk_mout_epll = { ++struct clksrc_clk clk_mout_epll = { + .clk = { + .name = "mout_epll", + .id = -1, +@@ -123,7 +123,7 @@ + .nr_sources = ARRAY_SIZE(clk_src_mpll_list), + }; + +-static struct clksrc_clk clk_mout_mpll = { ++struct clksrc_clk clk_mout_mpll = { + .clk = { + .name = "mout_mpll", + .id = -1, +@@ -145,7 +145,7 @@ + return rate; + } + +-static struct clk clk_dout_mpll = { ++struct clk clk_dout_mpll = { + .name = "dout_mpll", + .id = -1, + .parent = &clk_mout_mpll.clk, +@@ -189,10 +189,10 @@ + }; + + static struct clk *clkset_uhost_list[] = { +- &clk_48m, + &clk_mout_epll.clk, + &clk_dout_mpll, + &clk_fin_epll, ++ &clk_48m, + }; + + static struct clk_sources clkset_uhost = { +@@ -239,12 +239,10 @@ + + rate = clk_round_rate(clk, rate); + div = clk_get_rate(clk->parent) / rate; +- if (div > 16) +- return -EINVAL; + + val = __raw_readl(reg); +- val &= ~(0xf << sclk->shift); +- val |= (div - 1) << sclk->shift; ++ val &= ~sclk->mask; ++ val |= (rate - 1) << sclk->shift; + __raw_writel(val, reg); + + return 0; +@@ -353,7 +351,7 @@ + + static struct clksrc_clk clk_usbhost = { + .clk = { +- .name = "usb-bus-host", ++ .name = "usb-host-bus", + .id = -1, + .ctrlbit = S3C_CLKCON_SCLK_UHOST, + .enable = s3c64xx_sclk_ctrl, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/arm/tools/mach-types linux-2.6.29-rc3.owrt/arch/arm/tools/mach-types +--- linux-2.6.29.owrt/arch/arm/tools/mach-types 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/arm/tools/mach-types 2009-05-10 23:48:28.000000000 +0200 +@@ -12,7 +12,7 @@ + # + # http://www.arm.linux.org.uk/developer/machines/?action=new + # +-# Last update: Thu Mar 12 18:01:45 2009 ++# Last update: Sun Nov 30 16:39:36 2008 + # + # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number + # +@@ -1811,7 +1811,7 @@ + jade MACH_JADE JADE 1821 + ks8695_softplc MACH_KS8695_SOFTPLC KS8695_SOFTPLC 1822 + gprisc3 MACH_GPRISC3 GPRISC3 1823 +-stamp9g20 MACH_STAMP9G20 STAMP9G20 1824 ++stamp9260 MACH_STAMP9260 STAMP9260 1824 + smdk6430 MACH_SMDK6430 SMDK6430 1825 + smdkc100 MACH_SMDKC100 SMDKC100 1826 + tavorevb MACH_TAVOREVB TAVOREVB 1827 +@@ -1993,134 +1993,4 @@ + benzina MACH_BENZINA BENZINA 2003 + blaze MACH_BLAZE BLAZE 2004 + linkstation_ls_hgl MACH_LINKSTATION_LS_HGL LINKSTATION_LS_HGL 2005 +-htckovsky MACH_HTCVENUS HTCVENUS 2006 +-sony_prs505 MACH_SONY_PRS505 SONY_PRS505 2007 +-hanlin_v3 MACH_HANLIN_V3 HANLIN_V3 2008 +-sapphira MACH_SAPPHIRA SAPPHIRA 2009 +-dack_sda_01 MACH_DACK_SDA_01 DACK_SDA_01 2010 +-armbox MACH_ARMBOX ARMBOX 2011 +-harris_rvp MACH_HARRIS_RVP HARRIS_RVP 2012 +-ribaldo MACH_RIBALDO RIBALDO 2013 +-agora MACH_AGORA AGORA 2014 +-omap3_mini MACH_OMAP3_MINI OMAP3_MINI 2015 +-a9sam6432_b MACH_A9SAM6432_B A9SAM6432_B 2016 +-usg2410 MACH_USG2410 USG2410 2017 +-pc72052_i10_revb MACH_PC72052_I10_REVB PC72052_I10_REVB 2018 +-mx35_exm32 MACH_MX35_EXM32 MX35_EXM32 2019 +-topas910 MACH_TOPAS910 TOPAS910 2020 +-hyena MACH_HYENA HYENA 2021 +-pospax MACH_POSPAX POSPAX 2022 +-hdl_gx MACH_HDL_GX HDL_GX 2023 +-ctera_4bay MACH_CTERA_4BAY CTERA_4BAY 2024 +-ctera_plug_c MACH_CTERA_PLUG_C CTERA_PLUG_C 2025 +-crwea_plug_i MACH_CRWEA_PLUG_I CRWEA_PLUG_I 2026 +-egauge2 MACH_EGAUGE2 EGAUGE2 2027 +-didj MACH_DIDJ DIDJ 2028 +-m_s3c2443 MACH_MEISTER MEISTER 2029 +-htcblackstone MACH_HTCBLACKSTONE HTCBLACKSTONE 2030 +-cpuat9g20 MACH_CPUAT9G20 CPUAT9G20 2031 +-smdk6440 MACH_SMDK6440 SMDK6440 2032 +-omap_35xx_mvp MACH_OMAP_35XX_MVP OMAP_35XX_MVP 2033 +-ctera_plug_i MACH_CTERA_PLUG_I CTERA_PLUG_I 2034 +-pvg610_100 MACH_PVG610 PVG610 2035 +-hprw6815 MACH_HPRW6815 HPRW6815 2036 +-omap3_oswald MACH_OMAP3_OSWALD OMAP3_OSWALD 2037 +-nas4220b MACH_NAS4220B NAS4220B 2038 +-htcraphael_cdma MACH_HTCRAPHAEL_CDMA HTCRAPHAEL_CDMA 2039 +-htcdiamond_cdma MACH_HTCDIAMOND_CDMA HTCDIAMOND_CDMA 2040 +-scaler MACH_SCALER SCALER 2041 +-zylonite2 MACH_ZYLONITE2 ZYLONITE2 2042 +-aspenite MACH_ASPENITE ASPENITE 2043 +-teton MACH_TETON TETON 2044 +-ttc_dkb MACH_TTC_DKB TTC_DKB 2045 +-bishop2 MACH_BISHOP2 BISHOP2 2046 +-ippv5 MACH_IPPV5 IPPV5 2047 +-farm926 MACH_FARM926 FARM926 2048 +-mmccpu MACH_MMCCPU MMCCPU 2049 +-sgmsfl MACH_SGMSFL SGMSFL 2050 +-tt8000 MACH_TT8000 TT8000 2051 +-zrn4300lp MACH_ZRN4300LP ZRN4300LP 2052 +-mptc MACH_MPTC MPTC 2053 +-h6051 MACH_H6051 H6051 2054 +-pvg610_101 MACH_PVG610_101 PVG610_101 2055 +-stamp9261_pc_evb MACH_STAMP9261_PC_EVB STAMP9261_PC_EVB 2056 +-pelco_odysseus MACH_PELCO_ODYSSEUS PELCO_ODYSSEUS 2057 +-tny_a9260 MACH_TNY_A9260 TNY_A9260 2058 +-tny_a9g20 MACH_TNY_A9G20 TNY_A9G20 2059 +-aesop_mp2530f MACH_AESOP_MP2530F AESOP_MP2530F 2060 +-dx900 MACH_DX900 DX900 2061 +-cpodc2 MACH_CPODC2 CPODC2 2062 +-tilt_8925 MACH_TILT_8925 TILT_8925 2063 +-davinci_dm357_evm MACH_DAVINCI_DM357_EVM DAVINCI_DM357_EVM 2064 +-swordfish MACH_SWORDFISH SWORDFISH 2065 +-corvus MACH_CORVUS CORVUS 2066 +-taurus MACH_TAURUS TAURUS 2067 +-axm MACH_AXM AXM 2068 +-axc MACH_AXC AXC 2069 +-baby MACH_BABY BABY 2070 +-mp200 MACH_MP200 MP200 2071 +-pcm043 MACH_PCM043 PCM043 2072 +-hanlin_v3c MACH_HANLIN_V3C HANLIN_V3C 2073 +-kbk9g20 MACH_KBK9G20 KBK9G20 2074 +-adsturbog5 MACH_ADSTURBOG5 ADSTURBOG5 2075 +-avenger_lite1 MACH_AVENGER_LITE1 AVENGER_LITE1 2076 +-suc82x MACH_SUC SUC 2077 +-at91sam7s256 MACH_AT91SAM7S256 AT91SAM7S256 2078 +-mendoza MACH_MENDOZA MENDOZA 2079 +-kira MACH_KIRA KIRA 2080 +-mx1hbm MACH_MX1HBM MX1HBM 2081 +-quatro43xx MACH_QUATRO43XX QUATRO43XX 2082 +-quatro4230 MACH_QUATRO4230 QUATRO4230 2083 +-nsb400 MACH_NSB400 NSB400 2084 +-drp255 MACH_DRP255 DRP255 2085 +-thoth MACH_THOTH THOTH 2086 +-firestone MACH_FIRESTONE FIRESTONE 2087 +-asusp750 MACH_ASUSP750 ASUSP750 2088 +-ctera_dl MACH_CTERA_DL CTERA_DL 2089 +-socr MACH_SOCR SOCR 2090 +-htcoxygen MACH_HTCOXYGEN HTCOXYGEN 2091 +-heroc MACH_HEROC HEROC 2092 +-zeno6800 MACH_ZENO6800 ZENO6800 2093 +-sc2mcs MACH_SC2MCS SC2MCS 2094 +-gene100 MACH_GENE100 GENE100 2095 +-as353x MACH_AS353X AS353X 2096 +-sheevaplug MACH_SHEEVAPLUG SHEEVAPLUG 2097 +-at91sam9g20 MACH_AT91SAM9G20 AT91SAM9G20 2098 +-mv88f6192gtw_fe MACH_MV88F6192GTW_FE MV88F6192GTW_FE 2099 +-cc9200 MACH_CC9200 CC9200 2100 +-sm9200 MACH_SM9200 SM9200 2101 +-tp9200 MACH_TP9200 TP9200 2102 +-snapperdv MACH_SNAPPERDV SNAPPERDV 2103 +-avengers_lite MACH_AVENGERS_LITE AVENGERS_LITE 2104 +-avengers_lite1 MACH_AVENGERS_LITE1 AVENGERS_LITE1 2105 +-omap3axon MACH_OMAP3AXON OMAP3AXON 2106 +-ma8xx MACH_MA8XX MA8XX 2107 +-mp201ek MACH_MP201EK MP201EK 2108 +-davinci_tux MACH_DAVINCI_TUX DAVINCI_TUX 2109 +-mpa1600 MACH_MPA1600 MPA1600 2110 +-pelco_troy MACH_PELCO_TROY PELCO_TROY 2111 +-nsb667 MACH_NSB667 NSB667 2112 +-rovers5_4mpix MACH_ROVERS5_4MPIX ROVERS5_4MPIX 2113 +-twocom MACH_TWOCOM TWOCOM 2114 +-ubisys_p9_rcu3r2 MACH_UBISYS_P9_RCU3R2 UBISYS_P9_RCU3R2 2115 +-hero_espresso MACH_HERO_ESPRESSO HERO_ESPRESSO 2116 +-afeusb MACH_AFEUSB AFEUSB 2117 +-t830 MACH_T830 T830 2118 +-spd8020_cc MACH_SPD8020_CC SPD8020_CC 2119 +-om_3d7k MACH_OM_3D7K OM_3D7K 2120 +-picocom2 MACH_PICOCOM2 PICOCOM2 2121 +-uwg4mx27 MACH_UWG4MX27 UWG4MX27 2122 +-uwg4mx31 MACH_UWG4MX31 UWG4MX31 2123 +-cherry MACH_CHERRY CHERRY 2124 +-mx51_babbage MACH_MX51_BABBAGE MX51_BABBAGE 2125 +-s3c2440turkiye MACH_S3C2440TURKIYE S3C2440TURKIYE 2126 +-tx37 MACH_TX37 TX37 2127 +-sbc2800_9g20 MACH_SBC2800_9G20 SBC2800_9G20 2128 +-benzglb MACH_BENZGLB BENZGLB 2129 +-benztd MACH_BENZTD BENZTD 2130 +-cartesio_plus MACH_CARTESIO_PLUS CARTESIO_PLUS 2131 +-solrad_g20 MACH_SOLRAD_G20 SOLRAD_G20 2132 +-mx27wallace MACH_MX27WALLACE MX27WALLACE 2133 +-fmzwebmodul MACH_FMZWEBMODUL FMZWEBMODUL 2134 +-rd78x00_masa MACH_RD78X00_MASA RD78X00_MASA 2135 +-smallogger MACH_SMALLOGGER SMALLOGGER 2136 ++htcvenus MACH_HTCVENUS HTCVENUS 2006 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/avr32/mach-at32ap/include/mach/board.h linux-2.6.29-rc3.owrt/arch/avr32/mach-at32ap/include/mach/board.h +--- linux-2.6.29.owrt/arch/avr32/mach-at32ap/include/mach/board.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/avr32/mach-at32ap/include/mach/board.h 2009-05-10 23:48:28.000000000 +0200 +@@ -116,7 +116,6 @@ + int enable_pin; /* chip enable */ + int det_pin; /* card detect */ + int rdy_pin; /* ready/busy */ +- u8 rdy_pin_active_low; /* rdy_pin value is inverted */ + u8 ale; /* address line number connected to ALE */ + u8 cle; /* address line number connected to CLE */ + u8 bus_width_16; /* buswidth is 16 bit */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF518F-EZBRD_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF518F-EZBRD_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF518F-EZBRD_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF518F-EZBRD_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,6 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.28 +-# Fri Feb 20 10:01:44 2009 ++# Linux kernel version: 2.6.28-rc2 + # + # CONFIG_MMU is not set + # CONFIG_FPU is not set +@@ -133,15 +132,10 @@ + # CONFIG_BF538 is not set + # CONFIG_BF539 is not set + # CONFIG_BF542 is not set +-# CONFIG_BF542M is not set + # CONFIG_BF544 is not set +-# CONFIG_BF544M is not set + # CONFIG_BF547 is not set +-# CONFIG_BF547M is not set + # CONFIG_BF548 is not set +-# CONFIG_BF548M is not set + # CONFIG_BF549 is not set +-# CONFIG_BF549M is not set + # CONFIG_BF561 is not set + CONFIG_BF_REV_MIN=0 + CONFIG_BF_REV_MAX=2 +@@ -155,7 +149,6 @@ + # CONFIG_BF_REV_ANY is not set + # CONFIG_BF_REV_NONE is not set + CONFIG_BF51x=y +-CONFIG_MEM_MT48LC32M8A2_75=y + CONFIG_BFIN518F_EZBRD=y + + # +@@ -431,17 +424,7 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-CONFIG_NET_DSA=y +-# CONFIG_NET_DSA_TAG_DSA is not set +-# CONFIG_NET_DSA_TAG_EDSA is not set +-# CONFIG_NET_DSA_TAG_TRAILER is not set +-CONFIG_NET_DSA_TAG_STPID=y +-# CONFIG_NET_DSA_MV88E6XXX is not set +-# CONFIG_NET_DSA_MV88E6060 is not set +-# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set +-# CONFIG_NET_DSA_MV88E6131 is not set +-# CONFIG_NET_DSA_MV88E6123_61_65 is not set +-CONFIG_NET_DSA_KSZ8893M=y ++# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + # CONFIG_LLC2 is not set +@@ -544,8 +527,6 @@ + # + # 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 +@@ -578,9 +559,7 @@ + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_EEPROM_93CX6 is not set +-# CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_C2PORT is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -619,14 +598,10 @@ + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y + CONFIG_MII=y +-CONFIG_BFIN_MAC=y +-CONFIG_BFIN_TX_DESC_NUM=10 +-CONFIG_BFIN_RX_DESC_NUM=20 +-# CONFIG_BFIN_MAC_RMII is not set ++# CONFIG_BFIN_MAC is not set + # CONFIG_SMC91X is not set + # CONFIG_SMSC911X is not set + # CONFIG_DM9000 is not set +-# CONFIG_ENC28J60 is not set + # CONFIG_IBM_NEW_EMAC_ZMII is not set + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set +@@ -704,7 +679,7 @@ + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +@@ -784,23 +759,7 @@ + # CONFIG_I2C_DEBUG_ALGO is not set + # CONFIG_I2C_DEBUG_BUS is not set + # CONFIG_I2C_DEBUG_CHIP is not set +-CONFIG_SPI=y +-# CONFIG_SPI_DEBUG is not set +-CONFIG_SPI_MASTER=y +- +-# +-# SPI Master Controller Drivers +-# +-CONFIG_SPI_BFIN=y +-# CONFIG_SPI_BFIN_LOCK is not set +-# CONFIG_SPI_BITBANG is not set +- +-# +-# SPI Protocol Masters +-# +-# CONFIG_SPI_AT25 is not set +-# CONFIG_SPI_SPIDEV is not set +-# CONFIG_SPI_TLE62X0 is not set ++# CONFIG_SPI is not set + CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y + # CONFIG_GPIOLIB is not set + # CONFIG_W1 is not set +@@ -824,10 +783,8 @@ + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set + # CONFIG_MFD_TMIO is not set +-# CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices +@@ -899,18 +856,10 @@ + # CONFIG_RTC_DRV_M41T80 is not set + # CONFIG_RTC_DRV_S35390A is not set + # CONFIG_RTC_DRV_FM3130 is not set +-# CONFIG_RTC_DRV_RX8581 is not set + + # + # SPI RTC drivers + # +-# CONFIG_RTC_DRV_M41T94 is not set +-# CONFIG_RTC_DRV_DS1305 is not set +-# CONFIG_RTC_DRV_DS1390 is not set +-# CONFIG_RTC_DRV_MAX6902 is not set +-# CONFIG_RTC_DRV_R9701 is not set +-# CONFIG_RTC_DRV_RS5C348 is not set +-# CONFIG_RTC_DRV_DS3234 is not set + + # + # Platform RTC drivers +@@ -1108,20 +1057,12 @@ + # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set + CONFIG_SYSCTL_SYSCALL_CHECK=y +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set +-# CONFIG_KGDB_TESTCASE is not set + CONFIG_DEBUG_VERBOSE=y + CONFIG_DEBUG_MMRS=y + # CONFIG_DEBUG_HWERR is not set +@@ -1154,7 +1095,6 @@ + # + # CONFIG_CRYPTO_FIPS is not set + # CONFIG_CRYPTO_MANAGER is not set +-# CONFIG_CRYPTO_MANAGER2 is not set + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF526-EZBRD_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF526-EZBRD_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF526-EZBRD_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF526-EZBRD_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -723,7 +723,7 @@ + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF527-EZKIT_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF527-EZKIT_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF527-EZKIT_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF527-EZKIT_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -327,8 +327,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -767,7 +767,7 @@ + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF533-EZKIT_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF533-EZKIT_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF533-EZKIT_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF533-EZKIT_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -290,8 +290,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -672,7 +672,7 @@ + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF533-STAMP_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF533-STAMP_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF533-STAMP_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF533-STAMP_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -290,8 +290,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -679,7 +679,7 @@ + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF537-STAMP_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF537-STAMP_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF537-STAMP_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF537-STAMP_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -298,8 +298,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -568,7 +568,15 @@ + # CONFIG_MTD_DOC2000 is not set + # CONFIG_MTD_DOC2001 is not set + # CONFIG_MTD_DOC2001PLUS is not set +-# CONFIG_MTD_NAND is not set ++CONFIG_MTD_NAND=m ++# CONFIG_MTD_NAND_VERIFY_WRITE is not set ++# CONFIG_MTD_NAND_ECC_SMC is not set ++# CONFIG_MTD_NAND_MUSEUM_IDS is not set ++# CONFIG_MTD_NAND_BFIN is not set ++CONFIG_MTD_NAND_IDS=m ++# CONFIG_MTD_NAND_DISKONCHIP is not set ++# CONFIG_MTD_NAND_NANDSIM is not set ++CONFIG_MTD_NAND_PLATFORM=m + # CONFIG_MTD_ONENAND is not set + + # +@@ -714,7 +722,7 @@ + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF538-EZKIT_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF538-EZKIT_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF538-EZKIT_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF538-EZKIT_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -306,8 +306,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -726,7 +726,7 @@ + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF548-EZKIT_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF548-EZKIT_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF548-EZKIT_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF548-EZKIT_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -361,8 +361,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_BFIN_L2_CACHEABLE is not set + # CONFIG_MPU is not set + +@@ -680,7 +680,7 @@ + CONFIG_SCSI_DMA=y + # CONFIG_SCSI_TGT is not set + # CONFIG_SCSI_NETLINK is not set +-# CONFIG_SCSI_PROC_FS is not set ++CONFIG_SCSI_PROC_FS=y + + # + # SCSI support type (disk, tape, CD-ROM) +@@ -856,7 +856,7 @@ + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BF561-EZKIT_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF561-EZKIT_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BF561-EZKIT_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BF561-EZKIT_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -329,8 +329,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_BFIN_L2_CACHEABLE is not set + # CONFIG_MPU is not set + +@@ -709,7 +709,7 @@ + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-CONFIG_BFIN_JTAG_COMM=m ++# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/BlackStamp_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/BlackStamp_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/BlackStamp_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/BlackStamp_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -288,8 +288,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/CM-BF527_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/CM-BF527_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/CM-BF527_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/CM-BF527_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,6 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.28 ++# Linux kernel version: 2.6.24.7 ++# Fri Jul 18 18:00:41 2008 + # + # CONFIG_MMU is not set + # CONFIG_FPU is not set +@@ -8,6 +9,7 @@ + # CONFIG_RWSEM_XCHGADD_ALGORITHM is not set + CONFIG_BLACKFIN=y + CONFIG_ZONE_DMA=y ++CONFIG_SEMAPHORE_SLEEPERS=y + CONFIG_GENERIC_FIND_NEXT_BIT=y + CONFIG_GENERIC_HWEIGHT=y + CONFIG_GENERIC_HARDIRQS=y +@@ -30,16 +32,18 @@ + # CONFIG_POSIX_MQUEUE is not set + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set ++# CONFIG_USER_NS is not set ++# CONFIG_PID_NS is not set + # CONFIG_AUDIT is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=14 + # CONFIG_CGROUPS is not set +-# CONFIG_GROUP_SCHED is not set +-CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y ++CONFIG_FAIR_GROUP_SCHED=y ++CONFIG_FAIR_USER_SCHED=y ++# CONFIG_FAIR_CGROUP_SCHED is not set ++# CONFIG_SYSFS_DEPRECATED is not set + # CONFIG_RELAY is not set +-# CONFIG_NAMESPACES is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +@@ -48,35 +52,26 @@ + CONFIG_UID16=y + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +-# CONFIG_KALLSYMS_ALL is not set + # CONFIG_KALLSYMS_EXTRA_PASS is not set + CONFIG_HOTPLUG=y + CONFIG_PRINTK=y + CONFIG_BUG=y + # CONFIG_ELF_CORE is not set +-CONFIG_COMPAT_BRK=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y + CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-# CONFIG_PROFILING is not set +-# CONFIG_MARKERS is not set +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y + CONFIG_TINY_SHMEM=y + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + CONFIG_MODULE_UNLOAD=y + # CONFIG_MODULE_FORCE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set +@@ -87,7 +82,6 @@ + # CONFIG_BLK_DEV_IO_TRACE is not set + # CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set + + # + # IO Schedulers +@@ -101,11 +95,9 @@ + CONFIG_DEFAULT_CFQ=y + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="cfq" +-CONFIG_CLASSIC_RCU=y + # CONFIG_PREEMPT_NONE is not set + CONFIG_PREEMPT_VOLUNTARY=y + # CONFIG_PREEMPT is not set +-# CONFIG_FREEZER is not set + + # + # Blackfin Processor Options +@@ -114,10 +106,6 @@ + # + # Processor and Board Settings + # +-# CONFIG_BF512 is not set +-# CONFIG_BF514 is not set +-# CONFIG_BF516 is not set +-# CONFIG_BF518 is not set + # CONFIG_BF522 is not set + # CONFIG_BF523 is not set + # CONFIG_BF524 is not set +@@ -130,32 +118,48 @@ + # CONFIG_BF534 is not set + # CONFIG_BF536 is not set + # CONFIG_BF537 is not set +-# CONFIG_BF538 is not set +-# CONFIG_BF539 is not set + # CONFIG_BF542 is not set +-# CONFIG_BF542M is not set + # CONFIG_BF544 is not set +-# CONFIG_BF544M is not set + # CONFIG_BF547 is not set +-# CONFIG_BF547M is not set + # CONFIG_BF548 is not set +-# CONFIG_BF548M is not set + # CONFIG_BF549 is not set +-# CONFIG_BF549M is not set + # CONFIG_BF561 is not set +-CONFIG_BF_REV_MIN=0 +-CONFIG_BF_REV_MAX=2 + # CONFIG_BF_REV_0_0 is not set + CONFIG_BF_REV_0_1=y + # CONFIG_BF_REV_0_2 is not set + # CONFIG_BF_REV_0_3 is not set + # CONFIG_BF_REV_0_4 is not set + # CONFIG_BF_REV_0_5 is not set +-# CONFIG_BF_REV_0_6 is not set + # CONFIG_BF_REV_ANY is not set + # CONFIG_BF_REV_NONE is not set + CONFIG_BF52x=y + CONFIG_MEM_MT48LC16M16A2TG_75=y ++# CONFIG_BFIN527_EZKIT is not set ++CONFIG_BFIN527_BLUETECHNIX_CM=y ++ ++# ++# BF527 Specific Configuration ++# ++ ++# ++# Alternative Multiplexing Scheme ++# ++# CONFIG_BF527_SPORT0_PORTF is not set ++CONFIG_BF527_SPORT0_PORTG=y ++CONFIG_BF527_SPORT0_TSCLK_PG10=y ++# CONFIG_BF527_SPORT0_TSCLK_PG14 is not set ++CONFIG_BF527_UART1_PORTF=y ++# CONFIG_BF527_UART1_PORTG is not set ++# CONFIG_BF527_NAND_D_PORTF is not set ++CONFIG_BF527_NAND_D_PORTH=y ++ ++# ++# Interrupt Priority Assignment ++# ++ ++# ++# Priority ++# + CONFIG_IRQ_PLL_WAKEUP=7 + CONFIG_IRQ_DMA0_ERROR=7 + CONFIG_IRQ_DMAR0_BLK=7 +@@ -175,6 +179,7 @@ + CONFIG_IRQ_SPORT1_RX=9 + CONFIG_IRQ_SPORT1_TX=9 + CONFIG_IRQ_TWI=10 ++CONFIG_IRQ_SPI=10 + CONFIG_IRQ_UART0_RX=10 + CONFIG_IRQ_UART0_TX=10 + CONFIG_IRQ_UART1_RX=10 +@@ -200,34 +205,6 @@ + CONFIG_IRQ_WATCH=13 + CONFIG_IRQ_PORTF_INTA=13 + CONFIG_IRQ_PORTF_INTB=13 +-# CONFIG_BFIN527_EZKIT is not set +-CONFIG_BFIN527_BLUETECHNIX_CM=y +-# CONFIG_BFIN526_EZBRD is not set +- +-# +-# BF527 Specific Configuration +-# +- +-# +-# Alternative Multiplexing Scheme +-# +-# CONFIG_BF527_SPORT0_PORTF is not set +-CONFIG_BF527_SPORT0_PORTG=y +-CONFIG_BF527_SPORT0_TSCLK_PG10=y +-# CONFIG_BF527_SPORT0_TSCLK_PG14 is not set +-CONFIG_BF527_UART1_PORTF=y +-# CONFIG_BF527_UART1_PORTG is not set +-# CONFIG_BF527_NAND_D_PORTF is not set +-CONFIG_BF527_NAND_D_PORTH=y +- +-# +-# Interrupt Priority Assignment +-# +- +-# +-# Priority +-# +-CONFIG_IRQ_SPI=10 + CONFIG_IRQ_SPI_ERROR=7 + CONFIG_IRQ_NFC_ERROR=7 + CONFIG_IRQ_HDMA_ERROR=7 +@@ -249,6 +226,7 @@ + # + CONFIG_CLKIN_HZ=25000000 + # CONFIG_BFIN_KERNEL_CLOCK is not set ++CONFIG_MAX_MEM_SIZE=512 + CONFIG_MAX_VCO_HZ=600000000 + CONFIG_MIN_VCO_HZ=50000000 + CONFIG_MAX_SCLK_HZ=133333333 +@@ -262,10 +240,10 @@ + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK is not set + CONFIG_GENERIC_TIME=y + CONFIG_GENERIC_CLOCKEVENTS=y + # CONFIG_CYCLES_CLOCKSOURCE is not set ++# CONFIG_TICK_ONESHOT is not set + # CONFIG_NO_HZ is not set + # CONFIG_HIGH_RES_TIMERS is not set + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +@@ -299,12 +277,6 @@ + CONFIG_CACHELINE_ALIGNED_L1=y + # CONFIG_SYSCALL_TAB_L1 is not set + # CONFIG_CPLB_SWITCH_TAB_L1 is not set +-CONFIG_APP_STACK_L1=y +- +-# +-# Speed Optimizations +-# +-CONFIG_BFIN_INS_LOWOVERHEAD=y + CONFIG_RAMKERNEL=y + # CONFIG_ROMKERNEL is not set + CONFIG_SELECT_MEMORY_MODEL=y +@@ -313,10 +285,10 @@ + # CONFIG_SPARSEMEM_MANUAL is not set + CONFIG_FLATMEM=y + CONFIG_FLAT_NODE_MEM_MAP=y +-CONFIG_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set ++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set + CONFIG_SPLIT_PTLOCK_CPUS=4 + # CONFIG_RESOURCES_64BIT is not set +-# CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_VIRT_TO_BUS=y + CONFIG_BFIN_GPTIMERS=y +@@ -332,8 +304,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + # CONFIG_MPU is not set + + # +@@ -362,6 +334,7 @@ + # + # Bus options (PCI, PCMCIA, EISA, MCA, ISA) + # ++# CONFIG_PCI is not set + # CONFIG_ARCH_SUPPORTS_MSI is not set + # CONFIG_PCCARD is not set + +@@ -372,20 +345,25 @@ + CONFIG_BINFMT_FLAT=y + CONFIG_BINFMT_ZFLAT=y + # CONFIG_BINFMT_SHARED_FLAT is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set + + # + # Power management options + # + # CONFIG_PM is not set +-CONFIG_ARCH_SUSPEND_POSSIBLE=y ++CONFIG_SUSPEND_UP_POSSIBLE=y ++# CONFIG_PM_BFIN_SLEEP_DEEPER is not set ++# CONFIG_PM_BFIN_SLEEP is not set + # CONFIG_PM_WAKEUP_BY_GPIO is not set + + # + # CPU Frequency scaling + # + # CONFIG_CPU_FREQ is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # +@@ -398,7 +376,6 @@ + # CONFIG_XFRM_USER is not set + # CONFIG_XFRM_SUB_POLICY is not set + # CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set + # CONFIG_NET_KEY is not set + CONFIG_INET=y + # CONFIG_IP_MULTICAST is not set +@@ -428,6 +405,8 @@ + CONFIG_DEFAULT_TCP_CONG="cubic" + # CONFIG_TCP_MD5SIG is not set + # CONFIG_IPV6 is not set ++# CONFIG_INET6_XFRM_TUNNEL is not set ++# CONFIG_INET6_TUNNEL is not set + # CONFIG_NETLABEL is not set + # CONFIG_NETWORK_SECMARK is not set + # CONFIG_NETFILTER is not set +@@ -436,7 +415,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + # CONFIG_LLC2 is not set +@@ -453,14 +431,14 @@ + # + # CONFIG_NET_PKTGEN is not set + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set + # CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set + # CONFIG_MAC80211 is not set + # CONFIG_IEEE80211 is not set +@@ -478,8 +456,6 @@ + CONFIG_STANDALONE=y + CONFIG_PREVENT_FIRMWARE_BUILD=y + # CONFIG_FW_LOADER is not set +-# CONFIG_DEBUG_DRIVER is not set +-# CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set + # CONFIG_CONNECTOR is not set + CONFIG_MTD=y +@@ -488,7 +464,6 @@ + CONFIG_MTD_PARTITIONS=y + # CONFIG_MTD_REDBOOT_PARTS is not set + # CONFIG_MTD_CMDLINE_PARTS is not set +-# CONFIG_MTD_AR7_PARTS is not set + + # + # User Modules And Translation Layers +@@ -532,7 +507,6 @@ + # + CONFIG_MTD_COMPLEX_MAPPINGS=y + # CONFIG_MTD_PHYSMAP is not set +-# CONFIG_MTD_GPIO_ADDR is not set + # CONFIG_MTD_UCLINUX is not set + # CONFIG_MTD_PLATRAM is not set + +@@ -568,12 +542,10 @@ + CONFIG_BLK_DEV_RAM=y + CONFIG_BLK_DEV_RAM_COUNT=16 + CONFIG_BLK_DEV_RAM_SIZE=4096 +-# CONFIG_BLK_DEV_XIP is not set ++CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + # CONFIG_MISC_DEVICES is not set +-CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + + # +@@ -586,6 +558,7 @@ + # CONFIG_ATA is not set + # CONFIG_MD is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + # CONFIG_DUMMY is not set + # CONFIG_BONDING is not set + # CONFIG_MACVLAN is not set +@@ -606,7 +579,6 @@ + # CONFIG_SMSC_PHY is not set + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set +-# CONFIG_REALTEK_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -619,14 +591,11 @@ + # CONFIG_SMC91X is not set + # CONFIG_SMSC911X is not set + # CONFIG_DM9000 is not set +-# CONFIG_ENC28J60 is not set + # CONFIG_IBM_NEW_EMAC_ZMII is not set + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set ++# CONFIG_B44 is not set + # CONFIG_NETDEV_1000 is not set + # CONFIG_NETDEV_10000 is not set + +@@ -635,7 +604,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set + + # + # USB Network Adapters +@@ -648,6 +616,7 @@ + # 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_NETPOLL is not set + # CONFIG_NET_POLL_CONTROLLER is not set +@@ -673,15 +642,14 @@ + # CONFIG_BF5xx_PPIFCD is not set + # CONFIG_BFIN_SIMPLE_TIMER is not set + # CONFIG_BF5xx_PPI is not set +-# CONFIG_BF5xx_EPPI is not set ++CONFIG_BFIN_OTP=y ++# CONFIG_BFIN_OTP_WRITE_ENABLE is not set + # CONFIG_BFIN_SPORT is not set + # CONFIG_BFIN_TIMER_LATENCY is not set + # CONFIG_TWI_LCD is not set +-CONFIG_BFIN_DMA_INTERFACE=m + CONFIG_SIMPLE_GPIO=m + # CONFIG_VT is not set + # CONFIG_DEVKMEM is not set +-# CONFIG_BFIN_JTAG_COMM is not set + # CONFIG_SERIAL_NONSTANDARD is not set + + # +@@ -705,8 +673,6 @@ + # CONFIG_SERIAL_BFIN_SPORT is not set + CONFIG_UNIX98_PTYS=y + # CONFIG_LEGACY_PTYS is not set +-CONFIG_BFIN_OTP=y +-# CONFIG_BFIN_OTP_WRITE_ENABLE is not set + + # + # CAN, the car bus and industrial fieldbus +@@ -714,49 +680,44 @@ + # CONFIG_CAN4LINUX is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set ++# CONFIG_GEN_RTC is not set + # CONFIG_R3964 is not set + # CONFIG_RAW_DRIVER is not set + # CONFIG_TCG_TPM is not set + CONFIG_I2C=y + CONFIG_I2C_BOARDINFO=y + CONFIG_I2C_CHARDEV=m +-CONFIG_I2C_HELPER_AUTO=y + + # +-# I2C Hardware Bus support ++# I2C Algorithms + # ++# CONFIG_I2C_ALGOBIT is not set ++# CONFIG_I2C_ALGOPCF is not set ++# CONFIG_I2C_ALGOPCA is not set + + # +-# I2C system bus drivers (mostly embedded / system-on-chip) ++# I2C Hardware Bus support + # + CONFIG_I2C_BLACKFIN_TWI=m + CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=100 + # CONFIG_I2C_GPIO is not set + # CONFIG_I2C_OCORES is not set +-# CONFIG_I2C_SIMTEC is not set +- +-# +-# External I2C/SMBus adapter drivers +-# + # CONFIG_I2C_PARPORT_LIGHT is not set ++# CONFIG_I2C_SIMTEC is not set + # CONFIG_I2C_TAOS_EVM is not set +-# CONFIG_I2C_TINY_USB is not set +- +-# +-# Other I2C/SMBus bus drivers +-# +-# CONFIG_I2C_PCA_PLATFORM is not set + # CONFIG_I2C_STUB is not set ++# CONFIG_I2C_TINY_USB is not set + + # + # Miscellaneous I2C Chip support + # ++# CONFIG_SENSORS_DS1337 is not set ++# CONFIG_SENSORS_DS1374 is not set + # CONFIG_DS1682 is not set +-# CONFIG_AT24 is not set + # CONFIG_SENSORS_AD5252 is not set +-# CONFIG_SENSORS_EEPROM is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set +-# CONFIG_PCF8575 is not set ++# CONFIG_SENSORS_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set + # CONFIG_SENSORS_PCF8591 is not set + # CONFIG_SENSORS_MAX6875 is not set +@@ -765,41 +726,37 @@ + # 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=y +-# CONFIG_SPI_DEBUG is not set + CONFIG_SPI_MASTER=y + + # + # SPI Master Controller Drivers + # + CONFIG_SPI_BFIN=y +-# CONFIG_SPI_BFIN_LOCK is not set + # CONFIG_SPI_BITBANG is not set + + # + # SPI Protocol Masters + # +-# CONFIG_SPI_AT25 is not set ++# CONFIG_EEPROM_AT25 is not set + # CONFIG_SPI_SPIDEV is not set + # CONFIG_SPI_TLE62X0 is not set +-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y +-# CONFIG_GPIOLIB is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + CONFIG_HWMON=y + # CONFIG_HWMON_VID is not set +-# CONFIG_SENSORS_AD7414 is not set + # CONFIG_SENSORS_AD7418 is not set +-# CONFIG_SENSORS_ADCXX is not set + # CONFIG_SENSORS_ADM1021 is not set + # CONFIG_SENSORS_ADM1025 is not set + # CONFIG_SENSORS_ADM1026 is not set + # CONFIG_SENSORS_ADM1029 is not set + # CONFIG_SENSORS_ADM1031 is not set + # CONFIG_SENSORS_ADM9240 is not set +-# CONFIG_SENSORS_ADT7462 is not set + # CONFIG_SENSORS_ADT7470 is not set +-# CONFIG_SENSORS_ADT7473 is not set + # CONFIG_SENSORS_ATXP1 is not set + # CONFIG_SENSORS_DS1621 is not set + # CONFIG_SENSORS_F71805F is not set +@@ -820,7 +777,6 @@ + # CONFIG_SENSORS_LM90 is not set + # CONFIG_SENSORS_LM92 is not set + # CONFIG_SENSORS_LM93 is not set +-# CONFIG_SENSORS_MAX1111 is not set + # CONFIG_SENSORS_MAX1619 is not set + # CONFIG_SENSORS_MAX6650 is not set + # CONFIG_SENSORS_PC87360 is not set +@@ -829,7 +785,6 @@ + # CONFIG_SENSORS_SMSC47M1 is not set + # CONFIG_SENSORS_SMSC47M192 is not set + # CONFIG_SENSORS_SMSC47B397 is not set +-# CONFIG_SENSORS_ADS7828 is not set + # CONFIG_SENSORS_THMC50 is not set + # CONFIG_SENSORS_VT1211 is not set + # CONFIG_SENSORS_W83781D is not set +@@ -837,12 +792,9 @@ + # CONFIG_SENSORS_W83792D is not set + # CONFIG_SENSORS_W83793 is not set + # CONFIG_SENSORS_W83L785TS is not set +-# CONFIG_SENSORS_W83L786NG is not set + # CONFIG_SENSORS_W83627HF is not set + # CONFIG_SENSORS_W83627EHF is not set + # CONFIG_HWMON_DEBUG_CHIP is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set + CONFIG_WATCHDOG=y + # CONFIG_WATCHDOG_NOWAYOUT is not set + +@@ -858,31 +810,21 @@ + # CONFIG_USBPCWATCHDOG is not set + + # +-# Multifunction device drivers ++# Sonics Silicon Backplane + # +-# CONFIG_MFD_CORE is not set +-# CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_PMIC_DA903X is not set +-# CONFIG_MFD_WM8400 is not set +-# CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_REGULATOR is not set ++CONFIG_SSB_POSSIBLE=y ++# CONFIG_SSB is not set + + # +-# Multimedia devices ++# Multifunction device drivers + # ++# CONFIG_MFD_SM501 is not set + + # +-# Multimedia core support ++# Multimedia devices + # + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set +- +-# +-# Multimedia drivers +-# + # CONFIG_DAB is not set + + # +@@ -897,6 +839,10 @@ + # Display device support + # + # CONFIG_DISPLAY_SUPPORT is not set ++ ++# ++# Sound ++# + # CONFIG_SOUND is not set + CONFIG_USB_SUPPORT=y + CONFIG_USB_ARCH_HAS_HCD=y +@@ -904,7 +850,6 @@ + # CONFIG_USB_ARCH_HAS_EHCI is not set + CONFIG_USB=y + # CONFIG_USB_DEBUG is not set +-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + + # + # Miscellaneous USB options +@@ -915,48 +860,40 @@ + # CONFIG_USB_OTG is not set + # CONFIG_USB_OTG_WHITELIST is not set + CONFIG_USB_OTG_BLACKLIST_HUB=y +-CONFIG_USB_MON=y +-# CONFIG_USB_WUSB is not set +-# CONFIG_USB_WUSB_CBAF is not set + + # + # USB Host Controller Drivers + # +-# CONFIG_USB_C67X00_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set +-# CONFIG_USB_ISP1760_HCD is not set + # CONFIG_USB_ISP1362_HCD is not set ++# CONFIG_USB_ISP1760_HCD is not set + # CONFIG_USB_SL811_HCD is not set + # CONFIG_USB_R8A66597_HCD is not set +-# CONFIG_USB_HWA_HCD is not set + CONFIG_USB_MUSB_HDRC=y + CONFIG_USB_MUSB_SOC=y + + # +-# Blackfin high speed USB Support ++# Blackfin high speed USB support + # + CONFIG_USB_MUSB_HOST=y + # CONFIG_USB_MUSB_PERIPHERAL is not set + # CONFIG_USB_MUSB_OTG is not set + CONFIG_USB_MUSB_HDRC_HCD=y + CONFIG_MUSB_PIO_ONLY=y +-CONFIG_MUSB_DMA_POLL=y +-# CONFIG_USB_MUSB_DEBUG is not set ++CONFIG_USB_MUSB_LOGLEVEL=0 + + # + # USB Device Class drivers + # + # CONFIG_USB_ACM is not set + # CONFIG_USB_PRINTER is not set +-# CONFIG_USB_WDM is not set +-# CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# may also be needed; see USB_STORAGE Help for more information + # + # CONFIG_USB_LIBUSUAL is not set + +@@ -964,10 +901,15 @@ + # USB Imaging devices + # + # CONFIG_USB_MDC800 is not set ++CONFIG_USB_MON=y + + # + # USB port drivers + # ++ ++# ++# USB Serial Converter support ++# + # CONFIG_USB_SERIAL is not set + + # +@@ -976,7 +918,7 @@ + # CONFIG_USB_EMI62 is not set + # CONFIG_USB_EMI26 is not set + # CONFIG_USB_ADUTUX is not set +-# CONFIG_USB_SEVSEG 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 +@@ -992,13 +934,17 @@ + # CONFIG_USB_LD is not set + # CONFIG_USB_TRANCEVIBRATOR is not set + # CONFIG_USB_IOWARRIOR is not set +-# CONFIG_USB_ISIGHTFW is not set +-# CONFIG_USB_VST is not set ++ ++# ++# USB DSL modem support ++# ++ ++# ++# USB Gadget Support ++# + # CONFIG_USB_GADGET is not set + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set + CONFIG_RTC_LIB=y + CONFIG_RTC_CLASS=y + CONFIG_RTC_HCTOSYS=y +@@ -1027,59 +973,51 @@ + # CONFIG_RTC_DRV_PCF8563 is not set + # CONFIG_RTC_DRV_PCF8583 is not set + # CONFIG_RTC_DRV_M41T80 is not set +-# CONFIG_RTC_DRV_S35390A is not set +-# CONFIG_RTC_DRV_FM3130 is not set +-# CONFIG_RTC_DRV_RX8581 is not set + + # + # SPI RTC drivers + # +-# CONFIG_RTC_DRV_M41T94 is not set +-# CONFIG_RTC_DRV_DS1305 is not set +-# CONFIG_RTC_DRV_DS1390 is not set +-# CONFIG_RTC_DRV_MAX6902 is not set +-# CONFIG_RTC_DRV_R9701 is not set + # CONFIG_RTC_DRV_RS5C348 is not set +-# CONFIG_RTC_DRV_DS3234 is not set ++# CONFIG_RTC_DRV_MAX6902 is not set + + # + # Platform RTC drivers + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set + # CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set + # CONFIG_RTC_DRV_STK17TA8 is not set ++# CONFIG_RTC_DRV_DS1742 is not set + # CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set + # CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set + # CONFIG_RTC_DRV_V3020 is not set + + # + # on-CPU RTC drivers + # + CONFIG_RTC_DRV_BFIN=y +-# CONFIG_DMADEVICES is not set ++ ++# ++# Userspace I/O ++# + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems + # + # CONFIG_EXT2_FS is not set + # CONFIG_EXT3_FS is not set +-# CONFIG_EXT4_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_FILE_LOCKING=y + # CONFIG_XFS_FS is not set ++# CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_DNOTIFY 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 is not set + # CONFIG_AUTOFS_FS is not set + # CONFIG_AUTOFS4_FS is not set + # CONFIG_FUSE_FS is not set +@@ -1121,11 +1059,8 @@ + # CONFIG_JFFS2_FS is not set + # CONFIG_CRAMFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set + CONFIG_NETWORK_FILESYSTEMS=y +@@ -1133,12 +1068,13 @@ + 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 is not set + CONFIG_LOCKD=m + CONFIG_LOCKD_V4=y + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=m +-# CONFIG_SUNRPC_REGISTER_V4 is not set ++# CONFIG_SUNRPC_BIND34 is not set + # CONFIG_RPCSEC_GSS_KRB5 is not set + # CONFIG_RPCSEC_GSS_SPKM3 is not set + CONFIG_SMB_FS=m +@@ -1194,6 +1130,7 @@ + # CONFIG_NLS_KOI8_U is not set + # CONFIG_NLS_UTF8 is not set + # CONFIG_DLM is not set ++# CONFIG_INSTRUMENTATION is not set + + # + # Kernel hacking +@@ -1201,61 +1138,14 @@ + # CONFIG_PRINTK_TIME is not set + CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=1024 + # CONFIG_MAGIC_SYSRQ is not set + # CONFIG_UNUSED_SYMBOLS is not set + CONFIG_DEBUG_FS=y + # CONFIG_HEADERS_CHECK is not set +-CONFIG_DEBUG_KERNEL=y +-# CONFIG_DEBUG_SHIRQ is not set +-CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +-# CONFIG_SCHED_DEBUG is not set +-# CONFIG_SCHEDSTATS is not set +-# CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set +-# CONFIG_DEBUG_SLAB is not set +-# CONFIG_DEBUG_RT_MUTEXES is not set +-# CONFIG_RT_MUTEX_TESTER is not set +-# CONFIG_DEBUG_SPINLOCK is not set +-# CONFIG_DEBUG_MUTEXES is not set +-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +-# CONFIG_DEBUG_KOBJECT is not set ++# CONFIG_DEBUG_KERNEL is not set + # CONFIG_DEBUG_BUGVERBOSE is not set +-# CONFIG_DEBUG_INFO is not set +-# CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-# CONFIG_DEBUG_MEMORY_INIT is not set +-# CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_FRAME_POINTER is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set +-# CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +-# CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set +-CONFIG_HAVE_ARCH_KGDB=y +-# CONFIG_KGDB is not set +-# CONFIG_DEBUG_STACKOVERFLOW is not set +-# CONFIG_DEBUG_STACK_USAGE is not set +-# CONFIG_KGDB_TESTCASE is not set +-CONFIG_DEBUG_VERBOSE=y + CONFIG_DEBUG_MMRS=y +-# CONFIG_DEBUG_HWERR is not set +-# CONFIG_DEBUG_DOUBLEFAULT is not set + CONFIG_DEBUG_HUNT_FOR_ZERO=y + CONFIG_DEBUG_BFIN_HWTRACE_ON=y + CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION_OFF=y +@@ -1264,7 +1154,7 @@ + CONFIG_DEBUG_BFIN_HWTRACE_COMPRESSION=0 + # CONFIG_DEBUG_BFIN_HWTRACE_EXPAND is not set + # CONFIG_DEBUG_BFIN_NO_KERN_HWTRACE is not set +-# CONFIG_EARLY_PRINTK is not set ++CONFIG_EARLY_PRINTK=y + # CONFIG_CPLB_INFO is not set + CONFIG_ACCESS_CHECK=y + +@@ -1273,96 +1163,10 @@ + # + # CONFIG_KEYS is not set + CONFIG_SECURITY=y +-# CONFIG_SECURITYFS is not set + # CONFIG_SECURITY_NETWORK is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set ++# CONFIG_SECURITY_CAPABILITIES is not set + # CONFIG_SECURITY_ROOTPLUG is not set +-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 +-CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set +-# CONFIG_CRYPTO_MANAGER is not set +-# CONFIG_CRYPTO_MANAGER2 is not set +-# CONFIG_CRYPTO_GF128MUL is not set +-# CONFIG_CRYPTO_NULL is not set +-# CONFIG_CRYPTO_CRYPTD is not set +-# CONFIG_CRYPTO_AUTHENC is not set +-# CONFIG_CRYPTO_TEST is not set +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-# CONFIG_CRYPTO_CBC is not set +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-# CONFIG_CRYPTO_ECB is not set +-# CONFIG_CRYPTO_LRW is not set +-# CONFIG_CRYPTO_PCBC is not set +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# +-# CONFIG_CRYPTO_HMAC is not set +-# CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-# CONFIG_CRYPTO_CRC32C is not set +-# CONFIG_CRYPTO_MD4 is not set +-# CONFIG_CRYPTO_MD5 is not set +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set +-# CONFIG_CRYPTO_SHA1 is not set +-# CONFIG_CRYPTO_SHA256 is not set +-# CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_TGR192 is not set +-# CONFIG_CRYPTO_WP512 is not set +- +-# +-# Ciphers +-# +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_ARC4 is not set +-# CONFIG_CRYPTO_BLOWFISH is not set +-# CONFIG_CRYPTO_CAMELLIA is not set +-# CONFIG_CRYPTO_CAST5 is not set +-# CONFIG_CRYPTO_CAST6 is not set +-# CONFIG_CRYPTO_DES is not set +-# CONFIG_CRYPTO_FCRYPT is not set +-# CONFIG_CRYPTO_KHAZAD is not set +-# CONFIG_CRYPTO_SALSA20 is not set +-# CONFIG_CRYPTO_SEED is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_TWOFISH is not set +- +-# +-# Compression +-# +-# CONFIG_CRYPTO_DEFLATE is not set +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set +-CONFIG_CRYPTO_HW=y ++# CONFIG_CRYPTO is not set + + # + # Library routines +@@ -1370,7 +1174,6 @@ + CONFIG_BITREVERSE=y + CONFIG_CRC_CCITT=m + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/CM-BF548_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/CM-BF548_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/CM-BF548_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/CM-BF548_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -336,8 +336,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + CONFIG_L1_MAX_PIECE=16 + # CONFIG_MPU is not set + +@@ -595,7 +595,7 @@ + CONFIG_SCSI_DMA=y + # CONFIG_SCSI_TGT is not set + # CONFIG_SCSI_NETLINK is not set +-# CONFIG_SCSI_PROC_FS is not set ++CONFIG_SCSI_PROC_FS=y + + # + # SCSI support type (disk, tape, CD-ROM) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/IP0X_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/IP0X_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/IP0X_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/IP0X_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -612,7 +612,7 @@ + CONFIG_SCSI=y + # CONFIG_SCSI_TGT is not set + # CONFIG_SCSI_NETLINK is not set +-# CONFIG_SCSI_PROC_FS is not set ++CONFIG_SCSI_PROC_FS=y + + # + # SCSI support type (disk, tape, CD-ROM) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/configs/SRV1_defconfig linux-2.6.29-rc3.owrt/arch/blackfin/configs/SRV1_defconfig +--- linux-2.6.29.owrt/arch/blackfin/configs/SRV1_defconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/configs/SRV1_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -282,8 +282,8 @@ + CONFIG_BFIN_DCACHE=y + # CONFIG_BFIN_DCACHE_BANKA is not set + # CONFIG_BFIN_ICACHE_LOCK is not set +-CONFIG_BFIN_WB=y +-# CONFIG_BFIN_WT is not set ++# CONFIG_BFIN_WB is not set ++CONFIG_BFIN_WT=y + CONFIG_L1_MAX_PIECE=16 + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/bfin_sport.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/bfin_sport.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/bfin_sport.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/bfin_sport.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,9 +1,30 @@ + /* +- * bfin_sport.h - userspace header for bfin sport driver ++ * File: include/asm-blackfin/bfin_sport.h ++ * Based on: ++ * Author: Roy Huang (roy.huang@analog.com) + * +- * Copyright 2004-2008 Analog Devices Inc. ++ * Created: Thu Aug. 24 2006 ++ * Description: + * +- * Licensed under the GPL-2 or later. ++ * Modified: ++ * Copyright 2004-2006 Analog Devices Inc. ++ * ++ * Bugs: Enter bugs at http://blackfin.uclinux.org/ ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see the file COPYING, or write ++ * to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + #ifndef __BFIN_SPORT_H__ +@@ -21,10 +42,11 @@ + #define NORM_FORMAT 0x0 + #define ALAW_FORMAT 0x2 + #define ULAW_FORMAT 0x3 ++struct sport_register; + + /* Function driver which use sport must initialize the structure */ + struct sport_config { +- /* TDM (multichannels), I2S or other mode */ ++ /*TDM (multichannels), I2S or other mode */ + unsigned int mode:3; + + /* if TDM mode is selected, channels must be set */ +@@ -50,18 +72,12 @@ + int serial_clk; + int fsync_clk; + +- unsigned int data_format:2; /* Normal, u-law or a-law */ ++ unsigned int data_format:2; /*Normal, u-law or a-law */ + + int word_len; /* How length of the word in bits, 3-32 bits */ + int dma_enabled; + }; + +-/* Userspace interface */ +-#define SPORT_IOC_MAGIC 'P' +-#define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config) +- +-#ifdef __KERNEL__ +- + struct sport_register { + unsigned short tcr1; + unsigned short reserved0; +@@ -101,6 +117,9 @@ + unsigned long mrcs3; + }; + ++#define SPORT_IOC_MAGIC 'P' ++#define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config) ++ + struct sport_dev { + struct cdev cdev; /* Char device structure */ + +@@ -130,8 +149,6 @@ + struct sport_config config; + }; + +-#endif +- + #define SPORT_TCR1 0 + #define SPORT_TCR2 1 + #define SPORT_TCLKDIV 2 +@@ -152,4 +169,4 @@ + #define SPORT_MRCS2 22 + #define SPORT_MRCS3 23 + +-#endif ++#endif /*__BFIN_SPORT_H__*/ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/checksum.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/checksum.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/checksum.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/checksum.h 2009-05-10 23:48:28.000000000 +0200 +@@ -63,23 +63,23 @@ + csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len, + unsigned short proto, __wsum sum) + { +- unsigned int carry; + +- __asm__ ("%0 = %0 + %2;\n\t" +- "CC = AC0;\n\t" +- "%1 = CC;\n\t" +- "%0 = %0 + %1;\n\t" +- "%0 = %0 + %3;\n\t" +- "CC = AC0;\n\t" +- "%1 = CC;\n\t" +- "%0 = %0 + %1;\n\t" +- "%0 = %0 + %4;\n\t" +- "CC = AC0;\n\t" +- "%1 = CC;\n\t" +- "%0 = %0 + %1;\n\t" +- : "=d" (sum), "=&d" (carry) +- : "d" (daddr), "d" (saddr), "d" ((len + proto) << 8), "0"(sum) +- : "CC"); ++ __asm__ ("%0 = %0 + %1;\n\t" ++ "CC = AC0;\n\t" ++ "if !CC jump 4;\n\t" ++ "%0 = %0 + %4;\n\t" ++ "%0 = %0 + %2;\n\t" ++ "CC = AC0;\n\t" ++ "if !CC jump 4;\n\t" ++ "%0 = %0 + %4;\n\t" ++ "%0 = %0 + %3;\n\t" ++ "CC = AC0;\n\t" ++ "if !CC jump 4;\n\t" ++ "%0 = %0 + %4;\n\t" ++ "NOP;\n\t" ++ : "=d" (sum) ++ : "d" (daddr), "d" (saddr), "d" ((ntohs(len)<<16)+proto*256), "d" (1), "0"(sum) ++ : "CC"); + + return (sum); + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/delay.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/delay.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/delay.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/delay.h 2009-05-10 23:48:28.000000000 +0200 +@@ -13,7 +13,29 @@ + + static inline void __delay(unsigned long loops) + { +-__asm__ __volatile__ ( ++ if (ANOMALY_05000312) { ++ /* Interrupted loads to loop registers -> bad */ ++ unsigned long tmp; ++ __asm__ __volatile__( ++ "[--SP] = LC0;" ++ "[--SP] = LT0;" ++ "[--SP] = LB0;" ++ "LSETUP (1f,1f) LC0 = %1;" ++ "1: NOP;" ++ /* We take advantage of the fact that LC0 is 0 at ++ * the end of the loop. Otherwise we'd need some ++ * NOPs after the CLI here. ++ */ ++ "CLI %0;" ++ "LB0 = [SP++];" ++ "LT0 = [SP++];" ++ "LC0 = [SP++];" ++ "STI %0;" ++ : "=d" (tmp) ++ : "a" (loops) ++ ); ++ } else ++ __asm__ __volatile__ ( + "LSETUP(1f, 1f) LC0 = %0;" + "1: NOP;" + : +@@ -25,15 +47,16 @@ + #include /* needed for HZ */ + + /* +- * close approximation borrowed from m68knommu to avoid 64-bit math ++ * Use only for very small delays ( < 1 msec). Should probably use a ++ * lookup table, really, as the multiplications take much too long with ++ * short delays. This is a "reasonable" implementation, though (and the ++ * first constant multiplications gets optimized away if the delay is ++ * a constant) + */ +- +-#define HZSCALE (268435456 / (1000000/HZ)) +- + static inline void udelay(unsigned long usecs) + { + extern unsigned long loops_per_jiffy; +- __delay((((usecs * HZSCALE) >> 11) * (loops_per_jiffy >> 11)) >> 6); ++ __delay(usecs * loops_per_jiffy / (1000000 / HZ)); + } + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/gpio.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/gpio.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/gpio.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/gpio.h 2009-05-10 23:48:28.000000000 +0200 +@@ -27,6 +27,60 @@ + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + ++/* ++* Number BF537/6/4 BF561 BF533/2/1 ++* BF527/5/2 ++* ++* GPIO_0 PF0 PF0 PF0 ++* GPIO_1 PF1 PF1 PF1 ++* GPIO_2 PF2 PF2 PF2 ++* GPIO_3 PF3 PF3 PF3 ++* GPIO_4 PF4 PF4 PF4 ++* GPIO_5 PF5 PF5 PF5 ++* GPIO_6 PF6 PF6 PF6 ++* GPIO_7 PF7 PF7 PF7 ++* GPIO_8 PF8 PF8 PF8 ++* GPIO_9 PF9 PF9 PF9 ++* GPIO_10 PF10 PF10 PF10 ++* GPIO_11 PF11 PF11 PF11 ++* GPIO_12 PF12 PF12 PF12 ++* GPIO_13 PF13 PF13 PF13 ++* GPIO_14 PF14 PF14 PF14 ++* GPIO_15 PF15 PF15 PF15 ++* GPIO_16 PG0 PF16 ++* GPIO_17 PG1 PF17 ++* GPIO_18 PG2 PF18 ++* GPIO_19 PG3 PF19 ++* GPIO_20 PG4 PF20 ++* GPIO_21 PG5 PF21 ++* GPIO_22 PG6 PF22 ++* GPIO_23 PG7 PF23 ++* GPIO_24 PG8 PF24 ++* GPIO_25 PG9 PF25 ++* GPIO_26 PG10 PF26 ++* GPIO_27 PG11 PF27 ++* GPIO_28 PG12 PF28 ++* GPIO_29 PG13 PF29 ++* GPIO_30 PG14 PF30 ++* GPIO_31 PG15 PF31 ++* GPIO_32 PH0 PF32 ++* GPIO_33 PH1 PF33 ++* GPIO_34 PH2 PF34 ++* GPIO_35 PH3 PF35 ++* GPIO_36 PH4 PF36 ++* GPIO_37 PH5 PF37 ++* GPIO_38 PH6 PF38 ++* GPIO_39 PH7 PF39 ++* GPIO_40 PH8 PF40 ++* GPIO_41 PH9 PF41 ++* GPIO_42 PH10 PF42 ++* GPIO_43 PH11 PF43 ++* GPIO_44 PH12 PF44 ++* GPIO_45 PH13 PF45 ++* GPIO_46 PH14 PF46 ++* GPIO_47 PH15 PF47 ++*/ ++ + #ifndef __ARCH_BLACKFIN_GPIO_H__ + #define __ARCH_BLACKFIN_GPIO_H__ + +@@ -241,6 +295,10 @@ + int bfin_gpio_get_value(unsigned gpio); + void bfin_gpio_set_value(unsigned gpio, int value); + ++#ifndef BF548_FAMILY ++#define bfin_gpio_set_value(gpio, value) set_gpio_data(gpio, value) ++#endif ++ + #ifdef CONFIG_GPIOLIB + #include /* cansleep wrappers */ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/ipipe_base.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/ipipe_base.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/ipipe_base.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/ipipe_base.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,5 +1,5 @@ + /* -*- linux-c -*- +- * include/asm-blackfin/ipipe_base.h ++ * include/asm-blackfin/_baseipipe.h + * + * Copyright (C) 2007 Philippe Gerum. + * +@@ -27,9 +27,8 @@ + #define IPIPE_NR_XIRQS NR_IRQS + #define IPIPE_IRQ_ISHIFT 5 /* 2^5 for 32bits arch. */ + +-/* Blackfin-specific, per-cpu pipeline status */ +-#define IPIPE_SYNCDEFER_FLAG 15 +-#define IPIPE_SYNCDEFER_MASK (1L << IPIPE_SYNCDEFER_MASK) ++/* Blackfin-specific, global domain flags */ ++#define IPIPE_ROOTLOCK_FLAG 1 /* Lock pipeline for root */ + + /* Blackfin traps -- i.e. exception vector numbers */ + #define IPIPE_NR_FAULTS 52 /* We leave a gap after VEC_ILL_RES. */ +@@ -49,6 +48,11 @@ + + #ifndef __ASSEMBLY__ + ++#include ++ ++extern int test_bit(int nr, const void *addr); ++ ++ + extern unsigned long __ipipe_root_status; /* Alias to ipipe_root_cpudom_var(status) */ + + static inline void __ipipe_stall_root(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/ipipe.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/ipipe.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/ipipe.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/ipipe.h 2009-05-10 23:48:28.000000000 +0200 +@@ -35,9 +35,9 @@ + #include + #include + +-#define IPIPE_ARCH_STRING "1.9-00" ++#define IPIPE_ARCH_STRING "1.8-00" + #define IPIPE_MAJOR_NUMBER 1 +-#define IPIPE_MINOR_NUMBER 9 ++#define IPIPE_MINOR_NUMBER 8 + #define IPIPE_PATCH_NUMBER 0 + + #ifdef CONFIG_SMP +@@ -83,9 +83,9 @@ + "%2 = CYCLES2\n" \ + "CC = %2 == %0\n" \ + "if ! CC jump 1b\n" \ +- : "=d,a" (((unsigned long *)&t)[1]), \ +- "=d,a" (((unsigned long *)&t)[0]), \ +- "=d,a" (__cy2) \ ++ : "=r" (((unsigned long *)&t)[1]), \ ++ "=r" (((unsigned long *)&t)[0]), \ ++ "=r" (__cy2) \ + : /*no input*/ : "CC"); \ + t; \ + }) +@@ -118,40 +118,35 @@ + + #define __ipipe_disable_irq(irq) (irq_desc[irq].chip->mask(irq)) + +-static inline int __ipipe_check_tickdev(const char *devname) +-{ +- return 1; +-} ++#define __ipipe_lock_root() \ ++ set_bit(IPIPE_ROOTLOCK_FLAG, &ipipe_root_domain->flags) + +-static inline void __ipipe_lock_root(void) +-{ +- set_bit(IPIPE_SYNCDEFER_FLAG, &ipipe_root_cpudom_var(status)); +-} +- +-static inline void __ipipe_unlock_root(void) +-{ +- clear_bit(IPIPE_SYNCDEFER_FLAG, &ipipe_root_cpudom_var(status)); +-} ++#define __ipipe_unlock_root() \ ++ clear_bit(IPIPE_ROOTLOCK_FLAG, &ipipe_root_domain->flags) + + void __ipipe_enable_pipeline(void); + + #define __ipipe_hook_critical_ipi(ipd) do { } while (0) + +-#define __ipipe_sync_pipeline ___ipipe_sync_pipeline +-void ___ipipe_sync_pipeline(unsigned long syncmask); ++#define __ipipe_sync_pipeline(syncmask) \ ++ do { \ ++ struct ipipe_domain *ipd = ipipe_current_domain; \ ++ if (likely(ipd != ipipe_root_domain || !test_bit(IPIPE_ROOTLOCK_FLAG, &ipd->flags))) \ ++ __ipipe_sync_stage(syncmask); \ ++ } while (0) + + void __ipipe_handle_irq(unsigned irq, struct pt_regs *regs); + + int __ipipe_get_irq_priority(unsigned irq); + ++int __ipipe_get_irqthread_priority(unsigned irq); ++ + void __ipipe_stall_root_raw(void); + + void __ipipe_unstall_root_raw(void); + + void __ipipe_serial_debug(const char *fmt, ...); + +-asmlinkage void __ipipe_call_irqtail(unsigned long addr); +- + DECLARE_PER_CPU(struct pt_regs, __ipipe_tick_regs); + + extern unsigned long __ipipe_core_clock; +@@ -167,25 +162,42 @@ + + #define __ipipe_run_irqtail() /* Must be a macro */ \ + do { \ ++ asmlinkage void __ipipe_call_irqtail(void); \ + unsigned long __pending; \ +- CSYNC(); \ ++ CSYNC(); \ + __pending = bfin_read_IPEND(); \ + if (__pending & 0x8000) { \ + __pending &= ~0x8010; \ + if (__pending && (__pending & (__pending - 1)) == 0) \ +- __ipipe_call_irqtail(__ipipe_irq_tail_hook); \ ++ __ipipe_call_irqtail(); \ + } \ + } while (0) + + #define __ipipe_run_isr(ipd, irq) \ + do { \ + if (ipd == ipipe_root_domain) { \ +- local_irq_enable_hw(); \ +- if (ipipe_virtual_irq_p(irq)) \ ++ /* \ ++ * Note: the I-pipe implements a threaded interrupt model on \ ++ * this arch for Linux external IRQs. The interrupt handler we \ ++ * call here only wakes up the associated IRQ thread. \ ++ */ \ ++ if (ipipe_virtual_irq_p(irq)) { \ ++ /* No irqtail here; virtual interrupts have no effect \ ++ on IPEND so there is no need for processing \ ++ deferral. */ \ ++ local_irq_enable_nohead(ipd); \ + ipd->irqs[irq].handler(irq, ipd->irqs[irq].cookie); \ +- else \ ++ local_irq_disable_nohead(ipd); \ ++ } else \ ++ /* \ ++ * No need to run the irqtail here either; \ ++ * we can't be preempted by hw IRQs, so \ ++ * non-Linux IRQs cannot stack over the short \ ++ * thread wakeup code. Which in turn means \ ++ * that no irqtail condition could be pending \ ++ * for domains above Linux in the pipeline. \ ++ */ \ + ipd->irqs[irq].handler(irq, &__raw_get_cpu_var(__ipipe_tick_regs)); \ +- local_irq_disable_hw(); \ + } else { \ + __clear_bit(IPIPE_SYNC_FLAG, &ipipe_cpudom_var(ipd, status)); \ + local_irq_enable_nohead(ipd); \ +@@ -205,24 +217,42 @@ + + int ipipe_start_irq_thread(unsigned irq, struct irq_desc *desc); + +-#ifdef CONFIG_GENERIC_CLOCKEVENTS +-#define IRQ_SYSTMR IRQ_CORETMR +-#define IRQ_PRIOTMR IRQ_CORETMR +-#else ++#define IS_SYSIRQ(irq) ((irq) > IRQ_CORETMR && (irq) <= SYS_IRQS) ++#define IS_GPIOIRQ(irq) ((irq) >= GPIO_IRQ_BASE && (irq) < NR_IRQS) ++ + #define IRQ_SYSTMR IRQ_TIMER0 + #define IRQ_PRIOTMR CONFIG_IRQ_TIMER0 +-#endif + +-#ifdef CONFIG_BF561 ++#if defined(CONFIG_BF531) || defined(CONFIG_BF532) || defined(CONFIG_BF533) ++#define PRIO_GPIODEMUX(irq) CONFIG_PFA ++#elif defined(CONFIG_BF534) || defined(CONFIG_BF536) || defined(CONFIG_BF537) ++#define PRIO_GPIODEMUX(irq) CONFIG_IRQ_PROG_INTA ++#elif defined(CONFIG_BF52x) ++#define PRIO_GPIODEMUX(irq) ((irq) == IRQ_PORTF_INTA ? CONFIG_IRQ_PORTF_INTA : \ ++ (irq) == IRQ_PORTG_INTA ? CONFIG_IRQ_PORTG_INTA : \ ++ (irq) == IRQ_PORTH_INTA ? CONFIG_IRQ_PORTH_INTA : \ ++ -1) ++#elif defined(CONFIG_BF561) ++#define PRIO_GPIODEMUX(irq) ((irq) == IRQ_PROG0_INTA ? CONFIG_IRQ_PROG0_INTA : \ ++ (irq) == IRQ_PROG1_INTA ? CONFIG_IRQ_PROG1_INTA : \ ++ (irq) == IRQ_PROG2_INTA ? CONFIG_IRQ_PROG2_INTA : \ ++ -1) + #define bfin_write_TIMER_DISABLE(val) bfin_write_TMRS8_DISABLE(val) + #define bfin_write_TIMER_ENABLE(val) bfin_write_TMRS8_ENABLE(val) + #define bfin_write_TIMER_STATUS(val) bfin_write_TMRS8_STATUS(val) + #define bfin_read_TIMER_STATUS() bfin_read_TMRS8_STATUS() + #elif defined(CONFIG_BF54x) ++#define PRIO_GPIODEMUX(irq) ((irq) == IRQ_PINT0 ? CONFIG_IRQ_PINT0 : \ ++ (irq) == IRQ_PINT1 ? CONFIG_IRQ_PINT1 : \ ++ (irq) == IRQ_PINT2 ? CONFIG_IRQ_PINT2 : \ ++ (irq) == IRQ_PINT3 ? CONFIG_IRQ_PINT3 : \ ++ -1) + #define bfin_write_TIMER_DISABLE(val) bfin_write_TIMER_DISABLE0(val) + #define bfin_write_TIMER_ENABLE(val) bfin_write_TIMER_ENABLE0(val) + #define bfin_write_TIMER_STATUS(val) bfin_write_TIMER_STATUS0(val) + #define bfin_read_TIMER_STATUS(val) bfin_read_TIMER_STATUS0(val) ++#else ++# error "no PRIO_GPIODEMUX() for this part" + #endif + + #define __ipipe_root_tick_p(regs) ((regs->ipend & 0x10) != 0) +@@ -245,6 +275,4 @@ + + #endif /* !CONFIG_IPIPE */ + +-#define ipipe_update_tick_evtdev(evtdev) do { } while (0) +- + #endif /* !__ASM_BLACKFIN_IPIPE_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/irq.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/irq.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/irq.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/irq.h 2009-05-10 23:48:28.000000000 +0200 +@@ -61,38 +61,20 @@ + #define raw_irqs_disabled_flags(flags) (!irqs_enabled_from_flags_hw(flags)) + #define local_test_iflag_hw(x) irqs_enabled_from_flags_hw(x) + +-#define local_save_flags(x) \ +- do { \ +- (x) = __ipipe_test_root() ? \ +- __all_masked_irq_flags : bfin_irq_flags; \ +- barrier(); \ +- } while (0) +- +-#define local_irq_save(x) \ +- do { \ +- (x) = __ipipe_test_and_stall_root() ? \ ++#define local_save_flags(x) \ ++ do { \ ++ (x) = __ipipe_test_root() ? \ + __all_masked_irq_flags : bfin_irq_flags; \ +- barrier(); \ + } while (0) + +-static inline void local_irq_restore(unsigned long x) +-{ +- barrier(); +- __ipipe_restore_root(x == __all_masked_irq_flags); +-} +- +-#define local_irq_disable() \ +- do { \ +- __ipipe_stall_root(); \ +- barrier(); \ ++#define local_irq_save(x) \ ++ do { \ ++ (x) = __ipipe_test_and_stall_root(); \ + } while (0) + +-static inline void local_irq_enable(void) +-{ +- barrier(); +- __ipipe_unstall_root(); +-} +- ++#define local_irq_restore(x) __ipipe_restore_root(x) ++#define local_irq_disable() __ipipe_stall_root() ++#define local_irq_enable() __ipipe_unstall_root() + #define irqs_disabled() __ipipe_test_root() + + #define local_save_flags_hw(x) \ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/Kbuild linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/Kbuild +--- linux-2.6.29.owrt/arch/blackfin/include/asm/Kbuild 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/Kbuild 2009-05-10 23:48:28.000000000 +0200 +@@ -1,4 +1,3 @@ + include include/asm-generic/Kbuild.asm + +-unifdef-y += bfin_sport.h + unifdef-y += fixed_code.h +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/kgdb.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/kgdb.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/kgdb.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/kgdb.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,8 +1,32 @@ +-/* Blackfin KGDB header ++/* ++ * File: include/asm-blackfin/kgdb.h ++ * Based on: ++ * Author: Sonic Zhang ++ * ++ * Created: ++ * Description: ++ * ++ * Rev: $Id: kgdb_bfin_linux-2.6.x.patch 4934 2007-02-13 09:32:11Z sonicz $ ++ * ++ * Modified: ++ * Copyright 2005-2006 Analog Devices Inc. ++ * ++ * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright 2005-2009 Analog Devices Inc. ++ * 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. + * +- * Licensed under the GPL-2 or later. ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see the file COPYING, or write ++ * to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + + #ifndef __ASM_BLACKFIN_KGDB_H__ +@@ -13,18 +37,17 @@ + /* gdb locks */ + #define KGDB_MAX_NO_CPUS 8 + +-/* +- * BUFMAX defines the maximum number of characters in inbound/outbound buffers. +- * At least NUMREGBYTES*2 are needed for register packets. +- * Longer buffer is needed to list all threads. +- */ ++/************************************************************************/ ++/* BUFMAX defines the maximum number of characters in inbound/outbound buffers*/ ++/* at least NUMREGBYTES*2 are needed for register packets */ ++/* Longer buffer is needed to list all threads */ + #define BUFMAX 2048 + + /* +- * Note that this register image is different from +- * the register image that Linux produces at interrupt time. +- * +- * Linux's register image is defined by struct pt_regs in ptrace.h. ++ * Note that this register image is different from ++ * the register image that Linux produces at interrupt time. ++ * ++ * Linux's register image is defined by struct pt_regs in ptrace.h. + */ + enum regnames { + /* Core Registers */ +@@ -81,14 +104,14 @@ + BFIN_RETX, + BFIN_RETN, + BFIN_RETE, +- ++ + /* Pseudo Registers */ + BFIN_PC, + BFIN_CC, + BFIN_EXTRA1, /* Address of .text section. */ + BFIN_EXTRA2, /* Address of .data section. */ + BFIN_EXTRA3, /* Address of .bss section. */ +- BFIN_FDPIC_EXEC, ++ BFIN_FDPIC_EXEC, + BFIN_FDPIC_INTERP, + + /* MMRs */ +@@ -103,7 +126,7 @@ + + static inline void arch_kgdb_breakpoint(void) + { +- asm("EXCPT 2;"); ++ asm(" EXCPT 2;"); + } + #define BREAK_INSTR_SIZE 2 + #define CACHE_FLUSH_IS_SAFE 1 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/mem_init.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/mem_init.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/mem_init.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/mem_init.h 2009-05-10 23:48:28.000000000 +0200 +@@ -115,7 +115,7 @@ + #define mem_SDRRC (((CONFIG_SCLK_HZ / 1000) * SDRAM_Tref) / SDRAM_NRA) - (SDRAM_tRAS_num + SDRAM_tRP_num) + + /* Enable SCLK Out */ +-#define mem_SDGCTL (SCTLE | SDRAM_CL | SDRAM_tRAS | SDRAM_tRP | SDRAM_tRCD | SDRAM_tWR | PSS) ++#define mem_SDGCTL (0x80000000 | SCTLE | SDRAM_CL | SDRAM_tRAS | SDRAM_tRP | SDRAM_tRCD | SDRAM_tWR | PSS) + #else + #define mem_SDRRC CONFIG_MEM_SDRRC + #define mem_SDGCTL CONFIG_MEM_SDGCTL +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/pda.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/pda.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/pda.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/pda.h 2009-05-10 23:48:28.000000000 +0200 +@@ -59,7 +59,6 @@ + unsigned long icplb_fault_addr; + unsigned long retx; + unsigned long seqstat; +- unsigned int __nmi_count; /* number of times NMI asserted on this CPU */ + }; + + extern struct blackfin_pda cpu_pda[]; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/reboot.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/reboot.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/reboot.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/reboot.h 2009-05-10 23:48:28.000000000 +0200 +@@ -15,6 +15,6 @@ + extern void native_machine_power_off(void); + + /* common reboot workarounds */ +-extern void bfin_reset_boot_spi_cs(unsigned short pin); ++extern void bfin_gpio_reset_spi0_ssel1(void); + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/include/asm/thread_info.h linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/thread_info.h +--- linux-2.6.29.owrt/arch/blackfin/include/asm/thread_info.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/include/asm/thread_info.h 2009-05-10 23:48:28.000000000 +0200 +@@ -122,7 +122,6 @@ + #define TIF_MEMDIE 4 + #define TIF_RESTORE_SIGMASK 5 /* restore signal mask in do_signal() */ + #define TIF_FREEZE 6 /* is freezing for suspend */ +-#define TIF_IRQ_SYNC 7 /* sync pipeline stage */ + + /* as above, but as bit values */ + #define _TIF_SYSCALL_TRACE (1< + #include + #include +@@ -66,61 +119,62 @@ + #define AWA_DUMMY_READ(...) do { } while (0) + #endif + +-static struct gpio_port_t * const gpio_array[] = { + #if defined(BF533_FAMILY) || defined(BF538_FAMILY) ++static struct gpio_port_t *gpio_bankb[] = { + (struct gpio_port_t *) FIO_FLAG_D, +-#elif defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) ++}; ++#endif ++ ++#if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) ++static struct gpio_port_t *gpio_bankb[] = { + (struct gpio_port_t *) PORTFIO, + (struct gpio_port_t *) PORTGIO, + (struct gpio_port_t *) PORTHIO, +-#elif defined(BF561_FAMILY) +- (struct gpio_port_t *) FIO0_FLAG_D, +- (struct gpio_port_t *) FIO1_FLAG_D, +- (struct gpio_port_t *) FIO2_FLAG_D, +-#elif defined(BF548_FAMILY) +- (struct gpio_port_t *)PORTA_FER, +- (struct gpio_port_t *)PORTB_FER, +- (struct gpio_port_t *)PORTC_FER, +- (struct gpio_port_t *)PORTD_FER, +- (struct gpio_port_t *)PORTE_FER, +- (struct gpio_port_t *)PORTF_FER, +- (struct gpio_port_t *)PORTG_FER, +- (struct gpio_port_t *)PORTH_FER, +- (struct gpio_port_t *)PORTI_FER, +- (struct gpio_port_t *)PORTJ_FER, +-#else +-# error no gpio arrays defined +-#endif + }; + +-#if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) +-static unsigned short * const port_fer[] = { ++static unsigned short *port_fer[] = { + (unsigned short *) PORTF_FER, + (unsigned short *) PORTG_FER, + (unsigned short *) PORTH_FER, + }; ++#endif + +-# if !defined(BF537_FAMILY) +-static unsigned short * const port_mux[] = { ++#if defined(BF527_FAMILY) || defined(BF518_FAMILY) ++static unsigned short *port_mux[] = { + (unsigned short *) PORTF_MUX, + (unsigned short *) PORTG_MUX, + (unsigned short *) PORTH_MUX, + }; + + static const +-u8 pmux_offset[][16] = { +-# if defined(BF527_FAMILY) +- { 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 6, 8, 8, 10, 10 }, /* PORTF */ +- { 0, 0, 0, 0, 0, 2, 2, 4, 4, 6, 8, 10, 10, 10, 12, 12 }, /* PORTG */ +- { 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 4, 4, 4, 4, 4 }, /* PORTH */ +-# elif defined(BF518_FAMILY) +- { 0, 2, 2, 2, 2, 2, 2, 4, 6, 6, 6, 8, 8, 8, 8, 10 }, /* PORTF */ +- { 0, 0, 0, 2, 4, 6, 6, 6, 8, 10, 10, 12, 14, 14, 14, 14 }, /* PORTG */ +- { 0, 0, 0, 0, 2, 2, 4, 6, 10, 10, 10, 10, 10, 10, 10, 10 }, /* PORTH */ +-# endif ++u8 pmux_offset[][16] = ++ {{ 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 6, 8, 8, 10, 10 }, /* PORTF */ ++ { 0, 0, 0, 0, 0, 2, 2, 4, 4, 6, 8, 10, 10, 10, 12, 12 }, /* PORTG */ ++ { 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 4, 4, 4, 4, 4 }, /* PORTH */ ++ }; ++#endif ++ ++#ifdef BF561_FAMILY ++static struct gpio_port_t *gpio_bankb[] = { ++ (struct gpio_port_t *) FIO0_FLAG_D, ++ (struct gpio_port_t *) FIO1_FLAG_D, ++ (struct gpio_port_t *) FIO2_FLAG_D, + }; +-# endif ++#endif + ++#ifdef BF548_FAMILY ++static struct gpio_port_t *gpio_array[] = { ++ (struct gpio_port_t *)PORTA_FER, ++ (struct gpio_port_t *)PORTB_FER, ++ (struct gpio_port_t *)PORTC_FER, ++ (struct gpio_port_t *)PORTD_FER, ++ (struct gpio_port_t *)PORTE_FER, ++ (struct gpio_port_t *)PORTF_FER, ++ (struct gpio_port_t *)PORTG_FER, ++ (struct gpio_port_t *)PORTH_FER, ++ (struct gpio_port_t *)PORTI_FER, ++ (struct gpio_port_t *)PORTJ_FER, ++}; + #endif + + static unsigned short reserved_gpio_map[GPIO_BANK_NUM]; +@@ -134,9 +188,35 @@ + } str_ident[MAX_RESOURCES]; + + #if defined(CONFIG_PM) ++#if defined(CONFIG_BF54x) ++static struct gpio_port_s gpio_bank_saved[GPIO_BANK_NUM]; ++#else ++static unsigned short wakeup_map[GPIO_BANK_NUM]; ++static unsigned char wakeup_flags_map[MAX_BLACKFIN_GPIOS]; + static struct gpio_port_s gpio_bank_saved[GPIO_BANK_NUM]; ++ ++#ifdef BF533_FAMILY ++static unsigned int sic_iwr_irqs[] = {IRQ_PROG_INTB}; ++#endif ++ ++#ifdef BF537_FAMILY ++static unsigned int sic_iwr_irqs[] = {IRQ_PROG_INTB, IRQ_PORTG_INTB, IRQ_MAC_TX}; ++#endif ++ ++#ifdef BF538_FAMILY ++static unsigned int sic_iwr_irqs[] = {IRQ_PORTF_INTB}; + #endif + ++#if defined(BF527_FAMILY) || defined(BF518_FAMILY) ++static unsigned int sic_iwr_irqs[] = {IRQ_PORTF_INTB, IRQ_PORTG_INTB, IRQ_PORTH_INTB}; ++#endif ++ ++#ifdef BF561_FAMILY ++static unsigned int sic_iwr_irqs[] = {IRQ_PROG0_INTB, IRQ_PROG1_INTB, IRQ_PROG2_INTB}; ++#endif ++#endif ++#endif /* CONFIG_PM */ ++ + inline int check_gpio(unsigned gpio) + { + #if defined(BF548_FAMILY) +@@ -250,10 +330,9 @@ + {.res = P_SPI0_SSEL3, .offset = 0}, + }; + +-static void portmux_setup(unsigned short per) ++static void portmux_setup(unsigned short per, unsigned short function) + { + u16 y, offset, muxreg; +- u16 function = P_FUNCT2MUX(per); + + for (y = 0; y < ARRAY_SIZE(port_mux_lut); y++) { + if (port_mux_lut[y].res == per) { +@@ -274,33 +353,30 @@ + } + } + #elif defined(BF548_FAMILY) +-inline void portmux_setup(unsigned short per) ++inline void portmux_setup(unsigned short portno, unsigned short function) + { + u32 pmux; +- u16 ident = P_IDENT(per); +- u16 function = P_FUNCT2MUX(per); + +- pmux = gpio_array[gpio_bank(ident)]->port_mux; ++ pmux = gpio_array[gpio_bank(portno)]->port_mux; + +- pmux &= ~(0x3 << (2 * gpio_sub_n(ident))); +- pmux |= (function & 0x3) << (2 * gpio_sub_n(ident)); ++ pmux &= ~(0x3 << (2 * gpio_sub_n(portno))); ++ pmux |= (function & 0x3) << (2 * gpio_sub_n(portno)); + +- gpio_array[gpio_bank(ident)]->port_mux = pmux; ++ gpio_array[gpio_bank(portno)]->port_mux = pmux; + } + +-inline u16 get_portmux(unsigned short per) ++inline u16 get_portmux(unsigned short portno) + { + u32 pmux; +- u16 ident = P_IDENT(per); + +- pmux = gpio_array[gpio_bank(ident)]->port_mux; ++ pmux = gpio_array[gpio_bank(portno)]->port_mux; + +- return (pmux >> (2 * gpio_sub_n(ident)) & 0x3); ++ return (pmux >> (2 * gpio_sub_n(portno)) & 0x3); + } + #elif defined(BF527_FAMILY) || defined(BF518_FAMILY) +-inline void portmux_setup(unsigned short per) ++inline void portmux_setup(unsigned short portno, unsigned short function) + { +- u16 pmux, ident = P_IDENT(per), function = P_FUNCT2MUX(per); ++ u16 pmux, ident = P_IDENT(portno); + u8 offset = pmux_offset[gpio_bank(ident)][gpio_sub_n(ident)]; + + pmux = *port_mux[gpio_bank(ident)]; +@@ -348,71 +424,90 @@ + unsigned long flags; \ + local_irq_save_hw(flags); \ + if (arg) \ +- gpio_array[gpio_bank(gpio)]->name |= gpio_bit(gpio); \ ++ gpio_bankb[gpio_bank(gpio)]->name |= gpio_bit(gpio); \ + else \ +- gpio_array[gpio_bank(gpio)]->name &= ~gpio_bit(gpio); \ ++ gpio_bankb[gpio_bank(gpio)]->name &= ~gpio_bit(gpio); \ + AWA_DUMMY_READ(name); \ + local_irq_restore_hw(flags); \ + } \ + EXPORT_SYMBOL(set_gpio_ ## name); + +-SET_GPIO(dir) /* set_gpio_dir() */ +-SET_GPIO(inen) /* set_gpio_inen() */ +-SET_GPIO(polar) /* set_gpio_polar() */ +-SET_GPIO(edge) /* set_gpio_edge() */ +-SET_GPIO(both) /* set_gpio_both() */ ++SET_GPIO(dir) ++SET_GPIO(inen) ++SET_GPIO(polar) ++SET_GPIO(edge) ++SET_GPIO(both) + + ++#if ANOMALY_05000311 || ANOMALY_05000323 + #define SET_GPIO_SC(name) \ + void set_gpio_ ## name(unsigned gpio, unsigned short arg) \ + { \ + unsigned long flags; \ +- if (ANOMALY_05000311 || ANOMALY_05000323) \ +- local_irq_save_hw(flags); \ ++ local_irq_save_hw(flags); \ + if (arg) \ +- gpio_array[gpio_bank(gpio)]->name ## _set = gpio_bit(gpio); \ ++ gpio_bankb[gpio_bank(gpio)]->name ## _set = gpio_bit(gpio); \ + else \ +- gpio_array[gpio_bank(gpio)]->name ## _clear = gpio_bit(gpio); \ +- if (ANOMALY_05000311 || ANOMALY_05000323) { \ +- AWA_DUMMY_READ(name); \ +- local_irq_restore_hw(flags); \ +- } \ ++ gpio_bankb[gpio_bank(gpio)]->name ## _clear = gpio_bit(gpio); \ ++ AWA_DUMMY_READ(name); \ ++ local_irq_restore_hw(flags); \ + } \ + EXPORT_SYMBOL(set_gpio_ ## name); ++#else ++#define SET_GPIO_SC(name) \ ++void set_gpio_ ## name(unsigned gpio, unsigned short arg) \ ++{ \ ++ if (arg) \ ++ gpio_bankb[gpio_bank(gpio)]->name ## _set = gpio_bit(gpio); \ ++ else \ ++ gpio_bankb[gpio_bank(gpio)]->name ## _clear = gpio_bit(gpio); \ ++} \ ++EXPORT_SYMBOL(set_gpio_ ## name); ++#endif + + SET_GPIO_SC(maska) + SET_GPIO_SC(maskb) + SET_GPIO_SC(data) + ++#if ANOMALY_05000311 || ANOMALY_05000323 + void set_gpio_toggle(unsigned gpio) + { + unsigned long flags; +- if (ANOMALY_05000311 || ANOMALY_05000323) +- local_irq_save_hw(flags); +- gpio_array[gpio_bank(gpio)]->toggle = gpio_bit(gpio); +- if (ANOMALY_05000311 || ANOMALY_05000323) { +- AWA_DUMMY_READ(toggle); +- local_irq_restore_hw(flags); +- } ++ local_irq_save_hw(flags); ++ gpio_bankb[gpio_bank(gpio)]->toggle = gpio_bit(gpio); ++ AWA_DUMMY_READ(toggle); ++ local_irq_restore_hw(flags); ++} ++#else ++void set_gpio_toggle(unsigned gpio) ++{ ++ gpio_bankb[gpio_bank(gpio)]->toggle = gpio_bit(gpio); + } ++#endif + EXPORT_SYMBOL(set_gpio_toggle); + + + /*Set current PORT date (16-bit word)*/ + ++#if ANOMALY_05000311 || ANOMALY_05000323 + #define SET_GPIO_P(name) \ + void set_gpiop_ ## name(unsigned gpio, unsigned short arg) \ + { \ + unsigned long flags; \ +- if (ANOMALY_05000311 || ANOMALY_05000323) \ +- local_irq_save_hw(flags); \ +- gpio_array[gpio_bank(gpio)]->name = arg; \ +- if (ANOMALY_05000311 || ANOMALY_05000323) { \ +- AWA_DUMMY_READ(name); \ +- local_irq_restore_hw(flags); \ +- } \ ++ local_irq_save_hw(flags); \ ++ gpio_bankb[gpio_bank(gpio)]->name = arg; \ ++ AWA_DUMMY_READ(name); \ ++ local_irq_restore_hw(flags); \ ++} \ ++EXPORT_SYMBOL(set_gpiop_ ## name); ++#else ++#define SET_GPIO_P(name) \ ++void set_gpiop_ ## name(unsigned gpio, unsigned short arg) \ ++{ \ ++ gpio_bankb[gpio_bank(gpio)]->name = arg; \ + } \ + EXPORT_SYMBOL(set_gpiop_ ## name); ++#endif + + SET_GPIO_P(data) + SET_GPIO_P(dir) +@@ -424,21 +519,27 @@ + SET_GPIO_P(maskb) + + /* Get a specific bit */ ++#if ANOMALY_05000311 || ANOMALY_05000323 + #define GET_GPIO(name) \ + unsigned short get_gpio_ ## name(unsigned gpio) \ + { \ + unsigned long flags; \ + unsigned short ret; \ +- if (ANOMALY_05000311 || ANOMALY_05000323) \ +- local_irq_save_hw(flags); \ +- ret = 0x01 & (gpio_array[gpio_bank(gpio)]->name >> gpio_sub_n(gpio)); \ +- if (ANOMALY_05000311 || ANOMALY_05000323) { \ +- AWA_DUMMY_READ(name); \ +- local_irq_restore_hw(flags); \ +- } \ ++ local_irq_save_hw(flags); \ ++ ret = 0x01 & (gpio_bankb[gpio_bank(gpio)]->name >> gpio_sub_n(gpio)); \ ++ AWA_DUMMY_READ(name); \ ++ local_irq_restore_hw(flags); \ + return ret; \ + } \ + EXPORT_SYMBOL(get_gpio_ ## name); ++#else ++#define GET_GPIO(name) \ ++unsigned short get_gpio_ ## name(unsigned gpio) \ ++{ \ ++ return (0x01 & (gpio_bankb[gpio_bank(gpio)]->name >> gpio_sub_n(gpio))); \ ++} \ ++EXPORT_SYMBOL(get_gpio_ ## name); ++#endif + + GET_GPIO(data) + GET_GPIO(dir) +@@ -451,21 +552,27 @@ + + /*Get current PORT date (16-bit word)*/ + ++#if ANOMALY_05000311 || ANOMALY_05000323 + #define GET_GPIO_P(name) \ + unsigned short get_gpiop_ ## name(unsigned gpio) \ + { \ + unsigned long flags; \ + unsigned short ret; \ +- if (ANOMALY_05000311 || ANOMALY_05000323) \ +- local_irq_save_hw(flags); \ +- ret = (gpio_array[gpio_bank(gpio)]->name); \ +- if (ANOMALY_05000311 || ANOMALY_05000323) { \ +- AWA_DUMMY_READ(name); \ +- local_irq_restore_hw(flags); \ +- } \ ++ local_irq_save_hw(flags); \ ++ ret = (gpio_bankb[gpio_bank(gpio)]->name); \ ++ AWA_DUMMY_READ(name); \ ++ local_irq_restore_hw(flags); \ + return ret; \ + } \ + EXPORT_SYMBOL(get_gpiop_ ## name); ++#else ++#define GET_GPIO_P(name) \ ++unsigned short get_gpiop_ ## name(unsigned gpio) \ ++{ \ ++ return (gpio_bankb[gpio_bank(gpio)]->name);\ ++} \ ++EXPORT_SYMBOL(get_gpiop_ ## name); ++#endif + + GET_GPIO_P(data) + GET_GPIO_P(dir) +@@ -478,26 +585,6 @@ + + + #ifdef CONFIG_PM +- +-static unsigned short wakeup_map[GPIO_BANK_NUM]; +-static unsigned char wakeup_flags_map[MAX_BLACKFIN_GPIOS]; +- +-static const unsigned int sic_iwr_irqs[] = { +-#if defined(BF533_FAMILY) +- IRQ_PROG_INTB +-#elif defined(BF537_FAMILY) +- IRQ_PROG_INTB, IRQ_PORTG_INTB, IRQ_MAC_TX +-#elif defined(BF538_FAMILY) +- IRQ_PORTF_INTB +-#elif defined(BF527_FAMILY) || defined(BF518_FAMILY) +- IRQ_PORTF_INTB, IRQ_PORTG_INTB, IRQ_PORTH_INTB +-#elif defined(BF561_FAMILY) +- IRQ_PROG0_INTB, IRQ_PROG1_INTB, IRQ_PROG2_INTB +-#else +-# error no SIC_IWR defined +-#endif +-}; +- + /*********************************************************** + * + * FUNCTIONS: Blackfin PM Setup API +@@ -582,18 +669,18 @@ + mask = wakeup_map[gpio_bank(i)]; + bank = gpio_bank(i); + +- gpio_bank_saved[bank].maskb = gpio_array[bank]->maskb; +- gpio_array[bank]->maskb = 0; ++ gpio_bank_saved[bank].maskb = gpio_bankb[bank]->maskb; ++ gpio_bankb[bank]->maskb = 0; + + if (mask) { + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) + gpio_bank_saved[bank].fer = *port_fer[bank]; + #endif +- gpio_bank_saved[bank].inen = gpio_array[bank]->inen; +- gpio_bank_saved[bank].polar = gpio_array[bank]->polar; +- gpio_bank_saved[bank].dir = gpio_array[bank]->dir; +- gpio_bank_saved[bank].edge = gpio_array[bank]->edge; +- gpio_bank_saved[bank].both = gpio_array[bank]->both; ++ gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; ++ gpio_bank_saved[bank].polar = gpio_bankb[bank]->polar; ++ gpio_bank_saved[bank].dir = gpio_bankb[bank]->dir; ++ gpio_bank_saved[bank].edge = gpio_bankb[bank]->edge; ++ gpio_bank_saved[bank].both = gpio_bankb[bank]->both; + gpio_bank_saved[bank].reserved = + reserved_gpio_map[bank]; + +@@ -613,7 +700,7 @@ + } + + bfin_internal_set_wake(sic_iwr_irqs[bank], 1); +- gpio_array[bank]->maskb_set = wakeup_map[gpio_bank(i)]; ++ gpio_bankb[bank]->maskb_set = wakeup_map[gpio_bank(i)]; + } + } + +@@ -634,18 +721,18 @@ + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) + *port_fer[bank] = gpio_bank_saved[bank].fer; + #endif +- gpio_array[bank]->inen = gpio_bank_saved[bank].inen; +- gpio_array[bank]->dir = gpio_bank_saved[bank].dir; +- gpio_array[bank]->polar = gpio_bank_saved[bank].polar; +- gpio_array[bank]->edge = gpio_bank_saved[bank].edge; +- gpio_array[bank]->both = gpio_bank_saved[bank].both; ++ gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; ++ gpio_bankb[bank]->dir = gpio_bank_saved[bank].dir; ++ gpio_bankb[bank]->polar = gpio_bank_saved[bank].polar; ++ gpio_bankb[bank]->edge = gpio_bank_saved[bank].edge; ++ gpio_bankb[bank]->both = gpio_bank_saved[bank].both; + + reserved_gpio_map[bank] = + gpio_bank_saved[bank].reserved; + bfin_internal_set_wake(sic_iwr_irqs[bank], 0); + } + +- gpio_array[bank]->maskb = gpio_bank_saved[bank].maskb; ++ gpio_bankb[bank]->maskb = gpio_bank_saved[bank].maskb; + } + AWA_DUMMY_READ(maskb); + } +@@ -658,21 +745,21 @@ + bank = gpio_bank(i); + + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) +- gpio_bank_saved[bank].fer = *port_fer[bank]; ++ gpio_bank_saved[bank].fer = *port_fer[bank]; + #if defined(BF527_FAMILY) || defined(BF518_FAMILY) +- gpio_bank_saved[bank].mux = *port_mux[bank]; ++ gpio_bank_saved[bank].mux = *port_mux[bank]; + #else +- if (bank == 0) +- gpio_bank_saved[bank].mux = bfin_read_PORT_MUX(); ++ if (bank == 0) ++ gpio_bank_saved[bank].mux = bfin_read_PORT_MUX(); + #endif + #endif +- gpio_bank_saved[bank].data = gpio_array[bank]->data; +- gpio_bank_saved[bank].inen = gpio_array[bank]->inen; +- gpio_bank_saved[bank].polar = gpio_array[bank]->polar; +- gpio_bank_saved[bank].dir = gpio_array[bank]->dir; +- gpio_bank_saved[bank].edge = gpio_array[bank]->edge; +- gpio_bank_saved[bank].both = gpio_array[bank]->both; +- gpio_bank_saved[bank].maska = gpio_array[bank]->maska; ++ gpio_bank_saved[bank].data = gpio_bankb[bank]->data; ++ gpio_bank_saved[bank].inen = gpio_bankb[bank]->inen; ++ gpio_bank_saved[bank].polar = gpio_bankb[bank]->polar; ++ gpio_bank_saved[bank].dir = gpio_bankb[bank]->dir; ++ gpio_bank_saved[bank].edge = gpio_bankb[bank]->edge; ++ gpio_bank_saved[bank].both = gpio_bankb[bank]->both; ++ gpio_bank_saved[bank].maska = gpio_bankb[bank]->maska; + } + + AWA_DUMMY_READ(maska); +@@ -683,27 +770,27 @@ + int i, bank; + + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { +- bank = gpio_bank(i); ++ bank = gpio_bank(i); + + #if defined(BF527_FAMILY) || defined(BF537_FAMILY) || defined(BF518_FAMILY) + #if defined(BF527_FAMILY) || defined(BF518_FAMILY) +- *port_mux[bank] = gpio_bank_saved[bank].mux; ++ *port_mux[bank] = gpio_bank_saved[bank].mux; + #else +- if (bank == 0) +- bfin_write_PORT_MUX(gpio_bank_saved[bank].mux); ++ if (bank == 0) ++ bfin_write_PORT_MUX(gpio_bank_saved[bank].mux); + #endif +- *port_fer[bank] = gpio_bank_saved[bank].fer; ++ *port_fer[bank] = gpio_bank_saved[bank].fer; + #endif +- gpio_array[bank]->inen = gpio_bank_saved[bank].inen; +- gpio_array[bank]->dir = gpio_bank_saved[bank].dir; +- gpio_array[bank]->polar = gpio_bank_saved[bank].polar; +- gpio_array[bank]->edge = gpio_bank_saved[bank].edge; +- gpio_array[bank]->both = gpio_bank_saved[bank].both; ++ gpio_bankb[bank]->inen = gpio_bank_saved[bank].inen; ++ gpio_bankb[bank]->dir = gpio_bank_saved[bank].dir; ++ gpio_bankb[bank]->polar = gpio_bank_saved[bank].polar; ++ gpio_bankb[bank]->edge = gpio_bank_saved[bank].edge; ++ gpio_bankb[bank]->both = gpio_bank_saved[bank].both; + +- gpio_array[bank]->data_set = gpio_bank_saved[bank].data +- | gpio_bank_saved[bank].dir; ++ gpio_bankb[bank]->data_set = gpio_bank_saved[bank].data ++ | gpio_bank_saved[bank].dir; + +- gpio_array[bank]->maska = gpio_bank_saved[bank].maska; ++ gpio_bankb[bank]->maska = gpio_bank_saved[bank].maska; + } + AWA_DUMMY_READ(maska); + } +@@ -730,12 +817,12 @@ + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { + bank = gpio_bank(i); + +- gpio_bank_saved[bank].fer = gpio_array[bank]->port_fer; +- gpio_bank_saved[bank].mux = gpio_array[bank]->port_mux; +- gpio_bank_saved[bank].data = gpio_array[bank]->data; +- gpio_bank_saved[bank].data = gpio_array[bank]->data; +- gpio_bank_saved[bank].inen = gpio_array[bank]->inen; +- gpio_bank_saved[bank].dir = gpio_array[bank]->dir_set; ++ gpio_bank_saved[bank].fer = gpio_array[bank]->port_fer; ++ gpio_bank_saved[bank].mux = gpio_array[bank]->port_mux; ++ gpio_bank_saved[bank].data = gpio_array[bank]->port_data; ++ gpio_bank_saved[bank].data = gpio_array[bank]->port_data; ++ gpio_bank_saved[bank].inen = gpio_array[bank]->port_inen; ++ gpio_bank_saved[bank].dir = gpio_array[bank]->port_dir_set; + } + } + +@@ -744,21 +831,21 @@ + int i, bank; + + for (i = 0; i < MAX_BLACKFIN_GPIOS; i += GPIO_BANKSIZE) { +- bank = gpio_bank(i); ++ bank = gpio_bank(i); + +- gpio_array[bank]->port_mux = gpio_bank_saved[bank].mux; +- gpio_array[bank]->port_fer = gpio_bank_saved[bank].fer; +- gpio_array[bank]->inen = gpio_bank_saved[bank].inen; +- gpio_array[bank]->dir_set = gpio_bank_saved[bank].dir; +- gpio_array[bank]->data_set = gpio_bank_saved[bank].data +- | gpio_bank_saved[bank].dir; ++ gpio_array[bank]->port_mux = gpio_bank_saved[bank].mux; ++ gpio_array[bank]->port_fer = gpio_bank_saved[bank].fer; ++ gpio_array[bank]->port_inen = gpio_bank_saved[bank].inen; ++ gpio_array[bank]->port_dir_set = gpio_bank_saved[bank].dir; ++ gpio_array[bank]->port_set = gpio_bank_saved[bank].data ++ | gpio_bank_saved[bank].dir; + } + } + #endif + + unsigned short get_gpio_dir(unsigned gpio) + { +- return (0x01 & (gpio_array[gpio_bank(gpio)]->dir_clear >> gpio_sub_n(gpio))); ++ return (0x01 & (gpio_array[gpio_bank(gpio)]->port_dir_clear >> gpio_sub_n(gpio))); + } + EXPORT_SYMBOL(get_gpio_dir); + +@@ -818,7 +905,9 @@ + */ + + #ifdef BF548_FAMILY +- if (!((per & P_MAYSHARE) && get_portmux(per) == P_FUNCT2MUX(per))) { ++ u16 funct = get_portmux(ident); ++ ++ if (!((per & P_MAYSHARE) && (funct == P_FUNCT2MUX(per)))) { + #else + if (!(per & P_MAYSHARE)) { + #endif +@@ -842,7 +931,11 @@ + anyway: + reserved_peri_map[gpio_bank(ident)] |= gpio_bit(ident); + +- portmux_setup(per); ++#ifdef BF548_FAMILY ++ portmux_setup(ident, P_FUNCT2MUX(per)); ++#else ++ portmux_setup(per, P_FUNCT2MUX(per)); ++#endif + port_setup(ident, PERIPHERAL_USAGE); + + local_irq_restore_hw(flags); +@@ -884,6 +977,9 @@ + if (!(per & P_DEFINED)) + return; + ++ if (check_gpio(ident) < 0) ++ return; ++ + local_irq_save_hw(flags); + + if (unlikely(!(reserved_peri_map[gpio_bank(ident)] & gpio_bit(ident)))) { +@@ -960,15 +1056,9 @@ + local_irq_restore_hw(flags); + return -EBUSY; + } +- if (unlikely(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio))) { ++ if (unlikely(reserved_gpio_irq_map[gpio_bank(gpio)] & gpio_bit(gpio))) + printk(KERN_NOTICE "bfin-gpio: GPIO %d is already reserved as gpio-irq!" + " (Documentation/blackfin/bfin-gpio-notes.txt)\n", gpio); +- } +-#ifndef BF548_FAMILY +- else { /* Reset POLAR setting when acquiring a gpio for the first time */ +- set_gpio_polar(gpio, 0); +- } +-#endif + + reserved_gpio_map[gpio_bank(gpio)] |= gpio_bit(gpio); + set_label(gpio, label); +@@ -988,8 +1078,6 @@ + if (check_gpio(gpio) < 0) + return; + +- might_sleep(); +- + local_irq_save_hw(flags); + + if (unlikely(!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio)))) { +@@ -1070,16 +1158,8 @@ + local_irq_restore_hw(flags); + } + +-static inline void __bfin_gpio_direction_input(unsigned gpio) +-{ +-#ifdef BF548_FAMILY +- gpio_array[gpio_bank(gpio)]->dir_clear = gpio_bit(gpio); +-#else +- gpio_array[gpio_bank(gpio)]->dir &= ~gpio_bit(gpio); +-#endif +- gpio_array[gpio_bank(gpio)]->inen |= gpio_bit(gpio); +-} + ++#ifdef BF548_FAMILY + int bfin_gpio_direction_input(unsigned gpio) + { + unsigned long flags; +@@ -1090,85 +1170,125 @@ + } + + local_irq_save_hw(flags); +- __bfin_gpio_direction_input(gpio); +- AWA_DUMMY_READ(inen); ++ gpio_array[gpio_bank(gpio)]->port_dir_clear = gpio_bit(gpio); ++ gpio_array[gpio_bank(gpio)]->port_inen |= gpio_bit(gpio); + local_irq_restore_hw(flags); + + return 0; + } + EXPORT_SYMBOL(bfin_gpio_direction_input); + +-void bfin_gpio_irq_prepare(unsigned gpio) ++int bfin_gpio_direction_output(unsigned gpio, int value) + { +-#ifdef BF548_FAMILY + unsigned long flags; +-#endif + +- port_setup(gpio, GPIO_USAGE); ++ if (!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { ++ gpio_error(gpio); ++ return -EINVAL; ++ } + +-#ifdef BF548_FAMILY + local_irq_save_hw(flags); +- __bfin_gpio_direction_input(gpio); ++ gpio_array[gpio_bank(gpio)]->port_inen &= ~gpio_bit(gpio); ++ gpio_set_value(gpio, value); ++ gpio_array[gpio_bank(gpio)]->port_dir_set = gpio_bit(gpio); + local_irq_restore_hw(flags); +-#endif ++ ++ return 0; + } ++EXPORT_SYMBOL(bfin_gpio_direction_output); + + void bfin_gpio_set_value(unsigned gpio, int arg) + { + if (arg) +- gpio_array[gpio_bank(gpio)]->data_set = gpio_bit(gpio); ++ gpio_array[gpio_bank(gpio)]->port_set = gpio_bit(gpio); + else +- gpio_array[gpio_bank(gpio)]->data_clear = gpio_bit(gpio); ++ gpio_array[gpio_bank(gpio)]->port_clear = gpio_bit(gpio); + } + EXPORT_SYMBOL(bfin_gpio_set_value); + +-int bfin_gpio_direction_output(unsigned gpio, int value) ++int bfin_gpio_get_value(unsigned gpio) ++{ ++ return (1 & (gpio_array[gpio_bank(gpio)]->port_data >> gpio_sub_n(gpio))); ++} ++EXPORT_SYMBOL(bfin_gpio_get_value); ++ ++void bfin_gpio_irq_prepare(unsigned gpio) + { + unsigned long flags; + +- if (!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { +- gpio_error(gpio); +- return -EINVAL; +- } ++ port_setup(gpio, GPIO_USAGE); + + local_irq_save_hw(flags); +- +- gpio_array[gpio_bank(gpio)]->inen &= ~gpio_bit(gpio); +- gpio_set_value(gpio, value); +-#ifdef BF548_FAMILY +- gpio_array[gpio_bank(gpio)]->dir_set = gpio_bit(gpio); +-#else +- gpio_array[gpio_bank(gpio)]->dir |= gpio_bit(gpio); +-#endif +- +- AWA_DUMMY_READ(dir); ++ gpio_array[gpio_bank(gpio)]->port_dir_clear = gpio_bit(gpio); ++ gpio_array[gpio_bank(gpio)]->port_inen |= gpio_bit(gpio); + local_irq_restore_hw(flags); +- +- return 0; + } +-EXPORT_SYMBOL(bfin_gpio_direction_output); ++ ++#else + + int bfin_gpio_get_value(unsigned gpio) + { +-#ifdef BF548_FAMILY +- return (1 & (gpio_array[gpio_bank(gpio)]->data >> gpio_sub_n(gpio))); +-#else + unsigned long flags; ++ int ret; + + if (unlikely(get_gpio_edge(gpio))) { +- int ret; + local_irq_save_hw(flags); + set_gpio_edge(gpio, 0); + ret = get_gpio_data(gpio); + set_gpio_edge(gpio, 1); + local_irq_restore_hw(flags); ++ + return ret; + } else + return get_gpio_data(gpio); +-#endif + } + EXPORT_SYMBOL(bfin_gpio_get_value); + ++ ++int bfin_gpio_direction_input(unsigned gpio) ++{ ++ unsigned long flags; ++ ++ if (!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { ++ gpio_error(gpio); ++ return -EINVAL; ++ } ++ ++ local_irq_save_hw(flags); ++ gpio_bankb[gpio_bank(gpio)]->dir &= ~gpio_bit(gpio); ++ gpio_bankb[gpio_bank(gpio)]->inen |= gpio_bit(gpio); ++ AWA_DUMMY_READ(inen); ++ local_irq_restore_hw(flags); ++ ++ return 0; ++} ++EXPORT_SYMBOL(bfin_gpio_direction_input); ++ ++int bfin_gpio_direction_output(unsigned gpio, int value) ++{ ++ unsigned long flags; ++ ++ if (!(reserved_gpio_map[gpio_bank(gpio)] & gpio_bit(gpio))) { ++ gpio_error(gpio); ++ return -EINVAL; ++ } ++ ++ local_irq_save_hw(flags); ++ gpio_bankb[gpio_bank(gpio)]->inen &= ~gpio_bit(gpio); ++ ++ if (value) ++ gpio_bankb[gpio_bank(gpio)]->data_set = gpio_bit(gpio); ++ else ++ gpio_bankb[gpio_bank(gpio)]->data_clear = gpio_bit(gpio); ++ ++ gpio_bankb[gpio_bank(gpio)]->dir |= gpio_bit(gpio); ++ AWA_DUMMY_READ(dir); ++ local_irq_restore_hw(flags); ++ ++ return 0; ++} ++EXPORT_SYMBOL(bfin_gpio_direction_output); ++ + /* If we are booting from SPI and our board lacks a strong enough pull up, + * the core can reset and execute the bootrom faster than the resistor can + * pull the signal logically high. To work around this (common) error in +@@ -1179,15 +1299,23 @@ + * lives here as we need to force all the GPIO states w/out going through + * BUG() checks and such. + */ +-void bfin_reset_boot_spi_cs(unsigned short pin) ++void bfin_gpio_reset_spi0_ssel1(void) + { +- unsigned short gpio = P_IDENT(pin); ++ u16 gpio = P_IDENT(P_SPI0_SSEL1); ++ + port_setup(gpio, GPIO_USAGE); +- gpio_array[gpio_bank(gpio)]->data_set = gpio_bit(gpio); ++ gpio_bankb[gpio_bank(gpio)]->data_set = gpio_bit(gpio); + AWA_DUMMY_READ(data_set); + udelay(1); + } + ++void bfin_gpio_irq_prepare(unsigned gpio) ++{ ++ port_setup(gpio, GPIO_USAGE); ++} ++ ++#endif /*BF548_FAMILY */ ++ + #if defined(CONFIG_PROC_FS) + static int gpio_proc_read(char *buf, char **start, off_t offset, + int len, int *unused_i, void *unused_v) +@@ -1241,7 +1369,11 @@ + + void bfin_gpiolib_set_value(struct gpio_chip *chip, unsigned gpio, int value) + { ++#ifdef BF548_FAMILY + return bfin_gpio_set_value(gpio, value); ++#else ++ return set_gpio_data(gpio, value); ++#endif + } + + int bfin_gpiolib_gpio_request(struct gpio_chip *chip, unsigned gpio) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/cplb-mpu/cplbinit.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-mpu/cplbinit.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/cplb-mpu/cplbinit.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-mpu/cplbinit.c 2009-05-10 23:48:28.000000000 +0200 +@@ -63,8 +63,10 @@ + dcplb_tbl[cpu][i_d].addr = 0; + dcplb_tbl[cpu][i_d++].data = SDRAM_OOPS | PAGE_SIZE_1KB; + ++#if 0 + icplb_tbl[cpu][i_i].addr = 0; +- icplb_tbl[cpu][i_i++].data = i_cache | CPLB_USER_RD | PAGE_SIZE_1KB; ++ icplb_tbl[cpu][i_i++].data = i_cache | CPLB_USER_RD | PAGE_SIZE_4KB; ++#endif + + /* Cover kernel memory with 4M pages. */ + addr = 0; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/cplb-nompu/cplbinit.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-nompu/cplbinit.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/cplb-nompu/cplbinit.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-nompu/cplbinit.c 2009-05-10 23:48:28.000000000 +0200 +@@ -53,13 +53,9 @@ + + i_d = i_i = 0; + +-#ifdef CONFIG_DEBUG_HUNT_FOR_ZERO + /* Set up the zero page. */ + d_tbl[i_d].addr = 0; + d_tbl[i_d++].data = SDRAM_OOPS | PAGE_SIZE_1KB; +- i_tbl[i_i].addr = 0; +- i_tbl[i_i++].data = SDRAM_OOPS | PAGE_SIZE_1KB; +-#endif + + /* Cover kernel memory with 4M pages. */ + addr = 0; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/cplb-nompu/cplbmgr.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-nompu/cplbmgr.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/cplb-nompu/cplbmgr.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/cplb-nompu/cplbmgr.c 2009-05-10 23:48:28.000000000 +0200 +@@ -163,14 +163,12 @@ + nr_icplb_supv_miss[cpu]++; + + base = 0; +- idx = 0; +- do { ++ for (idx = 0; idx < icplb_nr_bounds; idx++) { + eaddr = icplb_bounds[idx].eaddr; + if (addr < eaddr) + break; + base = eaddr; +- } while (++idx < icplb_nr_bounds); +- ++ } + if (unlikely(idx == icplb_nr_bounds)) + return CPLB_NO_ADDR_MATCH; + +@@ -210,14 +208,12 @@ + nr_dcplb_supv_miss[cpu]++; + + base = 0; +- idx = 0; +- do { ++ for (idx = 0; idx < dcplb_nr_bounds; idx++) { + eaddr = dcplb_bounds[idx].eaddr; + if (addr < eaddr) + break; + base = eaddr; +- } while (++idx < dcplb_nr_bounds); +- ++ } + if (unlikely(idx == dcplb_nr_bounds)) + return CPLB_NO_ADDR_MATCH; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/ipipe.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/ipipe.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/ipipe.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/ipipe.c 2009-05-10 23:48:28.000000000 +0200 +@@ -35,8 +35,14 @@ + #include + #include + ++static int create_irq_threads; ++ + DEFINE_PER_CPU(struct pt_regs, __ipipe_tick_regs); + ++static DEFINE_PER_CPU(unsigned long, pending_irqthread_mask); ++ ++static DEFINE_PER_CPU(int [IVG13 + 1], pending_irq_count); ++ + asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs); + + static void __ipipe_no_irqtail(void); +@@ -87,7 +93,6 @@ + */ + void __ipipe_handle_irq(unsigned irq, struct pt_regs *regs) + { +- struct ipipe_percpu_domain_data *p = ipipe_root_cpudom_ptr(); + struct ipipe_domain *this_domain, *next_domain; + struct list_head *head, *pos; + int m_ack, s = -1; +@@ -99,6 +104,7 @@ + * interrupt. + */ + m_ack = (regs == NULL || irq == IRQ_SYSTMR || irq == IRQ_CORETMR); ++ + this_domain = ipipe_current_domain; + + if (unlikely(test_bit(IPIPE_STICKY_FLAG, &this_domain->irqs[irq].control))) +@@ -108,28 +114,49 @@ + next_domain = list_entry(head, struct ipipe_domain, p_link); + if (likely(test_bit(IPIPE_WIRED_FLAG, &next_domain->irqs[irq].control))) { + if (!m_ack && next_domain->irqs[irq].acknowledge != NULL) +- next_domain->irqs[irq].acknowledge(irq, irq_to_desc(irq)); +- if (test_bit(IPIPE_SYNCDEFER_FLAG, &p->status)) +- s = __test_and_set_bit(IPIPE_STALL_FLAG, &p->status); ++ next_domain->irqs[irq].acknowledge(irq, irq_desc + irq); ++ if (test_bit(IPIPE_ROOTLOCK_FLAG, &ipipe_root_domain->flags)) ++ s = __test_and_set_bit(IPIPE_STALL_FLAG, ++ &ipipe_root_cpudom_var(status)); + __ipipe_dispatch_wired(next_domain, irq); +- goto out; ++ goto finalize; ++ return; + } + } + + /* Ack the interrupt. */ + + pos = head; ++ + while (pos != &__ipipe_pipeline) { + next_domain = list_entry(pos, struct ipipe_domain, p_link); ++ /* ++ * For each domain handling the incoming IRQ, mark it ++ * as pending in its log. ++ */ + if (test_bit(IPIPE_HANDLE_FLAG, &next_domain->irqs[irq].control)) { ++ /* ++ * Domains that handle this IRQ are polled for ++ * acknowledging it by decreasing priority ++ * order. The interrupt must be made pending ++ * _first_ in the domain's status flags before ++ * the PIC is unlocked. ++ */ + __ipipe_set_irq_pending(next_domain, irq); ++ + if (!m_ack && next_domain->irqs[irq].acknowledge != NULL) { +- next_domain->irqs[irq].acknowledge(irq, irq_to_desc(irq)); ++ next_domain->irqs[irq].acknowledge(irq, irq_desc + irq); + m_ack = 1; + } + } ++ ++ /* ++ * If the domain does not want the IRQ to be passed ++ * down the interrupt pipe, exit the loop now. ++ */ + if (!test_bit(IPIPE_PASS_FLAG, &next_domain->irqs[irq].control)) + break; ++ + pos = next_domain->p_link.next; + } + +@@ -139,24 +166,18 @@ + * immediately to the current domain if the interrupt has been + * marked as 'sticky'. This search does not go beyond the + * current domain in the pipeline. We also enforce the +- * additional root stage lock (blackfin-specific). +- */ +- if (test_bit(IPIPE_SYNCDEFER_FLAG, &p->status)) +- s = __test_and_set_bit(IPIPE_STALL_FLAG, &p->status); ++ * additional root stage lock (blackfin-specific). */ + +- /* +- * If the interrupt preempted the head domain, then do not +- * even try to walk the pipeline, unless an interrupt is +- * pending for it. +- */ +- if (test_bit(IPIPE_AHEAD_FLAG, &this_domain->flags) && +- ipipe_head_cpudom_var(irqpend_himask) == 0) +- goto out; ++ if (test_bit(IPIPE_ROOTLOCK_FLAG, &ipipe_root_domain->flags)) ++ s = __test_and_set_bit(IPIPE_STALL_FLAG, ++ &ipipe_root_cpudom_var(status)); ++finalize: + + __ipipe_walk_pipeline(head); +-out: ++ + if (!s) +- __clear_bit(IPIPE_STALL_FLAG, &p->status); ++ __clear_bit(IPIPE_STALL_FLAG, ++ &ipipe_root_cpudom_var(status)); + } + + int __ipipe_check_root(void) +@@ -166,7 +187,7 @@ + + void __ipipe_enable_irqdesc(struct ipipe_domain *ipd, unsigned irq) + { +- struct irq_desc *desc = irq_to_desc(irq); ++ struct irq_desc *desc = irq_desc + irq; + int prio = desc->ic_prio; + + desc->depth = 0; +@@ -178,7 +199,7 @@ + + void __ipipe_disable_irqdesc(struct ipipe_domain *ipd, unsigned irq) + { +- struct irq_desc *desc = irq_to_desc(irq); ++ struct irq_desc *desc = irq_desc + irq; + int prio = desc->ic_prio; + + if (ipd != &ipipe_root && +@@ -215,18 +236,15 @@ + { + unsigned long flags; + +- /* +- * We need to run the IRQ tail hook whenever we don't ++ /* We need to run the IRQ tail hook whenever we don't + * propagate a syscall to higher domains, because we know that + * important operations might be pending there (e.g. Xenomai +- * deferred rescheduling). +- */ ++ * deferred rescheduling). */ + +- if (regs->orig_p0 < NR_syscalls) { ++ if (!__ipipe_syscall_watched_p(current, regs->orig_p0)) { + void (*hook)(void) = (void (*)(void))__ipipe_irq_tail_hook; + hook(); +- if ((current->flags & PF_EVNOTIFY) == 0) +- return 0; ++ return 0; + } + + /* +@@ -294,46 +312,112 @@ + { + unsigned long flags; + +-#ifdef CONFIG_IPIPE_DEBUG + if (irq >= IPIPE_NR_IRQS || + (ipipe_virtual_irq_p(irq) + && !test_bit(irq - IPIPE_VIRQ_BASE, &__ipipe_virtual_irq_map))) + return -EINVAL; +-#endif + + local_irq_save_hw(flags); ++ + __ipipe_handle_irq(irq, NULL); ++ + local_irq_restore_hw(flags); + + return 1; + } + +-asmlinkage void __ipipe_sync_root(void) ++/* Move Linux IRQ to threads. */ ++ ++static int do_irqd(void *__desc) + { +- unsigned long flags; ++ struct irq_desc *desc = __desc; ++ unsigned irq = desc - irq_desc; ++ int thrprio = desc->thr_prio; ++ int thrmask = 1 << thrprio; ++ int cpu = smp_processor_id(); ++ cpumask_t cpumask; ++ ++ sigfillset(¤t->blocked); ++ current->flags |= PF_NOFREEZE; ++ cpumask = cpumask_of_cpu(cpu); ++ set_cpus_allowed(current, cpumask); ++ ipipe_setscheduler_root(current, SCHED_FIFO, 50 + thrprio); ++ ++ while (!kthread_should_stop()) { ++ local_irq_disable(); ++ if (!(desc->status & IRQ_SCHEDULED)) { ++ set_current_state(TASK_INTERRUPTIBLE); ++resched: ++ local_irq_enable(); ++ schedule(); ++ local_irq_disable(); ++ } ++ __set_current_state(TASK_RUNNING); ++ /* ++ * If higher priority interrupt servers are ready to ++ * run, reschedule immediately. We need this for the ++ * GPIO demux IRQ handler to unmask the interrupt line ++ * _last_, after all GPIO IRQs have run. ++ */ ++ if (per_cpu(pending_irqthread_mask, cpu) & ~(thrmask|(thrmask-1))) ++ goto resched; ++ if (--per_cpu(pending_irq_count[thrprio], cpu) == 0) ++ per_cpu(pending_irqthread_mask, cpu) &= ~thrmask; ++ desc->status &= ~IRQ_SCHEDULED; ++ desc->thr_handler(irq, &__raw_get_cpu_var(__ipipe_tick_regs)); ++ local_irq_enable(); ++ } ++ __set_current_state(TASK_RUNNING); ++ return 0; ++} + +- BUG_ON(irqs_disabled()); ++static void kick_irqd(unsigned irq, void *cookie) ++{ ++ struct irq_desc *desc = irq_desc + irq; ++ int thrprio = desc->thr_prio; ++ int thrmask = 1 << thrprio; ++ int cpu = smp_processor_id(); ++ ++ if (!(desc->status & IRQ_SCHEDULED)) { ++ desc->status |= IRQ_SCHEDULED; ++ per_cpu(pending_irqthread_mask, cpu) |= thrmask; ++ ++per_cpu(pending_irq_count[thrprio], cpu); ++ wake_up_process(desc->thread); ++ } ++} + +- local_irq_save_hw(flags); ++int ipipe_start_irq_thread(unsigned irq, struct irq_desc *desc) ++{ ++ if (desc->thread || !create_irq_threads) ++ return 0; + +- clear_thread_flag(TIF_IRQ_SYNC); ++ desc->thread = kthread_create(do_irqd, desc, "IRQ %d", irq); ++ if (desc->thread == NULL) { ++ printk(KERN_ERR "irqd: could not create IRQ thread %d!\n", irq); ++ return -ENOMEM; ++ } + +- if (ipipe_root_cpudom_var(irqpend_himask) != 0) +- __ipipe_sync_pipeline(IPIPE_IRQMASK_ANY); ++ wake_up_process(desc->thread); + +- local_irq_restore_hw(flags); ++ desc->thr_handler = ipipe_root_domain->irqs[irq].handler; ++ ipipe_root_domain->irqs[irq].handler = &kick_irqd; ++ ++ return 0; + } + +-void ___ipipe_sync_pipeline(unsigned long syncmask) ++void __init ipipe_init_irq_threads(void) + { +- struct ipipe_domain *ipd = ipipe_current_domain; ++ unsigned irq; ++ struct irq_desc *desc; + +- if (ipd == ipipe_root_domain) { +- if (test_bit(IPIPE_SYNCDEFER_FLAG, &ipipe_root_cpudom_var(status))) +- return; +- } ++ create_irq_threads = 1; + +- __ipipe_sync_stage(syncmask); ++ for (irq = 0; irq < NR_IRQS; irq++) { ++ desc = irq_desc + irq; ++ if (desc->action != NULL || ++ (desc->status & IRQ_NOREQUEST) != 0) ++ ipipe_start_irq_thread(irq, desc); ++ } + } + + EXPORT_SYMBOL(show_stack); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/irqchip.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/irqchip.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/irqchip.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/irqchip.c 2009-05-10 23:48:28.000000000 +0200 +@@ -35,7 +35,6 @@ + #include + #include + #include +-#include + + static atomic_t irq_err_count; + static spinlock_t irq_controller_lock; +@@ -92,13 +91,8 @@ + seq_putc(p, '\n'); + skip: + spin_unlock_irqrestore(&irq_desc[i].lock, flags); +- } else if (i == NR_IRQS) { +- seq_printf(p, "NMI: "); +- for_each_online_cpu(j) +- seq_printf(p, "%10u ", cpu_pda[j].__nmi_count); +- seq_printf(p, " CORE Non Maskable Interrupt\n"); ++ } else if (i == NR_IRQS) + seq_printf(p, "Err: %10u\n", atomic_read(&irq_err_count)); +- } + return 0; + } + +@@ -144,15 +138,11 @@ + #endif + generic_handle_irq(irq); + +-#ifndef CONFIG_IPIPE +- /* +- * If we're the only interrupt running (ignoring IRQ15 which +- * is for syscalls), lower our priority to IRQ14 so that +- * softirqs run at that level. If there's another, +- * lower-level interrupt, irq_exit will defer softirqs to +- * that. If the interrupt pipeline is enabled, we are already +- * running at IRQ14 priority, so we don't need this code. +- */ ++#ifndef CONFIG_IPIPE /* Useless and bugous over the I-pipe: IRQs are threaded. */ ++ /* If we're the only interrupt running (ignoring IRQ15 which is for ++ syscalls), lower our priority to IRQ14 so that softirqs run at ++ that level. If there's another, lower-level interrupt, irq_exit ++ will defer softirqs to that. */ + CSYNC(); + pending = bfin_read_IPEND() & ~0x8000; + other_ints = pending & (pending - 1); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/kgdb_test.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/kgdb_test.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/kgdb_test.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/kgdb_test.c 2009-05-10 23:48:28.000000000 +0200 +@@ -20,7 +20,6 @@ + static char cmdline[256]; + static unsigned long len; + +-#ifndef CONFIG_SMP + static int num1 __attribute__((l1_data)); + + void kgdb_l1_test(void) __attribute__((l1_text)); +@@ -33,8 +32,6 @@ + printk(KERN_ALERT "L1(after change) : data variable addr = 0x%p, data value is %d\n", &num1, num1); + return ; + } +-#endif +- + #if L2_LENGTH + + static int num2 __attribute__((l2)); +@@ -62,12 +59,10 @@ + static int test_proc_output(char *buf) + { + kgdb_test("hello world!", 12, 0x55, 0x10); +-#ifndef CONFIG_SMP + kgdb_l1_test(); +-#endif +-#if L2_LENGTH ++ #if L2_LENGTH + kgdb_l2_test(); +-#endif ++ #endif + + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/Makefile linux-2.6.29-rc3.owrt/arch/blackfin/kernel/Makefile +--- linux-2.6.29.owrt/arch/blackfin/kernel/Makefile 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -21,9 +21,5 @@ + obj-$(CONFIG_CPLB_INFO) += cplbinfo.o + obj-$(CONFIG_MODULES) += module.o + obj-$(CONFIG_KGDB) += kgdb.o +-obj-$(CONFIG_KGDB_TESTS) += kgdb_test.o ++obj-$(CONFIG_KGDB_TESTCASE) += kgdb_test.o + obj-$(CONFIG_EARLY_PRINTK) += early_printk.o +- +-# the kgdb test puts code into L2 and without linker +-# relaxation, we need to force long calls to/from it +-CFLAGS_kgdb_test.o := -mlong-calls -O0 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/ptrace.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/ptrace.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/ptrace.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/ptrace.c 2009-05-10 23:48:28.000000000 +0200 +@@ -45,7 +45,6 @@ + #include + #include + #include +-#include + #include + + #define TEXT_OFFSET 0 +@@ -241,7 +240,7 @@ + + } else if (addr >= FIXED_CODE_START + && addr + sizeof(tmp) <= FIXED_CODE_END) { +- copy_from_user_page(0, 0, 0, &tmp, (const void *)(addr), sizeof(tmp)); ++ memcpy(&tmp, (const void *)(addr), sizeof(tmp)); + copied = sizeof(tmp); + + } else +@@ -321,7 +320,7 @@ + + } else if (addr >= FIXED_CODE_START + && addr + sizeof(data) <= FIXED_CODE_END) { +- copy_to_user_page(0, 0, 0, (void *)(addr), &data, sizeof(data)); ++ memcpy((void *)(addr), &data, sizeof(data)); + copied = sizeof(data); + + } else +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/reboot.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/reboot.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/reboot.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/reboot.c 2009-05-10 23:48:28.000000000 +0200 +@@ -20,8 +20,8 @@ + * reset while the Core B bit (on dual core parts) is cleared by + * the core reset. + */ +-__attribute__ ((__l1_text__, __noreturn__)) +-static void bfin_reset(void) ++__attribute__((l1_text)) ++static void _bfin_reset(void) + { + /* Wait for completion of "system" events such as cache line + * line fills so that we avoid infinite stalls later on as +@@ -30,11 +30,7 @@ + */ + __builtin_bfin_ssync(); + +- /* The bootrom checks to see how it was reset and will +- * automatically perform a software reset for us when +- * it starts executing after the core reset. +- */ +- if (ANOMALY_05000353 || ANOMALY_05000386) { ++ while (1) { + /* Initiate System software reset. */ + bfin_write_SWRST(0x7); + +@@ -54,11 +50,6 @@ + /* Clear System software reset */ + bfin_write_SWRST(0); + +- /* The BF526 ROM will crash during reset */ +-#if defined(__ADSPBF522__) || defined(__ADSPBF524__) || defined(__ADSPBF526__) +- bfin_read_SWRST(); +-#endif +- + /* Wait for the SWRST write to complete. Cannot rely on SSYNC + * though as the System state is all reset now. + */ +@@ -69,11 +60,22 @@ + : "a" (15 * 1) + : "LC1", "LB1", "LT1" + ); +- } + +- while (1) + /* Issue core reset */ + asm("raise 1"); ++ } ++} ++ ++static void bfin_reset(void) ++{ ++ if (ANOMALY_05000353 || ANOMALY_05000386) ++ _bfin_reset(); ++ else ++ /* the bootrom checks to see how it was reset and will ++ * automatically perform a software reset for us when ++ * it starts executing boot ++ */ ++ asm("raise 1;"); + } + + __attribute__((weak)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/setup.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/setup.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/setup.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/setup.c 2009-05-10 23:48:28.000000000 +0200 +@@ -60,7 +60,7 @@ + #define BFIN_MEMMAP_MAX 128 /* number of entries in bfin_memmap */ + #define BFIN_MEMMAP_RAM 1 + #define BFIN_MEMMAP_RESERVED 2 +-static struct bfin_memmap { ++struct bfin_memmap { + int nr_map; + struct bfin_memmap_entry { + unsigned long long addr; /* start of memory segment */ +@@ -824,15 +824,7 @@ + flash_probe(); + #endif + +- printk(KERN_INFO "Boot Mode: %i\n", bfin_read_SYSCR() & 0xF); +- +- /* Newer parts mirror SWRST bits in SYSCR */ +-#if defined(CONFIG_BF53x) || defined(CONFIG_BF561) || \ +- defined(CONFIG_BF538) || defined(CONFIG_BF539) + _bfin_swrst = bfin_read_SWRST(); +-#else +- _bfin_swrst = bfin_read_SYSCR(); +-#endif + + #ifdef CONFIG_DEBUG_DOUBLEFAULT_PRINT + bfin_write_SWRST(_bfin_swrst & ~DOUBLE_FAULT); +@@ -861,7 +853,7 @@ + else if (_bfin_swrst & RESET_SOFTWARE) + printk(KERN_NOTICE "Reset caused by Software reset\n"); + +- printk(KERN_INFO "Blackfin support (C) 2004-2009 Analog Devices, Inc.\n"); ++ printk(KERN_INFO "Blackfin support (C) 2004-2008 Analog Devices, Inc.\n"); + if (bfin_compiled_revid() == 0xffff) + printk(KERN_INFO "Compiled for ADSP-%s Rev any\n", CPU); + else if (bfin_compiled_revid() == -1) +@@ -889,10 +881,6 @@ + CPU, bfin_revid()); + } + +- /* We can't run on BF548-0.1 due to ANOMALY 05000448 */ +- if (bfin_cpuid() == 0x27de && bfin_revid() == 1) +- panic("You can't run on this processor due to 05000448\n"); +- + printk(KERN_INFO "Blackfin Linux support by http://blackfin.uclinux.org/\n"); + + printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n", +@@ -1145,12 +1133,12 @@ + icache_size = 0; + + seq_printf(m, "cache size\t: %d KB(L1 icache) " +- "%d KB(L1 dcache%s) %d KB(L2 cache)\n", ++ "%d KB(L1 dcache-%s) %d KB(L2 cache)\n", + icache_size, dcache_size, + #if defined CONFIG_BFIN_WB +- "-wb" ++ "wb" + #elif defined CONFIG_BFIN_WT +- "-wt" ++ "wt" + #endif + "", 0); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/time.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/time.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/time.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/time.c 2009-05-10 23:48:28.000000000 +0200 +@@ -134,10 +134,7 @@ + + write_seqlock(&xtime_lock); + #if defined(CONFIG_TICK_SOURCE_SYSTMR0) && !defined(CONFIG_IPIPE) +- /* +- * TIMIL0 is latched in __ipipe_grab_irq() when the I-Pipe is +- * enabled. +- */ ++/* FIXME: Here TIMIL0 is not set when IPIPE enabled, why? */ + if (get_gptimer_status(0) & TIMER_STATUS_TIMIL0) { + #endif + do_timer(1); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/kernel/traps.c linux-2.6.29-rc3.owrt/arch/blackfin/kernel/traps.c +--- linux-2.6.29.owrt/arch/blackfin/kernel/traps.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/kernel/traps.c 2009-05-10 23:48:28.000000000 +0200 +@@ -673,14 +673,6 @@ + verbose_printk("RTI"); + else if (opcode == 0x0012) + verbose_printk("RTX"); +- else if (opcode == 0x0013) +- verbose_printk("RTN"); +- else if (opcode == 0x0014) +- verbose_printk("RTE"); +- else if (opcode == 0x0025) +- verbose_printk("EMUEXCPT"); +- else if (opcode == 0x0040 && opcode <= 0x0047) +- verbose_printk("STI R%i", opcode & 7); + else if (opcode >= 0x0050 && opcode <= 0x0057) + verbose_printk("JUMP (P%i)", opcode & 7); + else if (opcode >= 0x0060 && opcode <= 0x0067) +@@ -689,10 +681,6 @@ + verbose_printk("CALL (PC+P%i)", opcode & 7); + else if (opcode >= 0x0080 && opcode <= 0x0087) + verbose_printk("JUMP (PC+P%i)", opcode & 7); +- else if (opcode >= 0x0090 && opcode <= 0x009F) +- verbose_printk("RAISE 0x%x", opcode & 0xF); +- else if (opcode >= 0x00A0 && opcode <= 0x00AF) +- verbose_printk("EXCPT 0x%x", opcode & 0xF); + else if ((opcode >= 0x1000 && opcode <= 0x13FF) || (opcode >= 0x1800 && opcode <= 0x1BFF)) + verbose_printk("IF !CC JUMP"); + else if ((opcode >= 0x1400 && opcode <= 0x17ff) || (opcode >= 0x1c00 && opcode <= 0x1fff)) +@@ -832,8 +820,11 @@ + decode_address(buf, (unsigned int)stack); + printk(KERN_NOTICE " SP: [0x%p] %s\n", stack, buf); + ++ addr = (unsigned int *)((unsigned int)stack & ~0x3F); ++ + /* First thing is to look for a frame pointer */ +- for (addr = (unsigned int *)((unsigned int)stack & ~0xF); addr < endstack; addr++) { ++ for (addr = (unsigned int *)((unsigned int)stack & ~0xF), i = 0; ++ addr < endstack; addr++, i++) { + if (*addr & 0x1) + continue; + ins_addr = (unsigned short *)*addr; +@@ -843,8 +834,7 @@ + + if (fp) { + /* Let's check to see if it is a frame pointer */ +- while (fp >= (addr - 1) && fp < endstack +- && fp && ((unsigned int) fp & 0x3) == 0) ++ while (fp >= (addr - 1) && fp < endstack && fp) + fp = (unsigned int *)*fp; + if (fp == 0 || fp == endstack) { + fp = addr - 1; +@@ -1062,9 +1052,8 @@ + char buf [150]; + struct irqaction *action; + unsigned int i; +- unsigned long flags = 0; ++ unsigned long flags; + unsigned int cpu = smp_processor_id(); +- unsigned char in_atomic = (bfin_read_IPEND() & 0x10) || in_atomic(); + + verbose_printk(KERN_NOTICE "\n" KERN_NOTICE "SEQUENCER STATUS:\t\t%s\n", print_tainted()); + verbose_printk(KERN_NOTICE " SEQSTAT: %08lx IPEND: %04lx SYSCFG: %04lx\n", +@@ -1084,22 +1073,17 @@ + } + verbose_printk(KERN_NOTICE " EXCAUSE : 0x%lx\n", + fp->seqstat & SEQSTAT_EXCAUSE); +- for (i = 2; i <= 15 ; i++) { ++ for (i = 6; i <= 15 ; i++) { + if (fp->ipend & (1 << i)) { +- if (i != 4) { +- decode_address(buf, bfin_read32(EVT0 + 4*i)); +- verbose_printk(KERN_NOTICE " physical IVG%i asserted : %s\n", i, buf); +- } else +- verbose_printk(KERN_NOTICE " interrupts disabled\n"); ++ decode_address(buf, bfin_read32(EVT0 + 4*i)); ++ verbose_printk(KERN_NOTICE " physical IVG%i asserted : %s\n", i, buf); + } + } + + /* if no interrupts are going off, don't print this out */ + if (fp->ipend & ~0x3F) { + for (i = 0; i < (NR_IRQS - 1); i++) { +- if (!in_atomic) +- spin_lock_irqsave(&irq_desc[i].lock, flags); +- ++ spin_lock_irqsave(&irq_desc[i].lock, flags); + action = irq_desc[i].action; + if (!action) + goto unlock; +@@ -1112,8 +1096,7 @@ + } + verbose_printk("\n"); + unlock: +- if (!in_atomic) +- spin_unlock_irqrestore(&irq_desc[i].lock, flags); ++ spin_unlock_irqrestore(&irq_desc[i].lock, flags); + } + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf518/boards/ezbrd.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/boards/ezbrd.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf518/boards/ezbrd.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/boards/ezbrd.c 2009-05-10 23:48:28.000000000 +0200 +@@ -46,7 +46,6 @@ + #include + #include + #include +-#include + + /* + * Name the Board for the /proc/cpuinfo +@@ -105,33 +104,10 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, +-}; +- +-#if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) +-static struct dsa_platform_data ksz8893m_switch_data = { +- .mii_bus = &bfin_mii_bus.dev, +- .netdev = &bfin_mac_device.dev, +- .port_names[0] = NULL, +- .port_names[1] = "eth%d", +- .port_names[2] = "eth%d", +- .port_names[3] = "cpu", +-}; +- +-static struct platform_device ksz8893m_switch_device = { +- .name = "dsa", +- .id = 0, +- .num_resources = 0, +- .dev.platform_data = &ksz8893m_switch_data, + }; + #endif +-#endif + + #if defined(CONFIG_MTD_M25P80) \ + || defined(CONFIG_MTD_M25P80_MODULE) +@@ -171,20 +147,9 @@ + }; + #endif + +-#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-#if defined(CONFIG_NET_DSA_KSZ8893M) \ +- || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) +-/* SPI SWITCH CHIP */ +-static struct bfin5xx_spi_chip spi_switch_info = { +- .enable_dma = 0, +- .bits_per_word = 8, +-}; +-#endif +-#endif +- +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -261,28 +226,23 @@ + }, + #endif + +-#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-#if defined(CONFIG_NET_DSA_KSZ8893M) \ +- || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "ksz8893m", +- .max_speed_hz = 5000000, ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 1, ++ .chip_select = 0, + .platform_data = NULL, +- .controller_data = &spi_switch_info, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, +-#endif +-#endif +- +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -513,6 +473,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) + { +@@ -526,6 +487,7 @@ + }, + #endif + }; ++#endif + + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) + static struct platform_device bfin_sport0_uart_device = { +@@ -622,11 +584,7 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, +-#if defined(CONFIG_NET_DSA_KSZ8893M) || defined(CONFIG_NET_DSA_KSZ8893M_MODULE) +- &ksz8893m_switch_device, +-#endif + #endif + + #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) +@@ -674,8 +632,12 @@ + static int __init ezbrd_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif ++ + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); + return 0; +@@ -687,7 +649,7 @@ + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } + + void bfin_get_ether_addr(char *addr) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/anomaly.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,12 +2,12 @@ + * File: include/asm-blackfin/mach-bf518/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + + /* This file shoule be up to date with: +- * - Revision B, 02/03/2009; ADSP-BF512/BF514/BF516/BF518 Blackfin Processor Anomaly List ++ * - ???? + */ + + #ifndef _MACH_ANOMALY_H_ +@@ -19,8 +19,6 @@ + #define ANOMALY_05000122 (1) + /* False Hardware Error from an Access in the Shadow of a Conditional Branch */ + #define ANOMALY_05000245 (1) +-/* Incorrect Timer Pulse Width in Single-Shot PWM_OUT Mode with External Clock */ +-#define ANOMALY_05000254 (1) + /* Sensitivity To Noise with Slow Input Edge Rates on External SPORT TX and RX Clocks */ + #define ANOMALY_05000265 (1) + /* False Hardware Errors Caused by Fetches at the Boundary of Reserved Memory */ +@@ -55,12 +53,6 @@ + #define ANOMALY_05000443 (1) + /* Incorrect L1 Instruction Bank B Memory Map Location */ + #define ANOMALY_05000444 (1) +-/* Incorrect Default Hysteresis Setting for RESET, NMI, and BMODE Signals */ +-#define ANOMALY_05000452 (1) +-/* PWM_TRIPB Signal Not Available on PG10 */ +-#define ANOMALY_05000453 (1) +-/* PPI_FS3 is Driven One Half Cycle Later Than PPI Data */ +-#define ANOMALY_05000455 (1) + + /* Anomalies that don't exist on this proc */ + #define ANOMALY_05000125 (0) +@@ -73,20 +65,15 @@ + #define ANOMALY_05000263 (0) + #define ANOMALY_05000266 (0) + #define ANOMALY_05000273 (0) +-#define ANOMALY_05000278 (0) + #define ANOMALY_05000285 (0) +-#define ANOMALY_05000305 (0) + #define ANOMALY_05000307 (0) + #define ANOMALY_05000311 (0) + #define ANOMALY_05000312 (0) + #define ANOMALY_05000323 (0) + #define ANOMALY_05000353 (0) + #define ANOMALY_05000363 (0) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000386 (0) + #define ANOMALY_05000412 (0) + #define ANOMALY_05000432 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -144,7 +144,7 @@ + CH_UART0_TX, + CH_UART0_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +@@ -158,7 +158,7 @@ + CH_UART1_TX, + CH_UART1_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART1_CTSRTS + CONFIG_UART1_CTS_PIN, + CONFIG_UART1_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf518/include/mach/portmux.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf518/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -103,8 +103,6 @@ + #define P_SPI1_SSEL4 (P_DEFINED | P_IDENT(GPIO_PF8) | P_FUNCT(2)) + #define P_SPI1_SSEL5 (P_DEFINED | P_IDENT(GPIO_PG11) | P_FUNCT(2)) + +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL2 +- + /* SPORT Port Mux */ + #define P_SPORT0_DRPRI (P_DEFINED | P_IDENT(GPIO_PG3) | P_FUNCT(0)) + #define P_SPORT0_RSCLK (P_DEFINED | P_IDENT(GPIO_PG4) | P_FUNCT(0)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/cm_bf527.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/cm_bf527.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/cm_bf527.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/cm_bf527.c 2009-05-10 23:48:28.000000000 +0200 +@@ -403,13 +403,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -487,9 +482,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -585,13 +580,23 @@ + .controller_data = &ad9960_spi_chip_info, + }, + #endif +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", +- .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -788,6 +793,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) + { +@@ -803,6 +809,7 @@ + }, + #endif + }; ++#endif + + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) + static struct platform_device bfin_sport0_uart_device = { +@@ -913,7 +920,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -962,23 +968,27 @@ + &bfin_gpios_device, + }; + +-static int __init cm_init(void) ++static int __init stamp_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif ++ + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); + return 0; + } + +-arch_initcall(cm_init); ++arch_initcall(stamp_init); + + void native_machine_restart(char *cmd) + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } + + void bfin_get_ether_addr(char *addr) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/ezbrd.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/ezbrd.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/ezbrd.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/ezbrd.c 2009-05-10 23:48:28.000000000 +0200 +@@ -208,13 +208,8 @@ + + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -256,9 +251,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -366,13 +361,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc_dummy", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -585,6 +590,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) + { +@@ -598,6 +604,7 @@ + }, + #endif + }; ++#endif + + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) + static struct platform_device bfin_sport0_uart_device = { +@@ -713,7 +720,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -758,23 +764,27 @@ + &bfin_gpios_device, + }; + +-static int __init ezbrd_init(void) ++static int __init stamp_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif ++ + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); + return 0; + } + +-arch_initcall(ezbrd_init); ++arch_initcall(stamp_init); + + void native_machine_restart(char *cmd) + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } + + void bfin_get_ether_addr(char *addr) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/ezkit.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/ezkit.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/boards/ezkit.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/boards/ezkit.c 2009-05-10 23:48:28.000000000 +0200 +@@ -425,13 +425,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -835,6 +830,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_TWI_LCD) || defined(CONFIG_TWI_LCD_MODULE) + { +@@ -848,6 +844,7 @@ + }, + #endif + }; ++#endif + + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) + static struct platform_device bfin_sport0_uart_device = { +@@ -991,7 +988,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -1052,23 +1048,27 @@ + &bfin_gpios_device, + }; + +-static int __init ezkit_init(void) ++static int __init stamp_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif ++ + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); + return 0; + } + +-arch_initcall(ezkit_init); ++arch_initcall(stamp_init); + + void native_machine_restart(char *cmd) + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } + + void bfin_get_ether_addr(char *addr) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/anomaly.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + * File: include/asm-blackfin/mach-bf527/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + +@@ -167,16 +167,12 @@ + #define ANOMALY_05000263 (0) + #define ANOMALY_05000266 (0) + #define ANOMALY_05000273 (0) +-#define ANOMALY_05000278 (0) + #define ANOMALY_05000285 (0) +-#define ANOMALY_05000305 (0) + #define ANOMALY_05000307 (0) + #define ANOMALY_05000311 (0) + #define ANOMALY_05000312 (0) + #define ANOMALY_05000323 (0) + #define ANOMALY_05000363 (0) + #define ANOMALY_05000412 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -144,7 +144,7 @@ + CH_UART0_TX, + CH_UART0_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +@@ -158,7 +158,7 @@ + CH_UART1_TX, + CH_UART1_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART1_CTSRTS + CONFIG_UART1_CTS_PIN, + CONFIG_UART1_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf527/include/mach/portmux.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf527/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -73,8 +73,6 @@ + + #define P_HWAIT (P_DONTCARE) + +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL1 +- + #define P_SPI0_SS (P_DEFINED | P_IDENT(GPIO_PG1) | P_FUNCT(0)) + #define P_SPI0_SSEL1 (P_DEFINED | P_IDENT(GPIO_PG1) | P_FUNCT(2)) + #define P_SPI0_SCK (P_DEFINED | P_IDENT(GPIO_PG2) | P_FUNCT(2)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/blackstamp.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/blackstamp.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/blackstamp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/blackstamp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -101,9 +101,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -129,13 +129,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++ { ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -299,8 +309,10 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + }; ++#endif + + static const unsigned int cclk_vlev_datasheet[] = + { +@@ -378,8 +390,10 @@ + + printk(KERN_INFO "%s(): registering device resources\n", __func__); + ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif + + ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + if (ret < 0) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/cm_bf533.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/cm_bf533.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/cm_bf533.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/cm_bf533.c 2009-05-10 23:48:28.000000000 +0200 +@@ -96,9 +96,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -138,13 +138,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc_dummy", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/generic_board.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/generic_board.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/generic_board.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/generic_board.c 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,126 @@ ++/* ++ * File: arch/blackfin/mach-bf533/generic_board.c ++ * Based on: arch/blackfin/mach-bf533/ezkit.c ++ * Author: Aidan Williams ++ * ++ * Created: 2005 ++ * Description: ++ * ++ * Modified: ++ * Copyright 2005 National ICT Australia (NICTA) ++ * Copyright 2004-2006 Analog Devices Inc. ++ * ++ * Bugs: Enter bugs at http://blackfin.uclinux.org/ ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see the file COPYING, or write ++ * to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#include ++#include ++#include ++ ++/* ++ * Name the Board for the /proc/cpuinfo ++ */ ++const char bfin_board_name[] = "UNKNOWN BOARD"; ++ ++#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) ++static struct platform_device rtc_device = { ++ .name = "rtc-bfin", ++ .id = -1, ++}; ++#endif ++ ++/* ++ * Driver needs to know address, irq and flag pin. ++ */ ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++static struct resource smc91x_resources[] = { ++ { ++ .start = 0x20300300, ++ .end = 0x20300300 + 16, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = IRQ_PROG_INTB, ++ .end = IRQ_PROG_INTB, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, { ++ .start = IRQ_PF7, ++ .end = IRQ_PF7, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++ ++static struct platform_device smc91x_device = { ++ .name = "smc91x", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(smc91x_resources), ++ .resource = smc91x_resources, ++}; ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++static struct resource bfin_sir0_resources[] = { ++ { ++ .start = 0xFFC00400, ++ .end = 0xFFC004FF, ++ .flags = IORESOURCE_MEM, ++ }, ++ { ++ .start = IRQ_UART0_RX, ++ .end = IRQ_UART0_RX+1, ++ .flags = IORESOURCE_IRQ, ++ }, ++ { ++ .start = CH_UART0_RX, ++ .end = CH_UART0_RX+1, ++ .flags = IORESOURCE_DMA, ++ }, ++}; ++ ++static struct platform_device bfin_sir0_device = { ++ .name = "bfin_sir", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(bfin_sir0_resources), ++ .resource = bfin_sir0_resources, ++}; ++#endif ++#endif ++ ++static struct platform_device *generic_board_devices[] __initdata = { ++#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) ++ &rtc_device, ++#endif ++ ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++ &smc91x_device, ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++ &bfin_sir0_device, ++#endif ++#endif ++}; ++ ++static int __init generic_board_init(void) ++{ ++ printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ return platform_add_devices(generic_board_devices, ARRAY_SIZE(generic_board_devices)); ++} ++ ++arch_initcall(generic_board_init); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/ip0x.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/ip0x.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/ip0x.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/ip0x.c 2009-05-10 23:48:28.000000000 +0200 +@@ -127,8 +127,8 @@ + #if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) + /* all SPI peripherals info goes here */ + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { + /* + * CPOL (Clock Polarity) + * 0 - Active high SCK +@@ -152,13 +152,14 @@ + /* Notice: for blackfin, the speed_hz is the value of register + * SPI_BAUD, not the real baudrate */ + static struct spi_board_info bfin_spi_board_info[] __initdata = { +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 2, + .bus_num = 1, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + }, + #endif + }; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/Kconfig linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/Kconfig +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/Kconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -38,4 +38,9 @@ + help + Core support for IP04/IP04 open hardware IP-PBX. + ++config GENERIC_BF533_BOARD ++ bool "Generic" ++ help ++ Generic or Custom board support. ++ + endchoice +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/Makefile linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/Makefile +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/Makefile 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -2,6 +2,7 @@ + # arch/blackfin/mach-bf533/boards/Makefile + # + ++obj-$(CONFIG_GENERIC_BF533_BOARD) += generic_board.o + obj-$(CONFIG_BFIN533_STAMP) += stamp.o + obj-$(CONFIG_BFIN532_IP0X) += ip0x.o + obj-$(CONFIG_BFIN533_EZKIT) += ezkit.o +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/stamp.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/stamp.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/boards/stamp.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/boards/stamp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -441,6 +441,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_JOYSTICK_AD7142) || defined(CONFIG_JOYSTICK_AD7142_MODULE) + { +@@ -460,6 +461,7 @@ + }, + #endif + }; ++#endif + + static const unsigned int cclk_vlev_datasheet[] = + { +@@ -548,8 +550,10 @@ + + printk(KERN_INFO "%s(): registering device resources\n", __func__); + ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif + + ret = platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + if (ret < 0) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/anomaly.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + * File: include/asm-blackfin/mach-bf533/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + +@@ -160,7 +160,7 @@ + #define ANOMALY_05000301 (__SILICON_REVISION__ < 6) + /* SSYNCs After Writes To DMA MMR Registers May Not Be Handled Correctly */ + #define ANOMALY_05000302 (__SILICON_REVISION__ < 5) +-/* SPORT_HYS Bit in PLL_CTL Register Is Not Functional */ ++/* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ + #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) + /* New Feature: Additional PPI Frame Sync Sampling Options (Not Available On Older Silicon) */ + #define ANOMALY_05000306 (__SILICON_REVISION__ < 5) +@@ -278,12 +278,9 @@ + #define ANOMALY_05000266 (0) + #define ANOMALY_05000323 (0) + #define ANOMALY_05000353 (1) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000386 (1) + #define ANOMALY_05000412 (0) + #define ANOMALY_05000432 (0) + #define ANOMALY_05000435 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -134,7 +134,7 @@ + CH_UART_TX, + CH_UART_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf533/include/mach/portmux.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf533/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -54,11 +54,14 @@ + #define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(GPIO_PF2)) + #define P_SPI0_SSEL1 (P_DEFINED | P_IDENT(GPIO_PF1)) + #define P_SPI0_SS (P_DEFINED | P_IDENT(GPIO_PF0)) +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL2 + + #define P_TMR2 (P_DONTCARE) + #define P_TMR1 (P_DONTCARE) + #define P_TMR0 (P_DONTCARE) + #define P_TMRCLK (P_DEFINED | P_IDENT(GPIO_PF1)) + ++ ++ ++ ++ + #endif /* _MACH_PORTMUX_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/cm_bf537.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/cm_bf537.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/cm_bf537.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/cm_bf537.c 2009-05-10 23:48:28.000000000 +0200 +@@ -108,9 +108,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -160,13 +160,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", +- .max_speed_hz = 20000000, /* max spi clock (SCK) speed in HZ */ ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 1, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = 7, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -469,13 +479,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -586,7 +591,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/generic_board.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/generic_board.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/generic_board.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/generic_board.c 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,739 @@ ++/* ++ * File: arch/blackfin/mach-bf537/boards/generic_board.c ++ * Based on: arch/blackfin/mach-bf533/boards/ezkit.c ++ * Author: Aidan Williams ++ * ++ * Created: ++ * Description: ++ * ++ * Modified: ++ * Copyright 2005 National ICT Australia (NICTA) ++ * Copyright 2004-2008 Analog Devices Inc. ++ * ++ * Bugs: Enter bugs at http://blackfin.uclinux.org/ ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see the file COPYING, or write ++ * to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) ++#include ++#endif ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* ++ * Name the Board for the /proc/cpuinfo ++ */ ++const char bfin_board_name[] = "UNKNOWN BOARD"; ++ ++/* ++ * Driver needs to know address, irq and flag pin. ++ */ ++ ++#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) ++#include ++static struct resource bfin_isp1760_resources[] = { ++ [0] = { ++ .start = 0x203C0000, ++ .end = 0x203C0000 + 0x000fffff, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = IRQ_PF7, ++ .end = IRQ_PF7, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct isp1760_platform_data isp1760_priv = { ++ .is_isp1761 = 0, ++ .port1_disable = 0, ++ .bus_width_16 = 1, ++ .port1_otg = 0, ++ .analog_oc = 0, ++ .dack_polarity_high = 0, ++ .dreq_polarity_high = 0, ++}; ++ ++static struct platform_device bfin_isp1760_device = { ++ .name = "isp1760-hcd", ++ .id = 0, ++ .dev = { ++ .platform_data = &isp1760_priv, ++ }, ++ .num_resources = ARRAY_SIZE(bfin_isp1760_resources), ++ .resource = bfin_isp1760_resources, ++}; ++#endif ++ ++#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) ++static struct resource bfin_pcmcia_cf_resources[] = { ++ { ++ .start = 0x20310000, /* IO PORT */ ++ .end = 0x20312000, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = 0x20311000, /* Attribute Memory */ ++ .end = 0x20311FFF, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = IRQ_PF4, ++ .end = IRQ_PF4, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, ++ }, { ++ .start = 6, /* Card Detect PF6 */ ++ .end = 6, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device bfin_pcmcia_cf_device = { ++ .name = "bfin_cf_pcmcia", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(bfin_pcmcia_cf_resources), ++ .resource = bfin_pcmcia_cf_resources, ++}; ++#endif ++ ++#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) ++static struct platform_device rtc_device = { ++ .name = "rtc-bfin", ++ .id = -1, ++}; ++#endif ++ ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++static struct resource smc91x_resources[] = { ++ { ++ .name = "smc91x-regs", ++ .start = 0x20300300, ++ .end = 0x20300300 + 16, ++ .flags = IORESOURCE_MEM, ++ }, { ++ ++ .start = IRQ_PF7, ++ .end = IRQ_PF7, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++static struct platform_device smc91x_device = { ++ .name = "smc91x", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(smc91x_resources), ++ .resource = smc91x_resources, ++}; ++#endif ++ ++#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) ++static struct resource dm9000_resources[] = { ++ [0] = { ++ .start = 0x203FB800, ++ .end = 0x203FB800 + 1, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = 0x203FB800 + 4, ++ .end = 0x203FB800 + 5, ++ .flags = IORESOURCE_MEM, ++ }, ++ [2] = { ++ .start = IRQ_PF9, ++ .end = IRQ_PF9, ++ .flags = (IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE), ++ }, ++}; ++ ++static struct platform_device dm9000_device = { ++ .name = "dm9000", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(dm9000_resources), ++ .resource = dm9000_resources, ++}; ++#endif ++ ++#if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) ++static struct resource sl811_hcd_resources[] = { ++ { ++ .start = 0x20340000, ++ .end = 0x20340000, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = 0x20340004, ++ .end = 0x20340004, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = CONFIG_USB_SL811_BFIN_IRQ, ++ .end = CONFIG_USB_SL811_BFIN_IRQ, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++ ++#if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) ++void sl811_port_power(struct device *dev, int is_on) ++{ ++ gpio_request(CONFIG_USB_SL811_BFIN_GPIO_VBUS, "usb:SL811_VBUS"); ++ gpio_direction_output(CONFIG_USB_SL811_BFIN_GPIO_VBUS, is_on); ++ ++} ++#endif ++ ++static struct sl811_platform_data sl811_priv = { ++ .potpg = 10, ++ .power = 250, /* == 500mA */ ++#if defined(CONFIG_USB_SL811_BFIN_USE_VBUS) ++ .port_power = &sl811_port_power, ++#endif ++}; ++ ++static struct platform_device sl811_hcd_device = { ++ .name = "sl811-hcd", ++ .id = 0, ++ .dev = { ++ .platform_data = &sl811_priv, ++ }, ++ .num_resources = ARRAY_SIZE(sl811_hcd_resources), ++ .resource = sl811_hcd_resources, ++}; ++#endif ++ ++#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) ++static struct resource isp1362_hcd_resources[] = { ++ { ++ .start = 0x20360000, ++ .end = 0x20360000, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = 0x20360004, ++ .end = 0x20360004, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, ++ .end = CONFIG_USB_ISP1362_BFIN_GPIO_IRQ, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++ ++static struct isp1362_platform_data isp1362_priv = { ++ .sel15Kres = 1, ++ .clknotstop = 0, ++ .oc_enable = 0, ++ .int_act_high = 0, ++ .int_edge_triggered = 0, ++ .remote_wakeup_connected = 0, ++ .no_power_switching = 1, ++ .power_switching_mode = 0, ++}; ++ ++static struct platform_device isp1362_hcd_device = { ++ .name = "isp1362-hcd", ++ .id = 0, ++ .dev = { ++ .platform_data = &isp1362_priv, ++ }, ++ .num_resources = ARRAY_SIZE(isp1362_hcd_resources), ++ .resource = isp1362_hcd_resources, ++}; ++#endif ++ ++#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) ++static struct platform_device bfin_mac_device = { ++ .name = "bfin_mac", ++}; ++#endif ++ ++#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) ++static struct resource net2272_bfin_resources[] = { ++ { ++ .start = 0x20300000, ++ .end = 0x20300000 + 0x100, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = IRQ_PF7, ++ .end = IRQ_PF7, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++ ++static struct platform_device net2272_bfin_device = { ++ .name = "net2272", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(net2272_bfin_resources), ++ .resource = net2272_bfin_resources, ++}; ++#endif ++ ++#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) ++/* all SPI peripherals info goes here */ ++ ++#if defined(CONFIG_MTD_M25P80) \ ++ || defined(CONFIG_MTD_M25P80_MODULE) ++static struct mtd_partition bfin_spi_flash_partitions[] = { ++ { ++ .name = "bootloader(spi)", ++ .size = 0x00020000, ++ .offset = 0, ++ .mask_flags = MTD_CAP_ROM ++ }, { ++ .name = "linux kernel(spi)", ++ .size = 0xe0000, ++ .offset = 0x20000 ++ }, { ++ .name = "file system(spi)", ++ .size = 0x700000, ++ .offset = 0x00100000, ++ } ++}; ++ ++static struct flash_platform_data bfin_spi_flash_data = { ++ .name = "m25p80", ++ .parts = bfin_spi_flash_partitions, ++ .nr_parts = ARRAY_SIZE(bfin_spi_flash_partitions), ++ .type = "m25p64", ++}; ++ ++/* SPI flash chip (m25p64) */ ++static struct bfin5xx_spi_chip spi_flash_chip_info = { ++ .enable_dma = 0, /* use dma transfer with this chip*/ ++ .bits_per_word = 8, ++}; ++#endif ++ ++#if defined(CONFIG_SPI_ADC_BF533) \ ++ || defined(CONFIG_SPI_ADC_BF533_MODULE) ++/* SPI ADC chip */ ++static struct bfin5xx_spi_chip spi_adc_chip_info = { ++ .enable_dma = 1, /* use dma transfer with this chip*/ ++ .bits_per_word = 16, ++}; ++#endif ++ ++#if defined(CONFIG_SND_BLACKFIN_AD1836) \ ++ || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) ++static struct bfin5xx_spi_chip ad1836_spi_chip_info = { ++ .enable_dma = 0, ++ .bits_per_word = 16, ++}; ++#endif ++ ++#if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) ++static struct bfin5xx_spi_chip ad9960_spi_chip_info = { ++ .enable_dma = 0, ++ .bits_per_word = 16, ++}; ++#endif ++ ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, ++ .bits_per_word = 8, ++}; ++#endif ++ ++#if defined(CONFIG_PBX) ++static struct bfin5xx_spi_chip spi_si3xxx_chip_info = { ++ .ctl_reg = 0x4, /* send zero */ ++ .enable_dma = 0, ++ .bits_per_word = 8, ++ .cs_change_per_word = 1, ++}; ++#endif ++ ++#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) ++static struct bfin5xx_spi_chip spi_ad7877_chip_info = { ++ .enable_dma = 0, ++ .bits_per_word = 16, ++}; ++ ++static const struct ad7877_platform_data bfin_ad7877_ts_info = { ++ .model = 7877, ++ .vref_delay_usecs = 50, /* internal, no capacitor */ ++ .x_plate_ohms = 419, ++ .y_plate_ohms = 486, ++ .pressure_max = 1000, ++ .pressure_min = 0, ++ .stopacq_polarity = 1, ++ .first_conversion_delay = 3, ++ .acquisition_time = 1, ++ .averaging = 1, ++ .pen_down_acc_interval = 1, ++}; ++#endif ++ ++static struct spi_board_info bfin_spi_board_info[] __initdata = { ++#if defined(CONFIG_MTD_M25P80) \ ++ || defined(CONFIG_MTD_M25P80_MODULE) ++ { ++ /* the modalias must be the same as spi device driver name */ ++ .modalias = "m25p80", /* Name of spi_driver for this device */ ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, /* Framework bus number */ ++ .chip_select = 1, /* Framework chip select. On STAMP537 it is SPISSEL1*/ ++ .platform_data = &bfin_spi_flash_data, ++ .controller_data = &spi_flash_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++#endif ++ ++#if defined(CONFIG_SPI_ADC_BF533) \ ++ || defined(CONFIG_SPI_ADC_BF533_MODULE) ++ { ++ .modalias = "bfin_spi_adc", /* Name of spi_driver for this device */ ++ .max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, /* Framework bus number */ ++ .chip_select = 1, /* Framework chip select. */ ++ .platform_data = NULL, /* No spi_driver specific config */ ++ .controller_data = &spi_adc_chip_info, ++ }, ++#endif ++ ++#if defined(CONFIG_SND_BLACKFIN_AD1836) \ ++ || defined(CONFIG_SND_BLACKFIN_AD1836_MODULE) ++ { ++ .modalias = "ad1836-spi", ++ .max_speed_hz = 3125000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SND_BLACKFIN_SPI_PFBIT, ++ .controller_data = &ad1836_spi_chip_info, ++ }, ++#endif ++#if defined(CONFIG_AD9960) || defined(CONFIG_AD9960_MODULE) ++ { ++ .modalias = "ad9960-spi", ++ .max_speed_hz = 10000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 1, ++ .controller_data = &ad9960_spi_chip_info, ++ }, ++#endif ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++ { ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++#endif ++#if defined(CONFIG_PBX) ++ { ++ .modalias = "fxs-spi", ++ .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 8 - CONFIG_J11_JUMPER, ++ .controller_data = &spi_si3xxx_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "fxo-spi", ++ .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 8 - CONFIG_J19_JUMPER, ++ .controller_data = &spi_si3xxx_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++#endif ++#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) ++ { ++ .modalias = "ad7877", ++ .platform_data = &bfin_ad7877_ts_info, ++ .irq = IRQ_PF6, ++ .max_speed_hz = 12500000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 1, ++ .controller_data = &spi_ad7877_chip_info, ++ }, ++#endif ++}; ++ ++/* SPI controller data */ ++static struct bfin5xx_spi_master bfin_spi0_info = { ++ .num_chipselect = 8, ++ .enable_dma = 1, /* master has the ability to do dma transfer */ ++ .pin_req = {P_SPI0_SCK, P_SPI0_MISO, P_SPI0_MOSI, 0}, ++}; ++ ++/* SPI (0) */ ++static struct resource bfin_spi0_resource[] = { ++ [0] = { ++ .start = SPI0_REGBASE, ++ .end = SPI0_REGBASE + 0xFF, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = CH_SPI, ++ .end = CH_SPI, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device bfin_spi0_device = { ++ .name = "bfin-spi", ++ .id = 0, /* Bus number */ ++ .num_resources = ARRAY_SIZE(bfin_spi0_resource), ++ .resource = bfin_spi0_resource, ++ .dev = { ++ .platform_data = &bfin_spi0_info, /* Passed to driver */ ++ }, ++}; ++#endif /* spi master and devices */ ++ ++#if defined(CONFIG_FB_BF537_LQ035) || defined(CONFIG_FB_BF537_LQ035_MODULE) ++static struct platform_device bfin_fb_device = { ++ .name = "bf537-lq035", ++}; ++#endif ++ ++#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) ++static struct platform_device bfin_fb_adv7393_device = { ++ .name = "bfin-adv7393", ++}; ++#endif ++ ++#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) ++static struct resource bfin_uart_resources[] = { ++ { ++ .start = 0xFFC00400, ++ .end = 0xFFC004FF, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = 0xFFC02000, ++ .end = 0xFFC020FF, ++ .flags = IORESOURCE_MEM, ++ }, ++}; ++ ++static struct platform_device bfin_uart_device = { ++ .name = "bfin-uart", ++ .id = 1, ++ .num_resources = ARRAY_SIZE(bfin_uart_resources), ++ .resource = bfin_uart_resources, ++}; ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++static struct resource bfin_sir0_resources[] = { ++ { ++ .start = 0xFFC00400, ++ .end = 0xFFC004FF, ++ .flags = IORESOURCE_MEM, ++ }, ++ { ++ .start = IRQ_UART0_RX, ++ .end = IRQ_UART0_RX+1, ++ .flags = IORESOURCE_IRQ, ++ }, ++ { ++ .start = CH_UART0_RX, ++ .end = CH_UART0_RX+1, ++ .flags = IORESOURCE_DMA, ++ }, ++}; ++ ++static struct platform_device bfin_sir0_device = { ++ .name = "bfin_sir", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(bfin_sir0_resources), ++ .resource = bfin_sir0_resources, ++}; ++#endif ++#ifdef CONFIG_BFIN_SIR1 ++static struct resource bfin_sir1_resources[] = { ++ { ++ .start = 0xFFC02000, ++ .end = 0xFFC020FF, ++ .flags = IORESOURCE_MEM, ++ }, ++ { ++ .start = IRQ_UART1_RX, ++ .end = IRQ_UART1_RX+1, ++ .flags = IORESOURCE_IRQ, ++ }, ++ { ++ .start = CH_UART1_RX, ++ .end = CH_UART1_RX+1, ++ .flags = IORESOURCE_DMA, ++ }, ++}; ++ ++static struct platform_device bfin_sir1_device = { ++ .name = "bfin_sir", ++ .id = 1, ++ .num_resources = ARRAY_SIZE(bfin_sir1_resources), ++ .resource = bfin_sir1_resources, ++}; ++#endif ++#endif ++ ++#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) ++static struct resource bfin_twi0_resource[] = { ++ [0] = { ++ .start = TWI0_REGBASE, ++ .end = TWI0_REGBASE + 0xFF, ++ .flags = IORESOURCE_MEM, ++ }, ++ [1] = { ++ .start = IRQ_TWI, ++ .end = IRQ_TWI, ++ .flags = IORESOURCE_IRQ, ++ }, ++}; ++ ++static struct platform_device i2c_bfin_twi_device = { ++ .name = "i2c-bfin-twi", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(bfin_twi0_resource), ++ .resource = bfin_twi0_resource, ++}; ++#endif ++ ++#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) ++static struct platform_device bfin_sport0_uart_device = { ++ .name = "bfin-sport-uart", ++ .id = 0, ++}; ++ ++static struct platform_device bfin_sport1_uart_device = { ++ .name = "bfin-sport-uart", ++ .id = 1, ++}; ++#endif ++ ++static struct platform_device *stamp_devices[] __initdata = { ++#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE) ++ &bfin_pcmcia_cf_device, ++#endif ++ ++#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE) ++ &rtc_device, ++#endif ++ ++#if defined(CONFIG_USB_SL811_HCD) || defined(CONFIG_USB_SL811_HCD_MODULE) ++ &sl811_hcd_device, ++#endif ++ ++#if defined(CONFIG_USB_ISP1362_HCD) || defined(CONFIG_USB_ISP1362_HCD_MODULE) ++ &isp1362_hcd_device, ++#endif ++ ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++ &smc91x_device, ++#endif ++ ++#if defined(CONFIG_DM9000) || defined(CONFIG_DM9000_MODULE) ++ &dm9000_device, ++#endif ++ ++#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) ++ &bfin_mac_device, ++#endif ++ ++#if defined(CONFIG_USB_NET2272) || defined(CONFIG_USB_NET2272_MODULE) ++ &net2272_bfin_device, ++#endif ++ ++#if defined(CONFIG_USB_ISP1760_HCD) || defined(CONFIG_USB_ISP1760_HCD_MODULE) ++ &bfin_isp1760_device, ++#endif ++ ++#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) ++ &bfin_spi0_device, ++#endif ++ ++#if defined(CONFIG_FB_BF537_LQ035) || defined(CONFIG_FB_BF537_LQ035_MODULE) ++ &bfin_fb_device, ++#endif ++ ++#if defined(CONFIG_FB_BFIN_7393) || defined(CONFIG_FB_BFIN_7393_MODULE) ++ &bfin_fb_adv7393_device, ++#endif ++ ++#if defined(CONFIG_SERIAL_BFIN) || defined(CONFIG_SERIAL_BFIN_MODULE) ++ &bfin_uart_device, ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++ &bfin_sir0_device, ++#endif ++#ifdef CONFIG_BFIN_SIR1 ++ &bfin_sir1_device, ++#endif ++#endif ++ ++#if defined(CONFIG_I2C_BLACKFIN_TWI) || defined(CONFIG_I2C_BLACKFIN_TWI_MODULE) ++ &i2c_bfin_twi_device, ++#endif ++ ++#if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) ++ &bfin_sport0_uart_device, ++ &bfin_sport1_uart_device, ++#endif ++}; ++ ++static int __init stamp_init(void) ++{ ++ printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); ++#if defined(CONFIG_SPI_BFIN) || defined(CONFIG_SPI_BFIN_MODULE) ++ spi_register_board_info(bfin_spi_board_info, ++ ARRAY_SIZE(bfin_spi_board_info)); ++#endif ++ ++ return 0; ++} ++ ++arch_initcall(stamp_init); ++ ++void native_machine_restart(char *cmd) ++{ ++ /* workaround reboot hang when booting from SPI */ ++ if ((bfin_read_SYSCR() & 0x7) == 0x3) ++ bfin_gpio_reset_spi0_ssel1(); ++} ++ ++#if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) ++void bfin_get_ether_addr(char *addr) ++{ ++ random_ether_addr(addr); ++ printk(KERN_WARNING "%s:%s: Setting Ethernet MAC to a random one\n", __FILE__, __func__); ++} ++EXPORT_SYMBOL(bfin_get_ether_addr); ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/Kconfig linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/Kconfig +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/Kconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -33,4 +33,9 @@ + help + Board supply package for CSP Minotaur + ++config GENERIC_BF537_BOARD ++ bool "Generic" ++ help ++ Generic or Custom board support. ++ + endchoice +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/Makefile linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/Makefile +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/Makefile 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -2,6 +2,7 @@ + # arch/blackfin/mach-bf537/boards/Makefile + # + ++obj-$(CONFIG_GENERIC_BF537_BOARD) += generic_board.o + obj-$(CONFIG_BFIN537_STAMP) += stamp.o + obj-$(CONFIG_BFIN537_BLUETECHNIX_CM) += cm_bf537.o + obj-$(CONFIG_BFIN537_BLUETECHNIX_TCM) += tcm_bf537.o +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/minotaur.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/minotaur.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/minotaur.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/minotaur.c 2009-05-10 23:48:28.000000000 +0200 +@@ -61,13 +61,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -134,9 +129,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -156,13 +151,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++ { ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 5000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 0, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 5000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -319,7 +324,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -373,5 +377,5 @@ + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/pnav10.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/pnav10.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/pnav10.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/pnav10.c 2009-05-10 23:48:28.000000000 +0200 +@@ -198,13 +198,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -289,9 +284,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -364,13 +359,23 @@ + .controller_data = &ad9960_spi_chip_info, + }, + #endif +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++ { ++ .modalias = "spi_mmc_dummy", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = 7, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -524,7 +529,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -554,7 +558,7 @@ + #endif + }; + +-static int __init pnav_init(void) ++static int __init stamp_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); +@@ -565,7 +569,7 @@ + return 0; + } + +-arch_initcall(pnav_init); ++arch_initcall(stamp_init); + + void bfin_get_ether_addr(char *addr) + { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/stamp.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/stamp.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/stamp.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/stamp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -321,13 +321,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -1073,6 +1068,7 @@ + }; + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info[] = { + #if defined(CONFIG_JOYSTICK_AD7142) || defined(CONFIG_JOYSTICK_AD7142_MODULE) + { +@@ -1106,6 +1102,7 @@ + }, + #endif + }; ++#endif + + #if defined(CONFIG_SERIAL_BFIN_SPORT) || defined(CONFIG_SERIAL_BFIN_SPORT_MODULE) + static struct platform_device bfin_sport0_uart_device = { +@@ -1220,7 +1217,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -1288,8 +1284,12 @@ + static int __init stamp_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info, + ARRAY_SIZE(bfin_i2c_board_info)); ++#endif ++ + bfin_plat_nand_init(); + platform_add_devices(stamp_devices, ARRAY_SIZE(stamp_devices)); + spi_register_board_info(bfin_spi_board_info, ARRAY_SIZE(bfin_spi_board_info)); +@@ -1307,7 +1307,7 @@ + { + /* workaround reboot hang when booting from SPI */ + if ((bfin_read_SYSCR() & 0x7) == 0x3) +- bfin_reset_boot_spi_cs(P_DEFAULT_BOOT_SPI_CS); ++ bfin_gpio_reset_spi0_ssel1(); + } + + /* +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/tcm_bf537.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/tcm_bf537.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/boards/tcm_bf537.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/boards/tcm_bf537.c 2009-05-10 23:48:28.000000000 +0200 +@@ -108,9 +108,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -160,13 +160,23 @@ + }, + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc_dummy", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = 7, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, ++ .mode = SPI_MODE_3, ++ }, ++ { ++ .modalias = "spi_mmc", ++ .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ ++ .bus_num = 0, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +@@ -471,13 +481,8 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +-static struct platform_device bfin_mii_bus = { +- .name = "bfin_mii_bus", +-}; +- + static struct platform_device bfin_mac_device = { + .name = "bfin_mac", +- .dev.platform_data = &bfin_mii_bus, + }; + #endif + +@@ -588,7 +593,6 @@ + #endif + + #if defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE) +- &bfin_mii_bus, + &bfin_mac_device, + #endif + +@@ -611,7 +615,7 @@ + &bfin_gpios_device, + }; + +-static int __init tcm_bf537_init(void) ++static int __init cm_bf537_init(void) + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); + platform_add_devices(cm_bf537_devices, ARRAY_SIZE(cm_bf537_devices)); +@@ -625,7 +629,7 @@ + return 0; + } + +-arch_initcall(tcm_bf537_init); ++arch_initcall(cm_bf537_init); + + void bfin_get_ether_addr(char *addr) + { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/anomaly.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + * File: include/asm-blackfin/mach-bf537/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + +@@ -110,7 +110,7 @@ + #define ANOMALY_05000301 (1) + /* SSYNCs After Writes To CAN/DMA MMR Registers Are Not Always Handled Correctly */ + #define ANOMALY_05000304 (__SILICON_REVISION__ < 3) +-/* SPORT_HYS Bit in PLL_CTL Register Is Not Functional */ ++/* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ + #define ANOMALY_05000305 (__SILICON_REVISION__ < 3) + /* SCKELOW Bit Does Not Maintain State Through Hibernate */ + #define ANOMALY_05000307 (__SILICON_REVISION__ < 3) +@@ -168,12 +168,9 @@ + #define ANOMALY_05000323 (0) + #define ANOMALY_05000353 (1) + #define ANOMALY_05000363 (0) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000386 (1) + #define ANOMALY_05000412 (0) + #define ANOMALY_05000432 (0) + #define ANOMALY_05000435 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -144,7 +144,7 @@ + CH_UART0_TX, + CH_UART0_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +@@ -158,7 +158,7 @@ + CH_UART1_TX, + CH_UART1_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART1_CTSRTS + CONFIG_UART1_CTS_PIN, + CONFIG_UART1_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf537/include/mach/portmux.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf537/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -31,7 +31,6 @@ + #define P_PPI0_FS1 (P_DEFINED | P_IDENT(GPIO_PF9) | P_FUNCT(1)) + #define P_TACLK0 (P_DEFINED | P_IDENT(GPIO_PF14) | P_FUNCT(1)) + #define P_TMRCLK (P_DEFINED | P_IDENT(GPIO_PF15) | P_FUNCT(1)) +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL1 + + #define P_PPI0_D0 (P_DEFINED | P_IDENT(GPIO_PG0) | P_FUNCT(0)) + #define P_PPI0_D1 (P_DEFINED | P_IDENT(GPIO_PG1) | P_FUNCT(0)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/anomaly.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + * File: include/asm-blackfin/mach-bf538/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + +@@ -120,17 +120,13 @@ + #define ANOMALY_05000198 (0) + #define ANOMALY_05000230 (0) + #define ANOMALY_05000263 (0) +-#define ANOMALY_05000305 (0) + #define ANOMALY_05000311 (0) + #define ANOMALY_05000323 (0) + #define ANOMALY_05000353 (1) + #define ANOMALY_05000363 (0) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000386 (1) + #define ANOMALY_05000412 (0) + #define ANOMALY_05000432 (0) + #define ANOMALY_05000435 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -144,7 +144,7 @@ + CH_UART0_TX, + CH_UART0_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +@@ -158,7 +158,7 @@ + CH_UART1_TX, + CH_UART1_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART1_CTSRTS + CONFIG_UART1_CTS_PIN, + CONFIG_UART1_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf538/include/mach/portmux.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf538/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -102,6 +102,5 @@ + #define P_SPI0_SSEL2 (P_DEFINED | P_IDENT(GPIO_PF2)) + #define P_SPI0_SSEL1 (P_DEFINED | P_IDENT(GPIO_PF1)) + #define P_SPI0_SS (P_DEFINED | P_IDENT(GPIO_PF0)) +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL2 + + #endif /* _MACH_PORTMUX_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/boards/ezkit.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/boards/ezkit.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/boards/ezkit.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/boards/ezkit.c 2009-05-10 23:48:28.000000000 +0200 +@@ -781,6 +781,7 @@ + #endif + #endif + ++#ifdef CONFIG_I2C_BOARDINFO + static struct i2c_board_info __initdata bfin_i2c_board_info0[] = { + }; + +@@ -799,6 +800,7 @@ + #endif + }; + #endif ++#endif + + #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) + #include +@@ -954,12 +956,14 @@ + { + printk(KERN_INFO "%s(): registering device resources\n", __func__); + ++#ifdef CONFIG_I2C_BOARDINFO + i2c_register_board_info(0, bfin_i2c_board_info0, + ARRAY_SIZE(bfin_i2c_board_info0)); + #if !defined(CONFIG_BF542) /* The BF542 only has 1 TWI */ + i2c_register_board_info(1, bfin_i2c_board_info1, + ARRAY_SIZE(bfin_i2c_board_info1)); + #endif ++#endif + + platform_add_devices(ezkit_devices, ARRAY_SIZE(ezkit_devices)); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/anomaly.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,12 +2,12 @@ + * File: include/asm-blackfin/mach-bf548/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + + /* This file shoule be up to date with: +- * - Revision H, 01/16/2009; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List ++ * - Revision G, 08/07/2008; ADSP-BF542/BF544/BF547/BF548/BF549 Blackfin Processor Anomaly List + */ + + #ifndef _MACH_ANOMALY_H_ +@@ -91,6 +91,8 @@ + #define ANOMALY_05000371 (__SILICON_REVISION__ < 2) + /* USB DP/DM Data Pins May Lose State When Entering Hibernate */ + #define ANOMALY_05000372 (__SILICON_REVISION__ < 1) ++/* Mobile DDR Operation Not Functional */ ++#define ANOMALY_05000377 (1) + /* Security/Authentication Speedpath Causes Authentication To Fail To Initiate */ + #define ANOMALY_05000378 (__SILICON_REVISION__ < 2) + /* 16-Bit NAND FLASH Boot Mode Is Not Functional */ +@@ -155,22 +157,8 @@ + #define ANOMALY_05000429 (__SILICON_REVISION__ < 2) + /* Software System Reset Corrupts PLL_LOCKCNT Register */ + #define ANOMALY_05000430 (__SILICON_REVISION__ >= 2) +-/* Incorrect Use of Stack in Lockbox Firmware During Authentication */ +-#define ANOMALY_05000431 (__SILICON_REVISION__ < 3) +-/* OTP Write Accesses Not Supported */ +-#define ANOMALY_05000442 (__SILICON_REVISION__ < 1) + /* IFLUSH Instruction at End of Hardware Loop Causes Infinite Stall */ + #define ANOMALY_05000443 (1) +-/* CDMAPRIO and L2DMAPRIO Bits in the SYSCR Register Are Not Functional */ +-#define ANOMALY_05000446 (1) +-/* UART IrDA Receiver Fails on Extended Bit Pulses */ +-#define ANOMALY_05000447 (1) +-/* DDR Clock Duty Cycle Spec Violation (tCH, tCL) */ +-#define ANOMALY_05000448 (__SILICON_REVISION__ == 1) +-/* Reduced Timing Margins on DDR Output Setup and Hold (tDS and tDH) */ +-#define ANOMALY_05000449 (__SILICON_REVISION__ == 1) +-/* USB DMA Mode 1 Short Packet Data Corruption */ +-#define ANOMALY_05000450 (1 + + /* Anomalies that don't exist on this proc */ + #define ANOMALY_05000125 (0) +@@ -183,13 +171,10 @@ + #define ANOMALY_05000263 (0) + #define ANOMALY_05000266 (0) + #define ANOMALY_05000273 (0) +-#define ANOMALY_05000278 (0) +-#define ANOMALY_05000305 (0) + #define ANOMALY_05000307 (0) + #define ANOMALY_05000311 (0) + #define ANOMALY_05000323 (0) + #define ANOMALY_05000363 (0) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000412 (0) + #define ANOMALY_05000432 (0) + #define ANOMALY_05000435 (0) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/bf548.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/bf548.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/bf548.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/bf548.h 2009-05-10 23:48:28.000000000 +0200 +@@ -104,18 +104,6 @@ + + #define AMGCTLVAL (V_AMBEN | V_AMCKEN) + +-#if defined(CONFIG_BF542M) +-# define CONFIG_BF542 +-#elif defined(CONFIG_BF544M) +-# define CONFIG_BF544 +-#elif defined(CONFIG_BF547M) +-# define CONFIG_BF547 +-#elif defined(CONFIG_BF548M) +-# define CONFIG_BF548 +-#elif defined(CONFIG_BF549M) +-# define CONFIG_BF549 +-#endif +- + #if defined(CONFIG_BF542) + # define CPU "BF542" + # define CPUID 0x27de +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -63,7 +63,7 @@ + #define UART_ENABLE_INTS(x, v) UART_SET_IER(x, v) + #define UART_DISABLE_INTS(x) UART_CLEAR_IER(x, 0xF) + +-#if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART2_CTSRTS) ++#if defined(CONFIG_BFIN_UART0_CTSRTS) || defined(CONFIG_BFIN_UART1_CTSRTS) + # define CONFIG_SERIAL_BFIN_CTSRTS + + # ifndef CONFIG_UART0_CTS_PIN +@@ -74,12 +74,12 @@ + # define CONFIG_UART0_RTS_PIN -1 + # endif + +-# ifndef CONFIG_UART2_CTS_PIN +-# define CONFIG_UART2_CTS_PIN -1 ++# ifndef CONFIG_UART1_CTS_PIN ++# define CONFIG_UART1_CTS_PIN -1 + # endif + +-# ifndef CONFIG_UART2_RTS_PIN +-# define CONFIG_UART2_RTS_PIN -1 ++# ifndef CONFIG_UART1_RTS_PIN ++# define CONFIG_UART1_RTS_PIN -1 + # endif + #endif + +@@ -130,7 +130,7 @@ + CH_UART0_TX, + CH_UART0_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +@@ -144,10 +144,6 @@ + CH_UART1_TX, + CH_UART1_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS +- 0, +- 0, +-#endif + }, + #endif + #ifdef CONFIG_SERIAL_BFIN_UART2 +@@ -158,7 +154,7 @@ + CH_UART2_TX, + CH_UART2_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART2_CTSRTS + CONFIG_UART2_CTS_PIN, + CONFIG_UART2_RTS_PIN, + #endif +@@ -172,10 +168,6 @@ + CH_UART3_TX, + CH_UART3_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS +- 0, +- 0, +-#endif + }, + #endif + }; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/gpio.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/gpio.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/gpio.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/gpio.h 2009-05-10 23:48:28.000000000 +0200 +@@ -195,17 +195,17 @@ + struct gpio_port_t { + unsigned short port_fer; + unsigned short dummy1; +- unsigned short data; ++ unsigned short port_data; + unsigned short dummy2; +- unsigned short data_set; ++ unsigned short port_set; + unsigned short dummy3; +- unsigned short data_clear; ++ unsigned short port_clear; + unsigned short dummy4; +- unsigned short dir_set; ++ unsigned short port_dir_set; + unsigned short dummy5; +- unsigned short dir_clear; ++ unsigned short port_dir_clear; + unsigned short dummy6; +- unsigned short inen; ++ unsigned short port_inen; + unsigned short dummy7; + unsigned int port_mux; + }; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/irq.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/irq.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/irq.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/irq.h 2009-05-10 23:48:28.000000000 +0200 +@@ -123,8 +123,8 @@ + #define IRQ_MXVR_ERROR BFIN_IRQ(51) /* MXVR Status (Error) Interrupt */ + #define IRQ_MXVR_MSG BFIN_IRQ(52) /* MXVR Message Interrupt */ + #define IRQ_MXVR_PKT BFIN_IRQ(53) /* MXVR Packet Interrupt */ +-#define IRQ_EPPI1_ERROR BFIN_IRQ(54) /* EPPI1 Error Interrupt */ +-#define IRQ_EPPI2_ERROR BFIN_IRQ(55) /* EPPI2 Error Interrupt */ ++#define IRQ_EPP1_ERROR BFIN_IRQ(54) /* EPPI1 Error Interrupt */ ++#define IRQ_EPP2_ERROR BFIN_IRQ(55) /* EPPI2 Error Interrupt */ + #define IRQ_UART3_ERROR BFIN_IRQ(56) /* UART3 Status (Error) Interrupt */ + #define IRQ_HOST_ERROR BFIN_IRQ(57) /* HOST Status (Error) Interrupt */ + #define IRQ_PIXC_ERROR BFIN_IRQ(59) /* PIXC Status (Error) Interrupt */ +@@ -361,8 +361,8 @@ + #define IRQ_UART2_ERR IRQ_UART2_ERROR + #define IRQ_CAN0_ERR IRQ_CAN0_ERROR + #define IRQ_MXVR_ERR IRQ_MXVR_ERROR +-#define IRQ_EPPI1_ERR IRQ_EPPI1_ERROR +-#define IRQ_EPPI2_ERR IRQ_EPPI2_ERROR ++#define IRQ_EPP1_ERR IRQ_EPP1_ERROR ++#define IRQ_EPP2_ERR IRQ_EPP2_ERROR + #define IRQ_UART3_ERR IRQ_UART3_ERROR + #define IRQ_HOST_ERR IRQ_HOST_ERROR + #define IRQ_PIXC_ERR IRQ_PIXC_ERROR +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf548/include/mach/portmux.h 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf548/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -125,7 +125,6 @@ + #define P_KEY_COL2 (P_DEFINED | P_IDENT(GPIO_PD14) | P_FUNCT(3)) + #define P_KEY_COL3 (P_DEFINED | P_IDENT(GPIO_PD15) | P_FUNCT(3)) + +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL1 + #define P_SPI0_SCK (P_DEFINED | P_IDENT(GPIO_PE0) | P_FUNCT(0)) + #define P_SPI0_MISO (P_DEFINED | P_IDENT(GPIO_PE1) | P_FUNCT(0)) + #define P_SPI0_MOSI (P_DEFINED | P_IDENT(GPIO_PE2) | P_FUNCT(0)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/cm_bf561.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/cm_bf561.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/cm_bf561.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/cm_bf561.c 2009-05-10 23:48:28.000000000 +0200 +@@ -105,9 +105,9 @@ + }; + #endif + +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) +-static struct bfin5xx_spi_chip mmc_spi_chip_info = { +- .enable_dma = 0, ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) ++static struct bfin5xx_spi_chip spi_mmc_chip_info = { ++ .enable_dma = 1, + .bits_per_word = 8, + }; + #endif +@@ -155,13 +155,14 @@ + .controller_data = &ad9960_spi_chip_info, + }, + #endif +-#if defined(CONFIG_MMC_SPI) || defined(CONFIG_MMC_SPI_MODULE) ++#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE) + { +- .modalias = "mmc_spi", ++ .modalias = "spi_mmc", + .max_speed_hz = 25000000, /* max spi clock (SCK) speed in HZ */ + .bus_num = 0, +- .chip_select = 5, +- .controller_data = &mmc_spi_chip_info, ++ .chip_select = CONFIG_SPI_MMC_CS_CHAN, ++ .platform_data = NULL, ++ .controller_data = &spi_mmc_chip_info, + .mode = SPI_MODE_3, + }, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/generic_board.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/generic_board.c +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/generic_board.c 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/generic_board.c 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,113 @@ ++/* ++ * File: arch/blackfin/mach-bf561/generic_board.c ++ * Based on: arch/blackfin/mach-bf533/ezkit.c ++ * Author: Aidan Williams ++ * ++ * Created: ++ * Description: ++ * ++ * Modified: ++ * Copyright 2005 National ICT Australia (NICTA) ++ * Copyright 2004-2006 Analog Devices Inc. ++ * ++ * Bugs: Enter bugs at http://blackfin.uclinux.org/ ++ * ++ * 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. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see the file COPYING, or write ++ * to the Free Software Foundation, Inc., ++ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ++ */ ++ ++#include ++#include ++#include ++ ++const char bfin_board_name[] = "UNKNOWN BOARD"; ++ ++/* ++ * Driver needs to know address, irq and flag pin. ++ */ ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++static struct resource smc91x_resources[] = { ++ { ++ .start = 0x2C010300, ++ .end = 0x2C010300 + 16, ++ .flags = IORESOURCE_MEM, ++ }, { ++ .start = IRQ_PROG_INTB, ++ .end = IRQ_PROG_INTB, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, { ++ .start = IRQ_PF9, ++ .end = IRQ_PF9, ++ .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, ++ }, ++}; ++ ++static struct platform_device smc91x_device = { ++ .name = "smc91x", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(smc91x_resources), ++ .resource = smc91x_resources, ++}; ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++static struct resource bfin_sir0_resources[] = { ++ { ++ .start = 0xFFC00400, ++ .end = 0xFFC004FF, ++ .flags = IORESOURCE_MEM, ++ }, ++ { ++ .start = IRQ_UART0_RX, ++ .end = IRQ_UART0_RX+1, ++ .flags = IORESOURCE_IRQ, ++ }, ++ { ++ .start = CH_UART0_RX, ++ .end = CH_UART0_RX+1, ++ .flags = IORESOURCE_DMA, ++ }, ++}; ++ ++static struct platform_device bfin_sir0_device = { ++ .name = "bfin_sir", ++ .id = 0, ++ .num_resources = ARRAY_SIZE(bfin_sir0_resources), ++ .resource = bfin_sir0_resources, ++}; ++#endif ++#endif ++ ++static struct platform_device *generic_board_devices[] __initdata = { ++#if defined(CONFIG_SMC91X) || defined(CONFIG_SMC91X_MODULE) ++ &smc91x_device, ++#endif ++ ++#if defined(CONFIG_BFIN_SIR) || defined(CONFIG_BFIN_SIR_MODULE) ++#ifdef CONFIG_BFIN_SIR0 ++ &bfin_sir0_device, ++#endif ++#endif ++}; ++ ++static int __init generic_board_init(void) ++{ ++ printk(KERN_INFO "%s(): registering device resources\n", __func__); ++ return platform_add_devices(generic_board_devices, ++ ARRAY_SIZE(generic_board_devices)); ++} ++ ++arch_initcall(generic_board_init); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/Kconfig linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/Kconfig +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/Kconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -19,4 +19,9 @@ + help + CM-BF561 support for EVAL- and DEV-Board. + ++config GENERIC_BF561_BOARD ++ bool "Generic" ++ help ++ Generic or Custom board support. ++ + endchoice +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/Makefile linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/Makefile +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/boards/Makefile 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/boards/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -2,6 +2,7 @@ + # arch/blackfin/mach-bf561/boards/Makefile + # + ++obj-$(CONFIG_GENERIC_BF561_BOARD) += generic_board.o + obj-$(CONFIG_BFIN561_BLUETECHNIX_CM) += cm_bf561.o + obj-$(CONFIG_BFIN561_EZKIT) += ezkit.o + obj-$(CONFIG_BFIN561_TEPLA) += tepla.o +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/anomaly.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/anomaly.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/anomaly.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/anomaly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + * File: include/asm-blackfin/mach-bf561/anomaly.h + * Bugs: Enter bugs at http://blackfin.uclinux.org/ + * +- * Copyright (C) 2004-2009 Analog Devices Inc. ++ * Copyright (C) 2004-2008 Analog Devices Inc. + * Licensed under the GPL-2 or later. + */ + +@@ -224,7 +224,7 @@ + #define ANOMALY_05000301 (1) + /* SSYNCs After Writes To DMA MMR Registers May Not Be Handled Correctly */ + #define ANOMALY_05000302 (1) +-/* SPORT_HYS Bit in PLL_CTL Register Is Not Functional */ ++/* New Feature: Additional Hysteresis on SPORT Input Pins (Not Available On Older Silicon) */ + #define ANOMALY_05000305 (__SILICON_REVISION__ < 5) + /* SCKELOW Bit Does Not Maintain State Through Hibernate */ + #define ANOMALY_05000307 (__SILICON_REVISION__ < 5) +@@ -283,11 +283,8 @@ + #define ANOMALY_05000273 (0) + #define ANOMALY_05000311 (0) + #define ANOMALY_05000353 (1) +-#define ANOMALY_05000380 (0) + #define ANOMALY_05000386 (1) + #define ANOMALY_05000432 (0) + #define ANOMALY_05000435 (0) +-#define ANOMALY_05000447 (0) +-#define ANOMALY_05000448 (0) + + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/bfin_serial_5xx.h 2009-05-10 23:48:28.000000000 +0200 +@@ -134,7 +134,7 @@ + CH_UART_TX, + CH_UART_RX, + #endif +-#ifdef CONFIG_SERIAL_BFIN_CTSRTS ++#ifdef CONFIG_BFIN_UART0_CTSRTS + CONFIG_UART0_CTS_PIN, + CONFIG_UART0_RTS_PIN, + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/defBF561.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/defBF561.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/defBF561.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/defBF561.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1106,8 +1106,6 @@ + #define DLEN_8 0x0 /* PPI Data Length mask for DLEN=8 */ + #define DLEN(x) (((x-9) & 0x07) << 11) /* PPI Data Length (only works for x=10-->x=16) */ + #define POL 0x0000C000 /* PPI Signal Polarities */ +-#define POLC 0x4000 /* PPI Clock Polarity */ +-#define POLS 0x8000 /* PPI Frame Sync Polarity */ + + /* PPI_STATUS Masks */ + #define FLD 0x00000400 /* Field Indicator */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/portmux.h linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/portmux.h +--- linux-2.6.29.owrt/arch/blackfin/mach-bf561/include/mach/portmux.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-bf561/include/mach/portmux.h 2009-05-10 23:48:28.000000000 +0200 +@@ -85,6 +85,5 @@ + #define P_SPI0_MOSI (P_DONTCARE) + #define P_SPI0_MISO (P_DONTCARE) + #define P_SPI0_SCK (P_DONTCARE) +-#define P_DEFAULT_BOOT_SPI_CS P_SPI0_SSEL2 + + #endif /* _MACH_PORTMUX_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/arch_checks.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/arch_checks.c +--- linux-2.6.29.owrt/arch/blackfin/mach-common/arch_checks.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/arch_checks.c 2009-05-10 23:48:28.000000000 +0200 +@@ -62,12 +62,3 @@ + #if (CONFIG_BOOT_LOAD & 0x3) + # error "The kernel load address must be 4 byte aligned" + #endif +- +-/* The entire kernel must be able to make a 24bit pcrel call to start of L1 */ +-#if ((0xffffffff - L1_CODE_START + 1) + CONFIG_BOOT_LOAD) > 0x1000000 +-# error "The kernel load address is too high; keep it below 10meg for safety" +-#endif +- +-#if ANOMALY_05000448 +-# error You are using a part with anomaly 05000448, this issue causes random memory read/write failures - that means random crashes. +-#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/cache.S linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/cache.S +--- linux-2.6.29.owrt/arch/blackfin/mach-common/cache.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/cache.S 2009-05-10 23:48:28.000000000 +0200 +@@ -66,33 +66,11 @@ + + /* Invalidate all instruction cache lines assocoiated with this memory area */ + ENTRY(_blackfin_icache_flush_range) +-/* +- * Walkaround to avoid loading wrong instruction after invalidating icache +- * and following sequence is met. +- * +- * 1) One instruction address is cached in the instruction cache. +- * 2) This instruction in SDRAM is changed. +- * 3) IFLASH[P0] is executed only once in blackfin_icache_flush_range(). +- * 4) This instruction is executed again, but the old one is loaded. +- */ +- P0 = R0; +- IFLUSH[P0]; + do_flush IFLUSH, , nop + ENDPROC(_blackfin_icache_flush_range) + + /* Flush all cache lines assocoiated with this area of memory. */ + ENTRY(_blackfin_icache_dcache_flush_range) +-/* +- * Walkaround to avoid loading wrong instruction after invalidating icache +- * and following sequence is met. +- * +- * 1) One instruction address is cached in the instruction cache. +- * 2) This instruction in SDRAM is changed. +- * 3) IFLASH[P0] is executed only once in blackfin_icache_flush_range(). +- * 4) This instruction is executed again, but the old one is loaded. +- */ +- P0 = R0; +- IFLUSH[P0]; + do_flush FLUSH, IFLUSH + ENDPROC(_blackfin_icache_dcache_flush_range) + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/clocks-init.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/clocks-init.c +--- linux-2.6.29.owrt/arch/blackfin/mach-common/clocks-init.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/clocks-init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -14,10 +14,9 @@ + #include + #include + +-#define SDGCTL_WIDTH (1 << 31) /* SDRAM external data path width */ + #define PLL_CTL_VAL \ + (((CONFIG_VCO_MULT & 63) << 9) | CLKIN_HALF | \ +- (PLL_BYPASS << 8) | (ANOMALY_05000305 ? 0 : 0x8000)) ++ (PLL_BYPASS << 8) | (ANOMALY_05000265 ? 0x8000 : 0)) + + __attribute__((l1_text)) + static void do_sync(void) +@@ -77,7 +76,7 @@ + bfin_write_PLL_DIV(CONFIG_CCLK_ACT_DIV | CONFIG_SCLK_DIV); + #ifdef EBIU_SDGCTL + bfin_write_EBIU_SDRRC(mem_SDRRC); +- bfin_write_EBIU_SDGCTL((bfin_read_EBIU_SDGCTL() & SDGCTL_WIDTH) | mem_SDGCTL); ++ bfin_write_EBIU_SDGCTL(mem_SDGCTL); + #else + bfin_write_EBIU_RSTCTL(bfin_read_EBIU_RSTCTL() & ~(SRREQ)); + do_sync(); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/dpmc_modes.S linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/dpmc_modes.S +--- linux-2.6.29.owrt/arch/blackfin/mach-common/dpmc_modes.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/dpmc_modes.S 2009-05-10 23:48:28.000000000 +0200 +@@ -376,22 +376,10 @@ + #endif + + #ifdef PINT0_ASSIGN +- PM_SYS_PUSH(PINT0_MASK_SET) +- PM_SYS_PUSH(PINT1_MASK_SET) +- PM_SYS_PUSH(PINT2_MASK_SET) +- PM_SYS_PUSH(PINT3_MASK_SET) + PM_SYS_PUSH(PINT0_ASSIGN) + PM_SYS_PUSH(PINT1_ASSIGN) + PM_SYS_PUSH(PINT2_ASSIGN) + PM_SYS_PUSH(PINT3_ASSIGN) +- PM_SYS_PUSH(PINT0_INVERT_SET) +- PM_SYS_PUSH(PINT1_INVERT_SET) +- PM_SYS_PUSH(PINT2_INVERT_SET) +- PM_SYS_PUSH(PINT3_INVERT_SET) +- PM_SYS_PUSH(PINT0_EDGE_SET) +- PM_SYS_PUSH(PINT1_EDGE_SET) +- PM_SYS_PUSH(PINT2_EDGE_SET) +- PM_SYS_PUSH(PINT3_EDGE_SET) + #endif + + PM_SYS_PUSH(EBIU_AMBCTL0) +@@ -726,22 +714,10 @@ + PM_SYS_POP(EBIU_AMBCTL0) + + #ifdef PINT0_ASSIGN +- PM_SYS_POP(PINT3_EDGE_SET) +- PM_SYS_POP(PINT2_EDGE_SET) +- PM_SYS_POP(PINT1_EDGE_SET) +- PM_SYS_POP(PINT0_EDGE_SET) +- PM_SYS_POP(PINT3_INVERT_SET) +- PM_SYS_POP(PINT2_INVERT_SET) +- PM_SYS_POP(PINT1_INVERT_SET) +- PM_SYS_POP(PINT0_INVERT_SET) + PM_SYS_POP(PINT3_ASSIGN) + PM_SYS_POP(PINT2_ASSIGN) + PM_SYS_POP(PINT1_ASSIGN) + PM_SYS_POP(PINT0_ASSIGN) +- PM_SYS_POP(PINT3_MASK_SET) +- PM_SYS_POP(PINT2_MASK_SET) +- PM_SYS_POP(PINT1_MASK_SET) +- PM_SYS_POP(PINT0_MASK_SET) + #endif + + #ifdef SICA_IWR1 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/entry.S linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/entry.S +--- linux-2.6.29.owrt/arch/blackfin/mach-common/entry.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/entry.S 2009-05-10 23:48:28.000000000 +0200 +@@ -151,6 +151,13 @@ + jump.s _bfin_return_from_exception; + ENDPROC(_ex_syscall) + ++ENTRY(_ex_soft_bp) ++ r7 = retx; ++ r7 += -2; ++ retx = r7; ++ jump.s _ex_trap_c; ++ENDPROC(_ex_soft_bp) ++ + ENTRY(_ex_single_step) + /* If we just returned from an interrupt, the single step event is + for the RTI instruction. */ +@@ -600,19 +607,6 @@ + p2 = [p2]; + + [p2+(TASK_THREAD+THREAD_KSP)] = sp; +-#ifdef CONFIG_IPIPE +- r0 = sp; +- SP += -12; +- call ___ipipe_syscall_root; +- SP += 12; +- cc = r0 == 1; +- if cc jump .Lsyscall_really_exit; +- cc = r0 == -1; +- if cc jump .Lresume_userspace; +- r3 = [sp + PT_R3]; +- r4 = [sp + PT_R4]; +- p0 = [sp + PT_ORIG_P0]; +-#endif /* CONFIG_IPIPE */ + + /* Check the System Call */ + r7 = __NR_syscall; +@@ -667,17 +661,6 @@ + r7 = r7 & r4; + + .Lsyscall_resched: +-#ifdef CONFIG_IPIPE +- cc = BITTST(r7, TIF_IRQ_SYNC); +- if !cc jump .Lsyscall_no_irqsync; +- [--sp] = reti; +- r0 = [sp++]; +- SP += -12; +- call ___ipipe_sync_root; +- SP += 12; +- jump .Lresume_userspace_1; +-.Lsyscall_no_irqsync: +-#endif + cc = BITTST(r7, TIF_NEED_RESCHED); + if !cc jump .Lsyscall_sigpending; + +@@ -709,10 +692,6 @@ + .Lsyscall_really_exit: + r5 = [sp + PT_RESERVED]; + rets = r5; +-#ifdef CONFIG_IPIPE +- [--sp] = reti; +- r5 = [sp++]; +-#endif /* CONFIG_IPIPE */ + rts; + ENDPROC(_system_call) + +@@ -799,15 +778,6 @@ + ENDPROC(_resume) + + ENTRY(_ret_from_exception) +-#ifdef CONFIG_IPIPE +- [--sp] = rets; +- SP += -12; +- call ___ipipe_check_root +- SP += 12 +- rets = [sp++]; +- cc = r0 == 0; +- if cc jump 4f; /* not on behalf of Linux, get out */ +-#endif /* CONFIG_IPIPE */ + p2.l = lo(IPEND); + p2.h = hi(IPEND); + +@@ -864,28 +834,6 @@ + rts; + ENDPROC(_ret_from_exception) + +-#ifdef CONFIG_IPIPE +- +-_sync_root_irqs: +- [--sp] = reti; /* Reenable interrupts */ +- r0 = [sp++]; +- jump.l ___ipipe_sync_root +- +-_resume_kernel_from_int: +- r0.l = _sync_root_irqs +- r0.h = _sync_root_irqs +- [--sp] = rets; +- [--sp] = ( r7:4, p5:3 ); +- SP += -12; +- call ___ipipe_call_irqtail +- SP += 12; +- ( r7:4, p5:3 ) = [sp++]; +- rets = [sp++]; +- rts +-#else +-#define _resume_kernel_from_int 2f +-#endif +- + ENTRY(_return_from_int) + /* If someone else already raised IRQ 15, do nothing. */ + csync; +@@ -907,7 +855,7 @@ + r1 = r0 - r1; + r2 = r0 & r1; + cc = r2 == 0; +- if !cc jump _resume_kernel_from_int; ++ if !cc jump 2f; + + /* Lower the interrupt level to 15. */ + p0.l = lo(EVT15); +@@ -1139,7 +1087,7 @@ + * EXCPT instruction can provide 4 bits of EXCAUSE, allowing 16 to be user defined + */ + .long _ex_syscall /* 0x00 - User Defined - Linux Syscall */ +- .long _ex_trap_c /* 0x01 - User Defined - Software breakpoint */ ++ .long _ex_soft_bp /* 0x01 - User Defined - Software breakpoint */ + #ifdef CONFIG_KGDB + .long _ex_trap_c /* 0x02 - User Defined - KGDB initial connection + and break signal trap */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/head.S linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/head.S +--- linux-2.6.29.owrt/arch/blackfin/mach-common/head.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/head.S 2009-05-10 23:48:28.000000000 +0200 +@@ -17,19 +17,6 @@ + + __INIT + +-ENTRY(__init_clear_bss) +- r2 = r2 - r1; +- cc = r2 == 0; +- if cc jump .L_bss_done; +- r2 >>= 2; +- p1 = r1; +- p2 = r2; +- lsetup (1f, 1f) lc0 = p2; +-1: [p1++] = r0; +-.L_bss_done: +- rts; +-ENDPROC(__init_clear_bss) +- + #define INITIAL_STACK (L1_SCRATCH_START + L1_SCRATCH_LENGTH - 12) + + ENTRY(__start) +@@ -157,35 +144,6 @@ + call _init_early_exception_vectors; + #endif + +- r0 = 0 (x); +- /* Zero out all of the fun bss regions */ +-#if L1_DATA_A_LENGTH > 0 +- r1.l = __sbss_l1; +- r1.h = __sbss_l1; +- r2.l = __ebss_l1; +- r2.h = __ebss_l1; +- call __init_clear_bss +-#endif +-#if L1_DATA_B_LENGTH > 0 +- r1.l = __sbss_b_l1; +- r1.h = __sbss_b_l1; +- r2.l = __ebss_b_l1; +- r2.h = __ebss_b_l1; +- call __init_clear_bss +-#endif +-#if L2_LENGTH > 0 +- r1.l = __sbss_l2; +- r1.h = __sbss_l2; +- r2.l = __ebss_l2; +- r2.h = __ebss_l2; +- call __init_clear_bss +-#endif +- r1.l = ___bss_start; +- r1.h = ___bss_start; +- r2.l = ___bss_stop; +- r2.h = ___bss_stop; +- call __init_clear_bss +- + /* Put The Code for PLL Programming and SDRAM Programming in L1 ISRAM */ + call _bfin_relocate_l1_mem; + #ifdef CONFIG_BFIN_KERNEL_CLOCK +@@ -227,6 +185,19 @@ + # define WDOG_CTL WDOGA_CTL + #endif + ++ENTRY(__init_clear_bss) ++ r2 = r2 - r1; ++ cc = r2 == 0; ++ if cc jump .L_bss_done; ++ r2 >>= 2; ++ p1 = r1; ++ p2 = r2; ++ lsetup (1f, 1f) lc0 = p2; ++1: [p1++] = r0; ++.L_bss_done: ++ rts; ++ENDPROC(__init_clear_bss) ++ + ENTRY(_real_start) + /* Enable nested interrupts */ + [--sp] = reti; +@@ -238,6 +209,35 @@ + w[p0] = r0; + ssync; + ++ r0 = 0 (x); ++ /* Zero out all of the fun bss regions */ ++#if L1_DATA_A_LENGTH > 0 ++ r1.l = __sbss_l1; ++ r1.h = __sbss_l1; ++ r2.l = __ebss_l1; ++ r2.h = __ebss_l1; ++ call __init_clear_bss ++#endif ++#if L1_DATA_B_LENGTH > 0 ++ r1.l = __sbss_b_l1; ++ r1.h = __sbss_b_l1; ++ r2.l = __ebss_b_l1; ++ r2.h = __ebss_b_l1; ++ call __init_clear_bss ++#endif ++#if L2_LENGTH > 0 ++ r1.l = __sbss_l2; ++ r1.h = __sbss_l2; ++ r2.l = __ebss_l2; ++ r2.h = __ebss_l2; ++ call __init_clear_bss ++#endif ++ r1.l = ___bss_start; ++ r1.h = ___bss_start; ++ r2.l = ___bss_stop; ++ r2.h = ___bss_stop; ++ call __init_clear_bss ++ + /* Pass the u-boot arguments to the global value command line */ + R0 = R7; + call _cmdline_init; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/interrupt.S linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/interrupt.S +--- linux-2.6.29.owrt/arch/blackfin/mach-common/interrupt.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/interrupt.S 2009-05-10 23:48:28.000000000 +0200 +@@ -195,7 +195,7 @@ + /* Interrupt routine for evt2 (NMI). + * We don't actually use this, so just return. + * For inner circle type details, please see: +- * http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:nmi ++ * http://docs.blackfin.uclinux.org/doku.php?id=linux:nmi + */ + ENTRY(_evt_nmi) + .weak _evt_nmi +@@ -235,7 +235,6 @@ + + #ifdef CONFIG_IPIPE + ENTRY(___ipipe_call_irqtail) +- p0 = r0; + r0.l = 1f; + r0.h = 1f; + reti = r0; +@@ -243,6 +242,9 @@ + 1: + [--sp] = rets; + [--sp] = ( r7:4, p5:3 ); ++ p0.l = ___ipipe_irq_tail_hook; ++ p0.h = ___ipipe_irq_tail_hook; ++ p0 = [p0]; + sp += -12; + call (p0); + sp += 12; +@@ -257,7 +259,7 @@ + p0.h = hi(EVT14); + [p0] = r0; + csync; +- r0 = 0x401f (z); ++ r0 = 0x401f; + sti r0; + raise 14; + [--sp] = reti; /* IRQs on. */ +@@ -275,7 +277,11 @@ + p0.h = _bfin_irq_flags; + r0 = [p0]; + sti r0; ++#if 0 /* FIXME: this actually raises scheduling latencies */ ++ /* Reenable interrupts */ ++ [--sp] = reti; ++ r0 = [sp++]; ++#endif + rts; + ENDPROC(___ipipe_call_irqtail) +- + #endif /* CONFIG_IPIPE */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/ints-priority.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/ints-priority.c +--- linux-2.6.29.owrt/arch/blackfin/mach-common/ints-priority.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/ints-priority.c 2009-05-10 23:48:28.000000000 +0200 +@@ -161,15 +161,11 @@ + + static void bfin_internal_mask_irq(unsigned int irq) + { +- unsigned long flags; +- + #ifdef CONFIG_BF53x +- local_irq_save_hw(flags); + bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() & + ~(1 << SIC_SYSIRQ(irq))); + #else + unsigned mask_bank, mask_bit; +- local_irq_save_hw(flags); + mask_bank = SIC_SYSIRQ(irq) / 32; + mask_bit = SIC_SYSIRQ(irq) % 32; + bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) & +@@ -179,20 +175,15 @@ + ~(1 << mask_bit)); + #endif + #endif +- local_irq_restore_hw(flags); + } + + static void bfin_internal_unmask_irq(unsigned int irq) + { +- unsigned long flags; +- + #ifdef CONFIG_BF53x +- local_irq_save_hw(flags); + bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() | + (1 << SIC_SYSIRQ(irq))); + #else + unsigned mask_bank, mask_bit; +- local_irq_save_hw(flags); + mask_bank = SIC_SYSIRQ(irq) / 32; + mask_bit = SIC_SYSIRQ(irq) % 32; + bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) | +@@ -202,7 +193,6 @@ + (1 << mask_bit)); + #endif + #endif +- local_irq_restore_hw(flags); + } + + #ifdef CONFIG_PM +@@ -400,7 +390,7 @@ + static inline void bfin_set_irq_handler(unsigned irq, irq_flow_handler_t handle) + { + #ifdef CONFIG_IPIPE +- _set_irq_handler(irq, handle_level_irq); ++ _set_irq_handler(irq, handle_edge_irq); + #else + struct irq_desc *desc = irq_desc + irq; + /* May not call generic set_irq_handler() due to spinlock +@@ -1065,18 +1055,13 @@ + #endif + default: + #ifdef CONFIG_IPIPE +- /* +- * We want internal interrupt sources to be +- * masked, because ISRs may trigger interrupts +- * recursively (e.g. DMA), but interrupts are +- * _not_ masked at CPU level. So let's handle +- * most of them as level interrupts, except +- * the timer interrupt which is special. +- */ +- if (irq == IRQ_SYSTMR || irq == IRQ_CORETMR) +- set_irq_handler(irq, handle_simple_irq); +- else +- set_irq_handler(irq, handle_level_irq); ++ /* ++ * We want internal interrupt sources to be masked, because ++ * ISRs may trigger interrupts recursively (e.g. DMA), but ++ * interrupts are _not_ masked at CPU level. So let's handle ++ * them as level interrupts. ++ */ ++ set_irq_handler(irq, handle_level_irq); + #else /* !CONFIG_IPIPE */ + set_irq_handler(irq, handle_simple_irq); + #endif /* !CONFIG_IPIPE */ +@@ -1116,9 +1101,10 @@ + IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 | + IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | IMASK_IVGHW; + +-#ifdef SIC_IWR0 ++#if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) \ ++ || defined(BF538_FAMILY) || defined(CONFIG_BF51x) + bfin_write_SIC_IWR0(IWR_DISABLE_ALL); +-# ifdef SIC_IWR1 ++#if defined(CONFIG_BF52x) || defined(CONFIG_BF51x) + /* BF52x/BF51x system reset does not properly reset SIC_IWR1 which + * will screw up the bootrom as it relies on MDMA0/1 waking it + * up from IDLE instructions. See this report for more info: +@@ -1128,8 +1114,10 @@ + bfin_write_SIC_IWR1(IWR_ENABLE(10) | IWR_ENABLE(11)); + else + bfin_write_SIC_IWR1(IWR_DISABLE_ALL); +-# endif +-# ifdef SIC_IWR2 ++#else ++ bfin_write_SIC_IWR1(IWR_DISABLE_ALL); ++#endif ++# ifdef CONFIG_BF54x + bfin_write_SIC_IWR2(IWR_DISABLE_ALL); + # endif + #else +@@ -1138,8 +1126,9 @@ + + #ifdef CONFIG_IPIPE + for (irq = 0; irq < NR_IRQS; irq++) { +- struct irq_desc *desc = irq_to_desc(irq); ++ struct irq_desc *desc = irq_desc + irq; + desc->ic_prio = __ipipe_get_irq_priority(irq); ++ desc->thr_prio = __ipipe_get_irqthread_priority(irq); + } + #endif /* CONFIG_IPIPE */ + +@@ -1222,21 +1211,76 @@ + return IVG15; + } + ++int __ipipe_get_irqthread_priority(unsigned irq) ++{ ++ int ient, prio; ++ int demux_irq; ++ ++ /* The returned priority value is rescaled to [0..IVG13+1] ++ * with 0 being the lowest effective priority level. */ ++ ++ if (irq <= IRQ_CORETMR) ++ return IVG13 - irq + 1; ++ ++ /* GPIO IRQs are given the priority of the demux ++ * interrupt. */ ++ if (IS_GPIOIRQ(irq)) { ++#if defined(CONFIG_BF54x) ++ u32 bank = PINT_2_BANK(irq2pint_lut[irq - SYS_IRQS]); ++ demux_irq = (bank == 0 ? IRQ_PINT0 : ++ bank == 1 ? IRQ_PINT1 : ++ bank == 2 ? IRQ_PINT2 : ++ IRQ_PINT3); ++#elif defined(CONFIG_BF561) ++ demux_irq = (irq >= IRQ_PF32 ? IRQ_PROG2_INTA : ++ irq >= IRQ_PF16 ? IRQ_PROG1_INTA : ++ IRQ_PROG0_INTA); ++#elif defined(CONFIG_BF52x) ++ demux_irq = (irq >= IRQ_PH0 ? IRQ_PORTH_INTA : ++ irq >= IRQ_PG0 ? IRQ_PORTG_INTA : ++ IRQ_PORTF_INTA); ++#else ++ demux_irq = irq; ++#endif ++ return IVG13 - PRIO_GPIODEMUX(demux_irq) + 1; ++ } ++ ++ /* The GPIO demux interrupt is given a lower priority ++ * than the GPIO IRQs, so that its threaded handler ++ * unmasks the interrupt line after the decoded IRQs ++ * have been processed. */ ++ prio = PRIO_GPIODEMUX(irq); ++ /* demux irq? */ ++ if (prio != -1) ++ return IVG13 - prio; ++ ++ for (ient = 0; ient < NR_PERI_INTS; ient++) { ++ struct ivgx *ivg = ivg_table + ient; ++ if (ivg->irqno == irq) { ++ for (prio = 0; prio <= IVG13-IVG7; prio++) { ++ if (ivg7_13[prio].ifirst <= ivg && ++ ivg7_13[prio].istop > ivg) ++ return IVG7 - prio; ++ } ++ } ++ } ++ ++ return 0; ++} ++ + /* Hw interrupts are disabled on entry (check SAVE_CONTEXT). */ + #ifdef CONFIG_DO_IRQ_L1 + __attribute__((l1_text)) + #endif + asmlinkage int __ipipe_grab_irq(int vec, struct pt_regs *regs) + { +- struct ipipe_percpu_domain_data *p = ipipe_root_cpudom_ptr(); +- struct ipipe_domain *this_domain = ipipe_current_domain; + struct ivgx *ivg_stop = ivg7_13[vec-IVG7].istop; + struct ivgx *ivg = ivg7_13[vec-IVG7].ifirst; +- int irq, s; ++ int irq; + + if (likely(vec == EVT_IVTMR_P)) { + irq = IRQ_CORETMR; +- goto core_tick; ++ goto handle_irq; + } + + SSYNC(); +@@ -1278,39 +1322,24 @@ + irq = ivg->irqno; + + if (irq == IRQ_SYSTMR) { +-#ifdef CONFIG_GENERIC_CLOCKEVENTS +-core_tick: +-#else + bfin_write_TIMER_STATUS(1); /* Latch TIMIL0 */ +-#endif + /* This is basically what we need from the register frame. */ + __raw_get_cpu_var(__ipipe_tick_regs).ipend = regs->ipend; + __raw_get_cpu_var(__ipipe_tick_regs).pc = regs->pc; +- if (this_domain != ipipe_root_domain) +- __raw_get_cpu_var(__ipipe_tick_regs).ipend &= ~0x10; +- else ++ if (!ipipe_root_domain_p) + __raw_get_cpu_var(__ipipe_tick_regs).ipend |= 0x10; ++ else ++ __raw_get_cpu_var(__ipipe_tick_regs).ipend &= ~0x10; + } + +-#ifndef CONFIG_GENERIC_CLOCKEVENTS +-core_tick: +-#endif +- if (this_domain == ipipe_root_domain) { +- s = __test_and_set_bit(IPIPE_SYNCDEFER_FLAG, &p->status); +- barrier(); +- } ++handle_irq: + + ipipe_trace_irq_entry(irq); + __ipipe_handle_irq(irq, regs); +- ipipe_trace_irq_exit(irq); ++ ipipe_trace_irq_exit(irq); + +- if (this_domain == ipipe_root_domain) { +- set_thread_flag(TIF_IRQ_SYNC); +- if (!s) { +- __clear_bit(IPIPE_SYNCDEFER_FLAG, &p->status); +- return !test_bit(IPIPE_STALL_FLAG, &p->status); +- } +- } ++ if (ipipe_root_domain_p) ++ return !test_bit(IPIPE_STALL_FLAG, &ipipe_root_cpudom_var(status)); + + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/pm.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/pm.c +--- linux-2.6.29.owrt/arch/blackfin/mach-common/pm.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/pm.c 2009-05-10 23:48:28.000000000 +0200 +@@ -82,9 +82,10 @@ + + bfin_pm_standby_restore(); + +-#ifdef SIC_IWR0 ++#if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561) || \ ++ defined(CONFIG_BF538) || defined(CONFIG_BF539) || defined(CONFIG_BF51x) + bfin_write_SIC_IWR0(IWR_DISABLE_ALL); +-# ifdef SIC_IWR1 ++#if defined(CONFIG_BF52x) || defined(CONFIG_BF51x) + /* BF52x system reset does not properly reset SIC_IWR1 which + * will screw up the bootrom as it relies on MDMA0/1 waking it + * up from IDLE instructions. See this report for more info: +@@ -94,8 +95,10 @@ + bfin_write_SIC_IWR1(IWR_ENABLE(10) | IWR_ENABLE(11)); + else + bfin_write_SIC_IWR1(IWR_DISABLE_ALL); +-# endif +-# ifdef SIC_IWR2 ++#else ++ bfin_write_SIC_IWR1(IWR_DISABLE_ALL); ++#endif ++# ifdef CONFIG_BF54x + bfin_write_SIC_IWR2(IWR_DISABLE_ALL); + # endif + #else +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mach-common/smp.c linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/smp.c +--- linux-2.6.29.owrt/arch/blackfin/mach-common/smp.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mach-common/smp.c 2009-05-10 23:48:28.000000000 +0200 +@@ -158,14 +158,10 @@ + kfree(msg); + break; + case BFIN_IPI_CALL_FUNC: +- spin_unlock(&msg_queue->lock); + ipi_call_function(cpu, msg); +- spin_lock(&msg_queue->lock); + break; + case BFIN_IPI_CPU_STOP: +- spin_unlock(&msg_queue->lock); + ipi_cpu_stop(cpu); +- spin_lock(&msg_queue->lock); + kfree(msg); + break; + default: +@@ -461,7 +457,7 @@ + smp_flush_data.start = start; + smp_flush_data.end = end; + +- if (smp_call_function(&ipi_flush_icache, &smp_flush_data, 0)) ++ if (smp_call_function(&ipi_flush_icache, &smp_flush_data, 1)) + printk(KERN_WARNING "SMP: failed to run I-cache flush request on other CPUs\n"); + } + EXPORT_SYMBOL_GPL(smp_icache_flush_range_others); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/Makefile linux-2.6.29-rc3.owrt/arch/blackfin/Makefile +--- linux-2.6.29.owrt/arch/blackfin/Makefile 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -21,67 +21,57 @@ + KBUILD_DEFCONFIG := BF537-STAMP_defconfig + + # setup the machine name and the machine dependent settings +-machine-$(CONFIG_BF512) := bf518 +-machine-$(CONFIG_BF514) := bf518 +-machine-$(CONFIG_BF516) := bf518 +-machine-$(CONFIG_BF518) := bf518 +-machine-$(CONFIG_BF522) := bf527 +-machine-$(CONFIG_BF523) := bf527 +-machine-$(CONFIG_BF524) := bf527 +-machine-$(CONFIG_BF525) := bf527 +-machine-$(CONFIG_BF526) := bf527 +-machine-$(CONFIG_BF527) := bf527 +-machine-$(CONFIG_BF531) := bf533 +-machine-$(CONFIG_BF532) := bf533 +-machine-$(CONFIG_BF533) := bf533 +-machine-$(CONFIG_BF534) := bf537 +-machine-$(CONFIG_BF536) := bf537 +-machine-$(CONFIG_BF537) := bf537 +-machine-$(CONFIG_BF538) := bf538 +-machine-$(CONFIG_BF539) := bf538 +-machine-$(CONFIG_BF542) := bf548 +-machine-$(CONFIG_BF542M) := bf548 +-machine-$(CONFIG_BF544) := bf548 +-machine-$(CONFIG_BF544M) := bf548 +-machine-$(CONFIG_BF547) := bf548 +-machine-$(CONFIG_BF547M) := bf548 +-machine-$(CONFIG_BF548) := bf548 +-machine-$(CONFIG_BF548M) := bf548 +-machine-$(CONFIG_BF549) := bf548 +-machine-$(CONFIG_BF549M) := bf548 +-machine-$(CONFIG_BF561) := bf561 ++machine-$(CONFIG_BF512) := bf518 ++machine-$(CONFIG_BF514) := bf518 ++machine-$(CONFIG_BF516) := bf518 ++machine-$(CONFIG_BF518) := bf518 ++machine-$(CONFIG_BF522) := bf527 ++machine-$(CONFIG_BF523) := bf527 ++machine-$(CONFIG_BF524) := bf527 ++machine-$(CONFIG_BF525) := bf527 ++machine-$(CONFIG_BF526) := bf527 ++machine-$(CONFIG_BF527) := bf527 ++machine-$(CONFIG_BF531) := bf533 ++machine-$(CONFIG_BF532) := bf533 ++machine-$(CONFIG_BF533) := bf533 ++machine-$(CONFIG_BF534) := bf537 ++machine-$(CONFIG_BF536) := bf537 ++machine-$(CONFIG_BF537) := bf537 ++machine-$(CONFIG_BF538) := bf538 ++machine-$(CONFIG_BF539) := bf538 ++machine-$(CONFIG_BF542) := bf548 ++machine-$(CONFIG_BF544) := bf548 ++machine-$(CONFIG_BF547) := bf548 ++machine-$(CONFIG_BF548) := bf548 ++machine-$(CONFIG_BF549) := bf548 ++machine-$(CONFIG_BF561) := bf561 + MACHINE := $(machine-y) + export MACHINE + +-cpu-$(CONFIG_BF512) := bf512 +-cpu-$(CONFIG_BF514) := bf514 +-cpu-$(CONFIG_BF516) := bf516 +-cpu-$(CONFIG_BF518) := bf518 +-cpu-$(CONFIG_BF522) := bf522 +-cpu-$(CONFIG_BF523) := bf523 +-cpu-$(CONFIG_BF524) := bf524 +-cpu-$(CONFIG_BF525) := bf525 +-cpu-$(CONFIG_BF526) := bf526 +-cpu-$(CONFIG_BF527) := bf527 +-cpu-$(CONFIG_BF531) := bf531 +-cpu-$(CONFIG_BF532) := bf532 +-cpu-$(CONFIG_BF533) := bf533 +-cpu-$(CONFIG_BF534) := bf534 +-cpu-$(CONFIG_BF536) := bf536 +-cpu-$(CONFIG_BF537) := bf537 +-cpu-$(CONFIG_BF538) := bf538 +-cpu-$(CONFIG_BF539) := bf539 +-cpu-$(CONFIG_BF542) := bf542 +-cpu-$(CONFIG_BF542M) := bf542m +-cpu-$(CONFIG_BF544) := bf544 +-cpu-$(CONFIG_BF544M) := bf544m +-cpu-$(CONFIG_BF547) := bf547 +-cpu-$(CONFIG_BF547M) := bf547m +-cpu-$(CONFIG_BF548) := bf548 +-cpu-$(CONFIG_BF548M) := bf548m +-cpu-$(CONFIG_BF549) := bf549 +-cpu-$(CONFIG_BF549M) := bf549m +-cpu-$(CONFIG_BF561) := bf561 ++cpu-$(CONFIG_BF512) := bf512 ++cpu-$(CONFIG_BF514) := bf514 ++cpu-$(CONFIG_BF516) := bf516 ++cpu-$(CONFIG_BF518) := bf518 ++cpu-$(CONFIG_BF522) := bf522 ++cpu-$(CONFIG_BF523) := bf523 ++cpu-$(CONFIG_BF524) := bf524 ++cpu-$(CONFIG_BF525) := bf525 ++cpu-$(CONFIG_BF526) := bf526 ++cpu-$(CONFIG_BF527) := bf527 ++cpu-$(CONFIG_BF531) := bf531 ++cpu-$(CONFIG_BF532) := bf532 ++cpu-$(CONFIG_BF533) := bf533 ++cpu-$(CONFIG_BF534) := bf534 ++cpu-$(CONFIG_BF536) := bf536 ++cpu-$(CONFIG_BF537) := bf537 ++cpu-$(CONFIG_BF538) := bf538 ++cpu-$(CONFIG_BF539) := bf539 ++cpu-$(CONFIG_BF542) := bf542 ++cpu-$(CONFIG_BF544) := bf544 ++cpu-$(CONFIG_BF547) := bf547 ++cpu-$(CONFIG_BF548) := bf548 ++cpu-$(CONFIG_BF549) := bf549 ++cpu-$(CONFIG_BF561) := bf561 + + rev-$(CONFIG_BF_REV_0_0) := 0.0 + rev-$(CONFIG_BF_REV_0_1) := 0.1 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/blackfin/mm/init.c linux-2.6.29-rc3.owrt/arch/blackfin/mm/init.c +--- linux-2.6.29.owrt/arch/blackfin/mm/init.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/blackfin/mm/init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -104,7 +104,7 @@ + } + } + +-asmlinkage void __init init_pda(void) ++asmlinkage void init_pda(void) + { + unsigned int cpu = raw_smp_processor_id(); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/frv/mm/dma-alloc.c linux-2.6.29-rc3.owrt/arch/frv/mm/dma-alloc.c +--- linux-2.6.29.owrt/arch/frv/mm/dma-alloc.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/frv/mm/dma-alloc.c 2009-05-10 23:48:28.000000000 +0200 +@@ -36,10 +36,10 @@ + #include + #include + #include +-#include + + #include + #include ++#include + #include + #include + #include +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/configs/xen_domu_defconfig linux-2.6.29-rc3.owrt/arch/ia64/configs/xen_domu_defconfig +--- linux-2.6.29.owrt/arch/ia64/configs/xen_domu_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/configs/xen_domu_defconfig 1970-01-01 01:00:00.000000000 +0100 +@@ -1,1601 +0,0 @@ +-# +-# Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc1 +-# Fri Jan 16 11:49:59 2009 +-# +-CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +- +-# +-# General setup +-# +-CONFIG_EXPERIMENTAL=y +-CONFIG_LOCK_KERNEL=y +-CONFIG_INIT_ENV_ARG_LIMIT=32 +-CONFIG_LOCALVERSION="" +-CONFIG_LOCALVERSION_AUTO=y +-CONFIG_SWAP=y +-CONFIG_SYSVIPC=y +-CONFIG_SYSVIPC_SYSCTL=y +-CONFIG_POSIX_MQUEUE=y +-# CONFIG_BSD_PROCESS_ACCT is not set +-# CONFIG_TASKSTATS is not set +-# CONFIG_AUDIT is not set +-CONFIG_IKCONFIG=y +-CONFIG_IKCONFIG_PROC=y +-CONFIG_LOG_BUF_SHIFT=20 +-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +-# CONFIG_GROUP_SCHED is not set +- +-# +-# Control Group support +-# +-# CONFIG_CGROUPS is not set +-CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y +-# CONFIG_RELAY is not set +-CONFIG_NAMESPACES=y +-# CONFIG_UTS_NS is not set +-# CONFIG_IPC_NS is not set +-# CONFIG_USER_NS is not set +-# CONFIG_PID_NS is not set +-CONFIG_BLK_DEV_INITRD=y +-CONFIG_INITRAMFS_SOURCE="" +-CONFIG_CC_OPTIMIZE_FOR_SIZE=y +-CONFIG_SYSCTL=y +-# CONFIG_EMBEDDED is not set +-CONFIG_SYSCTL_SYSCALL=y +-CONFIG_KALLSYMS=y +-CONFIG_KALLSYMS_ALL=y +-CONFIG_KALLSYMS_STRIP_GENERATED=y +-# CONFIG_KALLSYMS_EXTRA_PASS is not set +-CONFIG_HOTPLUG=y +-CONFIG_PRINTK=y +-CONFIG_BUG=y +-CONFIG_ELF_CORE=y +-CONFIG_COMPAT_BRK=y +-CONFIG_BASE_FULL=y +-CONFIG_FUTEX=y +-CONFIG_ANON_INODES=y +-CONFIG_EPOLL=y +-CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y +-CONFIG_EVENTFD=y +-CONFIG_SHMEM=y +-CONFIG_AIO=y +-CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y +-CONFIG_SLUB_DEBUG=y +-# CONFIG_SLAB is not set +-CONFIG_SLUB=y +-# CONFIG_SLOB is not set +-# CONFIG_PROFILING is not set +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_KPROBES is not set +-CONFIG_HAVE_KPROBES=y +-CONFIG_HAVE_KRETPROBES=y +-CONFIG_HAVE_ARCH_TRACEHOOK=y +-CONFIG_HAVE_DMA_ATTRS=y +-CONFIG_USE_GENERIC_SMP_HELPERS=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y +-CONFIG_RT_MUTEXES=y +-CONFIG_BASE_SMALL=0 +-CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set +-CONFIG_MODULE_UNLOAD=y +-# CONFIG_MODULE_FORCE_UNLOAD is not set +-CONFIG_MODVERSIONS=y +-CONFIG_MODULE_SRCVERSION_ALL=y +-CONFIG_STOP_MACHINE=y +-CONFIG_BLOCK=y +-# CONFIG_BLK_DEV_IO_TRACE is not set +-# CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set +- +-# +-# IO Schedulers +-# +-CONFIG_IOSCHED_NOOP=y +-CONFIG_IOSCHED_AS=y +-CONFIG_IOSCHED_DEADLINE=y +-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" +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set +-CONFIG_FREEZER=y +- +-# +-# Processor type and features +-# +-CONFIG_IA64=y +-CONFIG_64BIT=y +-CONFIG_ZONE_DMA=y +-CONFIG_QUICKLIST=y +-CONFIG_MMU=y +-CONFIG_SWIOTLB=y +-CONFIG_IOMMU_HELPER=y +-CONFIG_RWSEM_XCHGADD_ALGORITHM=y +-CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +-CONFIG_GENERIC_FIND_NEXT_BIT=y +-CONFIG_GENERIC_CALIBRATE_DELAY=y +-CONFIG_GENERIC_TIME=y +-CONFIG_GENERIC_TIME_VSYSCALL=y +-CONFIG_HAVE_SETUP_PER_CPU_AREA=y +-CONFIG_DMI=y +-CONFIG_EFI=y +-CONFIG_GENERIC_IOMAP=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y +-CONFIG_AUDIT_ARCH=y +-CONFIG_PARAVIRT_GUEST=y +-CONFIG_PARAVIRT=y +-CONFIG_XEN=y +-CONFIG_XEN_XENCOMM=y +-CONFIG_NO_IDLE_HZ=y +-# CONFIG_IA64_GENERIC is not set +-# CONFIG_IA64_DIG is not set +-# CONFIG_IA64_DIG_VTD is not set +-# CONFIG_IA64_HP_ZX1 is not set +-# CONFIG_IA64_HP_ZX1_SWIOTLB is not set +-# CONFIG_IA64_SGI_SN2 is not set +-# CONFIG_IA64_SGI_UV is not set +-# CONFIG_IA64_HP_SIM is not set +-CONFIG_IA64_XEN_GUEST=y +-# CONFIG_ITANIUM is not set +-CONFIG_MCKINLEY=y +-# CONFIG_IA64_PAGE_SIZE_4KB is not set +-# CONFIG_IA64_PAGE_SIZE_8KB is not set +-CONFIG_IA64_PAGE_SIZE_16KB=y +-# CONFIG_IA64_PAGE_SIZE_64KB is not set +-CONFIG_PGTABLE_3=y +-# CONFIG_PGTABLE_4 is not set +-CONFIG_HZ=250 +-# CONFIG_HZ_100 is not set +-CONFIG_HZ_250=y +-# CONFIG_HZ_300 is not set +-# CONFIG_HZ_1000 is not set +-# CONFIG_SCHED_HRTICK is not set +-CONFIG_IA64_L1_CACHE_SHIFT=7 +-CONFIG_IA64_CYCLONE=y +-CONFIG_IOSAPIC=y +-CONFIG_FORCE_MAX_ZONEORDER=17 +-# CONFIG_VIRT_CPU_ACCOUNTING is not set +-CONFIG_SMP=y +-CONFIG_NR_CPUS=16 +-CONFIG_HOTPLUG_CPU=y +-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +-# CONFIG_SCHED_SMT is not set +-CONFIG_PERMIT_BSP_REMOVE=y +-CONFIG_FORCE_CPEI_RETARGET=y +-CONFIG_PREEMPT_NONE=y +-# CONFIG_PREEMPT_VOLUNTARY is not set +-# CONFIG_PREEMPT 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_VMEMMAP_ENABLE=y +-CONFIG_PAGEFLAGS_EXTENDED=y +-CONFIG_SPLIT_PTLOCK_CPUS=4 +-CONFIG_MIGRATION=y +-CONFIG_PHYS_ADDR_T_64BIT=y +-CONFIG_ZONE_DMA_FLAG=1 +-CONFIG_BOUNCE=y +-CONFIG_NR_QUICK=1 +-CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y +-CONFIG_ARCH_SELECT_MEMORY_MODEL=y +-CONFIG_ARCH_DISCONTIGMEM_ENABLE=y +-CONFIG_ARCH_FLATMEM_ENABLE=y +-CONFIG_ARCH_SPARSEMEM_ENABLE=y +-CONFIG_ARCH_POPULATES_NODE_MAP=y +-CONFIG_VIRTUAL_MEM_MAP=y +-CONFIG_HOLES_IN_ZONE=y +-# CONFIG_IA32_SUPPORT is not set +-# CONFIG_COMPAT_FOR_U64_ALIGNMENT is not set +-CONFIG_IA64_MCA_RECOVERY=y +-CONFIG_PERFMON=y +-CONFIG_IA64_PALINFO=y +-# CONFIG_IA64_MC_ERR_INJECT is not set +-# CONFIG_IA64_ESI is not set +-# CONFIG_IA64_HP_AML_NFW is not set +-CONFIG_KEXEC=y +-# CONFIG_CRASH_DUMP is not set +- +-# +-# Firmware Drivers +-# +-# CONFIG_FIRMWARE_MEMMAP is not set +-CONFIG_EFI_VARS=y +-CONFIG_EFI_PCDP=y +-CONFIG_DMIID=y +-CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set +-CONFIG_BINFMT_MISC=m +- +-# +-# Power management and ACPI options +-# +-CONFIG_PM=y +-# CONFIG_PM_DEBUG is not set +-CONFIG_PM_SLEEP=y +-CONFIG_SUSPEND=y +-CONFIG_SUSPEND_FREEZER=y +-CONFIG_ACPI=y +-CONFIG_ACPI_SLEEP=y +-CONFIG_ACPI_PROCFS=y +-CONFIG_ACPI_PROCFS_POWER=y +-CONFIG_ACPI_SYSFS_POWER=y +-CONFIG_ACPI_PROC_EVENT=y +-CONFIG_ACPI_BUTTON=m +-CONFIG_ACPI_FAN=m +-# CONFIG_ACPI_DOCK is not set +-CONFIG_ACPI_PROCESSOR=m +-CONFIG_ACPI_HOTPLUG_CPU=y +-CONFIG_ACPI_THERMAL=m +-# CONFIG_ACPI_CUSTOM_DSDT is not set +-CONFIG_ACPI_BLACKLIST_YEAR=0 +-# CONFIG_ACPI_DEBUG is not set +-# CONFIG_ACPI_PCI_SLOT is not set +-CONFIG_ACPI_SYSTEM=y +-CONFIG_ACPI_CONTAINER=m +- +-# +-# CPU Frequency scaling +-# +-# CONFIG_CPU_FREQ is not set +- +-# +-# Bus options (PCI, PCMCIA) +-# +-CONFIG_PCI=y +-CONFIG_PCI_DOMAINS=y +-CONFIG_PCI_SYSCALL=y +-# CONFIG_PCIEPORTBUS is not set +-CONFIG_ARCH_SUPPORTS_MSI=y +-# CONFIG_PCI_MSI is not set +-CONFIG_PCI_LEGACY=y +-# CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set +-CONFIG_HOTPLUG_PCI=m +-# CONFIG_HOTPLUG_PCI_FAKE is not set +-CONFIG_HOTPLUG_PCI_ACPI=m +-# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set +-# CONFIG_HOTPLUG_PCI_CPCI is not set +-# CONFIG_HOTPLUG_PCI_SHPC is not set +-# CONFIG_PCCARD is not set +-CONFIG_NET=y +- +-# +-# Networking options +-# +-# CONFIG_NET_NS is not set +-CONFIG_COMPAT_NET_DEV_OPS=y +-CONFIG_PACKET=y +-# CONFIG_PACKET_MMAP is not set +-CONFIG_UNIX=y +-CONFIG_XFRM=y +-# CONFIG_XFRM_USER is not set +-# CONFIG_XFRM_SUB_POLICY is not set +-# CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set +-# CONFIG_NET_KEY is not set +-CONFIG_INET=y +-CONFIG_IP_MULTICAST=y +-# 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_IP_MROUTE is not set +-CONFIG_ARPD=y +-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 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_BEET=y +-# CONFIG_INET_LRO is not set +-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 +-# CONFIG_IPV6 is not set +-# CONFIG_NETWORK_SECMARK is not set +-# CONFIG_NETFILTER is not set +-# CONFIG_IP_DCCP is not set +-# CONFIG_IP_SCTP is not set +-# CONFIG_TIPC is not set +-# CONFIG_ATM is not set +-# CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA 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_ECONET is not set +-# CONFIG_WAN_ROUTER is not set +-# CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set +- +-# +-# Network testing +-# +-# CONFIG_NET_PKTGEN is not set +-# CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set +-# CONFIG_IRDA is not set +-# CONFIG_BT is not set +-# CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-# CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set +-# CONFIG_RFKILL is not set +-# CONFIG_NET_9P is not set +- +-# +-# Device Drivers +-# +- +-# +-# Generic Driver Options +-# +-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +-CONFIG_STANDALONE=y +-CONFIG_PREVENT_FIRMWARE_BUILD=y +-CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" +-# CONFIG_DEBUG_DRIVER is not set +-# CONFIG_DEBUG_DEVRES is not set +-# CONFIG_SYS_HYPERVISOR is not set +-# CONFIG_CONNECTOR is not set +-# CONFIG_MTD is not set +-# CONFIG_PARPORT is not set +-CONFIG_PNP=y +-CONFIG_PNP_DEBUG_MESSAGES=y +- +-# +-# Protocols +-# +-CONFIG_PNPACPI=y +-CONFIG_BLK_DEV=y +-# 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=m +-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=16 +-CONFIG_BLK_DEV_RAM_SIZE=4096 +-# CONFIG_BLK_DEV_XIP is not set +-# CONFIG_CDROM_PKTCDVD is not set +-# CONFIG_ATA_OVER_ETH is not set +-CONFIG_XEN_BLKDEV_FRONTEND=y +-# CONFIG_BLK_DEV_HD is not set +-CONFIG_MISC_DEVICES=y +-# CONFIG_PHANTOM is not set +-# CONFIG_EEPROM_93CX6 is not set +-# CONFIG_SGI_IOC4 is not set +-# CONFIG_TIFM_CORE is not set +-# CONFIG_ICS932S401 is not set +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_HP_ILO is not set +-# CONFIG_C2PORT is not set +-CONFIG_HAVE_IDE=y +-CONFIG_IDE=y +- +-# +-# Please see Documentation/ide/ide.txt for help/info on IDE drives +-# +-CONFIG_IDE_TIMINGS=y +-CONFIG_IDE_ATAPI=y +-# CONFIG_BLK_DEV_IDE_SATA is not set +-CONFIG_IDE_GD=y +-CONFIG_IDE_GD_ATA=y +-# CONFIG_IDE_GD_ATAPI is not set +-CONFIG_BLK_DEV_IDECD=y +-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y +-# CONFIG_BLK_DEV_IDETAPE is not set +-# CONFIG_BLK_DEV_IDEACPI is not set +-# CONFIG_IDE_TASK_IOCTL is not set +-CONFIG_IDE_PROC_FS=y +- +-# +-# IDE chipset support/bugfixes +-# +-# CONFIG_IDE_GENERIC is not set +-# CONFIG_BLK_DEV_PLATFORM is not set +-# CONFIG_BLK_DEV_IDEPNP is not set +-CONFIG_BLK_DEV_IDEDMA_SFF=y +- +-# +-# PCI IDE chipsets support +-# +-CONFIG_BLK_DEV_IDEPCI=y +-CONFIG_IDEPCI_PCIBUS_ORDER=y +-# CONFIG_BLK_DEV_OFFBOARD is not set +-CONFIG_BLK_DEV_GENERIC=y +-# CONFIG_BLK_DEV_OPTI621 is not set +-CONFIG_BLK_DEV_IDEDMA_PCI=y +-# CONFIG_BLK_DEV_AEC62XX is not set +-# CONFIG_BLK_DEV_ALI15X3 is not set +-# CONFIG_BLK_DEV_AMD74XX is not set +-CONFIG_BLK_DEV_CMD64X=y +-# CONFIG_BLK_DEV_TRIFLEX is not set +-# CONFIG_BLK_DEV_CS5520 is not set +-# CONFIG_BLK_DEV_CS5530 is not set +-# CONFIG_BLK_DEV_HPT366 is not set +-# CONFIG_BLK_DEV_JMICRON is not set +-# CONFIG_BLK_DEV_SC1200 is not set +-CONFIG_BLK_DEV_PIIX=y +-# CONFIG_BLK_DEV_IT8172 is not set +-# CONFIG_BLK_DEV_IT8213 is not set +-# CONFIG_BLK_DEV_IT821X is not set +-# CONFIG_BLK_DEV_NS87415 is not set +-# CONFIG_BLK_DEV_PDC202XX_OLD is not set +-# CONFIG_BLK_DEV_PDC202XX_NEW is not set +-# CONFIG_BLK_DEV_SVWKS is not set +-# CONFIG_BLK_DEV_SIIMAGE is not set +-# CONFIG_BLK_DEV_SLC90E66 is not set +-# CONFIG_BLK_DEV_TRM290 is not set +-# CONFIG_BLK_DEV_VIA82CXXX is not set +-# CONFIG_BLK_DEV_TC86C001 is not set +-CONFIG_BLK_DEV_IDEDMA=y +- +-# +-# SCSI device support +-# +-# CONFIG_RAID_ATTRS is not set +-CONFIG_SCSI=y +-CONFIG_SCSI_DMA=y +-# CONFIG_SCSI_TGT is not set +-CONFIG_SCSI_NETLINK=y +-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 is not set +-# CONFIG_SCSI_CONSTANTS is not set +-# CONFIG_SCSI_LOGGING is not set +-# CONFIG_SCSI_SCAN_ASYNC is not set +-CONFIG_SCSI_WAIT_SCAN=m +- +-# +-# SCSI Transports +-# +-CONFIG_SCSI_SPI_ATTRS=y +-CONFIG_SCSI_FC_ATTRS=y +-# CONFIG_SCSI_ISCSI_ATTRS is not set +-# CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set +-CONFIG_SCSI_LOWLEVEL=y +-# CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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_AIC94XX is not set +-# CONFIG_SCSI_DPT_I2O is not set +-# CONFIG_SCSI_ADVANSYS 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_LIBFC is not set +-# CONFIG_FCOE 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_MVSAS is not set +-# CONFIG_SCSI_STEX is not set +-CONFIG_SCSI_SYM53C8XX_2=y +-CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +-CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +-CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +-CONFIG_SCSI_SYM53C8XX_MMIO=y +-CONFIG_SCSI_QLOGIC_1280=y +-# 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_DEBUG is not set +-# CONFIG_SCSI_SRP is not set +-# CONFIG_SCSI_DH is not set +-# CONFIG_ATA is not set +-CONFIG_MD=y +-CONFIG_BLK_DEV_MD=m +-CONFIG_MD_LINEAR=m +-CONFIG_MD_RAID0=m +-CONFIG_MD_RAID1=m +-# CONFIG_MD_RAID10 is not set +-# CONFIG_MD_RAID456 is not set +-CONFIG_MD_MULTIPATH=m +-# CONFIG_MD_FAULTY is not set +-CONFIG_BLK_DEV_DM=m +-# CONFIG_DM_DEBUG is not set +-CONFIG_DM_CRYPT=m +-CONFIG_DM_SNAPSHOT=m +-CONFIG_DM_MIRROR=m +-CONFIG_DM_ZERO=m +-# CONFIG_DM_MULTIPATH is not set +-# CONFIG_DM_DELAY is not set +-# CONFIG_DM_UEVENT is not set +-CONFIG_FUSION=y +-CONFIG_FUSION_SPI=y +-CONFIG_FUSION_FC=y +-# CONFIG_FUSION_SAS is not set +-CONFIG_FUSION_MAX_SGE=128 +-CONFIG_FUSION_CTL=y +-# CONFIG_FUSION_LOGGING is not set +- +-# +-# IEEE 1394 (FireWire) support +-# +- +-# +-# Enable only one of the two stacks, unless you know what you are doing +-# +-# CONFIG_FIREWIRE is not set +-# CONFIG_IEEE1394 is not set +-# CONFIG_I2O is not set +-CONFIG_NETDEVICES=y +-CONFIG_DUMMY=m +-# CONFIG_BONDING is not set +-# CONFIG_MACVLAN is not set +-# CONFIG_EQUALIZER is not set +-# CONFIG_TUN is not set +-# CONFIG_VETH is not set +-# CONFIG_NET_SB1000 is not set +-# CONFIG_ARCNET is not set +-CONFIG_PHYLIB=y +- +-# +-# MII PHY device drivers +-# +-# CONFIG_MARVELL_PHY is not set +-# CONFIG_DAVICOM_PHY is not set +-# CONFIG_QSEMI_PHY is not set +-# CONFIG_LXT_PHY is not set +-# CONFIG_CICADA_PHY is not set +-# CONFIG_VITESSE_PHY is not set +-# CONFIG_SMSC_PHY is not set +-# CONFIG_BROADCOM_PHY is not set +-# CONFIG_ICPLUS_PHY is not set +-# CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set +-# CONFIG_FIXED_PHY is not set +-# CONFIG_MDIO_BITBANG is not set +-CONFIG_NET_ETHERNET=y +-CONFIG_MII=m +-# CONFIG_HAPPYMEAL is not set +-# CONFIG_SUNGEM is not set +-# CONFIG_CASSINI is not set +-# CONFIG_NET_VENDOR_3COM is not set +-CONFIG_NET_TULIP=y +-# CONFIG_DE2104X is not set +-CONFIG_TULIP=m +-# CONFIG_TULIP_MWI is not set +-# CONFIG_TULIP_MMIO is not set +-# CONFIG_TULIP_NAPI is not set +-# CONFIG_DE4X5 is not set +-# CONFIG_WINBOND_840 is not set +-# CONFIG_DM9102 is not set +-# CONFIG_ULI526X is not set +-# CONFIG_HP100 is not set +-# CONFIG_IBM_NEW_EMAC_ZMII is not set +-# CONFIG_IBM_NEW_EMAC_RGMII is not set +-# CONFIG_IBM_NEW_EMAC_TAH is not set +-# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR 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_E100=m +-# 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_R6040 is not set +-# CONFIG_SIS900 is not set +-# CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set +-# CONFIG_SUNDANCE is not set +-# CONFIG_TLAN is not set +-# CONFIG_VIA_RHINE is not set +-# CONFIG_SC92031 is not set +-# CONFIG_ATL2 is not set +-CONFIG_NETDEV_1000=y +-# CONFIG_ACENIC is not set +-# CONFIG_DL2K is not set +-CONFIG_E1000=y +-# CONFIG_E1000E is not set +-# CONFIG_IP1000 is not set +-# CONFIG_IGB 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_VIA_VELOCITY is not set +-CONFIG_TIGON3=y +-# CONFIG_BNX2 is not set +-# CONFIG_QLA3XXX is not set +-# CONFIG_ATL1 is not set +-# CONFIG_ATL1E is not set +-# CONFIG_JME is not set +-CONFIG_NETDEV_10000=y +-# CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y +-# CONFIG_CHELSIO_T3 is not set +-# CONFIG_ENIC is not set +-# CONFIG_IXGBE is not set +-# CONFIG_IXGB is not set +-# CONFIG_S2IO is not set +-# CONFIG_MYRI10GE is not set +-# CONFIG_NETXEN_NIC is not set +-# CONFIG_NIU is not set +-# CONFIG_MLX4_EN is not set +-# CONFIG_MLX4_CORE is not set +-# CONFIG_TEHUTI is not set +-# CONFIG_BNX2X is not set +-# CONFIG_QLGE is not set +-# CONFIG_SFC is not set +-# CONFIG_TR is not set +- +-# +-# Wireless LAN +-# +-# CONFIG_WLAN_PRE80211 is not set +-# CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# +- +-# +-# USB Network Adapters +-# +-# CONFIG_USB_CATC is not set +-# CONFIG_USB_KAWETH is not set +-# CONFIG_USB_PEGASUS is not set +-# CONFIG_USB_RTL8150 is not set +-# CONFIG_USB_USBNET is not set +-# CONFIG_WAN is not set +-CONFIG_XEN_NETDEV_FRONTEND=y +-# 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_NETCONSOLE=y +-# CONFIG_NETCONSOLE_DYNAMIC is not set +-CONFIG_NETPOLL=y +-# CONFIG_NETPOLL_TRAP is not set +-CONFIG_NET_POLL_CONTROLLER=y +-# CONFIG_ISDN is not set +-# CONFIG_PHONE is not set +- +-# +-# Input device support +-# +-CONFIG_INPUT=y +-# CONFIG_INPUT_FF_MEMLESS is not set +-# CONFIG_INPUT_POLLDEV is not set +- +-# +-# 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_JOYDEV is not set +-# CONFIG_INPUT_EVDEV is not set +-# CONFIG_INPUT_EVBUG is not set +- +-# +-# Input Device Drivers +-# +-CONFIG_INPUT_KEYBOARD=y +-CONFIG_KEYBOARD_ATKBD=y +-# 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_INPUT_MOUSE=y +-CONFIG_MOUSE_PS2=y +-CONFIG_MOUSE_PS2_ALPS=y +-CONFIG_MOUSE_PS2_LOGIPS2PP=y +-CONFIG_MOUSE_PS2_SYNAPTICS=y +-CONFIG_MOUSE_PS2_LIFEBOOK=y +-CONFIG_MOUSE_PS2_TRACKPOINT=y +-# CONFIG_MOUSE_PS2_ELANTECH is not set +-# CONFIG_MOUSE_PS2_TOUCHKIT is not set +-# CONFIG_MOUSE_SERIAL is not set +-# CONFIG_MOUSE_APPLETOUCH is not set +-# CONFIG_MOUSE_BCM5974 is not set +-# CONFIG_MOUSE_VSXXXAA is not set +-# CONFIG_INPUT_JOYSTICK is not set +-# CONFIG_INPUT_TABLET is not set +-# CONFIG_INPUT_TOUCHSCREEN is not set +-# CONFIG_INPUT_MISC is not set +- +-# +-# Hardware I/O ports +-# +-CONFIG_SERIO=y +-CONFIG_SERIO_I8042=y +-# CONFIG_SERIO_SERPORT is not set +-# CONFIG_SERIO_PCIPS2 is not set +-CONFIG_SERIO_LIBPS2=y +-# CONFIG_SERIO_RAW is not set +-CONFIG_GAMEPORT=m +-# CONFIG_GAMEPORT_NS558 is not set +-# CONFIG_GAMEPORT_L4 is not set +-# CONFIG_GAMEPORT_EMU10K1 is not set +-# CONFIG_GAMEPORT_FM801 is not set +- +-# +-# Character devices +-# +-CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y +-CONFIG_VT_CONSOLE=y +-CONFIG_HW_CONSOLE=y +-# CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y +-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 is not set +-# 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 +-# CONFIG_NOZOMI is not set +- +-# +-# Serial drivers +-# +-CONFIG_SERIAL_8250=y +-CONFIG_SERIAL_8250_CONSOLE=y +-CONFIG_SERIAL_8250_PCI=y +-CONFIG_SERIAL_8250_PNP=y +-CONFIG_SERIAL_8250_NR_UARTS=6 +-CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +-CONFIG_SERIAL_8250_EXTENDED=y +-CONFIG_SERIAL_8250_SHARE_IRQ=y +-# CONFIG_SERIAL_8250_DETECT_IRQ is not set +-# CONFIG_SERIAL_8250_RSA 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_DEVPTS_MULTIPLE_INSTANCES is not set +-CONFIG_LEGACY_PTYS=y +-CONFIG_LEGACY_PTY_COUNT=256 +-CONFIG_HVC_DRIVER=y +-CONFIG_HVC_IRQ=y +-CONFIG_HVC_XEN=y +-# CONFIG_IPMI_HANDLER is not set +-# CONFIG_HW_RANDOM is not set +-CONFIG_EFI_RTC=y +-# CONFIG_R3964 is not set +-# CONFIG_APPLICOM is not set +-CONFIG_RAW_DRIVER=m +-CONFIG_MAX_RAW_DEVS=256 +-CONFIG_HPET=y +-CONFIG_HPET_MMAP=y +-# CONFIG_HANGCHECK_TIMER is not set +-# CONFIG_TCG_TPM is not set +-CONFIG_DEVPORT=y +-CONFIG_I2C=m +-CONFIG_I2C_BOARDINFO=y +-# CONFIG_I2C_CHARDEV is not set +-CONFIG_I2C_HELPER_AUTO=y +-CONFIG_I2C_ALGOBIT=m +- +-# +-# I2C Hardware Bus support +-# +- +-# +-# PC SMBus host controller drivers +-# +-# 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_ISCH is not set +-# CONFIG_I2C_PIIX4 is not set +-# CONFIG_I2C_NFORCE2 is not set +-# CONFIG_I2C_SIS5595 is not set +-# CONFIG_I2C_SIS630 is not set +-# CONFIG_I2C_SIS96X is not set +-# CONFIG_I2C_VIA is not set +-# CONFIG_I2C_VIAPRO is not set +- +-# +-# I2C system bus drivers (mostly embedded / system-on-chip) +-# +-# CONFIG_I2C_OCORES is not set +-# CONFIG_I2C_SIMTEC is not set +- +-# +-# External I2C/SMBus adapter drivers +-# +-# CONFIG_I2C_PARPORT_LIGHT is not set +-# CONFIG_I2C_TAOS_EVM is not set +-# CONFIG_I2C_TINY_USB is not set +- +-# +-# Graphics adapter I2C/DDC channel drivers +-# +-# CONFIG_I2C_VOODOO3 is not set +- +-# +-# Other I2C/SMBus bus drivers +-# +-# CONFIG_I2C_PCA_PLATFORM is not set +-# CONFIG_I2C_STUB is not set +- +-# +-# Miscellaneous I2C Chip support +-# +-# CONFIG_DS1682 is not set +-# CONFIG_AT24 is not set +-# CONFIG_SENSORS_EEPROM is not set +-# CONFIG_SENSORS_PCF8574 is not set +-# CONFIG_PCF8575 is not set +-# CONFIG_SENSORS_PCA9539 is not set +-# CONFIG_SENSORS_PCF8591 is not set +-# CONFIG_SENSORS_MAX6875 is not set +-# CONFIG_SENSORS_TSL2550 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 +-# CONFIG_SPI is not set +-# CONFIG_W1 is not set +-CONFIG_POWER_SUPPLY=y +-# CONFIG_POWER_SUPPLY_DEBUG is not set +-# CONFIG_PDA_POWER is not set +-# CONFIG_BATTERY_DS2760 is not set +-# CONFIG_BATTERY_BQ27x00 is not set +-CONFIG_HWMON=y +-# CONFIG_HWMON_VID is not set +-# CONFIG_SENSORS_AD7414 is not set +-# CONFIG_SENSORS_AD7418 is not set +-# CONFIG_SENSORS_ADM1021 is not set +-# CONFIG_SENSORS_ADM1025 is not set +-# CONFIG_SENSORS_ADM1026 is not set +-# CONFIG_SENSORS_ADM1029 is not set +-# CONFIG_SENSORS_ADM1031 is not set +-# CONFIG_SENSORS_ADM9240 is not set +-# CONFIG_SENSORS_ADT7462 is not set +-# CONFIG_SENSORS_ADT7470 is not set +-# CONFIG_SENSORS_ADT7473 is not set +-# CONFIG_SENSORS_ATXP1 is not set +-# CONFIG_SENSORS_DS1621 is not set +-# CONFIG_SENSORS_I5K_AMB is not set +-# CONFIG_SENSORS_F71805F is not set +-# CONFIG_SENSORS_F71882FG is not set +-# CONFIG_SENSORS_F75375S 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_LM93 is not set +-# CONFIG_SENSORS_LTC4245 is not set +-# CONFIG_SENSORS_MAX1619 is not set +-# CONFIG_SENSORS_MAX6650 is not set +-# CONFIG_SENSORS_PC87360 is not set +-# CONFIG_SENSORS_PC87427 is not set +-# CONFIG_SENSORS_SIS5595 is not set +-# CONFIG_SENSORS_DME1737 is not set +-# CONFIG_SENSORS_SMSC47M1 is not set +-# CONFIG_SENSORS_SMSC47M192 is not set +-# CONFIG_SENSORS_SMSC47B397 is not set +-# CONFIG_SENSORS_ADS7828 is not set +-# CONFIG_SENSORS_THMC50 is not set +-# CONFIG_SENSORS_VIA686A is not set +-# CONFIG_SENSORS_VT1211 is not set +-# CONFIG_SENSORS_VT8231 is not set +-# CONFIG_SENSORS_W83781D is not set +-# 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_W83L786NG is not set +-# CONFIG_SENSORS_W83627HF is not set +-# CONFIG_SENSORS_W83627EHF is not set +-# CONFIG_SENSORS_LIS3LV02D is not set +-# CONFIG_HWMON_DEBUG_CHIP is not set +-CONFIG_THERMAL=m +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y +- +-# +-# Sonics Silicon Backplane +-# +-# CONFIG_SSB is not set +- +-# +-# Multifunction device drivers +-# +-# CONFIG_MFD_CORE is not set +-# CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_MFD_WM8400 is not set +-# CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set +-# CONFIG_REGULATOR is not set +- +-# +-# Multimedia devices +-# +- +-# +-# Multimedia core support +-# +-# CONFIG_VIDEO_DEV is not set +-# CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set +- +-# +-# Multimedia drivers +-# +-CONFIG_DAB=y +-# CONFIG_USB_DABUSB is not set +- +-# +-# Graphics support +-# +-CONFIG_AGP=m +-CONFIG_DRM=m +-CONFIG_DRM_TDFX=m +-CONFIG_DRM_R128=m +-CONFIG_DRM_RADEON=m +-CONFIG_DRM_MGA=m +-CONFIG_DRM_SIS=m +-# CONFIG_DRM_VIA is not set +-# CONFIG_DRM_SAVAGE is not set +-# CONFIG_VGASTATE is not set +-# CONFIG_VIDEO_OUTPUT_CONTROL is not set +-# CONFIG_FB is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +- +-# +-# Display device support +-# +-# CONFIG_DISPLAY_SUPPORT is not set +- +-# +-# Console display driver support +-# +-CONFIG_VGA_CONSOLE=y +-# CONFIG_VGACON_SOFT_SCROLLBACK is not set +-CONFIG_DUMMY_CONSOLE=y +-# CONFIG_SOUND is not set +-CONFIG_HID_SUPPORT=y +-CONFIG_HID=y +-# CONFIG_HID_DEBUG is not set +-# CONFIG_HIDRAW is not set +- +-# +-# USB Input Devices +-# +-CONFIG_USB_HID=y +-# CONFIG_HID_PID is not set +-# CONFIG_USB_HIDDEV is not set +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y +-CONFIG_HID_A4TECH=y +-CONFIG_HID_APPLE=y +-CONFIG_HID_BELKIN=y +-CONFIG_HID_CHERRY=y +-CONFIG_HID_CHICONY=y +-CONFIG_HID_CYPRESS=y +-CONFIG_HID_EZKEY=y +-CONFIG_HID_GYRATION=y +-CONFIG_HID_LOGITECH=y +-# CONFIG_LOGITECH_FF is not set +-# CONFIG_LOGIRUMBLEPAD2_FF is not set +-CONFIG_HID_MICROSOFT=y +-CONFIG_HID_MONTEREY=y +-CONFIG_HID_NTRIG=y +-CONFIG_HID_PANTHERLORD=y +-# CONFIG_PANTHERLORD_FF is not set +-CONFIG_HID_PETALYNX=y +-CONFIG_HID_SAMSUNG=y +-CONFIG_HID_SONY=y +-CONFIG_HID_SUNPLUS=y +-# CONFIG_GREENASIA_FF is not set +-CONFIG_HID_TOPSEED=y +-# CONFIG_THRUSTMASTER_FF is not set +-# CONFIG_ZEROPLUS_FF is not set +-CONFIG_USB_SUPPORT=y +-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 +-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set +- +-# +-# Miscellaneous USB options +-# +-CONFIG_USB_DEVICEFS=y +-CONFIG_USB_DEVICE_CLASS=y +-# CONFIG_USB_DYNAMIC_MINORS is not set +-# CONFIG_USB_SUSPEND is not set +-# CONFIG_USB_OTG is not set +-# CONFIG_USB_MON is not set +-# CONFIG_USB_WUSB is not set +-# CONFIG_USB_WUSB_CBAF is not set +- +-# +-# USB Host Controller Drivers +-# +-# CONFIG_USB_C67X00_HCD is not set +-CONFIG_USB_EHCI_HCD=m +-# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +-# CONFIG_USB_EHCI_TT_NEWSCHED is not set +-# CONFIG_USB_OXU210HP_HCD is not set +-# CONFIG_USB_ISP116X_HCD is not set +-# CONFIG_USB_ISP1760_HCD is not set +-CONFIG_USB_OHCI_HCD=m +-# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +-# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +-CONFIG_USB_OHCI_LITTLE_ENDIAN=y +-CONFIG_USB_UHCI_HCD=y +-# CONFIG_USB_SL811_HCD is not set +-# CONFIG_USB_R8A66597_HCD is not set +-# CONFIG_USB_WHCI_HCD is not set +-# CONFIG_USB_HWA_HCD is not set +- +-# +-# USB Device Class drivers +-# +-# CONFIG_USB_ACM is not set +-# CONFIG_USB_PRINTER is not set +-# CONFIG_USB_WDM is not set +-# CONFIG_USB_TMC is not set +- +-# +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; +-# +- +-# +-# see USB_STORAGE Help for more information +-# +-CONFIG_USB_STORAGE=m +-# CONFIG_USB_STORAGE_DEBUG is not set +-# CONFIG_USB_STORAGE_DATAFAB is not set +-# CONFIG_USB_STORAGE_FREECOM is not set +-# CONFIG_USB_STORAGE_ISD200 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 is not set +-# CONFIG_USB_STORAGE_KARMA is not set +-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +-# CONFIG_USB_LIBUSUAL is not set +- +-# +-# USB Imaging devices +-# +-# CONFIG_USB_MDC800 is not set +-# CONFIG_USB_MICROTEK is not set +- +-# +-# USB port drivers +-# +-# CONFIG_USB_SERIAL is not set +- +-# +-# USB Miscellaneous drivers +-# +-# CONFIG_USB_EMI62 is not set +-# CONFIG_USB_EMI26 is not set +-# CONFIG_USB_ADUTUX is not set +-# CONFIG_USB_SEVSEG is not set +-# CONFIG_USB_RIO500 is not set +-# CONFIG_USB_LEGOTOWER is not set +-# CONFIG_USB_LCD is not set +-# CONFIG_USB_BERRY_CHARGE 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 is not set +-# CONFIG_USB_IDMOUSE is not set +-# CONFIG_USB_FTDI_ELAN is not set +-# CONFIG_USB_APPLEDISPLAY is not set +-# CONFIG_USB_SISUSBVGA is not set +-# CONFIG_USB_LD is not set +-# CONFIG_USB_TRANCEVIBRATOR is not set +-# CONFIG_USB_IOWARRIOR is not set +-# CONFIG_USB_TEST is not set +-# CONFIG_USB_ISIGHTFW is not set +-# CONFIG_USB_VST is not set +-# CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# +-# CONFIG_UWB is not set +-# CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set +-# CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set +-# CONFIG_INFINIBAND is not set +-# CONFIG_RTC_CLASS is not set +-# CONFIG_DMADEVICES is not set +-# CONFIG_UIO is not set +-CONFIG_XEN_BALLOON=y +-CONFIG_XEN_SCRUB_PAGES=y +-CONFIG_XENFS=y +-CONFIG_XEN_COMPAT_XENFS=y +-# CONFIG_STAGING is not set +-# CONFIG_MSPEC is not set +- +-# +-# File systems +-# +-CONFIG_EXT2_FS=y +-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=y +-CONFIG_EXT3_FS_XATTR=y +-CONFIG_EXT3_FS_POSIX_ACL=y +-CONFIG_EXT3_FS_SECURITY=y +-# CONFIG_EXT4_FS is not set +-CONFIG_JBD=y +-CONFIG_FS_MBCACHE=y +-CONFIG_REISERFS_FS=y +-# 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_FILE_LOCKING=y +-CONFIG_XFS_FS=y +-# CONFIG_XFS_QUOTA is not set +-# CONFIG_XFS_POSIX_ACL is not set +-# CONFIG_XFS_RT is not set +-# CONFIG_XFS_DEBUG is not set +-# CONFIG_GFS2_FS is not set +-# CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set +-CONFIG_DNOTIFY=y +-CONFIG_INOTIFY=y +-CONFIG_INOTIFY_USER=y +-# CONFIG_QUOTA is not set +-CONFIG_AUTOFS_FS=y +-CONFIG_AUTOFS4_FS=y +-# CONFIG_FUSE_FS is not set +- +-# +-# CD-ROM/DVD Filesystems +-# +-CONFIG_ISO9660_FS=m +-CONFIG_JOLIET=y +-# CONFIG_ZISOFS is not set +-CONFIG_UDF_FS=m +-CONFIG_UDF_NLS=y +- +-# +-# DOS/FAT/NT Filesystems +-# +-CONFIG_FAT_FS=y +-# CONFIG_MSDOS_FS is not set +-CONFIG_VFAT_FS=y +-CONFIG_FAT_DEFAULT_CODEPAGE=437 +-CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +-CONFIG_NTFS_FS=m +-# CONFIG_NTFS_DEBUG is not set +-# CONFIG_NTFS_RW is not set +- +-# +-# Pseudo filesystems +-# +-CONFIG_PROC_FS=y +-CONFIG_PROC_KCORE=y +-CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=y +-CONFIG_SYSFS=y +-CONFIG_TMPFS=y +-# CONFIG_TMPFS_POSIX_ACL is not set +-CONFIG_HUGETLBFS=y +-CONFIG_HUGETLB_PAGE=y +-# CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y +-# 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 is not set +-# CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set +-# CONFIG_HPFS_FS is not set +-# CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set +-# CONFIG_SYSV_FS is not set +-# CONFIG_UFS_FS is not set +-CONFIG_NETWORK_FILESYSTEMS=y +-CONFIG_NFS_FS=m +-CONFIG_NFS_V3=y +-# CONFIG_NFS_V3_ACL is not set +-CONFIG_NFS_V4=y +-CONFIG_NFSD=m +-CONFIG_NFSD_V3=y +-# CONFIG_NFSD_V3_ACL is not set +-CONFIG_NFSD_V4=y +-CONFIG_LOCKD=m +-CONFIG_LOCKD_V4=y +-CONFIG_EXPORTFS=m +-CONFIG_NFS_COMMON=y +-CONFIG_SUNRPC=m +-CONFIG_SUNRPC_GSS=m +-# CONFIG_SUNRPC_REGISTER_V4 is not set +-CONFIG_RPCSEC_GSS_KRB5=m +-# CONFIG_RPCSEC_GSS_SPKM3 is not set +-CONFIG_SMB_FS=m +-CONFIG_SMB_NLS_DEFAULT=y +-CONFIG_SMB_NLS_REMOTE="cp437" +-CONFIG_CIFS=m +-# CONFIG_CIFS_STATS is not set +-# CONFIG_CIFS_WEAK_PW_HASH is not set +-# CONFIG_CIFS_XATTR is not set +-# 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 +- +-# +-# 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=y +-# CONFIG_ULTRIX_PARTITION is not set +-# CONFIG_SUN_PARTITION is not set +-# CONFIG_KARMA_PARTITION is not set +-CONFIG_EFI_PARTITION=y +-# CONFIG_SYSV68_PARTITION is not set +-CONFIG_NLS=y +-CONFIG_NLS_DEFAULT="iso8859-1" +-CONFIG_NLS_CODEPAGE_437=y +-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 is not set +-CONFIG_NLS_ISO8859_1=y +-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 +-# CONFIG_DLM is not set +- +-# +-# Kernel hacking +-# +-# CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y +-CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=2048 +-CONFIG_MAGIC_SYSRQ=y +-# CONFIG_UNUSED_SYMBOLS is not set +-# CONFIG_DEBUG_FS is not set +-# CONFIG_HEADERS_CHECK is not set +-CONFIG_DEBUG_KERNEL=y +-# CONFIG_DEBUG_SHIRQ is not set +-CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 +-CONFIG_SCHED_DEBUG=y +-# CONFIG_SCHEDSTATS is not set +-# CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set +-# CONFIG_SLUB_DEBUG_ON is not set +-# CONFIG_SLUB_STATS is not set +-# CONFIG_DEBUG_RT_MUTEXES is not set +-# CONFIG_RT_MUTEX_TESTER is not set +-# CONFIG_DEBUG_SPINLOCK is not set +-CONFIG_DEBUG_MUTEXES=y +-# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +-# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +-# CONFIG_DEBUG_KOBJECT is not set +-# CONFIG_DEBUG_INFO is not set +-# CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-CONFIG_DEBUG_MEMORY_INIT=y +-# CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set +-# CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set +-# CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set +-CONFIG_IA64_GRANULE_16MB=y +-# CONFIG_IA64_GRANULE_64MB is not set +-# CONFIG_IA64_PRINT_HAZARDS is not set +-# CONFIG_DISABLE_VHPT is not set +-# CONFIG_IA64_DEBUG_CMPXCHG is not set +-# CONFIG_IA64_DEBUG_IRQ is not set +- +-# +-# Security options +-# +-# CONFIG_KEYS is not set +-# CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set +-CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set +-CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y +-CONFIG_CRYPTO_BLKCIPHER=m +-CONFIG_CRYPTO_BLKCIPHER2=y +-CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y +-CONFIG_CRYPTO_MANAGER=m +-CONFIG_CRYPTO_MANAGER2=y +-# CONFIG_CRYPTO_GF128MUL is not set +-# CONFIG_CRYPTO_NULL is not set +-# CONFIG_CRYPTO_CRYPTD is not set +-# CONFIG_CRYPTO_AUTHENC is not set +-# CONFIG_CRYPTO_TEST is not set +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=m +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-CONFIG_CRYPTO_ECB=m +-# CONFIG_CRYPTO_LRW is not set +-CONFIG_CRYPTO_PCBC=m +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# +-# CONFIG_CRYPTO_HMAC is not set +-# CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-# CONFIG_CRYPTO_CRC32C is not set +-# CONFIG_CRYPTO_MD4 is not set +-CONFIG_CRYPTO_MD5=y +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set +-# CONFIG_CRYPTO_SHA1 is not set +-# CONFIG_CRYPTO_SHA256 is not set +-# CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_TGR192 is not set +-# CONFIG_CRYPTO_WP512 is not set +- +-# +-# Ciphers +-# +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_ARC4 is not set +-# CONFIG_CRYPTO_BLOWFISH is not set +-# CONFIG_CRYPTO_CAMELLIA is not set +-# CONFIG_CRYPTO_CAST5 is not set +-# CONFIG_CRYPTO_CAST6 is not set +-CONFIG_CRYPTO_DES=m +-# CONFIG_CRYPTO_FCRYPT is not set +-# CONFIG_CRYPTO_KHAZAD is not set +-# CONFIG_CRYPTO_SALSA20 is not set +-# CONFIG_CRYPTO_SEED is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_TWOFISH is not set +- +-# +-# Compression +-# +-# CONFIG_CRYPTO_DEFLATE is not set +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set +-CONFIG_CRYPTO_HW=y +-# CONFIG_CRYPTO_DEV_HIFN_795X is not set +-CONFIG_HAVE_KVM=y +-CONFIG_VIRTUALIZATION=y +-# CONFIG_KVM is not set +-# CONFIG_VIRTIO_PCI is not set +-# CONFIG_VIRTIO_BALLOON is not set +- +-# +-# Library routines +-# +-CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y +-# CONFIG_CRC_CCITT is not set +-# CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set +-CONFIG_CRC_ITU_T=m +-CONFIG_CRC32=y +-# CONFIG_CRC7 is not set +-# CONFIG_LIBCRC32C is not set +-CONFIG_PLIST=y +-CONFIG_HAS_IOMEM=y +-CONFIG_HAS_IOPORT=y +-CONFIG_HAS_DMA=y +-CONFIG_GENERIC_HARDIRQS=y +-CONFIG_GENERIC_IRQ_PROBE=y +-CONFIG_GENERIC_PENDING_IRQ=y +-CONFIG_IRQ_PER_CPU=y +-# CONFIG_IOMMU_API is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/hp/common/sba_iommu.c linux-2.6.29-rc3.owrt/arch/ia64/hp/common/sba_iommu.c +--- linux-2.6.29.owrt/arch/ia64/hp/common/sba_iommu.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/hp/common/sba_iommu.c 2009-05-10 23:48:28.000000000 +0200 +@@ -906,7 +906,7 @@ + * @dir: R/W or both. + * @attrs: optional dma attributes + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + dma_addr_t + sba_map_single_attrs(struct device *dev, void *addr, size_t size, int dir, +@@ -1024,7 +1024,7 @@ + * @dir: R/W or both. + * @attrs: optional dma attributes + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + void sba_unmap_single_attrs(struct device *dev, dma_addr_t iova, size_t size, + int dir, struct dma_attrs *attrs) +@@ -1102,7 +1102,7 @@ + * @size: number of bytes mapped in driver buffer. + * @dma_handle: IOVA of new buffer. + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + void * + sba_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flags) +@@ -1165,7 +1165,7 @@ + * @vaddr: virtual address IOVA of "consistent" buffer. + * @dma_handler: IO virtual address of "consistent" buffer. + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + void sba_free_coherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle) + { +@@ -1420,7 +1420,7 @@ + * @dir: R/W or both. + * @attrs: optional dma attributes + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist, int nents, + int dir, struct dma_attrs *attrs) +@@ -1512,7 +1512,7 @@ + * @dir: R/W or both. + * @attrs: optional dma attributes + * +- * See Documentation/PCI/PCI-DMA-mapping.txt ++ * See Documentation/DMA-mapping.txt + */ + void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist, + int nents, int dir, struct dma_attrs *attrs) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/include/asm/kvm.h linux-2.6.29-rc3.owrt/arch/ia64/include/asm/kvm.h +--- linux-2.6.29.owrt/arch/ia64/include/asm/kvm.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/include/asm/kvm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -25,10 +25,6 @@ + + #include + +-/* Select x86 specific features in */ +-#define __KVM_HAVE_IOAPIC +-#define __KVM_HAVE_DEVICE_ASSIGNMENT +- + /* Architectural interrupt line count. */ + #define KVM_NR_INTERRUPTS 256 + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/include/asm/mmzone.h linux-2.6.29-rc3.owrt/arch/ia64/include/asm/mmzone.h +--- linux-2.6.29.owrt/arch/ia64/include/asm/mmzone.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/include/asm/mmzone.h 2009-05-10 23:48:28.000000000 +0200 +@@ -31,6 +31,10 @@ + #endif + } + ++#ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID ++extern int early_pfn_to_nid(unsigned long pfn); ++#endif ++ + #ifdef CONFIG_IA64_DIG /* DIG systems are small */ + # define MAX_PHYSNODE_ID 8 + # define NR_NODE_MEMBLKS (MAX_NUMNODES * 8) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/include/asm/sn/bte.h linux-2.6.29-rc3.owrt/arch/ia64/include/asm/sn/bte.h +--- linux-2.6.29.owrt/arch/ia64/include/asm/sn/bte.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/include/asm/sn/bte.h 2009-05-10 23:48:28.000000000 +0200 +@@ -39,7 +39,7 @@ + /* BTE status register only supports 16 bits for length field */ + #define BTE_LEN_BITS (16) + #define BTE_LEN_MASK ((1 << BTE_LEN_BITS) - 1) +-#define BTE_MAX_XFER (BTE_LEN_MASK << L1_CACHE_SHIFT) ++#define BTE_MAX_XFER ((1 << BTE_LEN_BITS) * L1_CACHE_BYTES) + + + /* Define hardware */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/Kconfig linux-2.6.29-rc3.owrt/arch/ia64/Kconfig +--- linux-2.6.29.owrt/arch/ia64/Kconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -221,11 +221,7 @@ + + config IA64_XEN_GUEST + bool "Xen guest" +- select SWIOTLB + depends on XEN +- help +- Build a kernel that runs on Xen guest domain. At this moment only +- 16KB page size in supported. + + endchoice + +@@ -483,7 +479,8 @@ + default y if VIRTUAL_MEM_MAP + + config HAVE_ARCH_EARLY_PFN_TO_NID +- def_bool NUMA && SPARSEMEM ++ def_bool y ++ depends on NEED_MULTIPLE_NODES + + config HAVE_ARCH_NODEDATA_EXTENSION + def_bool y +@@ -638,17 +635,6 @@ + and include PCI device scope covered by these DMA + remapping devices. + +-config DMAR_DEFAULT_ON +- def_bool y +- prompt "Enable DMA Remapping Devices by default" +- depends on DMAR +- help +- Selecting this option will enable a DMAR device at boot time if +- one is found. If this option is not selected, DMAR support can +- be enabled by passing intel_iommu=on to the kernel. It is +- recommended you say N here while the DMAR code remains +- experimental. +- + endmenu + + endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/kernel/iosapic.c linux-2.6.29-rc3.owrt/arch/ia64/kernel/iosapic.c +--- linux-2.6.29.owrt/arch/ia64/kernel/iosapic.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/kernel/iosapic.c 2009-05-10 23:48:28.000000000 +0200 +@@ -507,7 +507,7 @@ + if (trigger == IOSAPIC_EDGE) + return -EINVAL; + +- for (i = 0; i < NR_IRQS; i++) { ++ for (i = 0; i <= NR_IRQS; i++) { + info = &iosapic_intr_info[i]; + if (info->trigger == trigger && info->polarity == pol && + (info->dmode == IOSAPIC_FIXED || +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/kernel/smpboot.c linux-2.6.29-rc3.owrt/arch/ia64/kernel/smpboot.c +--- linux-2.6.29.owrt/arch/ia64/kernel/smpboot.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/kernel/smpboot.c 2009-05-10 23:48:28.000000000 +0200 +@@ -736,15 +736,14 @@ + return -EBUSY; + } + +- cpu_clear(cpu, cpu_online_map); +- + if (migrate_platform_irqs(cpu)) { + cpu_set(cpu, cpu_online_map); +- return -EBUSY; ++ return (-EBUSY); + } + + remove_siblinginfo(cpu); + fixup_irqs(); ++ cpu_clear(cpu, cpu_online_map); + local_flush_tlb_all(); + cpu_clear(cpu, cpu_callin_map); + return 0; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/kernel/unwind.c linux-2.6.29-rc3.owrt/arch/ia64/kernel/unwind.c +--- linux-2.6.29.owrt/arch/ia64/kernel/unwind.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/kernel/unwind.c 2009-05-10 23:48:28.000000000 +0200 +@@ -2149,7 +2149,7 @@ + + /* next, remove hash table entries for this table */ + +- for (index = 0; index < UNW_HASH_SIZE; ++index) { ++ for (index = 0; index <= UNW_HASH_SIZE; ++index) { + tmp = unw.cache + unw.hash[index]; + if (unw.hash[index] >= UNW_CACHE_SIZE + || tmp->ip < table->start || tmp->ip >= table->end) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/kvm/kvm-ia64.c linux-2.6.29-rc3.owrt/arch/ia64/kvm/kvm-ia64.c +--- linux-2.6.29.owrt/arch/ia64/kvm/kvm-ia64.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/kvm/kvm-ia64.c 2009-05-10 23:48:28.000000000 +0200 +@@ -1337,10 +1337,6 @@ + } + } + +-void kvm_arch_sync_events(struct kvm *kvm) +-{ +-} +- + void kvm_arch_destroy_vm(struct kvm *kvm) + { + kvm_iommu_unmap_guest(kvm); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/kvm/process.c linux-2.6.29-rc3.owrt/arch/ia64/kvm/process.c +--- linux-2.6.29.owrt/arch/ia64/kvm/process.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/kvm/process.c 2009-05-10 23:48:28.000000000 +0200 +@@ -455,18 +455,13 @@ + if (!vmm_fpswa_interface) + return (fpswa_ret_t) {-1, 0, 0, 0}; + +- memset(&fp_state, 0, sizeof(fp_state_t)); +- + /* +- * compute fp_state. only FP registers f6 - f11 are used by the +- * vmm, so set those bits in the mask and set the low volatile +- * pointer to point to these registers. ++ * Just let fpswa driver to use hardware fp registers. ++ * No fp register is valid in memory. + */ +- fp_state.bitmask_low64 = 0xfc0; /* bit6..bit11 */ +- +- fp_state.fp_state_low_volatile = (fp_state_low_volatile_t *) ®s->f6; ++ memset(&fp_state, 0, sizeof(fp_state_t)); + +- /* ++ /* + * unsigned long (*EFI_FPSWA) ( + * unsigned long trap_type, + * void *Bundle, +@@ -550,6 +545,10 @@ + status = vmm_handle_fpu_swa(0, regs, isr); + if (!status) + return ; ++ else if (-EAGAIN == status) { ++ vcpu_decrement_iip(vcpu); ++ return ; ++ } + break; + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/mm/numa.c linux-2.6.29-rc3.owrt/arch/ia64/mm/numa.c +--- linux-2.6.29.owrt/arch/ia64/mm/numa.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/mm/numa.c 2009-05-10 23:48:28.000000000 +0200 +@@ -58,7 +58,7 @@ + * SPARSEMEM to allocate the SPARSEMEM sectionmap on the NUMA node where + * the section resides. + */ +-int __meminit __early_pfn_to_nid(unsigned long pfn) ++int early_pfn_to_nid(unsigned long pfn) + { + int i, section = pfn >> PFN_SECTION_SHIFT, ssec, esec; + +@@ -70,7 +70,7 @@ + return node_memblk[i].nid; + } + +- return -1; ++ return 0; + } + + #ifdef CONFIG_MEMORY_HOTPLUG +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/sn/kernel/bte.c linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/bte.c +--- linux-2.6.29.owrt/arch/ia64/sn/kernel/bte.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/bte.c 2009-05-10 23:48:28.000000000 +0200 +@@ -97,10 +97,9 @@ + return BTE_SUCCESS; + } + +- BUG_ON(len & L1_CACHE_MASK); +- BUG_ON(src & L1_CACHE_MASK); +- BUG_ON(dest & L1_CACHE_MASK); +- BUG_ON(len > BTE_MAX_XFER); ++ BUG_ON((len & L1_CACHE_MASK) || ++ (src & L1_CACHE_MASK) || (dest & L1_CACHE_MASK)); ++ BUG_ON(!(len < ((BTE_LEN_MASK + 1) << L1_CACHE_SHIFT))); + + /* + * Start with interface corresponding to cpu number +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/sn/kernel/io_acpi_init.c linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/io_acpi_init.c +--- linux-2.6.29.owrt/arch/ia64/sn/kernel/io_acpi_init.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/io_acpi_init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -443,7 +443,7 @@ + size = pci_resource_len(dev, PCI_ROM_RESOURCE); + addr = ioremap(pcidev_info->pdi_pio_mapped_addr[PCI_ROM_RESOURCE], + size); +- image_size = pci_get_rom_size(dev, addr, size); ++ image_size = pci_get_rom_size(addr, size); + dev->resource[PCI_ROM_RESOURCE].start = (unsigned long) addr; + dev->resource[PCI_ROM_RESOURCE].end = + (unsigned long) addr + image_size - 1; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/sn/kernel/io_init.c linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/io_init.c +--- linux-2.6.29.owrt/arch/ia64/sn/kernel/io_init.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/sn/kernel/io_init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -269,7 +269,7 @@ + + rom = ioremap(pci_resource_start(dev, PCI_ROM_RESOURCE), + size + 1); +- image_size = pci_get_rom_size(dev, rom, size + 1); ++ image_size = pci_get_rom_size(rom, size + 1); + dev->resource[PCI_ROM_RESOURCE].end = + dev->resource[PCI_ROM_RESOURCE].start + + image_size - 1; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/sn/pci/pcibr/pcibr_dma.c linux-2.6.29-rc3.owrt/arch/ia64/sn/pci/pcibr/pcibr_dma.c +--- linux-2.6.29.owrt/arch/ia64/sn/pci/pcibr/pcibr_dma.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/sn/pci/pcibr/pcibr_dma.c 2009-05-10 23:48:28.000000000 +0200 +@@ -135,10 +135,11 @@ + if (SN_DMA_ADDRTYPE(dma_flags) == SN_DMA_ADDR_PHYS) + pci_addr = IS_PIC_SOFT(pcibus_info) ? + PHYS_TO_DMA(paddr) : +- PHYS_TO_TIODMA(paddr); ++ PHYS_TO_TIODMA(paddr) | dma_attributes; + else +- pci_addr = paddr; +- pci_addr |= dma_attributes; ++ pci_addr = IS_PIC_SOFT(pcibus_info) ? ++ paddr : ++ paddr | dma_attributes; + + /* Handle Bus mode */ + if (IS_PCIX(pcibus_info)) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/xen/Kconfig linux-2.6.29-rc3.owrt/arch/ia64/xen/Kconfig +--- linux-2.6.29.owrt/arch/ia64/xen/Kconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/xen/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -8,7 +8,8 @@ + depends on PARAVIRT && MCKINLEY && IA64_PAGE_SIZE_16KB && EXPERIMENTAL + select XEN_XENCOMM + select NO_IDLE_HZ +- # followings are required to save/restore. ++ ++ # those are required to save/restore. + select ARCH_SUSPEND_POSSIBLE + select SUSPEND + select PM_SLEEP +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/ia64/xen/xen_pv_ops.c linux-2.6.29-rc3.owrt/arch/ia64/xen/xen_pv_ops.c +--- linux-2.6.29.owrt/arch/ia64/xen/xen_pv_ops.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/ia64/xen/xen_pv_ops.c 2009-05-10 23:48:28.000000000 +0200 +@@ -153,7 +153,7 @@ + xen_setup_vcpu_info_placement(); + } + +-static const struct pv_init_ops xen_init_ops __initconst = { ++static const struct pv_init_ops xen_init_ops __initdata = { + .banner = xen_banner, + + .reserve_memory = xen_reserve_memory, +@@ -337,7 +337,7 @@ + HYPERVISOR_physdev_op(PHYSDEVOP_apic_write, &apic_op); + } + +-static const struct pv_iosapic_ops xen_iosapic_ops __initconst = { ++static const struct pv_iosapic_ops xen_iosapic_ops __initdata = { + .pcat_compat_init = xen_pcat_compat_init, + .__get_irq_chip = xen_iosapic_get_irq_chip, + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/atari/ataints.c linux-2.6.29-rc3.owrt/arch/m68k/atari/ataints.c +--- linux-2.6.29.owrt/arch/m68k/atari/ataints.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/atari/ataints.c 2009-05-10 23:48:28.000000000 +0200 +@@ -187,8 +187,8 @@ + " jbra ret_from_interrupt\n" \ + : : "i" (&kstat_cpu(0).irqs[n+8]), "i" (&irq_handler[n+8]), \ + "n" (PT_OFF_SR), "n" (n), \ +- "i" (n & 8 ? (n & 16 ? &tt_mfp.int_mk_a : &st_mfp.int_mk_a) \ +- : (n & 16 ? &tt_mfp.int_mk_b : &st_mfp.int_mk_b)), \ ++ "i" (n & 8 ? (n & 16 ? &tt_mfp.int_mk_a : &mfp.int_mk_a) \ ++ : (n & 16 ? &tt_mfp.int_mk_b : &mfp.int_mk_b)), \ + "m" (preempt_count()), "di" (HARDIRQ_OFFSET) \ + ); \ + for (;;); /* fake noreturn */ \ +@@ -366,14 +366,14 @@ + /* Initialize the MFP(s) */ + + #ifdef ATARI_USE_SOFTWARE_EOI +- st_mfp.vec_adr = 0x48; /* Software EOI-Mode */ ++ mfp.vec_adr = 0x48; /* Software EOI-Mode */ + #else +- st_mfp.vec_adr = 0x40; /* Automatic EOI-Mode */ ++ mfp.vec_adr = 0x40; /* Automatic EOI-Mode */ + #endif +- st_mfp.int_en_a = 0x00; /* turn off MFP-Ints */ +- st_mfp.int_en_b = 0x00; +- st_mfp.int_mk_a = 0xff; /* no Masking */ +- st_mfp.int_mk_b = 0xff; ++ mfp.int_en_a = 0x00; /* turn off MFP-Ints */ ++ mfp.int_en_b = 0x00; ++ mfp.int_mk_a = 0xff; /* no Masking */ ++ mfp.int_mk_b = 0xff; + + if (ATARIHW_PRESENT(TT_MFP)) { + #ifdef ATARI_USE_SOFTWARE_EOI +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/atari/atakeyb.c linux-2.6.29-rc3.owrt/arch/m68k/atari/atakeyb.c +--- linux-2.6.29.owrt/arch/m68k/atari/atakeyb.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/atari/atakeyb.c 2009-05-10 23:48:28.000000000 +0200 +@@ -609,10 +609,10 @@ + ACIA_RHTID : 0); + + /* make sure the interrupt line is up */ +- } while ((st_mfp.par_dt_reg & 0x10) == 0); ++ } while ((mfp.par_dt_reg & 0x10) == 0); + + /* enable ACIA Interrupts */ +- st_mfp.active_edge &= ~0x10; ++ mfp.active_edge &= ~0x10; + atari_turnon_irq(IRQ_MFP_ACIA); + + ikbd_self_test = 1; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/atari/config.c linux-2.6.29-rc3.owrt/arch/m68k/atari/config.c +--- linux-2.6.29.owrt/arch/m68k/atari/config.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/atari/config.c 2009-05-10 23:48:28.000000000 +0200 +@@ -258,7 +258,7 @@ + printk("STND_SHIFTER "); + } + } +- if (hwreg_present(&st_mfp.par_dt_reg)) { ++ if (hwreg_present(&mfp.par_dt_reg)) { + ATARIHW_SET(ST_MFP); + printk("ST_MFP "); + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/atari/debug.c linux-2.6.29-rc3.owrt/arch/m68k/atari/debug.c +--- linux-2.6.29.owrt/arch/m68k/atari/debug.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/atari/debug.c 2009-05-10 23:48:28.000000000 +0200 +@@ -34,9 +34,9 @@ + + static inline void ata_mfp_out(char c) + { +- while (!(st_mfp.trn_stat & 0x80)) /* wait for tx buf empty */ ++ while (!(mfp.trn_stat & 0x80)) /* wait for tx buf empty */ + barrier(); +- st_mfp.usart_dta = c; ++ mfp.usart_dta = c; + } + + static void atari_mfp_console_write(struct console *co, const char *str, +@@ -91,7 +91,7 @@ + /* This a some-seconds timeout in case no printer is connected */ + unsigned long i = loops_per_jiffy > 1 ? loops_per_jiffy : 10000000/HZ; + +- while ((st_mfp.par_dt_reg & 1) && --i) /* wait for BUSY == L */ ++ while ((mfp.par_dt_reg & 1) && --i) /* wait for BUSY == L */ + ; + if (!i) + return 0; +@@ -131,9 +131,9 @@ + #if 0 + int atari_mfp_console_wait_key(struct console *co) + { +- while (!(st_mfp.rcv_stat & 0x80)) /* wait for rx buf filled */ ++ while (!(mfp.rcv_stat & 0x80)) /* wait for rx buf filled */ + barrier(); +- return st_mfp.usart_dta; ++ return mfp.usart_dta; + } + + int atari_scc_console_wait_key(struct console *co) +@@ -175,12 +175,12 @@ + baud = B9600; /* use default 9600bps for non-implemented rates */ + baud -= B1200; /* baud_table[] starts at 1200bps */ + +- st_mfp.trn_stat &= ~0x01; /* disable TX */ +- st_mfp.usart_ctr = parity | csize | 0x88; /* 1:16 clk mode, 1 stop bit */ +- st_mfp.tim_ct_cd &= 0x70; /* stop timer D */ +- st_mfp.tim_dt_d = baud_table[baud]; +- st_mfp.tim_ct_cd |= 0x01; /* start timer D, 1:4 */ +- st_mfp.trn_stat |= 0x01; /* enable TX */ ++ mfp.trn_stat &= ~0x01; /* disable TX */ ++ mfp.usart_ctr = parity | csize | 0x88; /* 1:16 clk mode, 1 stop bit */ ++ mfp.tim_ct_cd &= 0x70; /* stop timer D */ ++ mfp.tim_dt_d = baud_table[baud]; ++ mfp.tim_ct_cd |= 0x01; /* start timer D, 1:4 */ ++ mfp.trn_stat |= 0x01; /* enable TX */ + } + + #define SCC_WRITE(reg, val) \ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/atari/time.c linux-2.6.29-rc3.owrt/arch/m68k/atari/time.c +--- linux-2.6.29.owrt/arch/m68k/atari/time.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/atari/time.c 2009-05-10 23:48:28.000000000 +0200 +@@ -27,9 +27,9 @@ + atari_sched_init(irq_handler_t timer_routine) + { + /* set Timer C data Register */ +- st_mfp.tim_dt_c = INT_TICKS; ++ mfp.tim_dt_c = INT_TICKS; + /* start timer C, div = 1:100 */ +- st_mfp.tim_ct_cd = (st_mfp.tim_ct_cd & 15) | 0x60; ++ mfp.tim_ct_cd = (mfp.tim_ct_cd & 15) | 0x60; + /* install interrupt service routine for MFP Timer C */ + if (request_irq(IRQ_MFP_TIMC, timer_routine, IRQ_TYPE_SLOW, + "timer", timer_routine)) +@@ -46,11 +46,11 @@ + unsigned long ticks, offset = 0; + + /* read MFP timer C current value */ +- ticks = st_mfp.tim_dt_c; ++ ticks = mfp.tim_dt_c; + /* The probability of underflow is less than 2% */ + if (ticks > INT_TICKS - INT_TICKS / 50) + /* Check for pending timer interrupt */ +- if (st_mfp.int_pn_b & (1 << 5)) ++ if (mfp.int_pn_b & (1 << 5)) + offset = TICK_SIZE; + + ticks = INT_TICKS - ticks; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/atarihw.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/atarihw.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/atarihw.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/atarihw.h 2009-05-10 23:48:28.000000000 +0200 +@@ -113,7 +113,7 @@ + * of nops on various machines. Somebody claimed that the tstb takes 600 ns. + */ + #define MFPDELAY() \ +- __asm__ __volatile__ ( "tstb %0" : : "m" (st_mfp.par_dt_reg) : "cc" ); ++ __asm__ __volatile__ ( "tstb %0" : : "m" (mfp.par_dt_reg) : "cc" ); + + /* Do cache push/invalidate for DMA read/write. This function obeys the + * snooping on some machines (Medusa) and processors: The Medusa itself can +@@ -565,7 +565,7 @@ + u_char char_dummy23; + u_char usart_dta; + }; +-# define st_mfp ((*(volatile struct MFP*)MFP_BAS)) ++# define mfp ((*(volatile struct MFP*)MFP_BAS)) + + /* TT's second MFP */ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/atariints.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/atariints.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/atariints.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/atariints.h 2009-05-10 23:48:28.000000000 +0200 +@@ -113,7 +113,7 @@ + { unsigned char mask, *reg; + + mask = 1 << (irq & 7); +- reg = (unsigned char *)&st_mfp.int_en_a + type*4 + ++ reg = (unsigned char *)&mfp.int_en_a + type*4 + + ((irq & 8) >> 2) + (((irq-8) & 16) << 3); + return( *reg & mask ); + } +@@ -123,7 +123,7 @@ + { unsigned char mask, *reg; + + mask = 1 << (irq & 7); +- reg = (unsigned char *)&st_mfp.int_en_a + type*4 + ++ reg = (unsigned char *)&mfp.int_en_a + type*4 + + ((irq & 8) >> 2) + (((irq-8) & 16) << 3); + __asm__ __volatile__ ( "orb %0,%1" + : : "di" (mask), "m" (*reg) : "memory" ); +@@ -134,7 +134,7 @@ + { unsigned char mask, *reg; + + mask = ~(1 << (irq & 7)); +- reg = (unsigned char *)&st_mfp.int_en_a + type*4 + ++ reg = (unsigned char *)&mfp.int_en_a + type*4 + + ((irq & 8) >> 2) + (((irq-8) & 16) << 3); + if (type == MFP_PENDING || type == MFP_SERVICE) + __asm__ __volatile__ ( "moveb %0,%1" +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/param.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/param.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,26 +1,5 @@ +-#ifndef _M68K_PARAM_H +-#define _M68K_PARAM_H +- +-#ifdef __KERNEL__ +-# define HZ CONFIG_HZ /* Internal kernel timer frequency */ +-# define USER_HZ 100 /* .. some user interfaces are in "ticks" */ +-# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ +-#endif +- +-#ifndef HZ +-#define HZ 100 +-#endif +- + #ifdef __uClinux__ +-#define EXEC_PAGESIZE 4096 ++#include "param_no.h" + #else +-#define EXEC_PAGESIZE 8192 +-#endif +- +-#ifndef NOGROUP +-#define NOGROUP (-1) ++#include "param_mm.h" + #endif +- +-#define MAXHOSTNAMELEN 64 /* max length of hostname */ +- +-#endif /* _M68K_PARAM_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/param_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/param_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,22 @@ ++#ifndef _M68K_PARAM_H ++#define _M68K_PARAM_H ++ ++#ifdef __KERNEL__ ++# define HZ CONFIG_HZ /* Internal kernel timer frequency */ ++# define USER_HZ 100 /* .. some user interfaces are in "ticks" */ ++# define CLOCKS_PER_SEC (USER_HZ) /* like times() */ ++#endif ++ ++#ifndef HZ ++#define HZ 100 ++#endif ++ ++#define EXEC_PAGESIZE 8192 ++ ++#ifndef NOGROUP ++#define NOGROUP (-1) ++#endif ++ ++#define MAXHOSTNAMELEN 64 /* max length of hostname */ ++ ++#endif /* _M68K_PARAM_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/param_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/param_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/param_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,22 @@ ++#ifndef _M68KNOMMU_PARAM_H ++#define _M68KNOMMU_PARAM_H ++ ++#ifdef __KERNEL__ ++#define HZ CONFIG_HZ ++#define USER_HZ HZ ++#define CLOCKS_PER_SEC (USER_HZ) ++#endif ++ ++#ifndef HZ ++#define HZ 100 ++#endif ++ ++#define EXEC_PAGESIZE 4096 ++ ++#ifndef NOGROUP ++#define NOGROUP (-1) ++#endif ++ ++#define MAXHOSTNAMELEN 64 /* max length of hostname */ ++ ++#endif /* _M68KNOMMU_PARAM_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/ptrace.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/ptrace.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,87 +1,5 @@ +-#ifndef _M68K_PTRACE_H +-#define _M68K_PTRACE_H +- +-#define PT_D1 0 +-#define PT_D2 1 +-#define PT_D3 2 +-#define PT_D4 3 +-#define PT_D5 4 +-#define PT_D6 5 +-#define PT_D7 6 +-#define PT_A0 7 +-#define PT_A1 8 +-#define PT_A2 9 +-#define PT_A3 10 +-#define PT_A4 11 +-#define PT_A5 12 +-#define PT_A6 13 +-#define PT_D0 14 +-#define PT_USP 15 +-#define PT_ORIG_D0 16 +-#define PT_SR 17 +-#define PT_PC 18 +- +-#ifndef __ASSEMBLY__ +- +-/* this struct defines the way the registers are stored on the +- stack during a system call. */ +- +-struct pt_regs { +- long d1; +- long d2; +- long d3; +- long d4; +- long d5; +- long a0; +- long a1; +- long a2; +- long d0; +- long orig_d0; +- long stkadj; +-#ifdef CONFIG_COLDFIRE +- unsigned format : 4; /* frame format specifier */ +- unsigned vector : 12; /* vector offset */ +- unsigned short sr; +- unsigned long pc; ++#ifdef __uClinux__ ++#include "ptrace_no.h" + #else +- unsigned short sr; +- unsigned long pc; +- unsigned format : 4; /* frame format specifier */ +- unsigned vector : 12; /* vector offset */ ++#include "ptrace_mm.h" + #endif +-}; +- +-/* +- * This is the extended stack used by signal handlers and the context +- * switcher: it's pushed after the normal "struct pt_regs". +- */ +-struct switch_stack { +- unsigned long d6; +- unsigned long d7; +- unsigned long a3; +- unsigned long a4; +- unsigned long a5; +- unsigned long a6; +- unsigned long retpc; +-}; +- +-/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ +-#define PTRACE_GETREGS 12 +-#define PTRACE_SETREGS 13 +-#define PTRACE_GETFPREGS 14 +-#define PTRACE_SETFPREGS 15 +- +-#ifdef __KERNEL__ +- +-#ifndef PS_S +-#define PS_S (0x2000) +-#define PS_M (0x1000) +-#endif +- +-#define user_mode(regs) (!((regs)->sr & PS_S)) +-#define instruction_pointer(regs) ((regs)->pc) +-#define profile_pc(regs) instruction_pointer(regs) +-extern void show_regs(struct pt_regs *); +-#endif /* __KERNEL__ */ +-#endif /* __ASSEMBLY__ */ +-#endif /* _M68K_PTRACE_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/ptrace_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/ptrace_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,80 @@ ++#ifndef _M68K_PTRACE_H ++#define _M68K_PTRACE_H ++ ++#define PT_D1 0 ++#define PT_D2 1 ++#define PT_D3 2 ++#define PT_D4 3 ++#define PT_D5 4 ++#define PT_D6 5 ++#define PT_D7 6 ++#define PT_A0 7 ++#define PT_A1 8 ++#define PT_A2 9 ++#define PT_A3 10 ++#define PT_A4 11 ++#define PT_A5 12 ++#define PT_A6 13 ++#define PT_D0 14 ++#define PT_USP 15 ++#define PT_ORIG_D0 16 ++#define PT_SR 17 ++#define PT_PC 18 ++ ++#ifndef __ASSEMBLY__ ++ ++/* this struct defines the way the registers are stored on the ++ stack during a system call. */ ++ ++struct pt_regs { ++ long d1; ++ long d2; ++ long d3; ++ long d4; ++ long d5; ++ long a0; ++ long a1; ++ long a2; ++ long d0; ++ long orig_d0; ++ long stkadj; ++ unsigned short sr; ++ unsigned long pc; ++ unsigned format : 4; /* frame format specifier */ ++ unsigned vector : 12; /* vector offset */ ++}; ++ ++/* ++ * This is the extended stack used by signal handlers and the context ++ * switcher: it's pushed after the normal "struct pt_regs". ++ */ ++struct switch_stack { ++ unsigned long d6; ++ unsigned long d7; ++ unsigned long a3; ++ unsigned long a4; ++ unsigned long a5; ++ unsigned long a6; ++ unsigned long retpc; ++}; ++ ++/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ ++#define PTRACE_GETREGS 12 ++#define PTRACE_SETREGS 13 ++#define PTRACE_GETFPREGS 14 ++#define PTRACE_SETFPREGS 15 ++ ++#ifdef __KERNEL__ ++ ++#ifndef PS_S ++#define PS_S (0x2000) ++#define PS_M (0x1000) ++#endif ++ ++#define user_mode(regs) (!((regs)->sr & PS_S)) ++#define instruction_pointer(regs) ((regs)->pc) ++#define profile_pc(regs) instruction_pointer(regs) ++extern void show_regs(struct pt_regs *); ++#endif /* __KERNEL__ */ ++#endif /* __ASSEMBLY__ */ ++#endif /* _M68K_PTRACE_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/ptrace_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/ptrace_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/ptrace_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,87 @@ ++#ifndef _M68K_PTRACE_H ++#define _M68K_PTRACE_H ++ ++#define PT_D1 0 ++#define PT_D2 1 ++#define PT_D3 2 ++#define PT_D4 3 ++#define PT_D5 4 ++#define PT_D6 5 ++#define PT_D7 6 ++#define PT_A0 7 ++#define PT_A1 8 ++#define PT_A2 9 ++#define PT_A3 10 ++#define PT_A4 11 ++#define PT_A5 12 ++#define PT_A6 13 ++#define PT_D0 14 ++#define PT_USP 15 ++#define PT_ORIG_D0 16 ++#define PT_SR 17 ++#define PT_PC 18 ++ ++#ifndef __ASSEMBLY__ ++ ++/* this struct defines the way the registers are stored on the ++ stack during a system call. */ ++ ++struct pt_regs { ++ long d1; ++ long d2; ++ long d3; ++ long d4; ++ long d5; ++ long a0; ++ long a1; ++ long a2; ++ long d0; ++ long orig_d0; ++ long stkadj; ++#ifdef CONFIG_COLDFIRE ++ unsigned format : 4; /* frame format specifier */ ++ unsigned vector : 12; /* vector offset */ ++ unsigned short sr; ++ unsigned long pc; ++#else ++ unsigned short sr; ++ unsigned long pc; ++ unsigned format : 4; /* frame format specifier */ ++ unsigned vector : 12; /* vector offset */ ++#endif ++}; ++ ++/* ++ * This is the extended stack used by signal handlers and the context ++ * switcher: it's pushed after the normal "struct pt_regs". ++ */ ++struct switch_stack { ++ unsigned long d6; ++ unsigned long d7; ++ unsigned long a3; ++ unsigned long a4; ++ unsigned long a5; ++ unsigned long a6; ++ unsigned long retpc; ++}; ++ ++/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */ ++#define PTRACE_GETREGS 12 ++#define PTRACE_SETREGS 13 ++#define PTRACE_GETFPREGS 14 ++#define PTRACE_SETFPREGS 15 ++ ++#ifdef __KERNEL__ ++ ++#ifndef PS_S ++#define PS_S (0x2000) ++#define PS_M (0x1000) ++#endif ++ ++#define user_mode(regs) (!((regs)->sr & PS_S)) ++#define instruction_pointer(regs) ((regs)->pc) ++#define profile_pc(regs) instruction_pointer(regs) ++extern void show_regs(struct pt_regs *); ++#endif /* __KERNEL__ */ ++#endif /* __ASSEMBLY__ */ ++#endif /* _M68K_PTRACE_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/setup.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/setup.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/setup.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/setup.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,376 +1,5 @@ +-/* +-** asm/setup.h -- Definition of the Linux/m68k setup information +-** +-** Copyright 1992 by Greg Harp +-** +-** This file is subject to the terms and conditions of the GNU General Public +-** License. See the file COPYING in the main directory of this archive +-** for more details. +-** +-** Created 09/29/92 by Greg Harp +-** +-** 5/2/94 Roman Hodek: +-** Added bi_atari part of the machine dependent union bi_un; for now it +-** contains just a model field to distinguish between TT and Falcon. +-** 26/7/96 Roman Zippel: +-** Renamed to setup.h; added some useful macros to allow gcc some +-** optimizations if possible. +-** 5/10/96 Geert Uytterhoeven: +-** Redesign of the boot information structure; moved boot information +-** structure to bootinfo.h +-*/ +- +-#ifndef _M68K_SETUP_H +-#define _M68K_SETUP_H +- +- +- +- /* +- * Linux/m68k Architectures +- */ +- +-#define MACH_AMIGA 1 +-#define MACH_ATARI 2 +-#define MACH_MAC 3 +-#define MACH_APOLLO 4 +-#define MACH_SUN3 5 +-#define MACH_MVME147 6 +-#define MACH_MVME16x 7 +-#define MACH_BVME6000 8 +-#define MACH_HP300 9 +-#define MACH_Q40 10 +-#define MACH_SUN3X 11 +- +-#define COMMAND_LINE_SIZE 256 +- +-#ifdef __KERNEL__ +- +-#define CL_SIZE COMMAND_LINE_SIZE +- +-#ifndef __ASSEMBLY__ +-extern unsigned long m68k_machtype; +-#endif /* !__ASSEMBLY__ */ +- +-#if !defined(CONFIG_AMIGA) +-# define MACH_IS_AMIGA (0) +-#elif defined(CONFIG_ATARI) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \ +- || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_AMIGA (m68k_machtype == MACH_AMIGA) ++#ifdef __uClinux__ ++#include "setup_no.h" + #else +-# define MACH_AMIGA_ONLY +-# define MACH_IS_AMIGA (1) +-# define MACH_TYPE (MACH_AMIGA) ++#include "setup_mm.h" + #endif +- +-#if !defined(CONFIG_ATARI) +-# define MACH_IS_ATARI (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_APOLLO) \ +- || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_ATARI (m68k_machtype == MACH_ATARI) +-#else +-# define MACH_ATARI_ONLY +-# define MACH_IS_ATARI (1) +-# define MACH_TYPE (MACH_ATARI) +-#endif +- +-#if !defined(CONFIG_MAC) +-# define MACH_IS_MAC (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_ATARI) || defined(CONFIG_APOLLO) \ +- || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_MAC (m68k_machtype == MACH_MAC) +-#else +-# define MACH_MAC_ONLY +-# define MACH_IS_MAC (1) +-# define MACH_TYPE (MACH_MAC) +-#endif +- +-#if defined(CONFIG_SUN3) +-#define MACH_IS_SUN3 (1) +-#define MACH_SUN3_ONLY (1) +-#define MACH_TYPE (MACH_SUN3) +-#else +-#define MACH_IS_SUN3 (0) +-#endif +- +-#if !defined (CONFIG_APOLLO) +-# define MACH_IS_APOLLO (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_MVME16x) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_APOLLO (m68k_machtype == MACH_APOLLO) +-#else +-# define MACH_APOLLO_ONLY +-# define MACH_IS_APOLLO (1) +-# define MACH_TYPE (MACH_APOLLO) +-#endif +- +-#if !defined (CONFIG_MVME147) +-# define MACH_IS_MVME147 (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME16x) +-# define MACH_IS_MVME147 (m68k_machtype == MACH_MVME147) +-#else +-# define MACH_MVME147_ONLY +-# define MACH_IS_MVME147 (1) +-# define MACH_TYPE (MACH_MVME147) +-#endif +- +-#if !defined (CONFIG_MVME16x) +-# define MACH_IS_MVME16x (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_BVME6000) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_MVME16x (m68k_machtype == MACH_MVME16x) +-#else +-# define MACH_MVME16x_ONLY +-# define MACH_IS_MVME16x (1) +-# define MACH_TYPE (MACH_MVME16x) +-#endif +- +-#if !defined (CONFIG_BVME6000) +-# define MACH_IS_BVME6000 (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ +- || defined(CONFIG_HP300) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_BVME6000 (m68k_machtype == MACH_BVME6000) +-#else +-# define MACH_BVME6000_ONLY +-# define MACH_IS_BVME6000 (1) +-# define MACH_TYPE (MACH_BVME6000) +-#endif +- +-#if !defined (CONFIG_HP300) +-# define MACH_IS_HP300 (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ +- || defined(CONFIG_BVME6000) || defined(CONFIG_Q40) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_HP300 (m68k_machtype == MACH_HP300) +-#else +-# define MACH_HP300_ONLY +-# define MACH_IS_HP300 (1) +-# define MACH_TYPE (MACH_HP300) +-#endif +- +-#if !defined (CONFIG_Q40) +-# define MACH_IS_Q40 (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ +- || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \ +- || defined(CONFIG_SUN3X) || defined(CONFIG_MVME147) +-# define MACH_IS_Q40 (m68k_machtype == MACH_Q40) +-#else +-# define MACH_Q40_ONLY +-# define MACH_IS_Q40 (1) +-# define MACH_TYPE (MACH_Q40) +-#endif +- +-#if !defined (CONFIG_SUN3X) +-# define MACH_IS_SUN3X (0) +-#elif defined(CONFIG_AMIGA) || defined(CONFIG_MAC) || defined(CONFIG_ATARI) \ +- || defined(CONFIG_APOLLO) || defined(CONFIG_MVME16x) \ +- || defined(CONFIG_BVME6000) || defined(CONFIG_HP300) \ +- || defined(CONFIG_Q40) || defined(CONFIG_MVME147) +-# define MACH_IS_SUN3X (m68k_machtype == MACH_SUN3X) +-#else +-# define CONFIG_SUN3X_ONLY +-# define MACH_IS_SUN3X (1) +-# define MACH_TYPE (MACH_SUN3X) +-#endif +- +-#ifndef MACH_TYPE +-# define MACH_TYPE (m68k_machtype) +-#endif +- +-#endif /* __KERNEL__ */ +- +- +- /* +- * CPU, FPU and MMU types +- * +- * Note: we may rely on the following equalities: +- * +- * CPU_68020 == MMU_68851 +- * CPU_68030 == MMU_68030 +- * CPU_68040 == FPU_68040 == MMU_68040 +- * CPU_68060 == FPU_68060 == MMU_68060 +- */ +- +-#define CPUB_68020 0 +-#define CPUB_68030 1 +-#define CPUB_68040 2 +-#define CPUB_68060 3 +- +-#define CPU_68020 (1< ++ ++/* We have a bigger command line buffer. */ ++#undef COMMAND_LINE_SIZE ++ ++#endif /* __KERNEL__ */ ++ ++#define COMMAND_LINE_SIZE 512 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,24 +1,5 @@ +-#ifndef _ASM_M68k_SIGCONTEXT_H +-#define _ASM_M68k_SIGCONTEXT_H +- +-struct sigcontext { +- unsigned long sc_mask; /* old sigmask */ +- unsigned long sc_usp; /* old user stack pointer */ +- unsigned long sc_d0; +- unsigned long sc_d1; +- unsigned long sc_a0; +- unsigned long sc_a1; + #ifdef __uClinux__ +- unsigned long sc_a5; +-#endif +- unsigned short sc_sr; +- unsigned long sc_pc; +- unsigned short sc_formatvec; +-#ifndef __uClinux__ +- unsigned long sc_fpregs[2*3]; /* room for two fp registers */ +- unsigned long sc_fpcntl[3]; +- unsigned char sc_fpstate[216]; +-#endif +-}; +- ++#include "sigcontext_no.h" ++#else ++#include "sigcontext_mm.h" + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,19 @@ ++#ifndef _ASM_M68k_SIGCONTEXT_H ++#define _ASM_M68k_SIGCONTEXT_H ++ ++struct sigcontext { ++ unsigned long sc_mask; /* old sigmask */ ++ unsigned long sc_usp; /* old user stack pointer */ ++ unsigned long sc_d0; ++ unsigned long sc_d1; ++ unsigned long sc_a0; ++ unsigned long sc_a1; ++ unsigned short sc_sr; ++ unsigned long sc_pc; ++ unsigned short sc_formatvec; ++ unsigned long sc_fpregs[2*3]; /* room for two fp registers */ ++ unsigned long sc_fpcntl[3]; ++ unsigned char sc_fpstate[216]; ++}; ++ ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/sigcontext_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/sigcontext_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,17 @@ ++#ifndef _ASM_M68KNOMMU_SIGCONTEXT_H ++#define _ASM_M68KNOMMU_SIGCONTEXT_H ++ ++struct sigcontext { ++ unsigned long sc_mask; /* old sigmask */ ++ unsigned long sc_usp; /* old user stack pointer */ ++ unsigned long sc_d0; ++ unsigned long sc_d1; ++ unsigned long sc_a0; ++ unsigned long sc_a1; ++ unsigned long sc_a5; ++ unsigned short sc_sr; ++ unsigned long sc_pc; ++ unsigned short sc_formatvec; ++}; ++ ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/siginfo.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/siginfo.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,97 +1,5 @@ +-#ifndef _M68K_SIGINFO_H +-#define _M68K_SIGINFO_H +- +-#ifndef __uClinux__ +-#define HAVE_ARCH_SIGINFO_T +-#define HAVE_ARCH_COPY_SIGINFO +-#endif +- +-#include +- +-#ifndef __uClinux__ +- +-typedef struct siginfo { +- int si_signo; +- int si_errno; +- int si_code; +- +- union { +- int _pad[SI_PAD_SIZE]; +- +- /* kill() */ +- struct { +- __kernel_pid_t _pid; /* sender's pid */ +- __kernel_uid_t _uid; /* backwards compatibility */ +- __kernel_uid32_t _uid32; /* sender's uid */ +- } _kill; +- +- /* POSIX.1b timers */ +- struct { +- timer_t _tid; /* timer id */ +- int _overrun; /* overrun count */ +- char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; +- sigval_t _sigval; /* same as below */ +- int _sys_private; /* not to be passed to user */ +- } _timer; +- +- /* POSIX.1b signals */ +- struct { +- __kernel_pid_t _pid; /* sender's pid */ +- __kernel_uid_t _uid; /* backwards compatibility */ +- sigval_t _sigval; +- __kernel_uid32_t _uid32; /* sender's uid */ +- } _rt; +- +- /* SIGCHLD */ +- struct { +- __kernel_pid_t _pid; /* which child */ +- __kernel_uid_t _uid; /* backwards compatibility */ +- int _status; /* exit code */ +- clock_t _utime; +- clock_t _stime; +- __kernel_uid32_t _uid32; /* sender's uid */ +- } _sigchld; +- +- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ +- struct { +- void *_addr; /* faulting insn/memory ref. */ +- } _sigfault; +- +- /* SIGPOLL */ +- struct { +- int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ +- int _fd; +- } _sigpoll; +- } _sifields; +-} siginfo_t; +- +-#define UID16_SIGINFO_COMPAT_NEEDED +- +-/* +- * How these fields are to be accessed. +- */ +-#undef si_uid +-#ifdef __KERNEL__ +-#define si_uid _sifields._kill._uid32 +-#define si_uid16 _sifields._kill._uid ++#ifdef __uClinux__ ++#include "siginfo_no.h" + #else +-#define si_uid _sifields._kill._uid +-#endif +- +-#ifdef __KERNEL__ +- +-#include +- +-static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) +-{ +- if (from->si_code < 0) +- memcpy(to, from, sizeof(*to)); +- else +- /* _sigchld is currently the largest know union member */ +- memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); +-} +- +-#endif /* __KERNEL__ */ +-#endif /* !__uClinux__ */ +- ++#include "siginfo_mm.h" + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/siginfo_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/siginfo_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,92 @@ ++#ifndef _M68K_SIGINFO_H ++#define _M68K_SIGINFO_H ++ ++#define HAVE_ARCH_SIGINFO_T ++#define HAVE_ARCH_COPY_SIGINFO ++ ++#include ++ ++typedef struct siginfo { ++ int si_signo; ++ int si_errno; ++ int si_code; ++ ++ union { ++ int _pad[SI_PAD_SIZE]; ++ ++ /* kill() */ ++ struct { ++ __kernel_pid_t _pid; /* sender's pid */ ++ __kernel_uid_t _uid; /* backwards compatibility */ ++ __kernel_uid32_t _uid32; /* sender's uid */ ++ } _kill; ++ ++ /* POSIX.1b timers */ ++ struct { ++ timer_t _tid; /* timer id */ ++ int _overrun; /* overrun count */ ++ char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)]; ++ sigval_t _sigval; /* same as below */ ++ int _sys_private; /* not to be passed to user */ ++ } _timer; ++ ++ /* POSIX.1b signals */ ++ struct { ++ __kernel_pid_t _pid; /* sender's pid */ ++ __kernel_uid_t _uid; /* backwards compatibility */ ++ sigval_t _sigval; ++ __kernel_uid32_t _uid32; /* sender's uid */ ++ } _rt; ++ ++ /* SIGCHLD */ ++ struct { ++ __kernel_pid_t _pid; /* which child */ ++ __kernel_uid_t _uid; /* backwards compatibility */ ++ int _status; /* exit code */ ++ clock_t _utime; ++ clock_t _stime; ++ __kernel_uid32_t _uid32; /* sender's uid */ ++ } _sigchld; ++ ++ /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ ++ struct { ++ void *_addr; /* faulting insn/memory ref. */ ++ } _sigfault; ++ ++ /* SIGPOLL */ ++ struct { ++ int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ ++ int _fd; ++ } _sigpoll; ++ } _sifields; ++} siginfo_t; ++ ++#define UID16_SIGINFO_COMPAT_NEEDED ++ ++/* ++ * How these fields are to be accessed. ++ */ ++#undef si_uid ++#ifdef __KERNEL__ ++#define si_uid _sifields._kill._uid32 ++#define si_uid16 _sifields._kill._uid ++#else ++#define si_uid _sifields._kill._uid ++#endif ++ ++#ifdef __KERNEL__ ++ ++#include ++ ++static inline void copy_siginfo(struct siginfo *to, struct siginfo *from) ++{ ++ if (from->si_code < 0) ++ memcpy(to, from, sizeof(*to)); ++ else ++ /* _sigchld is currently the largest know union member */ ++ memcpy(to, from, 3*sizeof(int) + sizeof(from->_sifields._sigchld)); ++} ++ ++#endif /* __KERNEL__ */ ++ ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/siginfo_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/siginfo_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/siginfo_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,6 @@ ++#ifndef _M68KNOMMU_SIGINFO_H ++#define _M68KNOMMU_SIGINFO_H ++ ++#include ++ ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/signal.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/signal.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,213 +1,5 @@ +-#ifndef _M68K_SIGNAL_H +-#define _M68K_SIGNAL_H +- +-#include +- +-/* Avoid too many header ordering problems. */ +-struct siginfo; +- +-#ifdef __KERNEL__ +-/* Most things should be clean enough to redefine this at will, if care +- is taken to make libc match. */ +- +-#define _NSIG 64 +-#define _NSIG_BPW 32 +-#define _NSIG_WORDS (_NSIG / _NSIG_BPW) +- +-typedef unsigned long old_sigset_t; /* at least 32 bits */ +- +-typedef struct { +- unsigned long sig[_NSIG_WORDS]; +-} sigset_t; +- ++#ifdef __uClinux__ ++#include "signal_no.h" + #else +-/* Here we must cater to libcs that poke about in kernel headers. */ +- +-#define NSIG 32 +-typedef unsigned long sigset_t; +- +-#endif /* __KERNEL__ */ +- +-#define SIGHUP 1 +-#define SIGINT 2 +-#define SIGQUIT 3 +-#define SIGILL 4 +-#define SIGTRAP 5 +-#define SIGABRT 6 +-#define SIGIOT 6 +-#define SIGBUS 7 +-#define SIGFPE 8 +-#define SIGKILL 9 +-#define SIGUSR1 10 +-#define SIGSEGV 11 +-#define SIGUSR2 12 +-#define SIGPIPE 13 +-#define SIGALRM 14 +-#define SIGTERM 15 +-#define SIGSTKFLT 16 +-#define SIGCHLD 17 +-#define SIGCONT 18 +-#define SIGSTOP 19 +-#define SIGTSTP 20 +-#define SIGTTIN 21 +-#define SIGTTOU 22 +-#define SIGURG 23 +-#define SIGXCPU 24 +-#define SIGXFSZ 25 +-#define SIGVTALRM 26 +-#define SIGPROF 27 +-#define SIGWINCH 28 +-#define SIGIO 29 +-#define SIGPOLL SIGIO +-/* +-#define SIGLOST 29 +-*/ +-#define SIGPWR 30 +-#define SIGSYS 31 +-#define SIGUNUSED 31 +- +-/* These should not be considered constants from userland. */ +-#define SIGRTMIN 32 +-#define SIGRTMAX _NSIG +- +-/* +- * SA_FLAGS values: +- * +- * SA_ONSTACK indicates that a registered stack_t will be used. +- * SA_RESTART flag to get restarting signals (which were the default long ago) +- * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. +- * SA_RESETHAND clears the handler when the signal is delivered. +- * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. +- * SA_NODEFER prevents the current signal from being masked in the handler. +- * +- * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single +- * Unix names RESETHAND and NODEFER respectively. +- */ +-#define SA_NOCLDSTOP 0x00000001 +-#define SA_NOCLDWAIT 0x00000002 +-#define SA_SIGINFO 0x00000004 +-#define SA_ONSTACK 0x08000000 +-#define SA_RESTART 0x10000000 +-#define SA_NODEFER 0x40000000 +-#define SA_RESETHAND 0x80000000 +- +-#define SA_NOMASK SA_NODEFER +-#define SA_ONESHOT SA_RESETHAND +- +-/* +- * sigaltstack controls +- */ +-#define SS_ONSTACK 1 +-#define SS_DISABLE 2 +- +-#define MINSIGSTKSZ 2048 +-#define SIGSTKSZ 8192 +- +-#include +- +-#ifdef __KERNEL__ +-struct old_sigaction { +- __sighandler_t sa_handler; +- old_sigset_t sa_mask; +- unsigned long sa_flags; +- __sigrestore_t sa_restorer; +-}; +- +-struct sigaction { +- __sighandler_t sa_handler; +- unsigned long sa_flags; +- __sigrestore_t sa_restorer; +- sigset_t sa_mask; /* mask last for extensibility */ +-}; +- +-struct k_sigaction { +- struct sigaction sa; +-}; +-#else +-/* Here we must cater to libcs that poke about in kernel headers. */ +- +-struct sigaction { +- union { +- __sighandler_t _sa_handler; +- void (*_sa_sigaction)(int, struct siginfo *, void *); +- } _u; +- sigset_t sa_mask; +- unsigned long sa_flags; +- void (*sa_restorer)(void); +-}; +- +-#define sa_handler _u._sa_handler +-#define sa_sigaction _u._sa_sigaction +- +-#endif /* __KERNEL__ */ +- +-typedef struct sigaltstack { +- void __user *ss_sp; +- int ss_flags; +- size_t ss_size; +-} stack_t; +- +-#ifdef __KERNEL__ +-#include +- +-#ifndef __uClinux__ +-#define __HAVE_ARCH_SIG_BITOPS +- +-static inline void sigaddset(sigset_t *set, int _sig) +-{ +- asm ("bfset %0{%1,#1}" +- : "+od" (*set) +- : "id" ((_sig - 1) ^ 31) +- : "cc"); +-} +- +-static inline void sigdelset(sigset_t *set, int _sig) +-{ +- asm ("bfclr %0{%1,#1}" +- : "+od" (*set) +- : "id" ((_sig - 1) ^ 31) +- : "cc"); +-} +- +-static inline int __const_sigismember(sigset_t *set, int _sig) +-{ +- unsigned long sig = _sig - 1; +- return 1 & (set->sig[sig / _NSIG_BPW] >> (sig % _NSIG_BPW)); +-} +- +-static inline int __gen_sigismember(sigset_t *set, int _sig) +-{ +- int ret; +- asm ("bfextu %1{%2,#1},%0" +- : "=d" (ret) +- : "od" (*set), "id" ((_sig-1) ^ 31) +- : "cc"); +- return ret; +-} +- +-#define sigismember(set,sig) \ +- (__builtin_constant_p(sig) ? \ +- __const_sigismember(set,sig) : \ +- __gen_sigismember(set,sig)) +- +-static inline int sigfindinword(unsigned long word) +-{ +- asm ("bfffo %1{#0,#0},%0" +- : "=d" (word) +- : "d" (word & -word) +- : "cc"); +- return word ^ 31; +-} +- +-struct pt_regs; +-extern void ptrace_signal_deliver(struct pt_regs *regs, void *cookie); +- +-#else +- +-#undef __HAVE_ARCH_SIG_BITOPS +-#define ptrace_signal_deliver(regs, cookie) do { } while (0) +- +-#endif /* __uClinux__ */ +-#endif /* __KERNEL__ */ +- +-#endif /* _M68K_SIGNAL_H */ ++#include "signal_mm.h" ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/signal_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/signal_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,206 @@ ++#ifndef _M68K_SIGNAL_H ++#define _M68K_SIGNAL_H ++ ++#include ++ ++/* Avoid too many header ordering problems. */ ++struct siginfo; ++ ++#ifdef __KERNEL__ ++/* Most things should be clean enough to redefine this at will, if care ++ is taken to make libc match. */ ++ ++#define _NSIG 64 ++#define _NSIG_BPW 32 ++#define _NSIG_WORDS (_NSIG / _NSIG_BPW) ++ ++typedef unsigned long old_sigset_t; /* at least 32 bits */ ++ ++typedef struct { ++ unsigned long sig[_NSIG_WORDS]; ++} sigset_t; ++ ++#else ++/* Here we must cater to libcs that poke about in kernel headers. */ ++ ++#define NSIG 32 ++typedef unsigned long sigset_t; ++ ++#endif /* __KERNEL__ */ ++ ++#define SIGHUP 1 ++#define SIGINT 2 ++#define SIGQUIT 3 ++#define SIGILL 4 ++#define SIGTRAP 5 ++#define SIGABRT 6 ++#define SIGIOT 6 ++#define SIGBUS 7 ++#define SIGFPE 8 ++#define SIGKILL 9 ++#define SIGUSR1 10 ++#define SIGSEGV 11 ++#define SIGUSR2 12 ++#define SIGPIPE 13 ++#define SIGALRM 14 ++#define SIGTERM 15 ++#define SIGSTKFLT 16 ++#define SIGCHLD 17 ++#define SIGCONT 18 ++#define SIGSTOP 19 ++#define SIGTSTP 20 ++#define SIGTTIN 21 ++#define SIGTTOU 22 ++#define SIGURG 23 ++#define SIGXCPU 24 ++#define SIGXFSZ 25 ++#define SIGVTALRM 26 ++#define SIGPROF 27 ++#define SIGWINCH 28 ++#define SIGIO 29 ++#define SIGPOLL SIGIO ++/* ++#define SIGLOST 29 ++*/ ++#define SIGPWR 30 ++#define SIGSYS 31 ++#define SIGUNUSED 31 ++ ++/* These should not be considered constants from userland. */ ++#define SIGRTMIN 32 ++#define SIGRTMAX _NSIG ++ ++/* ++ * SA_FLAGS values: ++ * ++ * SA_ONSTACK indicates that a registered stack_t will be used. ++ * SA_RESTART flag to get restarting signals (which were the default long ago) ++ * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. ++ * SA_RESETHAND clears the handler when the signal is delivered. ++ * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. ++ * SA_NODEFER prevents the current signal from being masked in the handler. ++ * ++ * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single ++ * Unix names RESETHAND and NODEFER respectively. ++ */ ++#define SA_NOCLDSTOP 0x00000001 ++#define SA_NOCLDWAIT 0x00000002 ++#define SA_SIGINFO 0x00000004 ++#define SA_ONSTACK 0x08000000 ++#define SA_RESTART 0x10000000 ++#define SA_NODEFER 0x40000000 ++#define SA_RESETHAND 0x80000000 ++ ++#define SA_NOMASK SA_NODEFER ++#define SA_ONESHOT SA_RESETHAND ++ ++/* ++ * sigaltstack controls ++ */ ++#define SS_ONSTACK 1 ++#define SS_DISABLE 2 ++ ++#define MINSIGSTKSZ 2048 ++#define SIGSTKSZ 8192 ++ ++#include ++ ++#ifdef __KERNEL__ ++struct old_sigaction { ++ __sighandler_t sa_handler; ++ old_sigset_t sa_mask; ++ unsigned long sa_flags; ++ __sigrestore_t sa_restorer; ++}; ++ ++struct sigaction { ++ __sighandler_t sa_handler; ++ unsigned long sa_flags; ++ __sigrestore_t sa_restorer; ++ sigset_t sa_mask; /* mask last for extensibility */ ++}; ++ ++struct k_sigaction { ++ struct sigaction sa; ++}; ++#else ++/* Here we must cater to libcs that poke about in kernel headers. */ ++ ++struct sigaction { ++ union { ++ __sighandler_t _sa_handler; ++ void (*_sa_sigaction)(int, struct siginfo *, void *); ++ } _u; ++ sigset_t sa_mask; ++ unsigned long sa_flags; ++ void (*sa_restorer)(void); ++}; ++ ++#define sa_handler _u._sa_handler ++#define sa_sigaction _u._sa_sigaction ++ ++#endif /* __KERNEL__ */ ++ ++typedef struct sigaltstack { ++ void __user *ss_sp; ++ int ss_flags; ++ size_t ss_size; ++} stack_t; ++ ++#ifdef __KERNEL__ ++#include ++ ++#define __HAVE_ARCH_SIG_BITOPS ++ ++static inline void sigaddset(sigset_t *set, int _sig) ++{ ++ asm ("bfset %0{%1,#1}" ++ : "+od" (*set) ++ : "id" ((_sig - 1) ^ 31) ++ : "cc"); ++} ++ ++static inline void sigdelset(sigset_t *set, int _sig) ++{ ++ asm ("bfclr %0{%1,#1}" ++ : "+od" (*set) ++ : "id" ((_sig - 1) ^ 31) ++ : "cc"); ++} ++ ++static inline int __const_sigismember(sigset_t *set, int _sig) ++{ ++ unsigned long sig = _sig - 1; ++ return 1 & (set->sig[sig / _NSIG_BPW] >> (sig % _NSIG_BPW)); ++} ++ ++static inline int __gen_sigismember(sigset_t *set, int _sig) ++{ ++ int ret; ++ asm ("bfextu %1{%2,#1},%0" ++ : "=d" (ret) ++ : "od" (*set), "id" ((_sig-1) ^ 31) ++ : "cc"); ++ return ret; ++} ++ ++#define sigismember(set,sig) \ ++ (__builtin_constant_p(sig) ? \ ++ __const_sigismember(set,sig) : \ ++ __gen_sigismember(set,sig)) ++ ++static inline int sigfindinword(unsigned long word) ++{ ++ asm ("bfffo %1{#0,#0},%0" ++ : "=d" (word) ++ : "d" (word & -word) ++ : "cc"); ++ return word ^ 31; ++} ++ ++struct pt_regs; ++extern void ptrace_signal_deliver(struct pt_regs *regs, void *cookie); ++ ++#endif /* __KERNEL__ */ ++ ++#endif /* _M68K_SIGNAL_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/signal_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/signal_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/signal_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,159 @@ ++#ifndef _M68KNOMMU_SIGNAL_H ++#define _M68KNOMMU_SIGNAL_H ++ ++#include ++ ++/* Avoid too many header ordering problems. */ ++struct siginfo; ++ ++#ifdef __KERNEL__ ++/* Most things should be clean enough to redefine this at will, if care ++ is taken to make libc match. */ ++ ++#define _NSIG 64 ++#define _NSIG_BPW 32 ++#define _NSIG_WORDS (_NSIG / _NSIG_BPW) ++ ++typedef unsigned long old_sigset_t; /* at least 32 bits */ ++ ++typedef struct { ++ unsigned long sig[_NSIG_WORDS]; ++} sigset_t; ++ ++#else ++/* Here we must cater to libcs that poke about in kernel headers. */ ++ ++#define NSIG 32 ++typedef unsigned long sigset_t; ++ ++#endif /* __KERNEL__ */ ++ ++#define SIGHUP 1 ++#define SIGINT 2 ++#define SIGQUIT 3 ++#define SIGILL 4 ++#define SIGTRAP 5 ++#define SIGABRT 6 ++#define SIGIOT 6 ++#define SIGBUS 7 ++#define SIGFPE 8 ++#define SIGKILL 9 ++#define SIGUSR1 10 ++#define SIGSEGV 11 ++#define SIGUSR2 12 ++#define SIGPIPE 13 ++#define SIGALRM 14 ++#define SIGTERM 15 ++#define SIGSTKFLT 16 ++#define SIGCHLD 17 ++#define SIGCONT 18 ++#define SIGSTOP 19 ++#define SIGTSTP 20 ++#define SIGTTIN 21 ++#define SIGTTOU 22 ++#define SIGURG 23 ++#define SIGXCPU 24 ++#define SIGXFSZ 25 ++#define SIGVTALRM 26 ++#define SIGPROF 27 ++#define SIGWINCH 28 ++#define SIGIO 29 ++#define SIGPOLL SIGIO ++/* ++#define SIGLOST 29 ++*/ ++#define SIGPWR 30 ++#define SIGSYS 31 ++#define SIGUNUSED 31 ++ ++/* These should not be considered constants from userland. */ ++#define SIGRTMIN 32 ++#define SIGRTMAX _NSIG ++ ++/* ++ * SA_FLAGS values: ++ * ++ * SA_ONSTACK indicates that a registered stack_t will be used. ++ * SA_RESTART flag to get restarting signals (which were the default long ago) ++ * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. ++ * SA_RESETHAND clears the handler when the signal is delivered. ++ * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. ++ * SA_NODEFER prevents the current signal from being masked in the handler. ++ * ++ * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single ++ * Unix names RESETHAND and NODEFER respectively. ++ */ ++#define SA_NOCLDSTOP 0x00000001 ++#define SA_NOCLDWAIT 0x00000002 ++#define SA_SIGINFO 0x00000004 ++#define SA_ONSTACK 0x08000000 ++#define SA_RESTART 0x10000000 ++#define SA_NODEFER 0x40000000 ++#define SA_RESETHAND 0x80000000 ++ ++#define SA_NOMASK SA_NODEFER ++#define SA_ONESHOT SA_RESETHAND ++ ++/* ++ * sigaltstack controls ++ */ ++#define SS_ONSTACK 1 ++#define SS_DISABLE 2 ++ ++#define MINSIGSTKSZ 2048 ++#define SIGSTKSZ 8192 ++ ++#include ++ ++#ifdef __KERNEL__ ++struct old_sigaction { ++ __sighandler_t sa_handler; ++ old_sigset_t sa_mask; ++ unsigned long sa_flags; ++ void (*sa_restorer)(void); ++}; ++ ++struct sigaction { ++ __sighandler_t sa_handler; ++ unsigned long sa_flags; ++ void (*sa_restorer)(void); ++ sigset_t sa_mask; /* mask last for extensibility */ ++}; ++ ++struct k_sigaction { ++ struct sigaction sa; ++}; ++#else ++/* Here we must cater to libcs that poke about in kernel headers. */ ++ ++struct sigaction { ++ union { ++ __sighandler_t _sa_handler; ++ void (*_sa_sigaction)(int, struct siginfo *, void *); ++ } _u; ++ sigset_t sa_mask; ++ unsigned long sa_flags; ++ void (*sa_restorer)(void); ++}; ++ ++#define sa_handler _u._sa_handler ++#define sa_sigaction _u._sa_sigaction ++ ++#endif /* __KERNEL__ */ ++ ++typedef struct sigaltstack { ++ void *ss_sp; ++ int ss_flags; ++ size_t ss_size; ++} stack_t; ++ ++#ifdef __KERNEL__ ++ ++#include ++#undef __HAVE_ARCH_SIG_BITOPS ++ ++#define ptrace_signal_deliver(regs, cookie) do { } while (0) ++ ++#endif /* __KERNEL__ */ ++ ++#endif /* _M68KNOMMU_SIGNAL_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/swab.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/swab.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,27 +1,5 @@ +-#ifndef _M68K_SWAB_H +-#define _M68K_SWAB_H +- +-#include +-#include +- +-#define __SWAB_64_THRU_32__ +- +-#if defined (__mcfisaaplus__) || defined (__mcfisac__) +-static inline __attribute_const__ __u32 __arch_swab32(__u32 val) +-{ +- __asm__("byterev %0" : "=d" (val) : "0" (val)); +- return val; +-} +- +-#define __arch_swab32 __arch_swab32 +-#elif !defined(__uClinux__) +- +-static inline __attribute_const__ __u32 __arch_swab32(__u32 val) +-{ +- __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val)); +- return val; +-} +-#define __arch_swab32 __arch_swab32 ++#ifdef __uClinux__ ++#include "swab_no.h" ++#else ++#include "swab_mm.h" + #endif +- +-#endif /* _M68K_SWAB_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/swab_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/swab_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,16 @@ ++#ifndef _M68K_SWAB_H ++#define _M68K_SWAB_H ++ ++#include ++#include ++ ++#define __SWAB_64_THRU_32__ ++ ++static inline __attribute_const__ __u32 __arch_swab32(__u32 val) ++{ ++ __asm__("rolw #8,%0; swap %0; rolw #8,%0" : "=d" (val) : "0" (val)); ++ return val; ++} ++#define __arch_swab32 __arch_swab32 ++ ++#endif /* _M68K_SWAB_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/swab_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/swab_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/swab_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,24 @@ ++#ifndef _M68KNOMMU_SWAB_H ++#define _M68KNOMMU_SWAB_H ++ ++#include ++ ++#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) ++# define __SWAB_64_THRU_32__ ++#endif ++ ++#if defined (__mcfisaaplus__) || defined (__mcfisac__) ++static inline __attribute_const__ __u32 __arch_swab32(__u32 val) ++{ ++ asm( ++ "byterev %0" ++ : "=d" (val) ++ : "0" (val) ++ ); ++ return val; ++} ++ ++#define __arch_swab32 __arch_swab32 ++#endif ++ ++#endif /* _M68KNOMMU_SWAB_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/unistd.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/unistd.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,372 +1,5 @@ +-#ifndef _ASM_M68K_UNISTD_H_ +-#define _ASM_M68K_UNISTD_H_ +- +-/* +- * This file contains the system call numbers. +- */ +- +-#define __NR_restart_syscall 0 +-#define __NR_exit 1 +-#define __NR_fork 2 +-#define __NR_read 3 +-#define __NR_write 4 +-#define __NR_open 5 +-#define __NR_close 6 +-#define __NR_waitpid 7 +-#define __NR_creat 8 +-#define __NR_link 9 +-#define __NR_unlink 10 +-#define __NR_execve 11 +-#define __NR_chdir 12 +-#define __NR_time 13 +-#define __NR_mknod 14 +-#define __NR_chmod 15 +-#define __NR_chown 16 +-#define __NR_break 17 +-#define __NR_oldstat 18 +-#define __NR_lseek 19 +-#define __NR_getpid 20 +-#define __NR_mount 21 +-#define __NR_umount 22 +-#define __NR_setuid 23 +-#define __NR_getuid 24 +-#define __NR_stime 25 +-#define __NR_ptrace 26 +-#define __NR_alarm 27 +-#define __NR_oldfstat 28 +-#define __NR_pause 29 +-#define __NR_utime 30 +-#define __NR_stty 31 +-#define __NR_gtty 32 +-#define __NR_access 33 +-#define __NR_nice 34 +-#define __NR_ftime 35 +-#define __NR_sync 36 +-#define __NR_kill 37 +-#define __NR_rename 38 +-#define __NR_mkdir 39 +-#define __NR_rmdir 40 +-#define __NR_dup 41 +-#define __NR_pipe 42 +-#define __NR_times 43 +-#define __NR_prof 44 +-#define __NR_brk 45 +-#define __NR_setgid 46 +-#define __NR_getgid 47 +-#define __NR_signal 48 +-#define __NR_geteuid 49 +-#define __NR_getegid 50 +-#define __NR_acct 51 +-#define __NR_umount2 52 +-#define __NR_lock 53 +-#define __NR_ioctl 54 +-#define __NR_fcntl 55 +-#define __NR_mpx 56 +-#define __NR_setpgid 57 +-#define __NR_ulimit 58 +-#define __NR_oldolduname 59 +-#define __NR_umask 60 +-#define __NR_chroot 61 +-#define __NR_ustat 62 +-#define __NR_dup2 63 +-#define __NR_getppid 64 +-#define __NR_getpgrp 65 +-#define __NR_setsid 66 +-#define __NR_sigaction 67 +-#define __NR_sgetmask 68 +-#define __NR_ssetmask 69 +-#define __NR_setreuid 70 +-#define __NR_setregid 71 +-#define __NR_sigsuspend 72 +-#define __NR_sigpending 73 +-#define __NR_sethostname 74 +-#define __NR_setrlimit 75 +-#define __NR_getrlimit 76 +-#define __NR_getrusage 77 +-#define __NR_gettimeofday 78 +-#define __NR_settimeofday 79 +-#define __NR_getgroups 80 +-#define __NR_setgroups 81 +-#define __NR_select 82 +-#define __NR_symlink 83 +-#define __NR_oldlstat 84 +-#define __NR_readlink 85 +-#define __NR_uselib 86 +-#define __NR_swapon 87 +-#define __NR_reboot 88 +-#define __NR_readdir 89 +-#define __NR_mmap 90 +-#define __NR_munmap 91 +-#define __NR_truncate 92 +-#define __NR_ftruncate 93 +-#define __NR_fchmod 94 +-#define __NR_fchown 95 +-#define __NR_getpriority 96 +-#define __NR_setpriority 97 +-#define __NR_profil 98 +-#define __NR_statfs 99 +-#define __NR_fstatfs 100 +-#define __NR_ioperm 101 +-#define __NR_socketcall 102 +-#define __NR_syslog 103 +-#define __NR_setitimer 104 +-#define __NR_getitimer 105 +-#define __NR_stat 106 +-#define __NR_lstat 107 +-#define __NR_fstat 108 +-#define __NR_olduname 109 +-#define __NR_iopl /* 110 */ not supported +-#define __NR_vhangup 111 +-#define __NR_idle /* 112 */ Obsolete +-#define __NR_vm86 /* 113 */ not supported +-#define __NR_wait4 114 +-#define __NR_swapoff 115 +-#define __NR_sysinfo 116 +-#define __NR_ipc 117 +-#define __NR_fsync 118 +-#define __NR_sigreturn 119 +-#define __NR_clone 120 +-#define __NR_setdomainname 121 +-#define __NR_uname 122 +-#define __NR_cacheflush 123 +-#define __NR_adjtimex 124 +-#define __NR_mprotect 125 +-#define __NR_sigprocmask 126 +-#define __NR_create_module 127 +-#define __NR_init_module 128 +-#define __NR_delete_module 129 +-#define __NR_get_kernel_syms 130 +-#define __NR_quotactl 131 +-#define __NR_getpgid 132 +-#define __NR_fchdir 133 +-#define __NR_bdflush 134 +-#define __NR_sysfs 135 +-#define __NR_personality 136 +-#define __NR_afs_syscall 137 /* Syscall for Andrew File System */ +-#define __NR_setfsuid 138 +-#define __NR_setfsgid 139 +-#define __NR__llseek 140 +-#define __NR_getdents 141 +-#define __NR__newselect 142 +-#define __NR_flock 143 +-#define __NR_msync 144 +-#define __NR_readv 145 +-#define __NR_writev 146 +-#define __NR_getsid 147 +-#define __NR_fdatasync 148 +-#define __NR__sysctl 149 +-#define __NR_mlock 150 +-#define __NR_munlock 151 +-#define __NR_mlockall 152 +-#define __NR_munlockall 153 +-#define __NR_sched_setparam 154 +-#define __NR_sched_getparam 155 +-#define __NR_sched_setscheduler 156 +-#define __NR_sched_getscheduler 157 +-#define __NR_sched_yield 158 +-#define __NR_sched_get_priority_max 159 +-#define __NR_sched_get_priority_min 160 +-#define __NR_sched_rr_get_interval 161 +-#define __NR_nanosleep 162 +-#define __NR_mremap 163 +-#define __NR_setresuid 164 +-#define __NR_getresuid 165 +-#define __NR_getpagesize 166 +-#define __NR_query_module 167 +-#define __NR_poll 168 +-#define __NR_nfsservctl 169 +-#define __NR_setresgid 170 +-#define __NR_getresgid 171 +-#define __NR_prctl 172 +-#define __NR_rt_sigreturn 173 +-#define __NR_rt_sigaction 174 +-#define __NR_rt_sigprocmask 175 +-#define __NR_rt_sigpending 176 +-#define __NR_rt_sigtimedwait 177 +-#define __NR_rt_sigqueueinfo 178 +-#define __NR_rt_sigsuspend 179 +-#define __NR_pread64 180 +-#define __NR_pwrite64 181 +-#define __NR_lchown 182 +-#define __NR_getcwd 183 +-#define __NR_capget 184 +-#define __NR_capset 185 +-#define __NR_sigaltstack 186 +-#define __NR_sendfile 187 +-#define __NR_getpmsg 188 /* some people actually want streams */ +-#define __NR_putpmsg 189 /* some people actually want streams */ +-#define __NR_vfork 190 +-#define __NR_ugetrlimit 191 +-#define __NR_mmap2 192 +-#define __NR_truncate64 193 +-#define __NR_ftruncate64 194 +-#define __NR_stat64 195 +-#define __NR_lstat64 196 +-#define __NR_fstat64 197 +-#define __NR_chown32 198 +-#define __NR_getuid32 199 +-#define __NR_getgid32 200 +-#define __NR_geteuid32 201 +-#define __NR_getegid32 202 +-#define __NR_setreuid32 203 +-#define __NR_setregid32 204 +-#define __NR_getgroups32 205 +-#define __NR_setgroups32 206 +-#define __NR_fchown32 207 +-#define __NR_setresuid32 208 +-#define __NR_getresuid32 209 +-#define __NR_setresgid32 210 +-#define __NR_getresgid32 211 +-#define __NR_lchown32 212 +-#define __NR_setuid32 213 +-#define __NR_setgid32 214 +-#define __NR_setfsuid32 215 +-#define __NR_setfsgid32 216 +-#define __NR_pivot_root 217 +-#define __NR_getdents64 220 +-#define __NR_gettid 221 +-#define __NR_tkill 222 +-#define __NR_setxattr 223 +-#define __NR_lsetxattr 224 +-#define __NR_fsetxattr 225 +-#define __NR_getxattr 226 +-#define __NR_lgetxattr 227 +-#define __NR_fgetxattr 228 +-#define __NR_listxattr 229 +-#define __NR_llistxattr 230 +-#define __NR_flistxattr 231 +-#define __NR_removexattr 232 +-#define __NR_lremovexattr 233 +-#define __NR_fremovexattr 234 +-#define __NR_futex 235 +-#define __NR_sendfile64 236 +-#define __NR_mincore 237 +-#define __NR_madvise 238 +-#define __NR_fcntl64 239 +-#define __NR_readahead 240 +-#define __NR_io_setup 241 +-#define __NR_io_destroy 242 +-#define __NR_io_getevents 243 +-#define __NR_io_submit 244 +-#define __NR_io_cancel 245 +-#define __NR_fadvise64 246 +-#define __NR_exit_group 247 +-#define __NR_lookup_dcookie 248 +-#define __NR_epoll_create 249 +-#define __NR_epoll_ctl 250 +-#define __NR_epoll_wait 251 +-#define __NR_remap_file_pages 252 +-#define __NR_set_tid_address 253 +-#define __NR_timer_create 254 +-#define __NR_timer_settime 255 +-#define __NR_timer_gettime 256 +-#define __NR_timer_getoverrun 257 +-#define __NR_timer_delete 258 +-#define __NR_clock_settime 259 +-#define __NR_clock_gettime 260 +-#define __NR_clock_getres 261 +-#define __NR_clock_nanosleep 262 +-#define __NR_statfs64 263 +-#define __NR_fstatfs64 264 +-#define __NR_tgkill 265 +-#define __NR_utimes 266 +-#define __NR_fadvise64_64 267 +-#define __NR_mbind 268 +-#define __NR_get_mempolicy 269 +-#define __NR_set_mempolicy 270 +-#define __NR_mq_open 271 +-#define __NR_mq_unlink 272 +-#define __NR_mq_timedsend 273 +-#define __NR_mq_timedreceive 274 +-#define __NR_mq_notify 275 +-#define __NR_mq_getsetattr 276 +-#define __NR_waitid 277 +-#define __NR_vserver 278 +-#define __NR_add_key 279 +-#define __NR_request_key 280 +-#define __NR_keyctl 281 +-#define __NR_ioprio_set 282 +-#define __NR_ioprio_get 283 +-#define __NR_inotify_init 284 +-#define __NR_inotify_add_watch 285 +-#define __NR_inotify_rm_watch 286 +-#define __NR_migrate_pages 287 +-#define __NR_openat 288 +-#define __NR_mkdirat 289 +-#define __NR_mknodat 290 +-#define __NR_fchownat 291 +-#define __NR_futimesat 292 +-#define __NR_fstatat64 293 +-#define __NR_unlinkat 294 +-#define __NR_renameat 295 +-#define __NR_linkat 296 +-#define __NR_symlinkat 297 +-#define __NR_readlinkat 298 +-#define __NR_fchmodat 299 +-#define __NR_faccessat 300 +-#define __NR_pselect6 301 +-#define __NR_ppoll 302 +-#define __NR_unshare 303 +-#define __NR_set_robust_list 304 +-#define __NR_get_robust_list 305 +-#define __NR_splice 306 +-#define __NR_sync_file_range 307 +-#define __NR_tee 308 +-#define __NR_vmsplice 309 +-#define __NR_move_pages 310 +-#define __NR_sched_setaffinity 311 +-#define __NR_sched_getaffinity 312 +-#define __NR_kexec_load 313 +-#define __NR_getcpu 314 +-#define __NR_epoll_pwait 315 +-#define __NR_utimensat 316 +-#define __NR_signalfd 317 +-#define __NR_timerfd_create 318 +-#define __NR_eventfd 319 +-#define __NR_fallocate 320 +-#define __NR_timerfd_settime 321 +-#define __NR_timerfd_gettime 322 +-#define __NR_signalfd4 323 +-#define __NR_eventfd2 324 +-#define __NR_epoll_create1 325 +-#define __NR_dup3 326 +-#define __NR_pipe2 327 +-#define __NR_inotify_init1 328 +- +-#ifdef __KERNEL__ +- +-#define NR_syscalls 329 +- +-#define __ARCH_WANT_IPC_PARSE_VERSION +-#define __ARCH_WANT_OLD_READDIR +-#define __ARCH_WANT_OLD_STAT +-#define __ARCH_WANT_STAT64 +-#define __ARCH_WANT_SYS_ALARM +-#define __ARCH_WANT_SYS_GETHOSTNAME +-#define __ARCH_WANT_SYS_PAUSE +-#define __ARCH_WANT_SYS_SGETMASK +-#define __ARCH_WANT_SYS_SIGNAL +-#define __ARCH_WANT_SYS_TIME +-#define __ARCH_WANT_SYS_UTIME +-#define __ARCH_WANT_SYS_WAITPID +-#define __ARCH_WANT_SYS_SOCKETCALL +-#define __ARCH_WANT_SYS_FADVISE64 +-#define __ARCH_WANT_SYS_GETPGRP +-#define __ARCH_WANT_SYS_LLSEEK +-#define __ARCH_WANT_SYS_NICE +-#define __ARCH_WANT_SYS_OLD_GETRLIMIT +-#define __ARCH_WANT_SYS_OLDUMOUNT +-#define __ARCH_WANT_SYS_SIGPENDING +-#define __ARCH_WANT_SYS_SIGPROCMASK +-#define __ARCH_WANT_SYS_RT_SIGACTION +- +-/* +- * "Conditional" syscalls +- * +- * What we want is __attribute__((weak,alias("sys_ni_syscall"))), +- * but it doesn't work on all toolchains, so we just do it by hand +- */ +-#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") +- +-#endif /* __KERNEL__ */ +-#endif /* _ASM_M68K_UNISTD_H_ */ ++#ifdef __uClinux__ ++#include "unistd_no.h" ++#else ++#include "unistd_mm.h" ++#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/unistd_mm.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd_mm.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/unistd_mm.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd_mm.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,372 @@ ++#ifndef _ASM_M68K_UNISTD_H_ ++#define _ASM_M68K_UNISTD_H_ ++ ++/* ++ * This file contains the system call numbers. ++ */ ++ ++#define __NR_restart_syscall 0 ++#define __NR_exit 1 ++#define __NR_fork 2 ++#define __NR_read 3 ++#define __NR_write 4 ++#define __NR_open 5 ++#define __NR_close 6 ++#define __NR_waitpid 7 ++#define __NR_creat 8 ++#define __NR_link 9 ++#define __NR_unlink 10 ++#define __NR_execve 11 ++#define __NR_chdir 12 ++#define __NR_time 13 ++#define __NR_mknod 14 ++#define __NR_chmod 15 ++#define __NR_chown 16 ++#define __NR_break 17 ++#define __NR_oldstat 18 ++#define __NR_lseek 19 ++#define __NR_getpid 20 ++#define __NR_mount 21 ++#define __NR_umount 22 ++#define __NR_setuid 23 ++#define __NR_getuid 24 ++#define __NR_stime 25 ++#define __NR_ptrace 26 ++#define __NR_alarm 27 ++#define __NR_oldfstat 28 ++#define __NR_pause 29 ++#define __NR_utime 30 ++#define __NR_stty 31 ++#define __NR_gtty 32 ++#define __NR_access 33 ++#define __NR_nice 34 ++#define __NR_ftime 35 ++#define __NR_sync 36 ++#define __NR_kill 37 ++#define __NR_rename 38 ++#define __NR_mkdir 39 ++#define __NR_rmdir 40 ++#define __NR_dup 41 ++#define __NR_pipe 42 ++#define __NR_times 43 ++#define __NR_prof 44 ++#define __NR_brk 45 ++#define __NR_setgid 46 ++#define __NR_getgid 47 ++#define __NR_signal 48 ++#define __NR_geteuid 49 ++#define __NR_getegid 50 ++#define __NR_acct 51 ++#define __NR_umount2 52 ++#define __NR_lock 53 ++#define __NR_ioctl 54 ++#define __NR_fcntl 55 ++#define __NR_mpx 56 ++#define __NR_setpgid 57 ++#define __NR_ulimit 58 ++#define __NR_oldolduname 59 ++#define __NR_umask 60 ++#define __NR_chroot 61 ++#define __NR_ustat 62 ++#define __NR_dup2 63 ++#define __NR_getppid 64 ++#define __NR_getpgrp 65 ++#define __NR_setsid 66 ++#define __NR_sigaction 67 ++#define __NR_sgetmask 68 ++#define __NR_ssetmask 69 ++#define __NR_setreuid 70 ++#define __NR_setregid 71 ++#define __NR_sigsuspend 72 ++#define __NR_sigpending 73 ++#define __NR_sethostname 74 ++#define __NR_setrlimit 75 ++#define __NR_getrlimit 76 ++#define __NR_getrusage 77 ++#define __NR_gettimeofday 78 ++#define __NR_settimeofday 79 ++#define __NR_getgroups 80 ++#define __NR_setgroups 81 ++#define __NR_select 82 ++#define __NR_symlink 83 ++#define __NR_oldlstat 84 ++#define __NR_readlink 85 ++#define __NR_uselib 86 ++#define __NR_swapon 87 ++#define __NR_reboot 88 ++#define __NR_readdir 89 ++#define __NR_mmap 90 ++#define __NR_munmap 91 ++#define __NR_truncate 92 ++#define __NR_ftruncate 93 ++#define __NR_fchmod 94 ++#define __NR_fchown 95 ++#define __NR_getpriority 96 ++#define __NR_setpriority 97 ++#define __NR_profil 98 ++#define __NR_statfs 99 ++#define __NR_fstatfs 100 ++#define __NR_ioperm 101 ++#define __NR_socketcall 102 ++#define __NR_syslog 103 ++#define __NR_setitimer 104 ++#define __NR_getitimer 105 ++#define __NR_stat 106 ++#define __NR_lstat 107 ++#define __NR_fstat 108 ++#define __NR_olduname 109 ++#define __NR_iopl /* 110 */ not supported ++#define __NR_vhangup 111 ++#define __NR_idle /* 112 */ Obsolete ++#define __NR_vm86 /* 113 */ not supported ++#define __NR_wait4 114 ++#define __NR_swapoff 115 ++#define __NR_sysinfo 116 ++#define __NR_ipc 117 ++#define __NR_fsync 118 ++#define __NR_sigreturn 119 ++#define __NR_clone 120 ++#define __NR_setdomainname 121 ++#define __NR_uname 122 ++#define __NR_cacheflush 123 ++#define __NR_adjtimex 124 ++#define __NR_mprotect 125 ++#define __NR_sigprocmask 126 ++#define __NR_create_module 127 ++#define __NR_init_module 128 ++#define __NR_delete_module 129 ++#define __NR_get_kernel_syms 130 ++#define __NR_quotactl 131 ++#define __NR_getpgid 132 ++#define __NR_fchdir 133 ++#define __NR_bdflush 134 ++#define __NR_sysfs 135 ++#define __NR_personality 136 ++#define __NR_afs_syscall 137 /* Syscall for Andrew File System */ ++#define __NR_setfsuid 138 ++#define __NR_setfsgid 139 ++#define __NR__llseek 140 ++#define __NR_getdents 141 ++#define __NR__newselect 142 ++#define __NR_flock 143 ++#define __NR_msync 144 ++#define __NR_readv 145 ++#define __NR_writev 146 ++#define __NR_getsid 147 ++#define __NR_fdatasync 148 ++#define __NR__sysctl 149 ++#define __NR_mlock 150 ++#define __NR_munlock 151 ++#define __NR_mlockall 152 ++#define __NR_munlockall 153 ++#define __NR_sched_setparam 154 ++#define __NR_sched_getparam 155 ++#define __NR_sched_setscheduler 156 ++#define __NR_sched_getscheduler 157 ++#define __NR_sched_yield 158 ++#define __NR_sched_get_priority_max 159 ++#define __NR_sched_get_priority_min 160 ++#define __NR_sched_rr_get_interval 161 ++#define __NR_nanosleep 162 ++#define __NR_mremap 163 ++#define __NR_setresuid 164 ++#define __NR_getresuid 165 ++#define __NR_getpagesize 166 ++#define __NR_query_module 167 ++#define __NR_poll 168 ++#define __NR_nfsservctl 169 ++#define __NR_setresgid 170 ++#define __NR_getresgid 171 ++#define __NR_prctl 172 ++#define __NR_rt_sigreturn 173 ++#define __NR_rt_sigaction 174 ++#define __NR_rt_sigprocmask 175 ++#define __NR_rt_sigpending 176 ++#define __NR_rt_sigtimedwait 177 ++#define __NR_rt_sigqueueinfo 178 ++#define __NR_rt_sigsuspend 179 ++#define __NR_pread64 180 ++#define __NR_pwrite64 181 ++#define __NR_lchown 182 ++#define __NR_getcwd 183 ++#define __NR_capget 184 ++#define __NR_capset 185 ++#define __NR_sigaltstack 186 ++#define __NR_sendfile 187 ++#define __NR_getpmsg 188 /* some people actually want streams */ ++#define __NR_putpmsg 189 /* some people actually want streams */ ++#define __NR_vfork 190 ++#define __NR_ugetrlimit 191 ++#define __NR_mmap2 192 ++#define __NR_truncate64 193 ++#define __NR_ftruncate64 194 ++#define __NR_stat64 195 ++#define __NR_lstat64 196 ++#define __NR_fstat64 197 ++#define __NR_chown32 198 ++#define __NR_getuid32 199 ++#define __NR_getgid32 200 ++#define __NR_geteuid32 201 ++#define __NR_getegid32 202 ++#define __NR_setreuid32 203 ++#define __NR_setregid32 204 ++#define __NR_getgroups32 205 ++#define __NR_setgroups32 206 ++#define __NR_fchown32 207 ++#define __NR_setresuid32 208 ++#define __NR_getresuid32 209 ++#define __NR_setresgid32 210 ++#define __NR_getresgid32 211 ++#define __NR_lchown32 212 ++#define __NR_setuid32 213 ++#define __NR_setgid32 214 ++#define __NR_setfsuid32 215 ++#define __NR_setfsgid32 216 ++#define __NR_pivot_root 217 ++#define __NR_getdents64 220 ++#define __NR_gettid 221 ++#define __NR_tkill 222 ++#define __NR_setxattr 223 ++#define __NR_lsetxattr 224 ++#define __NR_fsetxattr 225 ++#define __NR_getxattr 226 ++#define __NR_lgetxattr 227 ++#define __NR_fgetxattr 228 ++#define __NR_listxattr 229 ++#define __NR_llistxattr 230 ++#define __NR_flistxattr 231 ++#define __NR_removexattr 232 ++#define __NR_lremovexattr 233 ++#define __NR_fremovexattr 234 ++#define __NR_futex 235 ++#define __NR_sendfile64 236 ++#define __NR_mincore 237 ++#define __NR_madvise 238 ++#define __NR_fcntl64 239 ++#define __NR_readahead 240 ++#define __NR_io_setup 241 ++#define __NR_io_destroy 242 ++#define __NR_io_getevents 243 ++#define __NR_io_submit 244 ++#define __NR_io_cancel 245 ++#define __NR_fadvise64 246 ++#define __NR_exit_group 247 ++#define __NR_lookup_dcookie 248 ++#define __NR_epoll_create 249 ++#define __NR_epoll_ctl 250 ++#define __NR_epoll_wait 251 ++#define __NR_remap_file_pages 252 ++#define __NR_set_tid_address 253 ++#define __NR_timer_create 254 ++#define __NR_timer_settime 255 ++#define __NR_timer_gettime 256 ++#define __NR_timer_getoverrun 257 ++#define __NR_timer_delete 258 ++#define __NR_clock_settime 259 ++#define __NR_clock_gettime 260 ++#define __NR_clock_getres 261 ++#define __NR_clock_nanosleep 262 ++#define __NR_statfs64 263 ++#define __NR_fstatfs64 264 ++#define __NR_tgkill 265 ++#define __NR_utimes 266 ++#define __NR_fadvise64_64 267 ++#define __NR_mbind 268 ++#define __NR_get_mempolicy 269 ++#define __NR_set_mempolicy 270 ++#define __NR_mq_open 271 ++#define __NR_mq_unlink 272 ++#define __NR_mq_timedsend 273 ++#define __NR_mq_timedreceive 274 ++#define __NR_mq_notify 275 ++#define __NR_mq_getsetattr 276 ++#define __NR_waitid 277 ++#define __NR_vserver 278 ++#define __NR_add_key 279 ++#define __NR_request_key 280 ++#define __NR_keyctl 281 ++#define __NR_ioprio_set 282 ++#define __NR_ioprio_get 283 ++#define __NR_inotify_init 284 ++#define __NR_inotify_add_watch 285 ++#define __NR_inotify_rm_watch 286 ++#define __NR_migrate_pages 287 ++#define __NR_openat 288 ++#define __NR_mkdirat 289 ++#define __NR_mknodat 290 ++#define __NR_fchownat 291 ++#define __NR_futimesat 292 ++#define __NR_fstatat64 293 ++#define __NR_unlinkat 294 ++#define __NR_renameat 295 ++#define __NR_linkat 296 ++#define __NR_symlinkat 297 ++#define __NR_readlinkat 298 ++#define __NR_fchmodat 299 ++#define __NR_faccessat 300 ++#define __NR_pselect6 301 ++#define __NR_ppoll 302 ++#define __NR_unshare 303 ++#define __NR_set_robust_list 304 ++#define __NR_get_robust_list 305 ++#define __NR_splice 306 ++#define __NR_sync_file_range 307 ++#define __NR_tee 308 ++#define __NR_vmsplice 309 ++#define __NR_move_pages 310 ++#define __NR_sched_setaffinity 311 ++#define __NR_sched_getaffinity 312 ++#define __NR_kexec_load 313 ++#define __NR_getcpu 314 ++#define __NR_epoll_pwait 315 ++#define __NR_utimensat 316 ++#define __NR_signalfd 317 ++#define __NR_timerfd_create 318 ++#define __NR_eventfd 319 ++#define __NR_fallocate 320 ++#define __NR_timerfd_settime 321 ++#define __NR_timerfd_gettime 322 ++#define __NR_signalfd4 323 ++#define __NR_eventfd2 324 ++#define __NR_epoll_create1 325 ++#define __NR_dup3 326 ++#define __NR_pipe2 327 ++#define __NR_inotify_init1 328 ++ ++#ifdef __KERNEL__ ++ ++#define NR_syscalls 329 ++ ++#define __ARCH_WANT_IPC_PARSE_VERSION ++#define __ARCH_WANT_OLD_READDIR ++#define __ARCH_WANT_OLD_STAT ++#define __ARCH_WANT_STAT64 ++#define __ARCH_WANT_SYS_ALARM ++#define __ARCH_WANT_SYS_GETHOSTNAME ++#define __ARCH_WANT_SYS_PAUSE ++#define __ARCH_WANT_SYS_SGETMASK ++#define __ARCH_WANT_SYS_SIGNAL ++#define __ARCH_WANT_SYS_TIME ++#define __ARCH_WANT_SYS_UTIME ++#define __ARCH_WANT_SYS_WAITPID ++#define __ARCH_WANT_SYS_SOCKETCALL ++#define __ARCH_WANT_SYS_FADVISE64 ++#define __ARCH_WANT_SYS_GETPGRP ++#define __ARCH_WANT_SYS_LLSEEK ++#define __ARCH_WANT_SYS_NICE ++#define __ARCH_WANT_SYS_OLD_GETRLIMIT ++#define __ARCH_WANT_SYS_OLDUMOUNT ++#define __ARCH_WANT_SYS_SIGPENDING ++#define __ARCH_WANT_SYS_SIGPROCMASK ++#define __ARCH_WANT_SYS_RT_SIGACTION ++ ++/* ++ * "Conditional" syscalls ++ * ++ * What we want is __attribute__((weak,alias("sys_ni_syscall"))), ++ * but it doesn't work on all toolchains, so we just do it by hand ++ */ ++#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") ++ ++#endif /* __KERNEL__ */ ++#endif /* _ASM_M68K_UNISTD_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68k/include/asm/unistd_no.h linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd_no.h +--- linux-2.6.29.owrt/arch/m68k/include/asm/unistd_no.h 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/m68k/include/asm/unistd_no.h 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,372 @@ ++#ifndef _ASM_M68K_UNISTD_H_ ++#define _ASM_M68K_UNISTD_H_ ++ ++/* ++ * This file contains the system call numbers. ++ */ ++ ++#define __NR_restart_syscall 0 ++#define __NR_exit 1 ++#define __NR_fork 2 ++#define __NR_read 3 ++#define __NR_write 4 ++#define __NR_open 5 ++#define __NR_close 6 ++#define __NR_waitpid 7 ++#define __NR_creat 8 ++#define __NR_link 9 ++#define __NR_unlink 10 ++#define __NR_execve 11 ++#define __NR_chdir 12 ++#define __NR_time 13 ++#define __NR_mknod 14 ++#define __NR_chmod 15 ++#define __NR_chown 16 ++#define __NR_break 17 ++#define __NR_oldstat 18 ++#define __NR_lseek 19 ++#define __NR_getpid 20 ++#define __NR_mount 21 ++#define __NR_umount 22 ++#define __NR_setuid 23 ++#define __NR_getuid 24 ++#define __NR_stime 25 ++#define __NR_ptrace 26 ++#define __NR_alarm 27 ++#define __NR_oldfstat 28 ++#define __NR_pause 29 ++#define __NR_utime 30 ++#define __NR_stty 31 ++#define __NR_gtty 32 ++#define __NR_access 33 ++#define __NR_nice 34 ++#define __NR_ftime 35 ++#define __NR_sync 36 ++#define __NR_kill 37 ++#define __NR_rename 38 ++#define __NR_mkdir 39 ++#define __NR_rmdir 40 ++#define __NR_dup 41 ++#define __NR_pipe 42 ++#define __NR_times 43 ++#define __NR_prof 44 ++#define __NR_brk 45 ++#define __NR_setgid 46 ++#define __NR_getgid 47 ++#define __NR_signal 48 ++#define __NR_geteuid 49 ++#define __NR_getegid 50 ++#define __NR_acct 51 ++#define __NR_umount2 52 ++#define __NR_lock 53 ++#define __NR_ioctl 54 ++#define __NR_fcntl 55 ++#define __NR_mpx 56 ++#define __NR_setpgid 57 ++#define __NR_ulimit 58 ++#define __NR_oldolduname 59 ++#define __NR_umask 60 ++#define __NR_chroot 61 ++#define __NR_ustat 62 ++#define __NR_dup2 63 ++#define __NR_getppid 64 ++#define __NR_getpgrp 65 ++#define __NR_setsid 66 ++#define __NR_sigaction 67 ++#define __NR_sgetmask 68 ++#define __NR_ssetmask 69 ++#define __NR_setreuid 70 ++#define __NR_setregid 71 ++#define __NR_sigsuspend 72 ++#define __NR_sigpending 73 ++#define __NR_sethostname 74 ++#define __NR_setrlimit 75 ++#define __NR_getrlimit 76 ++#define __NR_getrusage 77 ++#define __NR_gettimeofday 78 ++#define __NR_settimeofday 79 ++#define __NR_getgroups 80 ++#define __NR_setgroups 81 ++#define __NR_select 82 ++#define __NR_symlink 83 ++#define __NR_oldlstat 84 ++#define __NR_readlink 85 ++#define __NR_uselib 86 ++#define __NR_swapon 87 ++#define __NR_reboot 88 ++#define __NR_readdir 89 ++#define __NR_mmap 90 ++#define __NR_munmap 91 ++#define __NR_truncate 92 ++#define __NR_ftruncate 93 ++#define __NR_fchmod 94 ++#define __NR_fchown 95 ++#define __NR_getpriority 96 ++#define __NR_setpriority 97 ++#define __NR_profil 98 ++#define __NR_statfs 99 ++#define __NR_fstatfs 100 ++#define __NR_ioperm 101 ++#define __NR_socketcall 102 ++#define __NR_syslog 103 ++#define __NR_setitimer 104 ++#define __NR_getitimer 105 ++#define __NR_stat 106 ++#define __NR_lstat 107 ++#define __NR_fstat 108 ++#define __NR_olduname 109 ++#define __NR_iopl /* 110 */ not supported ++#define __NR_vhangup 111 ++#define __NR_idle /* 112 */ Obsolete ++#define __NR_vm86 /* 113 */ not supported ++#define __NR_wait4 114 ++#define __NR_swapoff 115 ++#define __NR_sysinfo 116 ++#define __NR_ipc 117 ++#define __NR_fsync 118 ++#define __NR_sigreturn 119 ++#define __NR_clone 120 ++#define __NR_setdomainname 121 ++#define __NR_uname 122 ++#define __NR_cacheflush 123 ++#define __NR_adjtimex 124 ++#define __NR_mprotect 125 ++#define __NR_sigprocmask 126 ++#define __NR_create_module 127 ++#define __NR_init_module 128 ++#define __NR_delete_module 129 ++#define __NR_get_kernel_syms 130 ++#define __NR_quotactl 131 ++#define __NR_getpgid 132 ++#define __NR_fchdir 133 ++#define __NR_bdflush 134 ++#define __NR_sysfs 135 ++#define __NR_personality 136 ++#define __NR_afs_syscall 137 /* Syscall for Andrew File System */ ++#define __NR_setfsuid 138 ++#define __NR_setfsgid 139 ++#define __NR__llseek 140 ++#define __NR_getdents 141 ++#define __NR__newselect 142 ++#define __NR_flock 143 ++#define __NR_msync 144 ++#define __NR_readv 145 ++#define __NR_writev 146 ++#define __NR_getsid 147 ++#define __NR_fdatasync 148 ++#define __NR__sysctl 149 ++#define __NR_mlock 150 ++#define __NR_munlock 151 ++#define __NR_mlockall 152 ++#define __NR_munlockall 153 ++#define __NR_sched_setparam 154 ++#define __NR_sched_getparam 155 ++#define __NR_sched_setscheduler 156 ++#define __NR_sched_getscheduler 157 ++#define __NR_sched_yield 158 ++#define __NR_sched_get_priority_max 159 ++#define __NR_sched_get_priority_min 160 ++#define __NR_sched_rr_get_interval 161 ++#define __NR_nanosleep 162 ++#define __NR_mremap 163 ++#define __NR_setresuid 164 ++#define __NR_getresuid 165 ++#define __NR_getpagesize 166 ++#define __NR_query_module 167 ++#define __NR_poll 168 ++#define __NR_nfsservctl 169 ++#define __NR_setresgid 170 ++#define __NR_getresgid 171 ++#define __NR_prctl 172 ++#define __NR_rt_sigreturn 173 ++#define __NR_rt_sigaction 174 ++#define __NR_rt_sigprocmask 175 ++#define __NR_rt_sigpending 176 ++#define __NR_rt_sigtimedwait 177 ++#define __NR_rt_sigqueueinfo 178 ++#define __NR_rt_sigsuspend 179 ++#define __NR_pread64 180 ++#define __NR_pwrite64 181 ++#define __NR_lchown 182 ++#define __NR_getcwd 183 ++#define __NR_capget 184 ++#define __NR_capset 185 ++#define __NR_sigaltstack 186 ++#define __NR_sendfile 187 ++#define __NR_getpmsg 188 /* some people actually want streams */ ++#define __NR_putpmsg 189 /* some people actually want streams */ ++#define __NR_vfork 190 ++#define __NR_ugetrlimit 191 ++#define __NR_mmap2 192 ++#define __NR_truncate64 193 ++#define __NR_ftruncate64 194 ++#define __NR_stat64 195 ++#define __NR_lstat64 196 ++#define __NR_fstat64 197 ++#define __NR_chown32 198 ++#define __NR_getuid32 199 ++#define __NR_getgid32 200 ++#define __NR_geteuid32 201 ++#define __NR_getegid32 202 ++#define __NR_setreuid32 203 ++#define __NR_setregid32 204 ++#define __NR_getgroups32 205 ++#define __NR_setgroups32 206 ++#define __NR_fchown32 207 ++#define __NR_setresuid32 208 ++#define __NR_getresuid32 209 ++#define __NR_setresgid32 210 ++#define __NR_getresgid32 211 ++#define __NR_lchown32 212 ++#define __NR_setuid32 213 ++#define __NR_setgid32 214 ++#define __NR_setfsuid32 215 ++#define __NR_setfsgid32 216 ++#define __NR_pivot_root 217 ++#define __NR_getdents64 220 ++#define __NR_gettid 221 ++#define __NR_tkill 222 ++#define __NR_setxattr 223 ++#define __NR_lsetxattr 224 ++#define __NR_fsetxattr 225 ++#define __NR_getxattr 226 ++#define __NR_lgetxattr 227 ++#define __NR_fgetxattr 228 ++#define __NR_listxattr 229 ++#define __NR_llistxattr 230 ++#define __NR_flistxattr 231 ++#define __NR_removexattr 232 ++#define __NR_lremovexattr 233 ++#define __NR_fremovexattr 234 ++#define __NR_futex 235 ++#define __NR_sendfile64 236 ++#define __NR_mincore 237 ++#define __NR_madvise 238 ++#define __NR_fcntl64 239 ++#define __NR_readahead 240 ++#define __NR_io_setup 241 ++#define __NR_io_destroy 242 ++#define __NR_io_getevents 243 ++#define __NR_io_submit 244 ++#define __NR_io_cancel 245 ++#define __NR_fadvise64 246 ++#define __NR_exit_group 247 ++#define __NR_lookup_dcookie 248 ++#define __NR_epoll_create 249 ++#define __NR_epoll_ctl 250 ++#define __NR_epoll_wait 251 ++#define __NR_remap_file_pages 252 ++#define __NR_set_tid_address 253 ++#define __NR_timer_create 254 ++#define __NR_timer_settime 255 ++#define __NR_timer_gettime 256 ++#define __NR_timer_getoverrun 257 ++#define __NR_timer_delete 258 ++#define __NR_clock_settime 259 ++#define __NR_clock_gettime 260 ++#define __NR_clock_getres 261 ++#define __NR_clock_nanosleep 262 ++#define __NR_statfs64 263 ++#define __NR_fstatfs64 264 ++#define __NR_tgkill 265 ++#define __NR_utimes 266 ++#define __NR_fadvise64_64 267 ++#define __NR_mbind 268 ++#define __NR_get_mempolicy 269 ++#define __NR_set_mempolicy 270 ++#define __NR_mq_open 271 ++#define __NR_mq_unlink 272 ++#define __NR_mq_timedsend 273 ++#define __NR_mq_timedreceive 274 ++#define __NR_mq_notify 275 ++#define __NR_mq_getsetattr 276 ++#define __NR_waitid 277 ++#define __NR_vserver 278 ++#define __NR_add_key 279 ++#define __NR_request_key 280 ++#define __NR_keyctl 281 ++#define __NR_ioprio_set 282 ++#define __NR_ioprio_get 283 ++#define __NR_inotify_init 284 ++#define __NR_inotify_add_watch 285 ++#define __NR_inotify_rm_watch 286 ++#define __NR_migrate_pages 287 ++#define __NR_openat 288 ++#define __NR_mkdirat 289 ++#define __NR_mknodat 290 ++#define __NR_fchownat 291 ++#define __NR_futimesat 292 ++#define __NR_fstatat64 293 ++#define __NR_unlinkat 294 ++#define __NR_renameat 295 ++#define __NR_linkat 296 ++#define __NR_symlinkat 297 ++#define __NR_readlinkat 298 ++#define __NR_fchmodat 299 ++#define __NR_faccessat 300 ++#define __NR_pselect6 301 ++#define __NR_ppoll 302 ++#define __NR_unshare 303 ++#define __NR_set_robust_list 304 ++#define __NR_get_robust_list 305 ++#define __NR_splice 306 ++#define __NR_sync_file_range 307 ++#define __NR_tee 308 ++#define __NR_vmsplice 309 ++#define __NR_move_pages 310 ++#define __NR_sched_setaffinity 311 ++#define __NR_sched_getaffinity 312 ++#define __NR_kexec_load 313 ++#define __NR_getcpu 314 ++#define __NR_epoll_pwait 315 ++#define __NR_utimensat 316 ++#define __NR_signalfd 317 ++#define __NR_timerfd_create 318 ++#define __NR_eventfd 319 ++#define __NR_fallocate 320 ++#define __NR_timerfd_settime 321 ++#define __NR_timerfd_gettime 322 ++#define __NR_signalfd4 323 ++#define __NR_eventfd2 324 ++#define __NR_epoll_create1 325 ++#define __NR_dup3 326 ++#define __NR_pipe2 327 ++#define __NR_inotify_init1 328 ++ ++#ifdef __KERNEL__ ++ ++#define NR_syscalls 329 ++ ++#define __ARCH_WANT_IPC_PARSE_VERSION ++#define __ARCH_WANT_OLD_READDIR ++#define __ARCH_WANT_OLD_STAT ++#define __ARCH_WANT_STAT64 ++#define __ARCH_WANT_SYS_ALARM ++#define __ARCH_WANT_SYS_GETHOSTNAME ++#define __ARCH_WANT_SYS_PAUSE ++#define __ARCH_WANT_SYS_SGETMASK ++#define __ARCH_WANT_SYS_SIGNAL ++#define __ARCH_WANT_SYS_TIME ++#define __ARCH_WANT_SYS_UTIME ++#define __ARCH_WANT_SYS_WAITPID ++#define __ARCH_WANT_SYS_SOCKETCALL ++#define __ARCH_WANT_SYS_FADVISE64 ++#define __ARCH_WANT_SYS_GETPGRP ++#define __ARCH_WANT_SYS_LLSEEK ++#define __ARCH_WANT_SYS_NICE ++#define __ARCH_WANT_SYS_OLD_GETRLIMIT ++#define __ARCH_WANT_SYS_OLDUMOUNT ++#define __ARCH_WANT_SYS_SIGPENDING ++#define __ARCH_WANT_SYS_SIGPROCMASK ++#define __ARCH_WANT_SYS_RT_SIGACTION ++ ++/* ++ * "Conditional" syscalls ++ * ++ * What we want is __attribute__((weak,alias("sys_ni_syscall"))), ++ * but it doesn't work on all toolchains, so we just do it by hand ++ */ ++#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") ++ ++#endif /* __KERNEL__ */ ++#endif /* _ASM_M68K_UNISTD_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68knommu/platform/5206e/config.c linux-2.6.29-rc3.owrt/arch/m68knommu/platform/5206e/config.c +--- linux-2.6.29.owrt/arch/m68knommu/platform/5206e/config.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68knommu/platform/5206e/config.c 2009-05-10 23:48:28.000000000 +0200 +@@ -17,7 +17,6 @@ + #include + #include + #include +-#include + + /***************************************************************************/ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/m68knommu/platform/528x/config.c linux-2.6.29-rc3.owrt/arch/m68knommu/platform/528x/config.c +--- linux-2.6.29.owrt/arch/m68knommu/platform/528x/config.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/m68knommu/platform/528x/config.c 2009-05-10 23:48:28.000000000 +0200 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + + #ifdef CONFIG_MTD_PARTITIONS + #include +@@ -32,6 +33,233 @@ + /***************************************************************************/ + + void coldfire_reset(void); ++static void coldfire_qspi_cs_control(u8 cs, u8 command); ++ ++/***************************************************************************/ ++ ++#if defined(CONFIG_SPI) ++ ++#if defined(CONFIG_WILDFIRE) ++#define SPI_NUM_CHIPSELECTS 0x02 ++#define SPI_PAR_VAL 0x07 /* Enable DIN, DOUT, CLK */ ++#define SPI_CS_MASK 0x18 ++ ++#define FLASH_BLOCKSIZE (1024*64) ++#define FLASH_NUMBLOCKS 16 ++#define FLASH_TYPE "m25p80" ++ ++#define M25P80_CS 0 ++#define MMC_CS 1 ++ ++#ifdef CONFIG_MTD_PARTITIONS ++static struct mtd_partition stm25p_partitions[] = { ++ /* sflash */ ++ [0] = { ++ .name = "stm25p80", ++ .offset = 0x00000000, ++ .size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS, ++ .mask_flags = 0 ++ } ++}; ++ ++#endif ++ ++#elif defined(CONFIG_WILDFIREMOD) ++ ++#define SPI_NUM_CHIPSELECTS 0x08 ++#define SPI_PAR_VAL 0x07 /* Enable DIN, DOUT, CLK */ ++#define SPI_CS_MASK 0x78 ++ ++#define FLASH_BLOCKSIZE (1024*64) ++#define FLASH_NUMBLOCKS 64 ++#define FLASH_TYPE "m25p32" ++/* Reserve 1M for the kernel parition */ ++#define FLASH_KERNEL_SIZE (1024 * 1024) ++ ++#define M25P80_CS 5 ++#define MMC_CS 6 ++ ++#ifdef CONFIG_MTD_PARTITIONS ++static struct mtd_partition stm25p_partitions[] = { ++ /* sflash */ ++ [0] = { ++ .name = "kernel", ++ .offset = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS - FLASH_KERNEL_SIZE, ++ .size = FLASH_KERNEL_SIZE, ++ .mask_flags = 0 ++ }, ++ [1] = { ++ .name = "image", ++ .offset = 0x00000000, ++ .size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS - FLASH_KERNEL_SIZE, ++ .mask_flags = 0 ++ }, ++ [2] = { ++ .name = "all", ++ .offset = 0x00000000, ++ .size = FLASH_BLOCKSIZE * FLASH_NUMBLOCKS, ++ .mask_flags = 0 ++ } ++}; ++#endif ++ ++#else ++#define SPI_NUM_CHIPSELECTS 0x04 ++#define SPI_PAR_VAL 0x7F /* Enable DIN, DOUT, CLK, CS0 - CS4 */ ++#endif ++ ++#ifdef MMC_CS ++static struct coldfire_spi_chip flash_chip_info = { ++ .mode = SPI_MODE_0, ++ .bits_per_word = 16, ++ .del_cs_to_clk = 17, ++ .del_after_trans = 1, ++ .void_write_data = 0 ++}; ++ ++static struct coldfire_spi_chip mmc_chip_info = { ++ .mode = SPI_MODE_0, ++ .bits_per_word = 16, ++ .del_cs_to_clk = 17, ++ .del_after_trans = 1, ++ .void_write_data = 0xFFFF ++}; ++#endif ++ ++#ifdef M25P80_CS ++static struct flash_platform_data stm25p80_platform_data = { ++ .name = "ST M25P80 SPI Flash chip", ++#ifdef CONFIG_MTD_PARTITIONS ++ .parts = stm25p_partitions, ++ .nr_parts = sizeof(stm25p_partitions) / sizeof(*stm25p_partitions), ++#endif ++ .type = FLASH_TYPE ++}; ++#endif ++ ++static struct spi_board_info spi_board_info[] __initdata = { ++#ifdef M25P80_CS ++ { ++ .modalias = "m25p80", ++ .max_speed_hz = 16000000, ++ .bus_num = 1, ++ .chip_select = M25P80_CS, ++ .platform_data = &stm25p80_platform_data, ++ .controller_data = &flash_chip_info ++ }, ++#endif ++#ifdef MMC_CS ++ { ++ .modalias = "mmc_spi", ++ .max_speed_hz = 16000000, ++ .bus_num = 1, ++ .chip_select = MMC_CS, ++ .controller_data = &mmc_chip_info ++ } ++#endif ++}; ++ ++static struct coldfire_spi_master coldfire_master_info = { ++ .bus_num = 1, ++ .num_chipselect = SPI_NUM_CHIPSELECTS, ++ .irq_source = MCF5282_QSPI_IRQ_SOURCE, ++ .irq_vector = MCF5282_QSPI_IRQ_VECTOR, ++ .irq_mask = ((0x01 << MCF5282_QSPI_IRQ_SOURCE) | 0x01), ++ .irq_lp = 0x2B, /* Level 5 and Priority 3 */ ++ .par_val = SPI_PAR_VAL, ++ .cs_control = coldfire_qspi_cs_control, ++}; ++ ++static struct resource coldfire_spi_resources[] = { ++ [0] = { ++ .name = "qspi-par", ++ .start = MCF5282_QSPI_PAR, ++ .end = MCF5282_QSPI_PAR, ++ .flags = IORESOURCE_MEM ++ }, ++ ++ [1] = { ++ .name = "qspi-module", ++ .start = MCF5282_QSPI_QMR, ++ .end = MCF5282_QSPI_QMR + 0x18, ++ .flags = IORESOURCE_MEM ++ }, ++ ++ [2] = { ++ .name = "qspi-int-level", ++ .start = MCF5282_INTC0 + MCFINTC_ICR0 + MCF5282_QSPI_IRQ_SOURCE, ++ .end = MCF5282_INTC0 + MCFINTC_ICR0 + MCF5282_QSPI_IRQ_SOURCE, ++ .flags = IORESOURCE_MEM ++ }, ++ ++ [3] = { ++ .name = "qspi-int-mask", ++ .start = MCF5282_INTC0 + MCFINTC_IMRL, ++ .end = MCF5282_INTC0 + MCFINTC_IMRL, ++ .flags = IORESOURCE_MEM ++ } ++}; ++ ++static struct platform_device coldfire_spi = { ++ .name = "spi_coldfire", ++ .id = -1, ++ .resource = coldfire_spi_resources, ++ .num_resources = ARRAY_SIZE(coldfire_spi_resources), ++ .dev = { ++ .platform_data = &coldfire_master_info, ++ } ++}; ++ ++static void coldfire_qspi_cs_control(u8 cs, u8 command) ++{ ++ u8 cs_bit = ((0x01 << cs) << 3) & SPI_CS_MASK; ++ ++#if defined(CONFIG_WILDFIRE) ++ u8 cs_mask = ~(((0x01 << cs) << 3) & SPI_CS_MASK); ++#endif ++#if defined(CONFIG_WILDFIREMOD) ++ u8 cs_mask = (cs << 3) & SPI_CS_MASK; ++#endif ++ ++ /* ++ * Don't do anything if the chip select is not ++ * one of the port qs pins. ++ */ ++ if (command & QSPI_CS_INIT) { ++#if defined(CONFIG_WILDFIRE) ++ MCF5282_GPIO_DDRQS |= cs_bit; ++ MCF5282_GPIO_PQSPAR &= ~cs_bit; ++#endif ++ ++#if defined(CONFIG_WILDFIREMOD) ++ MCF5282_GPIO_DDRQS |= SPI_CS_MASK; ++ MCF5282_GPIO_PQSPAR &= ~SPI_CS_MASK; ++#endif ++ } ++ ++ if (command & QSPI_CS_ASSERT) { ++ MCF5282_GPIO_PORTQS &= ~SPI_CS_MASK; ++ MCF5282_GPIO_PORTQS |= cs_mask; ++ } else if (command & QSPI_CS_DROP) { ++ MCF5282_GPIO_PORTQS |= SPI_CS_MASK; ++ } ++} ++ ++static int __init spi_dev_init(void) ++{ ++ int retval; ++ ++ retval = platform_device_register(&coldfire_spi); ++ if (retval < 0) ++ return retval; ++ ++ if (ARRAY_SIZE(spi_board_info)) ++ retval = spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); ++ ++ return retval; ++} ++ ++#endif /* CONFIG_SPI */ + + /***************************************************************************/ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/alchemy/common/time.c linux-2.6.29-rc3.owrt/arch/mips/alchemy/common/time.c +--- linux-2.6.29.owrt/arch/mips/alchemy/common/time.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/alchemy/common/time.c 2009-05-10 23:48:28.000000000 +0200 +@@ -89,7 +89,7 @@ + .irq = AU1000_RTC_MATCH2_INT, + .set_next_event = au1x_rtcmatch2_set_next_event, + .set_mode = au1x_rtcmatch2_set_mode, +- .cpumask = CPU_MASK_ALL_PTR, ++ .cpumask = CPU_MASK_ALL, + }; + + static struct irqaction au1x_rtcmatch2_irqaction = { +@@ -118,7 +118,7 @@ + * setup counter 1 (RTC) to tick at full speed + */ + t = 0xffffff; +- while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_T1S) && --t) ++ while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_T1S) && t--) + asm volatile ("nop"); + if (!t) + goto cntr_err; +@@ -127,7 +127,7 @@ + au_sync(); + + t = 0xffffff; +- while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S) && --t) ++ while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S) && t--) + asm volatile ("nop"); + if (!t) + goto cntr_err; +@@ -135,7 +135,7 @@ + au_sync(); + + t = 0xffffff; +- while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S) && --t) ++ while ((au_readl(SYS_COUNTER_CNTRL) & SYS_CNTRL_C1S) && t--) + asm volatile ("nop"); + if (!t) + goto cntr_err; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/cavium-octeon/setup.c linux-2.6.29-rc3.owrt/arch/mips/cavium-octeon/setup.c +--- linux-2.6.29.owrt/arch/mips/cavium-octeon/setup.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/cavium-octeon/setup.c 2009-05-10 23:48:28.000000000 +0200 +@@ -15,11 +15,13 @@ + #include + #include + #include /* for memset */ ++#include + #include + #include + #include + #include + #include ++#include + + #include + #include +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/configs/emma2rh_defconfig linux-2.6.29-rc3.owrt/arch/mips/configs/emma2rh_defconfig +--- linux-2.6.29.owrt/arch/mips/configs/emma2rh_defconfig 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/mips/configs/emma2rh_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,1439 @@ ++# ++# Automatically generated make config: don't edit ++# Linux kernel version: 2.6.20 ++# Tue Feb 20 21:47:29 2007 ++# ++CONFIG_MIPS=y ++ ++# ++# Machine selection ++# ++CONFIG_ZONE_DMA=y ++# CONFIG_MIPS_MTX1 is not set ++# CONFIG_MIPS_BOSPORUS is not set ++# CONFIG_MIPS_PB1000 is not set ++# CONFIG_MIPS_PB1100 is not set ++# CONFIG_MIPS_PB1500 is not set ++# CONFIG_MIPS_PB1550 is not set ++# CONFIG_MIPS_PB1200 is not set ++# CONFIG_MIPS_DB1000 is not set ++# CONFIG_MIPS_DB1100 is not set ++# CONFIG_MIPS_DB1500 is not set ++# CONFIG_MIPS_DB1550 is not set ++# CONFIG_MIPS_DB1200 is not set ++# CONFIG_MIPS_MIRAGE is not set ++# CONFIG_BASLER_EXCITE is not set ++# CONFIG_MIPS_COBALT is not set ++# CONFIG_MACH_DECSTATION is not set ++# CONFIG_MACH_JAZZ is not set ++# CONFIG_MIPS_MALTA is not set ++# CONFIG_WR_PPMC is not set ++# CONFIG_MIPS_SIM is not set ++# CONFIG_MOMENCO_JAGUAR_ATX is not set ++# CONFIG_MIPS_XXS1500 is not set ++# CONFIG_PNX8550_JBS is not set ++# CONFIG_PNX8550_STB810 is not set ++# CONFIG_MACH_VR41XX is not set ++# CONFIG_PMC_YOSEMITE is not set ++CONFIG_MARKEINS=y ++# CONFIG_SGI_IP22 is not set ++# CONFIG_SGI_IP27 is not set ++# CONFIG_SGI_IP32 is not set ++# CONFIG_SIBYTE_BIGSUR is not set ++# CONFIG_SIBYTE_SWARM is not set ++# CONFIG_SIBYTE_SENTOSA is not set ++# CONFIG_SIBYTE_RHONE is not set ++# CONFIG_SIBYTE_CARMEL is not set ++# CONFIG_SIBYTE_LITTLESUR is not set ++# CONFIG_SIBYTE_CRHINE is not set ++# CONFIG_SIBYTE_CRHONE is not set ++# CONFIG_SNI_RM is not set ++# CONFIG_TOSHIBA_JMR3927 is not set ++# CONFIG_TOSHIBA_RBTX4927 is not set ++# CONFIG_TOSHIBA_RBTX4938 is not set ++CONFIG_RWSEM_GENERIC_SPINLOCK=y ++# CONFIG_ARCH_HAS_ILOG2_U32 is not set ++# CONFIG_ARCH_HAS_ILOG2_U64 is not set ++CONFIG_GENERIC_FIND_NEXT_BIT=y ++CONFIG_GENERIC_HWEIGHT=y ++CONFIG_GENERIC_CALIBRATE_DELAY=y ++CONFIG_GENERIC_TIME=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y ++# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set ++CONFIG_DMA_NONCOHERENT=y ++CONFIG_DMA_NEED_PCI_MAP_STATE=y ++CONFIG_CPU_BIG_ENDIAN=y ++# CONFIG_CPU_LITTLE_ENDIAN is not set ++CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y ++CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y ++CONFIG_IRQ_CPU=y ++CONFIG_SWAP_IO_SPACE=y ++CONFIG_EMMA2RH=y ++CONFIG_MIPS_L1_CACHE_SHIFT=5 ++ ++# ++# CPU selection ++# ++# CONFIG_CPU_MIPS32_R1 is not set ++# CONFIG_CPU_MIPS32_R2 is not set ++# CONFIG_CPU_MIPS64_R1 is not set ++# CONFIG_CPU_MIPS64_R2 is not set ++# CONFIG_CPU_R3000 is not set ++# CONFIG_CPU_TX39XX is not set ++# CONFIG_CPU_VR41XX is not set ++# CONFIG_CPU_R4300 is not set ++# CONFIG_CPU_R4X00 is not set ++# CONFIG_CPU_TX49XX is not set ++CONFIG_CPU_R5000=y ++# CONFIG_CPU_R5432 is not set ++# CONFIG_CPU_R6000 is not set ++# CONFIG_CPU_NEVADA is not set ++# CONFIG_CPU_R8000 is not set ++# CONFIG_CPU_R10000 is not set ++# CONFIG_CPU_RM7000 is not set ++# CONFIG_CPU_RM9000 is not set ++# CONFIG_CPU_SB1 is not set ++CONFIG_SYS_HAS_CPU_R5000=y ++CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y ++CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y ++CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y ++ ++# ++# Kernel type ++# ++CONFIG_32BIT=y ++# CONFIG_64BIT is not set ++CONFIG_PAGE_SIZE_4KB=y ++# CONFIG_PAGE_SIZE_8KB is not set ++# CONFIG_PAGE_SIZE_16KB is not set ++# CONFIG_PAGE_SIZE_64KB is not set ++CONFIG_MIPS_MT_DISABLED=y ++# CONFIG_MIPS_MT_SMP is not set ++# CONFIG_MIPS_MT_SMTC is not set ++# CONFIG_MIPS_VPE_LOADER is not set ++# CONFIG_64BIT_PHYS_ADDR is not set ++CONFIG_CPU_HAS_LLSC=y ++CONFIG_CPU_HAS_SYNC=y ++CONFIG_GENERIC_HARDIRQS=y ++CONFIG_GENERIC_IRQ_PROBE=y ++CONFIG_ARCH_FLATMEM_ENABLE=y ++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=4 ++# CONFIG_RESOURCES_64BIT is not set ++CONFIG_ZONE_DMA_FLAG=1 ++# CONFIG_HZ_48 is not set ++# CONFIG_HZ_100 is not set ++# CONFIG_HZ_128 is not set ++# CONFIG_HZ_250 is not set ++# CONFIG_HZ_256 is not set ++CONFIG_HZ_1000=y ++# CONFIG_HZ_1024 is not set ++CONFIG_SYS_SUPPORTS_ARBIT_HZ=y ++CONFIG_HZ=1000 ++# CONFIG_PREEMPT_NONE is not set ++# CONFIG_PREEMPT_VOLUNTARY is not set ++CONFIG_PREEMPT=y ++CONFIG_PREEMPT_BKL=y ++# CONFIG_KEXEC is not set ++CONFIG_LOCKDEP_SUPPORT=y ++CONFIG_STACKTRACE_SUPPORT=y ++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_SYSVIPC_SYSCTL=y ++CONFIG_POSIX_MQUEUE=y ++CONFIG_BSD_PROCESS_ACCT=y ++# CONFIG_BSD_PROCESS_ACCT_V3 is not set ++# CONFIG_TASKSTATS is not set ++# CONFIG_UTS_NS is not set ++# CONFIG_AUDIT is not set ++CONFIG_IKCONFIG=y ++CONFIG_IKCONFIG_PROC=y ++CONFIG_SYSFS_DEPRECATED=y ++# CONFIG_RELAY is not set ++# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set ++CONFIG_SYSCTL=y ++CONFIG_EMBEDDED=y ++CONFIG_SYSCTL_SYSCALL=y ++CONFIG_KALLSYMS=y ++# CONFIG_KALLSYMS_EXTRA_PASS 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=y ++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=y ++CONFIG_MODVERSIONS=y ++# CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y ++ ++# ++# Block layer ++# ++CONFIG_BLOCK=y ++CONFIG_LBD=y ++# CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set ++ ++# ++# IO Schedulers ++# ++CONFIG_IOSCHED_NOOP=y ++CONFIG_IOSCHED_AS=y ++CONFIG_IOSCHED_DEADLINE=y ++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" ++ ++# ++# Bus options (PCI, PCMCIA, EISA, ISA, TC) ++# ++CONFIG_HW_HAS_PCI=y ++CONFIG_PCI=y ++CONFIG_MMU=y ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# ++# CONFIG_PCCARD is not set ++ ++# ++# PCI Hotplug Support ++# ++# CONFIG_HOTPLUG_PCI is not set ++ ++# ++# Executable file formats ++# ++CONFIG_BINFMT_ELF=y ++# CONFIG_BINFMT_MISC is not set ++CONFIG_TRAD_SIGNALS=y ++ ++# ++# Power management options ++# ++CONFIG_PM=y ++# CONFIG_PM_LEGACY is not set ++# CONFIG_PM_DEBUG is not set ++# CONFIG_PM_SYSFS_DEPRECATED is not set ++ ++# ++# Networking ++# ++CONFIG_NET=y ++ ++# ++# Networking options ++# ++# CONFIG_NETDEBUG is not set ++CONFIG_PACKET=y ++CONFIG_PACKET_MMAP=y ++CONFIG_UNIX=y ++CONFIG_XFRM=y ++# CONFIG_XFRM_USER is not set ++# CONFIG_XFRM_SUB_POLICY is not set ++CONFIG_XFRM_MIGRATE=y ++CONFIG_NET_KEY=y ++CONFIG_NET_KEY_MIGRATE=y ++CONFIG_INET=y ++CONFIG_IP_MULTICAST=y ++CONFIG_IP_ADVANCED_ROUTER=y ++CONFIG_ASK_IP_FIB_HASH=y ++# CONFIG_IP_FIB_TRIE is not set ++CONFIG_IP_FIB_HASH=y ++CONFIG_IP_MULTIPLE_TABLES=y ++CONFIG_IP_ROUTE_MULTIPATH=y ++# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set ++CONFIG_IP_ROUTE_VERBOSE=y ++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_IPIP is not set ++# CONFIG_NET_IPGRE is not set ++# CONFIG_IP_MROUTE is not set ++# CONFIG_ARPD is not set ++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 is not set ++CONFIG_INET_TUNNEL=m ++CONFIG_INET_XFRM_MODE_TRANSPORT=m ++CONFIG_INET_XFRM_MODE_TUNNEL=m ++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=y ++ ++# ++# 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_MIP6=y ++# 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_INET6_XFRM_MODE_BEET=m ++CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m ++CONFIG_IPV6_SIT=m ++# CONFIG_IPV6_TUNNEL is not set ++CONFIG_IPV6_MULTIPLE_TABLES=y ++CONFIG_IPV6_SUBTREES=y ++CONFIG_NETWORK_SECMARK=y ++CONFIG_NETFILTER=y ++# CONFIG_NETFILTER_DEBUG is not set ++ ++# ++# 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=y ++CONFIG_NF_CONNTRACK_MARK=y ++CONFIG_NF_CONNTRACK_SECMARK=y ++CONFIG_NF_CONNTRACK_EVENTS=y ++CONFIG_NF_CT_PROTO_GRE=m ++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=m ++CONFIG_NF_CONNTRACK_SANE=m ++CONFIG_NF_CONNTRACK_SIP=m ++CONFIG_NF_CONNTRACK_TFTP=m ++CONFIG_NETFILTER_XTABLES=m ++CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m ++CONFIG_NETFILTER_XT_TARGET_CONNMARK=m ++CONFIG_NETFILTER_XT_TARGET_DSCP=m ++CONFIG_NETFILTER_XT_TARGET_MARK=m ++CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m ++CONFIG_NETFILTER_XT_TARGET_NFLOG=m ++CONFIG_NETFILTER_XT_TARGET_NOTRACK=m ++CONFIG_NETFILTER_XT_TARGET_SECMARK=m ++CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m ++CONFIG_NETFILTER_XT_TARGET_TCPMSS=m ++CONFIG_NETFILTER_XT_MATCH_COMMENT=m ++CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m ++CONFIG_NETFILTER_XT_MATCH_CONNMARK=m ++CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m ++CONFIG_NETFILTER_XT_MATCH_DCCP=m ++CONFIG_NETFILTER_XT_MATCH_DSCP=m ++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_PKTTYPE=m ++CONFIG_NETFILTER_XT_MATCH_QUOTA=m ++CONFIG_NETFILTER_XT_MATCH_REALM=m ++CONFIG_NETFILTER_XT_MATCH_SCTP=m ++CONFIG_NETFILTER_XT_MATCH_STATE=m ++CONFIG_NETFILTER_XT_MATCH_STATISTIC=m ++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_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=m ++CONFIG_NF_NAT_PROTO_GRE=m ++CONFIG_NF_NAT_FTP=m ++CONFIG_NF_NAT_IRC=m ++CONFIG_NF_NAT_TFTP=m ++CONFIG_NF_NAT_AMANDA=m ++CONFIG_NF_NAT_PPTP=m ++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_TARGET_CLUSTERIP=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=m ++# 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_MH=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 ++ ++# ++# DCCP Configuration (EXPERIMENTAL) ++# ++# CONFIG_IP_DCCP is not set ++ ++# ++# SCTP Configuration (EXPERIMENTAL) ++# ++CONFIG_IP_SCTP=m ++# CONFIG_SCTP_DBG_MSG is not set ++# CONFIG_SCTP_DBG_OBJCNT is not set ++# CONFIG_SCTP_HMAC_NONE is not set ++# CONFIG_SCTP_HMAC_SHA1 is not set ++CONFIG_SCTP_HMAC_MD5=y ++ ++# ++# 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_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 is not set ++# CONFIG_HAMRADIO is not set ++# CONFIG_IRDA is not set ++# CONFIG_BT is not set ++# CONFIG_IEEE80211 is not set ++CONFIG_FIB_RULES=y ++ ++# ++# Device Drivers ++# ++ ++# ++# Generic Driver Options ++# ++CONFIG_STANDALONE=y ++CONFIG_PREVENT_FIRMWARE_BUILD=y ++CONFIG_FW_LOADER=m ++# 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 is not set ++CONFIG_MTD_PARTITIONS=y ++# CONFIG_MTD_REDBOOT_PARTS is not set ++CONFIG_MTD_CMDLINE_PARTS=y ++ ++# ++# User Modules And Translation Layers ++# ++CONFIG_MTD_CHAR=y ++CONFIG_MTD_BLKDEVS=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 ++# 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 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 is not set ++CONFIG_MTD_CFI_AMDSTD=y ++# 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 is not set ++CONFIG_MTD_PHYSMAP=y ++CONFIG_MTD_PHYSMAP_START=0x1e000000 ++CONFIG_MTD_PHYSMAP_LEN=0x02000000 ++CONFIG_MTD_PHYSMAP_BANKWIDTH=2 ++# 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 ++# ++# CONFIG_PNPACPI is not set ++ ++# ++# 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=m ++# CONFIG_BLK_DEV_NBD is not set ++# CONFIG_BLK_DEV_SX8 is not set ++# CONFIG_BLK_DEV_RAM is not set ++# CONFIG_BLK_DEV_INITRD is not set ++# CONFIG_CDROM_PKTCDVD is not set ++# CONFIG_ATA_OVER_ETH is not set ++ ++# ++# Misc devices ++# ++CONFIG_SGI_IOC4=m ++# CONFIG_TIFM_CORE is not set ++ ++# ++# ATA/ATAPI/MFM/RLL support ++# ++# CONFIG_IDE is not set ++ ++# ++# SCSI device support ++# ++# CONFIG_RAID_ATTRS is not set ++CONFIG_SCSI=m ++CONFIG_SCSI_TGT=m ++# CONFIG_SCSI_NETLINK is not set ++# CONFIG_SCSI_PROC_FS is not set ++ ++# ++# SCSI support type (disk, tape, CD-ROM) ++# ++CONFIG_BLK_DEV_SD=m ++# 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=m ++# 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_SCSI_SCAN_ASYNC=y ++ ++# ++# SCSI Transports ++# ++# 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=m ++CONFIG_SCSI_SAS_LIBSAS=m ++# CONFIG_SCSI_SAS_LIBSAS_DEBUG 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_AIC94XX=m ++# CONFIG_AIC94XX_DEBUG 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_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 is not set ++ ++# ++# Multi-device support (RAID and LVM) ++# ++# CONFIG_MD 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_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=y ++# 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 ++# CONFIG_SC92031 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 ++CONFIG_QLA3XXX=m ++# CONFIG_ATL1 is not set ++ ++# ++# Ethernet (10000 Mbit) ++# ++# CONFIG_CHELSIO_T1 is not set ++CONFIG_CHELSIO_T3=m ++# CONFIG_IXGB is not set ++# CONFIG_S2IO is not set ++# CONFIG_MYRI10GE is not set ++CONFIG_NETXEN_NIC=m ++ ++# ++# Token Ring devices ++# ++# CONFIG_TR is not set ++ ++# ++# Wireless LAN (non-hamradio) ++# ++# CONFIG_NET_RADIO is not set ++ ++# ++# 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 is not set ++CONFIG_PPP_ASYNC=m ++CONFIG_PPP_SYNC_TTY=m ++CONFIG_PPP_DEFLATE=m ++# CONFIG_PPP_BSDCOMP is not set ++# CONFIG_PPP_MPPE is not set ++# CONFIG_PPPOE is not set ++# CONFIG_SLIP is not set ++CONFIG_SLHC=m ++# CONFIG_NET_FC 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 ++ ++# ++# Telephony Support ++# ++# CONFIG_PHONE 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=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_PCI=y ++CONFIG_SERIAL_8250_NR_UARTS=4 ++CONFIG_SERIAL_8250_RUNTIME_UARTS=4 ++# 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=256 ++ ++# ++# IPMI ++# ++# CONFIG_IPMI_HANDLER is not set ++ ++# ++# Watchdog Cards ++# ++# CONFIG_WATCHDOG is not set ++# CONFIG_HW_RANDOM is not set ++CONFIG_RTC=m ++# CONFIG_GEN_RTC 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 is not set ++# 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_NFORCE2 is not set ++# CONFIG_I2C_OCORES is not set ++# CONFIG_I2C_PARPORT_LIGHT is not set ++# CONFIG_I2C_PASEMI 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_EEPROM_LEGACY is not set ++# CONFIG_SENSORS_PCF8574 is not set ++# CONFIG_SENSORS_PCA9539 is not set ++# CONFIG_SENSORS_PCF8591 is not set ++# CONFIG_SENSORS_MAX6875 is not set ++CONFIG_I2C_DEBUG_CORE=y ++# CONFIG_I2C_DEBUG_ALGO is not set ++CONFIG_I2C_DEBUG_BUS=y ++# 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 is not set ++ ++# ++# Hardware Monitoring 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_ADM1029 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 is not set ++# 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_HWMON_DEBUG_CHIP is not set ++ ++# ++# Multimedia devices ++# ++# CONFIG_VIDEO_DEV is not set ++ ++# ++# Digital Video Broadcasting Devices ++# ++# CONFIG_DVB 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 is not set ++ ++# ++# HID Devices ++# ++# CONFIG_HID 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 is not set ++ ++# ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' ++# ++ ++# ++# USB Gadget Support ++# ++# CONFIG_USB_GADGET is not set ++ ++# ++# MMC/SD Card support ++# ++# CONFIG_MMC is not set ++ ++# ++# LED devices ++# ++# CONFIG_NEW_LEDS is not set ++ ++# ++# LED drivers ++# ++ ++# ++# LED Triggers ++# ++ ++# ++# InfiniBand support ++# ++# CONFIG_INFINIBAND is not set ++ ++# ++# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) ++# ++ ++# ++# Real Time Clock ++# ++# CONFIG_RTC_CLASS is not set ++ ++# ++# DMA Engine support ++# ++# CONFIG_DMA_ENGINE is not set ++ ++# ++# DMA Clients ++# ++ ++# ++# DMA Devices ++# ++ ++# ++# Auxiliary Display support ++# ++ ++# ++# Virtualization ++# ++ ++# ++# File systems ++# ++CONFIG_EXT2_FS=y ++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 is not set ++# CONFIG_EXT3_FS_SECURITY is not set ++# CONFIG_EXT4DEV_FS is not set ++CONFIG_JBD=m ++# CONFIG_JBD_DEBUG is not set ++CONFIG_FS_MBCACHE=y ++# CONFIG_REISERFS_FS is not set ++# CONFIG_JFS_FS is not set ++CONFIG_FS_POSIX_ACL=y ++CONFIG_XFS_FS=m ++# CONFIG_XFS_QUOTA is not set ++# CONFIG_XFS_SECURITY is not set ++# CONFIG_XFS_POSIX_ACL is not set ++# CONFIG_XFS_RT 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 is not set ++# CONFIG_AUTOFS_FS is not set ++CONFIG_AUTOFS4_FS=m ++# CONFIG_FUSE_FS is not set ++CONFIG_GENERIC_ACL=y ++ ++# ++# 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=m ++# CONFIG_NTFS_DEBUG is not set ++# CONFIG_NTFS_RW is not set ++ ++# ++# Pseudo filesystems ++# ++CONFIG_PROC_FS=y ++CONFIG_PROC_KCORE=y ++CONFIG_PROC_SYSCTL=y ++CONFIG_SYSFS=y ++CONFIG_TMPFS=y ++CONFIG_TMPFS_POSIX_ACL=y ++# CONFIG_HUGETLB_PAGE is not set ++CONFIG_RAMFS=y ++CONFIG_CONFIGFS_FS=m ++ ++# ++# 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=y ++CONFIG_JFFS2_ZLIB=y ++CONFIG_JFFS2_RTIME=y ++# CONFIG_JFFS2_RUBIN is not set ++# CONFIG_JFFS2_CMODE_NONE is not set ++CONFIG_JFFS2_CMODE_PRIORITY=y ++# CONFIG_JFFS2_CMODE_SIZE is not set ++CONFIG_CRAMFS=y ++# 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=y ++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 is not set ++CONFIG_NFSD_TCP=y ++CONFIG_ROOT_NFS=y ++CONFIG_LOCKD=y ++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 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="" ++CONFIG_NLS_CODEPAGE_437=m ++# 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_ASCII=m ++CONFIG_NLS_ISO8859_1=m ++# 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=m ++ ++# ++# Distributed Lock Manager ++# ++CONFIG_DLM=m ++CONFIG_DLM_TCP=y ++# CONFIG_DLM_SCTP is not set ++# CONFIG_DLM_DEBUG is not set ++ ++# ++# Profiling support ++# ++# CONFIG_PROFILING is not set ++ ++# ++# Kernel hacking ++# ++CONFIG_TRACE_IRQFLAGS_SUPPORT=y ++# 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_CROSSCOMPILE=y ++CONFIG_CMDLINE="console=ttyS0,115200 mem=192m ip=bootp root=/dev/nfs rw" ++ ++# ++# 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=m ++# CONFIG_CRYPTO_NULL is not set ++# CONFIG_CRYPTO_MD4 is not set ++CONFIG_CRYPTO_MD5=y ++# CONFIG_CRYPTO_SHA1 is not set ++# CONFIG_CRYPTO_SHA256 is not set ++# CONFIG_CRYPTO_SHA512 is not set ++# CONFIG_CRYPTO_WP512 is not set ++# CONFIG_CRYPTO_TGR192 is not set ++CONFIG_CRYPTO_GF128MUL=m ++CONFIG_CRYPTO_ECB=m ++CONFIG_CRYPTO_CBC=y ++CONFIG_CRYPTO_PCBC=m ++CONFIG_CRYPTO_LRW=m ++CONFIG_CRYPTO_DES=y ++CONFIG_CRYPTO_FCRYPT=m ++# CONFIG_CRYPTO_BLOWFISH is not set ++# CONFIG_CRYPTO_TWOFISH is not set ++# CONFIG_CRYPTO_SERPENT is not set ++# CONFIG_CRYPTO_AES is not set ++# CONFIG_CRYPTO_CAST5 is not set ++# CONFIG_CRYPTO_CAST6 is not set ++# CONFIG_CRYPTO_TEA is not set ++# CONFIG_CRYPTO_ARC4 is not set ++# CONFIG_CRYPTO_KHAZAD is not set ++# CONFIG_CRYPTO_ANUBIS is not set ++# CONFIG_CRYPTO_DEFLATE is not set ++# CONFIG_CRYPTO_MICHAEL_MIC is not set ++# CONFIG_CRYPTO_CRC32C is not set ++CONFIG_CRYPTO_CAMELLIA=m ++# CONFIG_CRYPTO_TEST is not set ++ ++# ++# Hardware crypto devices ++# ++ ++# ++# Library routines ++# ++CONFIG_BITREVERSE=y ++CONFIG_CRC_CCITT=m ++# CONFIG_CRC16 is not set ++CONFIG_CRC32=y ++# CONFIG_LIBCRC32C is not set ++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_HAS_IOMEM=y ++CONFIG_HAS_IOPORT=y +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/configs/ip27_defconfig linux-2.6.29-rc3.owrt/arch/mips/configs/ip27_defconfig +--- linux-2.6.29.owrt/arch/mips/configs/ip27_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/configs/ip27_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -53,7 +53,7 @@ + CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y + CONFIG_ARC=y +-CONFIG_DMA_COHERENT=y ++CONFIG_DMA_IP27=y + CONFIG_EARLY_PRINTK=y + CONFIG_SYS_HAS_EARLY_PRINTK=y + # CONFIG_NO_IOPORT is not set +@@ -512,7 +512,7 @@ + CONFIG_MD_RAID0=y + CONFIG_MD_RAID1=y + CONFIG_MD_RAID10=m +-CONFIG_MD_RAID456=y ++CONFIG_MD_RAID456=m + CONFIG_MD_RAID5_RESHAPE=y + CONFIG_MD_MULTIPATH=m + CONFIG_MD_FAULTY=m +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/configs/jmr3927_defconfig linux-2.6.29-rc3.owrt/arch/mips/configs/jmr3927_defconfig +--- linux-2.6.29.owrt/arch/mips/configs/jmr3927_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/configs/jmr3927_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc7 +-# Wed Mar 4 23:07:16 2009 ++# Linux kernel version: 2.6.26-rc9 ++# Fri Jul 11 23:01:36 2008 + # + CONFIG_MIPS=y + +@@ -18,10 +18,8 @@ + # CONFIG_LEMOTE_FULONG is not set + # CONFIG_MIPS_MALTA is not set + # CONFIG_MIPS_SIM is not set +-# CONFIG_MACH_EMMA is not set ++# CONFIG_MARKEINS is not set + # CONFIG_MACH_VR41XX is not set +-# CONFIG_NXP_STB220 is not set +-# CONFIG_NXP_STB225 is not set + # CONFIG_PNX8550_JBS is not set + # CONFIG_PNX8550_STB810 is not set + # CONFIG_PMC_MSP is not set +@@ -41,11 +39,7 @@ + # CONFIG_SNI_RM is not set + CONFIG_MACH_TX39XX=y + # CONFIG_MACH_TX49XX is not set +-# CONFIG_MIKROTIK_RB532 is not set + # CONFIG_WR_PPMC is not set +-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set +-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set +-CONFIG_MACH_TXX9=y + CONFIG_TOSHIBA_JMR3927=y + CONFIG_SOC_TX3927=y + # CONFIG_TOSHIBA_FPCIB0 is not set +@@ -60,14 +54,12 @@ + CONFIG_GENERIC_CLOCKEVENTS=y + CONFIG_GENERIC_TIME=y + CONFIG_GENERIC_CMOS_UPDATE=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y + CONFIG_CEVT_TXX9=y + CONFIG_GPIO_TXX9=y + CONFIG_DMA_NONCOHERENT=y + CONFIG_DMA_NEED_PCI_MAP_STATE=y +-CONFIG_EARLY_PRINTK=y +-CONFIG_SYS_HAS_EARLY_PRINTK=y + # CONFIG_HOTPLUG_CPU is not set + # CONFIG_NO_IOPORT is not set + CONFIG_GENERIC_GPIO=y +@@ -95,7 +87,6 @@ + # CONFIG_CPU_TX49XX is not set + # CONFIG_CPU_R5000 is not set + # CONFIG_CPU_R5432 is not set +-# CONFIG_CPU_R5500 is not set + # CONFIG_CPU_R6000 is not set + # CONFIG_CPU_NEVADA is not set + # CONFIG_CPU_R8000 is not set +@@ -103,7 +94,6 @@ + # CONFIG_CPU_RM7000 is not set + # CONFIG_CPU_RM9000 is not set + # CONFIG_CPU_SB1 is not set +-# CONFIG_CPU_CAVIUM_OCTEON is not set + CONFIG_SYS_HAS_CPU_TX39XX=y + CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y + CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +@@ -127,12 +117,14 @@ + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_FLATMEM=y + CONFIG_FLAT_NODE_MEM_MAP=y ++# CONFIG_SPARSEMEM_STATIC is not set ++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y ++# CONFIG_TICK_ONESHOT is not set + # CONFIG_NO_HZ is not set + # CONFIG_HIGH_RES_TIMERS is not set + CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +@@ -167,15 +159,6 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 + # CONFIG_CGROUPS is not set +@@ -188,6 +171,7 @@ + CONFIG_SYSCTL=y + CONFIG_EMBEDDED=y + CONFIG_SYSCTL_SYSCALL=y ++CONFIG_SYSCTL_SYSCALL_CHECK=y + CONFIG_KALLSYMS=y + # CONFIG_KALLSYMS_EXTRA_PASS is not set + # CONFIG_HOTPLUG is not set +@@ -204,23 +188,26 @@ + CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set ++# CONFIG_HAVE_KPROBES is not set ++# CONFIG_HAVE_KRETPROBES is not set ++# CONFIG_HAVE_DMA_ATTRS is not set ++CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + # CONFIG_MODULES is not set + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set ++# CONFIG_LSF is not set + + # + # IO Schedulers +@@ -234,7 +221,7 @@ + CONFIG_DEFAULT_CFQ=y + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="cfq" +-# CONFIG_FREEZER is not set ++CONFIG_CLASSIC_RCU=y + + # + # Bus options (PCI, PCMCIA, EISA, ISA, TC) +@@ -244,15 +231,12 @@ + CONFIG_PCI_DOMAINS=y + # CONFIG_ARCH_SUPPORTS_MSI is not set + CONFIG_PCI_LEGACY=y +-# CONFIG_PCI_STUB is not set + CONFIG_MMU=y + + # + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set + CONFIG_TRAD_SIGNALS=y + +@@ -261,12 +245,15 @@ + # + CONFIG_ARCH_SUSPEND_POSSIBLE=y + # CONFIG_PM is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -306,7 +293,6 @@ + # CONFIG_IPX is not set + # CONFIG_ATALK is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -316,9 +302,14 @@ + # CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set +-# CONFIG_PHONET is not set +-# CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set ++ ++# ++# Wireless ++# ++# CONFIG_CFG80211 is not set ++# CONFIG_WIRELESS_EXT is not set ++# CONFIG_MAC80211 is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + + # +@@ -332,89 +323,7 @@ + CONFIG_PREVENT_FIRMWARE_BUILD=y + # CONFIG_SYS_HYPERVISOR is not set + # CONFIG_CONNECTOR is not set +-CONFIG_MTD=y +-# CONFIG_MTD_DEBUG is not set +-# CONFIG_MTD_CONCAT is not set +-CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_REDBOOT_PARTS is not set +-CONFIG_MTD_CMDLINE_PARTS=y +-# CONFIG_MTD_AR7_PARTS is not set +- +-# +-# User Modules And Translation Layers +-# +-CONFIG_MTD_CHAR=y +-# CONFIG_MTD_BLKDEVS is not set +-# CONFIG_MTD_BLOCK is not set +-# CONFIG_MTD_BLOCK_RO is not set +-# CONFIG_FTL is not set +-# CONFIG_NFTL is not set +-# CONFIG_INFTL is not set +-# CONFIG_RFD_FTL is not set +-# CONFIG_SSFDC is not set +-# CONFIG_MTD_OOPS is not set +- +-# +-# RAM/ROM/Flash chip drivers +-# +-CONFIG_MTD_CFI=y +-CONFIG_MTD_JEDECPROBE=y +-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 is not set +-CONFIG_MTD_CFI_AMDSTD=y +-# 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 +- +-# +-# Mapping drivers for chip access +-# +-# CONFIG_MTD_COMPLEX_MAPPINGS is not set +-CONFIG_MTD_PHYSMAP=y +-# CONFIG_MTD_PHYSMAP_COMPAT is not set +-# CONFIG_MTD_INTEL_VR_NOR 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 +-# CONFIG_MTD_NAND is not set +-# CONFIG_MTD_ONENAND is not set +- +-# +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +- +-# +-# UBI - Unsorted block images +-# +-# CONFIG_MTD_UBI is not set ++# CONFIG_MTD is not set + # CONFIG_PARPORT is not set + CONFIG_BLK_DEV=y + # CONFIG_BLK_CPQ_DA is not set +@@ -427,7 +336,6 @@ + # CONFIG_BLK_DEV_RAM is not set + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + # CONFIG_MISC_DEVICES is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set +@@ -453,6 +361,7 @@ + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + # CONFIG_DUMMY is not set + # CONFIG_BONDING is not set + # CONFIG_EQUALIZER is not set +@@ -474,9 +383,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -486,7 +392,6 @@ + # 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 + # CONFIG_NET_TULIP is not set + # CONFIG_HP100 is not set +@@ -494,9 +399,6 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + CONFIG_NET_PCI=y + # CONFIG_PCNET32 is not set + # CONFIG_AMD8111_ETH is not set +@@ -504,6 +406,7 @@ + # CONFIG_B44 is not set + # CONFIG_FORCEDETH is not set + CONFIG_TC35815=y ++# CONFIG_EEPRO100 is not set + # CONFIG_E100 is not set + # CONFIG_FEALNX is not set + # CONFIG_NATSEMI is not set +@@ -512,11 +415,9 @@ + # CONFIG_R6040 is not set + # CONFIG_SIS900 is not set + # CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set + # CONFIG_SUNDANCE is not set + # CONFIG_TLAN is not set + # CONFIG_VIA_RHINE is not set +-# CONFIG_ATL2 is not set + # CONFIG_NETDEV_1000 is not set + # CONFIG_NETDEV_10000 is not set + # CONFIG_TR is not set +@@ -527,10 +428,6 @@ + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set + # CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_FDDI is not set + # CONFIG_PPP is not set +@@ -543,7 +440,27 @@ + # + # Input device support + # +-# CONFIG_INPUT is not set ++CONFIG_INPUT=y ++# CONFIG_INPUT_FF_MEMLESS is not set ++# CONFIG_INPUT_POLLDEV is not set ++ ++# ++# Userland interfaces ++# ++# CONFIG_INPUT_MOUSEDEV is not set ++# CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_EVDEV is not set ++# 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_TABLET is not set ++# CONFIG_INPUT_TOUCHSCREEN is not set ++# CONFIG_INPUT_MISC is not set + + # + # Hardware I/O ports +@@ -600,11 +517,10 @@ + CONFIG_DEVPORT=y + # CONFIG_I2C is not set + # CONFIG_SPI is not set +-CONFIG_ARCH_REQUIRE_GPIOLIB=y +-CONFIG_GPIOLIB=y ++CONFIG_HAVE_GPIO_LIB=y + + # +-# Memory mapped GPIO expanders: ++# GPIO Support + # + + # +@@ -612,11 +528,6 @@ + # + + # +-# PCI GPIO expanders: +-# +-# CONFIG_GPIO_BT8XX is not set +- +-# + # SPI GPIO expanders: + # + # CONFIG_W1 is not set +@@ -631,7 +542,6 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-# CONFIG_ALIM7101_WDT is not set + CONFIG_TXX9_WDT=y + + # +@@ -639,21 +549,18 @@ + # + # CONFIG_PCIPCWATCHDOG is not set + # CONFIG_WDTPCI is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices +@@ -684,26 +591,16 @@ + # Display device support + # + # CONFIG_DISPLAY_SUPPORT is not set ++ ++# ++# Sound ++# + # CONFIG_SOUND is not set ++# CONFIG_HID_SUPPORT is not set + # CONFIG_USB_SUPPORT is not set + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set +-CONFIG_NEW_LEDS=y +-CONFIG_LEDS_CLASS=y +- +-# +-# LED drivers +-# +-CONFIG_LEDS_GPIO=y +- +-# +-# LED Triggers +-# +-CONFIG_LEDS_TRIGGERS=y +-# CONFIG_LEDS_TRIGGER_TIMER is not set +-CONFIG_LEDS_TRIGGER_HEARTBEAT=y +-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set ++# CONFIG_NEW_LEDS is not set + # CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set + CONFIG_RTC_LIB=y +@@ -729,34 +626,27 @@ + # Platform RTC drivers + # + # CONFIG_RTC_DRV_CMOS is not set +-# CONFIG_RTC_DRV_DS1286 is not set + # CONFIG_RTC_DRV_DS1511 is not set + # CONFIG_RTC_DRV_DS1553 is not set + CONFIG_RTC_DRV_DS1742=y + # CONFIG_RTC_DRV_STK17TA8 is not set + # CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set + # CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set + # CONFIG_RTC_DRV_V3020 is not set + + # + # on-CPU RTC drivers + # +-# CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems + # + # CONFIG_EXT2_FS is not set + # CONFIG_EXT3_FS is not set +-# CONFIG_EXT4_FS is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + # CONFIG_FS_POSIX_ACL is not set +-CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set + CONFIG_DNOTIFY=y +@@ -786,17 +676,28 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SYSFS=y + # CONFIG_TMPFS is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-# CONFIG_MISC_FILESYSTEMS is not set ++ ++# ++# Miscellaneous filesystems ++# ++# CONFIG_HFSPLUS_FS is not set ++# CONFIG_CRAMFS is not set ++# CONFIG_VXFS_FS is not set ++# CONFIG_MINIX_FS is not set ++# CONFIG_HPFS_FS is not set ++# CONFIG_QNX4FS_FS is not set ++# CONFIG_ROMFS_FS is not set ++# CONFIG_SYSV_FS is not set ++# CONFIG_UFS_FS is not set + CONFIG_NETWORK_FILESYSTEMS=y + CONFIG_NFS_FS=y + # CONFIG_NFS_V3 is not set +-CONFIG_ROOT_NFS=y + # CONFIG_NFSD is not set ++CONFIG_ROOT_NFS=y + CONFIG_LOCKD=y + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y +@@ -825,16 +726,7 @@ + # CONFIG_DEBUG_FS is not set + # CONFIG_HEADERS_CHECK is not set + # CONFIG_DEBUG_KERNEL is not set +-# CONFIG_DEBUG_MEMORY_INIT is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-CONFIG_SYSCTL_SYSCALL_CHECK=y +- +-# +-# Tracers +-# +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set +-CONFIG_HAVE_ARCH_KGDB=y + CONFIG_CMDLINE="" + + # +@@ -842,18 +734,15 @@ + # + # CONFIG_KEYS is not set + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + # CONFIG_CRYPTO is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y ++# CONFIG_GENERIC_FIND_FIRST_BIT is not set + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/configs/markeins_defconfig linux-2.6.29-rc3.owrt/arch/mips/configs/markeins_defconfig +--- linux-2.6.29.owrt/arch/mips/configs/markeins_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/configs/markeins_defconfig 1970-01-01 01:00:00.000000000 +0100 +@@ -1,1439 +0,0 @@ +-# +-# Automatically generated make config: don't edit +-# Linux kernel version: 2.6.20 +-# Tue Feb 20 21:47:29 2007 +-# +-CONFIG_MIPS=y +- +-# +-# Machine selection +-# +-CONFIG_ZONE_DMA=y +-# CONFIG_MIPS_MTX1 is not set +-# CONFIG_MIPS_BOSPORUS is not set +-# CONFIG_MIPS_PB1000 is not set +-# CONFIG_MIPS_PB1100 is not set +-# CONFIG_MIPS_PB1500 is not set +-# CONFIG_MIPS_PB1550 is not set +-# CONFIG_MIPS_PB1200 is not set +-# CONFIG_MIPS_DB1000 is not set +-# CONFIG_MIPS_DB1100 is not set +-# CONFIG_MIPS_DB1500 is not set +-# CONFIG_MIPS_DB1550 is not set +-# CONFIG_MIPS_DB1200 is not set +-# CONFIG_MIPS_MIRAGE is not set +-# CONFIG_BASLER_EXCITE is not set +-# CONFIG_MIPS_COBALT is not set +-# CONFIG_MACH_DECSTATION is not set +-# CONFIG_MACH_JAZZ is not set +-# CONFIG_MIPS_MALTA is not set +-# CONFIG_WR_PPMC is not set +-# CONFIG_MIPS_SIM is not set +-# CONFIG_MOMENCO_JAGUAR_ATX is not set +-# CONFIG_MIPS_XXS1500 is not set +-# CONFIG_PNX8550_JBS is not set +-# CONFIG_PNX8550_STB810 is not set +-# CONFIG_MACH_VR41XX is not set +-# CONFIG_PMC_YOSEMITE is not set +-CONFIG_NEC_MARKEINS=y +-# CONFIG_SGI_IP22 is not set +-# CONFIG_SGI_IP27 is not set +-# CONFIG_SGI_IP32 is not set +-# CONFIG_SIBYTE_BIGSUR is not set +-# CONFIG_SIBYTE_SWARM is not set +-# CONFIG_SIBYTE_SENTOSA is not set +-# CONFIG_SIBYTE_RHONE is not set +-# CONFIG_SIBYTE_CARMEL is not set +-# CONFIG_SIBYTE_LITTLESUR is not set +-# CONFIG_SIBYTE_CRHINE is not set +-# CONFIG_SIBYTE_CRHONE is not set +-# CONFIG_SNI_RM is not set +-# CONFIG_TOSHIBA_JMR3927 is not set +-# CONFIG_TOSHIBA_RBTX4927 is not set +-# CONFIG_TOSHIBA_RBTX4938 is not set +-CONFIG_RWSEM_GENERIC_SPINLOCK=y +-# CONFIG_ARCH_HAS_ILOG2_U32 is not set +-# CONFIG_ARCH_HAS_ILOG2_U64 is not set +-CONFIG_GENERIC_FIND_NEXT_BIT=y +-CONFIG_GENERIC_HWEIGHT=y +-CONFIG_GENERIC_CALIBRATE_DELAY=y +-CONFIG_GENERIC_TIME=y +-CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y +-# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set +-CONFIG_DMA_NONCOHERENT=y +-CONFIG_DMA_NEED_PCI_MAP_STATE=y +-CONFIG_CPU_BIG_ENDIAN=y +-# CONFIG_CPU_LITTLE_ENDIAN is not set +-CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +-CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y +-CONFIG_IRQ_CPU=y +-CONFIG_SWAP_IO_SPACE=y +-CONFIG_SOC_EMMA2RH=y +-CONFIG_MIPS_L1_CACHE_SHIFT=5 +- +-# +-# CPU selection +-# +-# CONFIG_CPU_MIPS32_R1 is not set +-# CONFIG_CPU_MIPS32_R2 is not set +-# CONFIG_CPU_MIPS64_R1 is not set +-# CONFIG_CPU_MIPS64_R2 is not set +-# CONFIG_CPU_R3000 is not set +-# CONFIG_CPU_TX39XX is not set +-# CONFIG_CPU_VR41XX is not set +-# CONFIG_CPU_R4300 is not set +-# CONFIG_CPU_R4X00 is not set +-# CONFIG_CPU_TX49XX is not set +-CONFIG_CPU_R5000=y +-# CONFIG_CPU_R5432 is not set +-# CONFIG_CPU_R6000 is not set +-# CONFIG_CPU_NEVADA is not set +-# CONFIG_CPU_R8000 is not set +-# CONFIG_CPU_R10000 is not set +-# CONFIG_CPU_RM7000 is not set +-# CONFIG_CPU_RM9000 is not set +-# CONFIG_CPU_SB1 is not set +-CONFIG_SYS_HAS_CPU_R5000=y +-CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +-CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y +-CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y +- +-# +-# Kernel type +-# +-CONFIG_32BIT=y +-# CONFIG_64BIT is not set +-CONFIG_PAGE_SIZE_4KB=y +-# CONFIG_PAGE_SIZE_8KB is not set +-# CONFIG_PAGE_SIZE_16KB is not set +-# CONFIG_PAGE_SIZE_64KB is not set +-CONFIG_MIPS_MT_DISABLED=y +-# CONFIG_MIPS_MT_SMP is not set +-# CONFIG_MIPS_MT_SMTC is not set +-# CONFIG_MIPS_VPE_LOADER is not set +-# CONFIG_64BIT_PHYS_ADDR is not set +-CONFIG_CPU_HAS_LLSC=y +-CONFIG_CPU_HAS_SYNC=y +-CONFIG_GENERIC_HARDIRQS=y +-CONFIG_GENERIC_IRQ_PROBE=y +-CONFIG_ARCH_FLATMEM_ENABLE=y +-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=4 +-# CONFIG_RESOURCES_64BIT is not set +-CONFIG_ZONE_DMA_FLAG=1 +-# CONFIG_HZ_48 is not set +-# CONFIG_HZ_100 is not set +-# CONFIG_HZ_128 is not set +-# CONFIG_HZ_250 is not set +-# CONFIG_HZ_256 is not set +-CONFIG_HZ_1000=y +-# CONFIG_HZ_1024 is not set +-CONFIG_SYS_SUPPORTS_ARBIT_HZ=y +-CONFIG_HZ=1000 +-# CONFIG_PREEMPT_NONE is not set +-# CONFIG_PREEMPT_VOLUNTARY is not set +-CONFIG_PREEMPT=y +-CONFIG_PREEMPT_BKL=y +-# CONFIG_KEXEC is not set +-CONFIG_LOCKDEP_SUPPORT=y +-CONFIG_STACKTRACE_SUPPORT=y +-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_SYSVIPC_SYSCTL=y +-CONFIG_POSIX_MQUEUE=y +-CONFIG_BSD_PROCESS_ACCT=y +-# CONFIG_BSD_PROCESS_ACCT_V3 is not set +-# CONFIG_TASKSTATS is not set +-# CONFIG_UTS_NS is not set +-# CONFIG_AUDIT is not set +-CONFIG_IKCONFIG=y +-CONFIG_IKCONFIG_PROC=y +-CONFIG_SYSFS_DEPRECATED=y +-# CONFIG_RELAY is not set +-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +-CONFIG_SYSCTL=y +-CONFIG_EMBEDDED=y +-CONFIG_SYSCTL_SYSCALL=y +-CONFIG_KALLSYMS=y +-# CONFIG_KALLSYMS_EXTRA_PASS 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=y +-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=y +-CONFIG_MODVERSIONS=y +-# CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_KMOD=y +- +-# +-# Block layer +-# +-CONFIG_BLOCK=y +-CONFIG_LBD=y +-# CONFIG_BLK_DEV_IO_TRACE is not set +-# CONFIG_LSF is not set +- +-# +-# IO Schedulers +-# +-CONFIG_IOSCHED_NOOP=y +-CONFIG_IOSCHED_AS=y +-CONFIG_IOSCHED_DEADLINE=y +-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" +- +-# +-# Bus options (PCI, PCMCIA, EISA, ISA, TC) +-# +-CONFIG_HW_HAS_PCI=y +-CONFIG_PCI=y +-CONFIG_MMU=y +- +-# +-# PCCARD (PCMCIA/CardBus) support +-# +-# CONFIG_PCCARD is not set +- +-# +-# PCI Hotplug Support +-# +-# CONFIG_HOTPLUG_PCI is not set +- +-# +-# Executable file formats +-# +-CONFIG_BINFMT_ELF=y +-# CONFIG_BINFMT_MISC is not set +-CONFIG_TRAD_SIGNALS=y +- +-# +-# Power management options +-# +-CONFIG_PM=y +-# CONFIG_PM_LEGACY is not set +-# CONFIG_PM_DEBUG is not set +-# CONFIG_PM_SYSFS_DEPRECATED is not set +- +-# +-# Networking +-# +-CONFIG_NET=y +- +-# +-# Networking options +-# +-# CONFIG_NETDEBUG is not set +-CONFIG_PACKET=y +-CONFIG_PACKET_MMAP=y +-CONFIG_UNIX=y +-CONFIG_XFRM=y +-# CONFIG_XFRM_USER is not set +-# CONFIG_XFRM_SUB_POLICY is not set +-CONFIG_XFRM_MIGRATE=y +-CONFIG_NET_KEY=y +-CONFIG_NET_KEY_MIGRATE=y +-CONFIG_INET=y +-CONFIG_IP_MULTICAST=y +-CONFIG_IP_ADVANCED_ROUTER=y +-CONFIG_ASK_IP_FIB_HASH=y +-# CONFIG_IP_FIB_TRIE is not set +-CONFIG_IP_FIB_HASH=y +-CONFIG_IP_MULTIPLE_TABLES=y +-CONFIG_IP_ROUTE_MULTIPATH=y +-# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set +-CONFIG_IP_ROUTE_VERBOSE=y +-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_IPIP is not set +-# CONFIG_NET_IPGRE is not set +-# CONFIG_IP_MROUTE is not set +-# CONFIG_ARPD is not set +-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 is not set +-CONFIG_INET_TUNNEL=m +-CONFIG_INET_XFRM_MODE_TRANSPORT=m +-CONFIG_INET_XFRM_MODE_TUNNEL=m +-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=y +- +-# +-# 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_MIP6=y +-# 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_INET6_XFRM_MODE_BEET=m +-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m +-CONFIG_IPV6_SIT=m +-# CONFIG_IPV6_TUNNEL is not set +-CONFIG_IPV6_MULTIPLE_TABLES=y +-CONFIG_IPV6_SUBTREES=y +-CONFIG_NETWORK_SECMARK=y +-CONFIG_NETFILTER=y +-# CONFIG_NETFILTER_DEBUG is not set +- +-# +-# 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=y +-CONFIG_NF_CONNTRACK_MARK=y +-CONFIG_NF_CONNTRACK_SECMARK=y +-CONFIG_NF_CONNTRACK_EVENTS=y +-CONFIG_NF_CT_PROTO_GRE=m +-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=m +-CONFIG_NF_CONNTRACK_SANE=m +-CONFIG_NF_CONNTRACK_SIP=m +-CONFIG_NF_CONNTRACK_TFTP=m +-CONFIG_NETFILTER_XTABLES=m +-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +-CONFIG_NETFILTER_XT_TARGET_DSCP=m +-CONFIG_NETFILTER_XT_TARGET_MARK=m +-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +-CONFIG_NETFILTER_XT_TARGET_NFLOG=m +-CONFIG_NETFILTER_XT_TARGET_NOTRACK=m +-CONFIG_NETFILTER_XT_TARGET_SECMARK=m +-CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +-CONFIG_NETFILTER_XT_MATCH_COMMENT=m +-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +-CONFIG_NETFILTER_XT_MATCH_DCCP=m +-CONFIG_NETFILTER_XT_MATCH_DSCP=m +-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_PKTTYPE=m +-CONFIG_NETFILTER_XT_MATCH_QUOTA=m +-CONFIG_NETFILTER_XT_MATCH_REALM=m +-CONFIG_NETFILTER_XT_MATCH_SCTP=m +-CONFIG_NETFILTER_XT_MATCH_STATE=m +-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +-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_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=m +-CONFIG_NF_NAT_PROTO_GRE=m +-CONFIG_NF_NAT_FTP=m +-CONFIG_NF_NAT_IRC=m +-CONFIG_NF_NAT_TFTP=m +-CONFIG_NF_NAT_AMANDA=m +-CONFIG_NF_NAT_PPTP=m +-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_TARGET_CLUSTERIP=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=m +-# 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_MH=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 +- +-# +-# DCCP Configuration (EXPERIMENTAL) +-# +-# CONFIG_IP_DCCP is not set +- +-# +-# SCTP Configuration (EXPERIMENTAL) +-# +-CONFIG_IP_SCTP=m +-# CONFIG_SCTP_DBG_MSG is not set +-# CONFIG_SCTP_DBG_OBJCNT is not set +-# CONFIG_SCTP_HMAC_NONE is not set +-# CONFIG_SCTP_HMAC_SHA1 is not set +-CONFIG_SCTP_HMAC_MD5=y +- +-# +-# 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_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 is not set +-# CONFIG_HAMRADIO is not set +-# CONFIG_IRDA is not set +-# CONFIG_BT is not set +-# CONFIG_IEEE80211 is not set +-CONFIG_FIB_RULES=y +- +-# +-# Device Drivers +-# +- +-# +-# Generic Driver Options +-# +-CONFIG_STANDALONE=y +-CONFIG_PREVENT_FIRMWARE_BUILD=y +-CONFIG_FW_LOADER=m +-# 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 is not set +-CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_REDBOOT_PARTS is not set +-CONFIG_MTD_CMDLINE_PARTS=y +- +-# +-# User Modules And Translation Layers +-# +-CONFIG_MTD_CHAR=y +-CONFIG_MTD_BLKDEVS=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 +-# 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 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 is not set +-CONFIG_MTD_CFI_AMDSTD=y +-# 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 is not set +-CONFIG_MTD_PHYSMAP=y +-CONFIG_MTD_PHYSMAP_START=0x0 +-CONFIG_MTD_PHYSMAP_LEN=0x0 +-CONFIG_MTD_PHYSMAP_BANKWIDTH=0 +-# 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 +-# +-# CONFIG_PNPACPI is not set +- +-# +-# 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=m +-# CONFIG_BLK_DEV_NBD is not set +-# CONFIG_BLK_DEV_SX8 is not set +-# CONFIG_BLK_DEV_RAM is not set +-# CONFIG_BLK_DEV_INITRD is not set +-# CONFIG_CDROM_PKTCDVD is not set +-# CONFIG_ATA_OVER_ETH is not set +- +-# +-# Misc devices +-# +-CONFIG_SGI_IOC4=m +-# CONFIG_TIFM_CORE is not set +- +-# +-# ATA/ATAPI/MFM/RLL support +-# +-# CONFIG_IDE is not set +- +-# +-# SCSI device support +-# +-# CONFIG_RAID_ATTRS is not set +-CONFIG_SCSI=m +-CONFIG_SCSI_TGT=m +-# CONFIG_SCSI_NETLINK is not set +-# CONFIG_SCSI_PROC_FS is not set +- +-# +-# SCSI support type (disk, tape, CD-ROM) +-# +-CONFIG_BLK_DEV_SD=m +-# 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=m +-# 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_SCSI_SCAN_ASYNC=y +- +-# +-# SCSI Transports +-# +-# 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=m +-CONFIG_SCSI_SAS_LIBSAS=m +-# CONFIG_SCSI_SAS_LIBSAS_DEBUG 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_AIC94XX=m +-# CONFIG_AIC94XX_DEBUG 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_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 is not set +- +-# +-# Multi-device support (RAID and LVM) +-# +-# CONFIG_MD 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_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=y +-# 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 +-# CONFIG_SC92031 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 +-CONFIG_QLA3XXX=m +-# CONFIG_ATL1 is not set +- +-# +-# Ethernet (10000 Mbit) +-# +-# CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3=m +-# CONFIG_IXGB is not set +-# CONFIG_S2IO is not set +-# CONFIG_MYRI10GE is not set +-CONFIG_NETXEN_NIC=m +- +-# +-# Token Ring devices +-# +-# CONFIG_TR is not set +- +-# +-# Wireless LAN (non-hamradio) +-# +-# CONFIG_NET_RADIO is not set +- +-# +-# 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 is not set +-CONFIG_PPP_ASYNC=m +-CONFIG_PPP_SYNC_TTY=m +-CONFIG_PPP_DEFLATE=m +-# CONFIG_PPP_BSDCOMP is not set +-# CONFIG_PPP_MPPE is not set +-# CONFIG_PPPOE is not set +-# CONFIG_SLIP is not set +-CONFIG_SLHC=m +-# CONFIG_NET_FC 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 +- +-# +-# Telephony Support +-# +-# CONFIG_PHONE 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=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_PCI=y +-CONFIG_SERIAL_8250_NR_UARTS=4 +-CONFIG_SERIAL_8250_RUNTIME_UARTS=4 +-# 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=256 +- +-# +-# IPMI +-# +-# CONFIG_IPMI_HANDLER is not set +- +-# +-# Watchdog Cards +-# +-# CONFIG_WATCHDOG is not set +-# CONFIG_HW_RANDOM is not set +-CONFIG_RTC=m +-# CONFIG_GEN_RTC 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 is not set +-# 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_NFORCE2 is not set +-# CONFIG_I2C_OCORES is not set +-# CONFIG_I2C_PARPORT_LIGHT is not set +-# CONFIG_I2C_PASEMI 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_EEPROM_LEGACY is not set +-# CONFIG_SENSORS_PCF8574 is not set +-# CONFIG_SENSORS_PCA9539 is not set +-# CONFIG_SENSORS_PCF8591 is not set +-# CONFIG_SENSORS_MAX6875 is not set +-CONFIG_I2C_DEBUG_CORE=y +-# CONFIG_I2C_DEBUG_ALGO is not set +-CONFIG_I2C_DEBUG_BUS=y +-# 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 is not set +- +-# +-# Hardware Monitoring 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_ADM1029 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 is not set +-# 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_HWMON_DEBUG_CHIP is not set +- +-# +-# Multimedia devices +-# +-# CONFIG_VIDEO_DEV is not set +- +-# +-# Digital Video Broadcasting Devices +-# +-# CONFIG_DVB 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 is not set +- +-# +-# HID Devices +-# +-# CONFIG_HID 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 is not set +- +-# +-# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +-# +- +-# +-# USB Gadget Support +-# +-# CONFIG_USB_GADGET is not set +- +-# +-# MMC/SD Card support +-# +-# CONFIG_MMC is not set +- +-# +-# LED devices +-# +-# CONFIG_NEW_LEDS is not set +- +-# +-# LED drivers +-# +- +-# +-# LED Triggers +-# +- +-# +-# InfiniBand support +-# +-# CONFIG_INFINIBAND is not set +- +-# +-# EDAC - error detection and reporting (RAS) (EXPERIMENTAL) +-# +- +-# +-# Real Time Clock +-# +-# CONFIG_RTC_CLASS is not set +- +-# +-# DMA Engine support +-# +-# CONFIG_DMA_ENGINE is not set +- +-# +-# DMA Clients +-# +- +-# +-# DMA Devices +-# +- +-# +-# Auxiliary Display support +-# +- +-# +-# Virtualization +-# +- +-# +-# File systems +-# +-CONFIG_EXT2_FS=y +-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 is not set +-# CONFIG_EXT3_FS_SECURITY is not set +-# CONFIG_EXT4DEV_FS is not set +-CONFIG_JBD=m +-# CONFIG_JBD_DEBUG is not set +-CONFIG_FS_MBCACHE=y +-# CONFIG_REISERFS_FS is not set +-# CONFIG_JFS_FS is not set +-CONFIG_FS_POSIX_ACL=y +-CONFIG_XFS_FS=m +-# CONFIG_XFS_QUOTA is not set +-# CONFIG_XFS_SECURITY is not set +-# CONFIG_XFS_POSIX_ACL is not set +-# CONFIG_XFS_RT 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 is not set +-# CONFIG_AUTOFS_FS is not set +-CONFIG_AUTOFS4_FS=m +-# CONFIG_FUSE_FS is not set +-CONFIG_GENERIC_ACL=y +- +-# +-# 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=m +-# CONFIG_NTFS_DEBUG is not set +-# CONFIG_NTFS_RW is not set +- +-# +-# Pseudo filesystems +-# +-CONFIG_PROC_FS=y +-CONFIG_PROC_KCORE=y +-CONFIG_PROC_SYSCTL=y +-CONFIG_SYSFS=y +-CONFIG_TMPFS=y +-CONFIG_TMPFS_POSIX_ACL=y +-# CONFIG_HUGETLB_PAGE is not set +-CONFIG_RAMFS=y +-CONFIG_CONFIGFS_FS=m +- +-# +-# 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=y +-CONFIG_JFFS2_ZLIB=y +-CONFIG_JFFS2_RTIME=y +-# CONFIG_JFFS2_RUBIN is not set +-# CONFIG_JFFS2_CMODE_NONE is not set +-CONFIG_JFFS2_CMODE_PRIORITY=y +-# CONFIG_JFFS2_CMODE_SIZE is not set +-CONFIG_CRAMFS=y +-# 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=y +-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 is not set +-CONFIG_NFSD_TCP=y +-CONFIG_ROOT_NFS=y +-CONFIG_LOCKD=y +-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 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="" +-CONFIG_NLS_CODEPAGE_437=m +-# 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_ASCII=m +-CONFIG_NLS_ISO8859_1=m +-# 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=m +- +-# +-# Distributed Lock Manager +-# +-CONFIG_DLM=m +-CONFIG_DLM_TCP=y +-# CONFIG_DLM_SCTP is not set +-# CONFIG_DLM_DEBUG is not set +- +-# +-# Profiling support +-# +-# CONFIG_PROFILING is not set +- +-# +-# Kernel hacking +-# +-CONFIG_TRACE_IRQFLAGS_SUPPORT=y +-# 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_CROSSCOMPILE=y +-CONFIG_CMDLINE="console=ttyS0,115200 mem=192m ip=bootp root=/dev/nfs rw" +- +-# +-# 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=m +-# CONFIG_CRYPTO_NULL is not set +-# CONFIG_CRYPTO_MD4 is not set +-CONFIG_CRYPTO_MD5=y +-# CONFIG_CRYPTO_SHA1 is not set +-# CONFIG_CRYPTO_SHA256 is not set +-# CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_WP512 is not set +-# CONFIG_CRYPTO_TGR192 is not set +-CONFIG_CRYPTO_GF128MUL=m +-CONFIG_CRYPTO_ECB=m +-CONFIG_CRYPTO_CBC=y +-CONFIG_CRYPTO_PCBC=m +-CONFIG_CRYPTO_LRW=m +-CONFIG_CRYPTO_DES=y +-CONFIG_CRYPTO_FCRYPT=m +-# CONFIG_CRYPTO_BLOWFISH is not set +-# CONFIG_CRYPTO_TWOFISH is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_CAST5 is not set +-# CONFIG_CRYPTO_CAST6 is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_ARC4 is not set +-# CONFIG_CRYPTO_KHAZAD is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_DEFLATE is not set +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_CRC32C is not set +-CONFIG_CRYPTO_CAMELLIA=m +-# CONFIG_CRYPTO_TEST is not set +- +-# +-# Hardware crypto devices +-# +- +-# +-# Library routines +-# +-CONFIG_BITREVERSE=y +-CONFIG_CRC_CCITT=m +-# CONFIG_CRC16 is not set +-CONFIG_CRC32=y +-# CONFIG_LIBCRC32C is not set +-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_HAS_IOMEM=y +-CONFIG_HAS_IOPORT=y +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/configs/rbtx49xx_defconfig linux-2.6.29-rc3.owrt/arch/mips/configs/rbtx49xx_defconfig +--- linux-2.6.29.owrt/arch/mips/configs/rbtx49xx_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/configs/rbtx49xx_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc7 +-# Wed Mar 4 23:08:06 2009 ++# Linux kernel version: 2.6.26-rc9 ++# Fri Jul 11 23:03:21 2008 + # + CONFIG_MIPS=y + +@@ -18,10 +18,8 @@ + # CONFIG_LEMOTE_FULONG is not set + # CONFIG_MIPS_MALTA is not set + # CONFIG_MIPS_SIM is not set +-# CONFIG_MACH_EMMA is not set ++# CONFIG_MARKEINS is not set + # CONFIG_MACH_VR41XX is not set +-# CONFIG_NXP_STB220 is not set +-# CONFIG_NXP_STB225 is not set + # CONFIG_PNX8550_JBS is not set + # CONFIG_PNX8550_STB810 is not set + # CONFIG_PMC_MSP is not set +@@ -41,28 +39,20 @@ + # CONFIG_SNI_RM is not set + # CONFIG_MACH_TX39XX is not set + CONFIG_MACH_TX49XX=y +-# CONFIG_MIKROTIK_RB532 is not set + # CONFIG_WR_PPMC is not set +-# CONFIG_CAVIUM_OCTEON_SIMULATOR is not set +-# CONFIG_CAVIUM_OCTEON_REFERENCE_BOARD is not set +-CONFIG_MACH_TXX9=y + CONFIG_TOSHIBA_RBTX4927=y + CONFIG_TOSHIBA_RBTX4938=y +-CONFIG_TOSHIBA_RBTX4939=y + CONFIG_SOC_TX4927=y + CONFIG_SOC_TX4938=y +-CONFIG_SOC_TX4939=y +-CONFIG_TXX9_7SEGLED=y + # CONFIG_TOSHIBA_FPCIB0 is not set + CONFIG_PICMG_PCI_BACKPLANE_DEFAULT=y + + # + # Multiplex Pin Select + # +-# CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61 is not set ++CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61=y + # CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set + # CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set +-CONFIG_TOSHIBA_RBTX4938_MPLEX_KEEP=y + CONFIG_PCI_TX4927=y + CONFIG_RWSEM_GENERIC_SPINLOCK=y + # CONFIG_ARCH_HAS_ILOG2_U32 is not set +@@ -74,18 +64,14 @@ + CONFIG_GENERIC_CLOCKEVENTS=y + CONFIG_GENERIC_TIME=y + CONFIG_GENERIC_CMOS_UPDATE=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y +-CONFIG_CEVT_R4K_LIB=y + CONFIG_CEVT_R4K=y + CONFIG_CEVT_TXX9=y +-CONFIG_CSRC_R4K_LIB=y + CONFIG_CSRC_R4K=y + CONFIG_GPIO_TXX9=y + CONFIG_DMA_NONCOHERENT=y + CONFIG_DMA_NEED_PCI_MAP_STATE=y +-CONFIG_EARLY_PRINTK=y +-CONFIG_SYS_HAS_EARLY_PRINTK=y + # CONFIG_HOTPLUG_CPU is not set + # CONFIG_NO_IOPORT is not set + CONFIG_GENERIC_GPIO=y +@@ -114,7 +100,6 @@ + CONFIG_CPU_TX49XX=y + # CONFIG_CPU_R5000 is not set + # CONFIG_CPU_R5432 is not set +-# CONFIG_CPU_R5500 is not set + # CONFIG_CPU_R6000 is not set + # CONFIG_CPU_NEVADA is not set + # CONFIG_CPU_R8000 is not set +@@ -122,7 +107,6 @@ + # CONFIG_CPU_RM7000 is not set + # CONFIG_CPU_RM9000 is not set + # CONFIG_CPU_SB1 is not set +-# CONFIG_CPU_CAVIUM_OCTEON is not set + CONFIG_SYS_HAS_CPU_TX49XX=y + CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y + CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y +@@ -150,12 +134,13 @@ + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_FLATMEM=y + CONFIG_FLAT_NODE_MEM_MAP=y ++# CONFIG_SPARSEMEM_STATIC is not set ++# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + CONFIG_TICK_ONESHOT=y + CONFIG_NO_HZ=y + CONFIG_HIGH_RES_TIMERS=y +@@ -191,15 +176,6 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=14 +@@ -214,6 +190,7 @@ + CONFIG_SYSCTL=y + CONFIG_EMBEDDED=y + CONFIG_SYSCTL_SYSCALL=y ++CONFIG_SYSCTL_SYSCALL_CHECK=y + CONFIG_KALLSYMS=y + # CONFIG_KALLSYMS_EXTRA_PASS is not set + # CONFIG_HOTPLUG is not set +@@ -230,26 +207,30 @@ + CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set ++# CONFIG_HAVE_KPROBES is not set ++# CONFIG_HAVE_KRETPROBES is not set ++# CONFIG_HAVE_DMA_ATTRS is not set ++CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SLABINFO=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +-CONFIG_MODULE_UNLOAD=y ++# CONFIG_MODULE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set ++# CONFIG_LSF is not set + + # + # IO Schedulers +@@ -263,8 +244,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" +-# CONFIG_PROBE_INITRD_HEADER is not set +-# CONFIG_FREEZER is not set ++CONFIG_CLASSIC_RCU=y + + # + # Bus options (PCI, PCMCIA, EISA, ISA, TC) +@@ -274,15 +254,12 @@ + CONFIG_PCI_DOMAINS=y + # CONFIG_ARCH_SUPPORTS_MSI is not set + # CONFIG_PCI_LEGACY is not set +-# CONFIG_PCI_STUB is not set + CONFIG_MMU=y + + # + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set + CONFIG_TRAD_SIGNALS=y + +@@ -291,12 +268,15 @@ + # + CONFIG_ARCH_SUSPEND_POSSIBLE=y + # CONFIG_PM is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -338,7 +318,6 @@ + # CONFIG_IPX is not set + # CONFIG_ATALK is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -348,9 +327,14 @@ + # CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set +-# CONFIG_PHONET is not set +-# CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set ++ ++# ++# Wireless ++# ++# CONFIG_CFG80211 is not set ++# CONFIG_WIRELESS_EXT is not set ++# CONFIG_MAC80211 is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + + # +@@ -364,90 +348,7 @@ + CONFIG_PREVENT_FIRMWARE_BUILD=y + # CONFIG_SYS_HYPERVISOR is not set + # CONFIG_CONNECTOR is not set +-CONFIG_MTD=y +-# CONFIG_MTD_DEBUG is not set +-# CONFIG_MTD_CONCAT is not set +-CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_TESTS is not set +-# CONFIG_MTD_REDBOOT_PARTS is not set +-CONFIG_MTD_CMDLINE_PARTS=y +-# CONFIG_MTD_AR7_PARTS is not set +- +-# +-# User Modules And Translation Layers +-# +-CONFIG_MTD_CHAR=y +-# CONFIG_MTD_BLKDEVS is not set +-# CONFIG_MTD_BLOCK is not set +-# CONFIG_MTD_BLOCK_RO is not set +-# CONFIG_FTL is not set +-# CONFIG_NFTL is not set +-# CONFIG_INFTL is not set +-# CONFIG_RFD_FTL is not set +-# CONFIG_SSFDC is not set +-# CONFIG_MTD_OOPS is not set +- +-# +-# RAM/ROM/Flash chip drivers +-# +-CONFIG_MTD_CFI=y +-CONFIG_MTD_JEDECPROBE=y +-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 is not set +-CONFIG_MTD_CFI_AMDSTD=y +-# 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 +- +-# +-# Mapping drivers for chip access +-# +-# CONFIG_MTD_COMPLEX_MAPPINGS is not set +-CONFIG_MTD_PHYSMAP=y +-# CONFIG_MTD_PHYSMAP_COMPAT is not set +-# CONFIG_MTD_INTEL_VR_NOR 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 +-# CONFIG_MTD_NAND is not set +-# CONFIG_MTD_ONENAND is not set +- +-# +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +- +-# +-# UBI - Unsorted block images +-# +-# CONFIG_MTD_UBI is not set ++# CONFIG_MTD is not set + # CONFIG_PARPORT is not set + CONFIG_BLK_DEV=y + # CONFIG_BLK_CPQ_DA is not set +@@ -464,60 +365,9 @@ + # CONFIG_BLK_DEV_XIP is not set + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + # CONFIG_MISC_DEVICES is not set + CONFIG_HAVE_IDE=y +-CONFIG_IDE=y +- +-# +-# Please see Documentation/ide/ide.txt for help/info on IDE drives +-# +-CONFIG_IDE_TIMINGS=y +-# CONFIG_BLK_DEV_IDE_SATA is not set +-CONFIG_IDE_GD=y +-CONFIG_IDE_GD_ATA=y +-# CONFIG_IDE_GD_ATAPI is not set +-# CONFIG_BLK_DEV_IDECD is not set +-# CONFIG_BLK_DEV_IDETAPE is not set +-# CONFIG_IDE_TASK_IOCTL is not set +-CONFIG_IDE_PROC_FS=y +- +-# +-# IDE chipset support/bugfixes +-# +-# CONFIG_IDE_GENERIC is not set +-# CONFIG_BLK_DEV_PLATFORM is not set +-CONFIG_BLK_DEV_IDEDMA_SFF=y +- +-# +-# PCI IDE chipsets support +-# +-# CONFIG_BLK_DEV_GENERIC is not set +-# CONFIG_BLK_DEV_AEC62XX is not set +-# CONFIG_BLK_DEV_ALI15X3 is not set +-# CONFIG_BLK_DEV_AMD74XX is not set +-# CONFIG_BLK_DEV_CMD64X is not set +-# CONFIG_BLK_DEV_TRIFLEX is not set +-# CONFIG_BLK_DEV_CS5530 is not set +-# CONFIG_BLK_DEV_HPT366 is not set +-# CONFIG_BLK_DEV_JMICRON is not set +-# CONFIG_BLK_DEV_SC1200 is not set +-# CONFIG_BLK_DEV_PIIX is not set +-# CONFIG_BLK_DEV_IT8172 is not set +-# CONFIG_BLK_DEV_IT8213 is not set +-# CONFIG_BLK_DEV_IT821X is not set +-# CONFIG_BLK_DEV_NS87415 is not set +-# CONFIG_BLK_DEV_PDC202XX_OLD is not set +-# CONFIG_BLK_DEV_PDC202XX_NEW is not set +-# CONFIG_BLK_DEV_SVWKS is not set +-# CONFIG_BLK_DEV_SIIMAGE is not set +-# CONFIG_BLK_DEV_SLC90E66 is not set +-# CONFIG_BLK_DEV_TRM290 is not set +-# CONFIG_BLK_DEV_VIA82CXXX is not set +-# CONFIG_BLK_DEV_TC86C001 is not set +-CONFIG_BLK_DEV_IDE_TX4938=y +-CONFIG_BLK_DEV_IDE_TX4939=y +-CONFIG_BLK_DEV_IDEDMA=y ++# CONFIG_IDE is not set + + # + # SCSI device support +@@ -540,6 +390,7 @@ + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + # CONFIG_DUMMY is not set + # CONFIG_BONDING is not set + # CONFIG_EQUALIZER is not set +@@ -561,19 +412,15 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +-CONFIG_MII=y ++# CONFIG_MII is not set + # CONFIG_AX88796 is not set + # CONFIG_HAPPYMEAL is not set + # CONFIG_SUNGEM is not set + # CONFIG_CASSINI is not set + # CONFIG_NET_VENDOR_3COM is not set +-CONFIG_SMC91X=y + # CONFIG_DM9000 is not set + # CONFIG_NET_TULIP is not set + # CONFIG_HP100 is not set +@@ -582,9 +429,6 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + CONFIG_NET_PCI=y + # CONFIG_PCNET32 is not set + # CONFIG_AMD8111_ETH is not set +@@ -592,6 +436,7 @@ + # CONFIG_B44 is not set + # CONFIG_FORCEDETH is not set + CONFIG_TC35815=y ++# CONFIG_EEPRO100 is not set + # CONFIG_E100 is not set + # CONFIG_FEALNX is not set + # CONFIG_NATSEMI is not set +@@ -600,11 +445,9 @@ + # CONFIG_R6040 is not set + # CONFIG_SIS900 is not set + # CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set + # CONFIG_SUNDANCE is not set + # CONFIG_TLAN is not set + # CONFIG_VIA_RHINE is not set +-# CONFIG_ATL2 is not set + # CONFIG_NETDEV_1000 is not set + # CONFIG_NETDEV_10000 is not set + # CONFIG_TR is not set +@@ -615,10 +458,6 @@ + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set + # CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_FDDI is not set + # CONFIG_PPP is not set +@@ -663,7 +502,6 @@ + CONFIG_SERIAL_TXX9_STDSERIAL=y + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 + # CONFIG_IPMI_HANDLER is not set +@@ -679,19 +517,17 @@ + # + # SPI Master Controller Drivers + # +-# CONFIG_SPI_BITBANG is not set +-# CONFIG_SPI_GPIO is not set + CONFIG_SPI_TXX9=y + + # + # SPI Protocol Masters + # ++CONFIG_EEPROM_AT25=y + # CONFIG_SPI_TLE62X0 is not set +-CONFIG_ARCH_REQUIRE_GPIOLIB=y +-CONFIG_GPIOLIB=y ++CONFIG_HAVE_GPIO_LIB=y + + # +-# Memory mapped GPIO expanders: ++# GPIO Support + # + + # +@@ -699,14 +535,8 @@ + # + + # +-# PCI GPIO expanders: +-# +-# CONFIG_GPIO_BT8XX is not set +- +-# + # SPI GPIO expanders: + # +-# CONFIG_GPIO_MAX7301 is not set + # CONFIG_GPIO_MCP23S08 is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set +@@ -720,7 +550,6 @@ + # Watchdog Device Drivers + # + # CONFIG_SOFT_WATCHDOG is not set +-# CONFIG_ALIM7101_WDT is not set + CONFIG_TXX9_WDT=m + + # +@@ -728,21 +557,18 @@ + # + # CONFIG_PCIPCWATCHDOG is not set + # CONFIG_WDTPCI is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices +@@ -773,27 +599,15 @@ + # Display device support + # + # CONFIG_DISPLAY_SUPPORT is not set ++ ++# ++# Sound ++# + # CONFIG_SOUND is not set + # CONFIG_USB_SUPPORT is not set + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set +-CONFIG_NEW_LEDS=y +-CONFIG_LEDS_CLASS=y +- +-# +-# LED drivers +-# +-CONFIG_LEDS_GPIO=y +- +-# +-# LED Triggers +-# +-CONFIG_LEDS_TRIGGERS=y +-# CONFIG_LEDS_TRIGGER_TIMER is not set +-CONFIG_LEDS_TRIGGER_IDE_DISK=y +-CONFIG_LEDS_TRIGGER_HEARTBEAT=y +-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set +-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set ++# CONFIG_NEW_LEDS is not set + # CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set + CONFIG_RTC_LIB=y +@@ -814,47 +628,35 @@ + # + # SPI RTC drivers + # +-# CONFIG_RTC_DRV_M41T94 is not set +-# CONFIG_RTC_DRV_DS1305 is not set +-# CONFIG_RTC_DRV_DS1390 is not set + # CONFIG_RTC_DRV_MAX6902 is not set + # CONFIG_RTC_DRV_R9701 is not set + CONFIG_RTC_DRV_RS5C348=y +-# CONFIG_RTC_DRV_DS3234 is not set + + # + # Platform RTC drivers + # + # CONFIG_RTC_DRV_CMOS is not set +-# CONFIG_RTC_DRV_DS1286 is not set + # CONFIG_RTC_DRV_DS1511 is not set + # CONFIG_RTC_DRV_DS1553 is not set + CONFIG_RTC_DRV_DS1742=y + # CONFIG_RTC_DRV_STK17TA8 is not set + # CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set + # CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set + # CONFIG_RTC_DRV_V3020 is not set + + # + # on-CPU RTC drivers + # +-CONFIG_RTC_DRV_TX4939=y +-# CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems + # + # CONFIG_EXT2_FS is not set + # CONFIG_EXT3_FS is not set +-# CONFIG_EXT4_FS is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + CONFIG_FS_POSIX_ACL=y +-CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set + # CONFIG_DNOTIFY is not set +@@ -885,19 +687,30 @@ + CONFIG_PROC_FS=y + # CONFIG_PROC_KCORE is not set + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SYSFS=y + CONFIG_TMPFS=y + CONFIG_TMPFS_POSIX_ACL=y + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-# CONFIG_MISC_FILESYSTEMS is not set ++ ++# ++# Miscellaneous filesystems ++# ++# CONFIG_HFSPLUS_FS is not set ++# CONFIG_CRAMFS is not set ++# CONFIG_VXFS_FS is not set ++# CONFIG_MINIX_FS is not set ++# CONFIG_HPFS_FS is not set ++# CONFIG_QNX4FS_FS is not set ++# CONFIG_ROMFS_FS is not set ++# CONFIG_SYSV_FS is not set ++# CONFIG_UFS_FS is not set + CONFIG_NETWORK_FILESYSTEMS=y + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y + # CONFIG_NFS_V3_ACL is not set +-CONFIG_ROOT_NFS=y + # CONFIG_NFSD is not set ++CONFIG_ROOT_NFS=y + CONFIG_LOCKD=y + CONFIG_LOCKD_V4=y + CONFIG_NFS_COMMON=y +@@ -927,16 +740,7 @@ + CONFIG_DEBUG_FS=y + # CONFIG_HEADERS_CHECK is not set + # CONFIG_DEBUG_KERNEL is not set +-# CONFIG_DEBUG_MEMORY_INIT is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-CONFIG_SYSCTL_SYSCALL_CHECK=y +- +-# +-# Tracers +-# +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set +-CONFIG_HAVE_ARCH_KGDB=y + CONFIG_CMDLINE="" + + # +@@ -944,18 +748,15 @@ + # + # CONFIG_KEYS is not set + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + # CONFIG_CRYPTO is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y ++# CONFIG_GENERIC_FIND_FIRST_BIT is not set + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/emma/Kconfig linux-2.6.29-rc3.owrt/arch/mips/emma/Kconfig +--- linux-2.6.29.owrt/arch/mips/emma/Kconfig 1970-01-01 01:00:00.000000000 +0100 ++++ linux-2.6.29-rc3.owrt/arch/mips/emma/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -0,0 +1,29 @@ ++choice ++ prompt "Machine type" ++ depends on MACH_EMMA ++ default NEC_MARKEINS ++ ++config NEC_MARKEINS ++ bool "NEC EMMA2RH Mark-eins board" ++ select SOC_EMMA2RH ++ select HW_HAS_PCI ++ help ++ This enables support for the NEC Electronics Mark-eins boards. ++ ++endchoice ++ ++config SOC_EMMA2RH ++ bool ++ select SOC_EMMA ++ select SYS_HAS_CPU_R5500 ++ select SYS_SUPPORTS_32BIT_KERNEL ++ select SYS_SUPPORTS_64BIT_KERNEL ++ ++config SOC_EMMA ++ bool ++ select CEVT_R4K ++ select CSRC_R4K ++ select DMA_NONCOHERENT ++ select IRQ_CPU ++ select SWAP_IO_SPACE ++ select SYS_SUPPORTS_BIG_ENDIAN +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/emma/markeins/platform.c linux-2.6.29-rc3.owrt/arch/mips/emma/markeins/platform.c +--- linux-2.6.29.owrt/arch/mips/emma/markeins/platform.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/emma/markeins/platform.c 2009-05-10 23:48:28.000000000 +0200 +@@ -141,6 +141,13 @@ + }, + }; + ++static struct platform_device *devices[] = { ++ &i2c_emma_devices[0], ++ &i2c_emma_devices[1], ++ &i2c_emma_devices[2], ++ &serial_emma, ++}; ++ + static struct mtd_partition markeins_parts[] = { + [0] = { + .name = "RootFS", +@@ -174,39 +181,11 @@ + }, + }; + +-static struct physmap_flash_data markeins_flash_data = { +- .width = 2, +- .nr_parts = ARRAY_SIZE(markeins_parts), +- .parts = markeins_parts +-}; +- +-static struct resource markeins_flash_resource = { +- .start = 0x1e000000, +- .end = 0x02000000, +- .flags = IORESOURCE_MEM +-}; +- +-static struct platform_device markeins_flash_device = { +- .name = "physmap-flash", +- .id = 0, +- .dev = { +- .platform_data = &markeins_flash_data, +- }, +- .num_resources = 1, +- .resource = &markeins_flash_resource, +-}; +- +-static struct platform_device *devices[] = { +- i2c_emma_devices, +- i2c_emma_devices + 1, +- i2c_emma_devices + 2, +- &serial_emma, +- &markeins_flash_device, +-}; +- + static int __init platform_devices_setup(void) + { ++ physmap_set_partitions(markeins_parts, ARRAY_SIZE(markeins_parts)); + return platform_add_devices(devices, ARRAY_SIZE(devices)); + } + + arch_initcall(platform_devices_setup); ++ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/atomic.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/atomic.h +--- linux-2.6.29.owrt/arch/mips/include/asm/atomic.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/atomic.h 2009-05-10 23:48:28.000000000 +0200 +@@ -50,7 +50,7 @@ + static __inline__ void atomic_add(int i, atomic_t * v) + { + if (cpu_has_llsc && R10000_LLSC_WAR) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -62,7 +62,7 @@ + : "=&r" (temp), "=m" (v->counter) + : "Ir" (i), "m" (v->counter)); + } else if (cpu_has_llsc) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -95,7 +95,7 @@ + static __inline__ void atomic_sub(int i, atomic_t * v) + { + if (cpu_has_llsc && R10000_LLSC_WAR) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -107,7 +107,7 @@ + : "=&r" (temp), "=m" (v->counter) + : "Ir" (i), "m" (v->counter)); + } else if (cpu_has_llsc) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -135,12 +135,12 @@ + */ + static __inline__ int atomic_add_return(int i, atomic_t * v) + { +- int result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -154,7 +154,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -187,12 +187,12 @@ + + static __inline__ int atomic_sub_return(int i, atomic_t * v) + { +- int result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -206,7 +206,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -247,12 +247,12 @@ + */ + static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) + { +- int result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -270,7 +270,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- int temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -429,7 +429,7 @@ + static __inline__ void atomic64_add(long i, atomic64_t * v) + { + if (cpu_has_llsc && R10000_LLSC_WAR) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -441,7 +441,7 @@ + : "=&r" (temp), "=m" (v->counter) + : "Ir" (i), "m" (v->counter)); + } else if (cpu_has_llsc) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -474,7 +474,7 @@ + static __inline__ void atomic64_sub(long i, atomic64_t * v) + { + if (cpu_has_llsc && R10000_LLSC_WAR) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -486,7 +486,7 @@ + : "=&r" (temp), "=m" (v->counter) + : "Ir" (i), "m" (v->counter)); + } else if (cpu_has_llsc) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -514,12 +514,12 @@ + */ + static __inline__ long atomic64_add_return(long i, atomic64_t * v) + { +- long result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -533,7 +533,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -566,12 +566,12 @@ + + static __inline__ long atomic64_sub_return(long i, atomic64_t * v) + { +- long result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -585,7 +585,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -626,12 +626,12 @@ + */ + static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) + { +- long result; ++ unsigned long result; + + smp_llsc_mb(); + + if (cpu_has_llsc && R10000_LLSC_WAR) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +@@ -649,7 +649,7 @@ + : "Ir" (i), "m" (v->counter) + : "memory"); + } else if (cpu_has_llsc) { +- long temp; ++ unsigned long temp; + + __asm__ __volatile__( + " .set mips3 \n" +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/compat.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/compat.h +--- linux-2.6.29.owrt/arch/mips/include/asm/compat.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/compat.h 2009-05-10 23:48:28.000000000 +0200 +@@ -3,8 +3,6 @@ + /* + * Architecture specific compatibility types + */ +-#include +-#include + #include + #include + #include +@@ -220,9 +218,4 @@ + compat_ulong_t __unused2; + }; + +-static inline int is_compat_task(void) +-{ +- return test_thread_flag(TIF_32BIT); +-} +- + #endif /* _ASM_COMPAT_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/hazards.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/hazards.h +--- linux-2.6.29.owrt/arch/mips/include/asm/hazards.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/hazards.h 2009-05-10 23:48:28.000000000 +0200 +@@ -138,8 +138,7 @@ + __instruction_hazard(); \ + } while (0) + +-#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON) || \ +- defined(CONFIG_CPU_R5500) ++#elif defined(CONFIG_CPU_R10000) || defined(CONFIG_CPU_CAVIUM_OCTEON) + + /* + * R10000 rocks - all hazards handled in hardware, so this becomes a nobrainer. +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/gpio.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/gpio.h +--- linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/gpio.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/gpio.h 2009-05-10 23:48:28.000000000 +0200 +@@ -80,8 +80,11 @@ + /* Compact Flash GPIO pin */ + #define CF_GPIO_NUM 13 + ++extern void set_434_reg(unsigned reg_offs, unsigned bit, unsigned len, unsigned val); ++extern unsigned get_434_reg(unsigned reg_offs); ++extern void set_latch_u5(unsigned char or_mask, unsigned char nand_mask); ++extern unsigned char get_latch_u5(void); + extern void rb532_gpio_set_ilevel(int bit, unsigned gpio); + extern void rb532_gpio_set_istat(int bit, unsigned gpio); +-extern void rb532_gpio_set_func(unsigned gpio); + + #endif /* _RC32434_GPIO_H_ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/irq.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/irq.h +--- linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/irq.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/irq.h 2009-05-10 23:48:28.000000000 +0200 +@@ -30,7 +30,4 @@ + #define ETH0_RX_OVR_IRQ (GROUP3_IRQ_BASE + 9) + #define ETH0_TX_UND_IRQ (GROUP3_IRQ_BASE + 10) + +-#define GPIO_MAPPED_IRQ_BASE GROUP4_IRQ_BASE +-#define GPIO_MAPPED_IRQ_GROUP 4 +- + #endif /* __ASM_RC32434_IRQ_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/rb.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/rb.h +--- linux-2.6.29.owrt/arch/mips/include/asm/mach-rc32434/rb.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/mach-rc32434/rb.h 2009-05-10 23:48:28.000000000 +0200 +@@ -83,7 +83,4 @@ + void __iomem *base; + }; + +-extern void set_latch_u5(unsigned char or_mask, unsigned char nand_mask); +-extern unsigned char get_latch_u5(void); +- + #endif /* __ASM_RC32434_RB_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/prefetch.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/prefetch.h +--- linux-2.6.29.owrt/arch/mips/include/asm/prefetch.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/prefetch.h 2009-05-10 23:48:28.000000000 +0200 +@@ -26,7 +26,7 @@ + * Pref_WriteBackInvalidate is a nop and Pref_PrepareForStore is broken in + * current versions due to erratum G105. + * +- * VR5500 (including VR5701 and VR7701) only implement load prefetch. ++ * VR7701 only implements the Load prefetch. + * + * Finally MIPS32 and MIPS64 implement all of the following hints. + */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/ptrace.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/ptrace.h +--- linux-2.6.29.owrt/arch/mips/include/asm/ptrace.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/ptrace.h 2009-05-10 23:48:28.000000000 +0200 +@@ -105,7 +105,7 @@ + enum pt_watch_style style; + union { + struct mips32_watch_regs mips32; +- struct mips64_watch_regs mips64; ++ struct mips32_watch_regs mips64; + }; + }; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/seccomp.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/seccomp.h +--- linux-2.6.29.owrt/arch/mips/include/asm/seccomp.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/seccomp.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,5 +1,6 @@ + #ifndef __ASM_SECCOMP_H + ++#include + #include + + #define __NR_seccomp_read __NR_read +@@ -15,6 +16,8 @@ + */ + #ifdef CONFIG_MIPS32_O32 + ++#define TIF_32BIT TIF_32BIT_REGS ++ + #define __NR_seccomp_read_32 4003 + #define __NR_seccomp_write_32 4004 + #define __NR_seccomp_exit_32 4001 +@@ -22,6 +25,8 @@ + + #elif defined(CONFIG_MIPS32_N32) + ++#define TIF_32BIT _TIF_32BIT_ADDR ++ + #define __NR_seccomp_read_32 6000 + #define __NR_seccomp_write_32 6001 + #define __NR_seccomp_exit_32 6058 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/spinlock.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/spinlock.h +--- linux-2.6.29.owrt/arch/mips/include/asm/spinlock.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/spinlock.h 2009-05-10 23:48:28.000000000 +0200 +@@ -51,7 +51,6 @@ + + return (((counters >> 14) - counters) & 0x1fff) > 1; + } +-#define __raw_spin_is_contended __raw_spin_is_contended + + static inline void __raw_spin_lock(raw_spinlock_t *lock) + { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/termios.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/termios.h +--- linux-2.6.29.owrt/arch/mips/include/asm/termios.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/termios.h 2009-05-10 23:48:28.000000000 +0200 +@@ -9,7 +9,6 @@ + #ifndef _ASM_TERMIOS_H + #define _ASM_TERMIOS_H + +-#include + #include + #include + +@@ -95,81 +94,38 @@ + /* + * Translate a "termio" structure into a "termios". Ugh. + */ +-static inline int user_termio_to_kernel_termios(struct ktermios *termios, +- struct termio __user *termio) +-{ +- unsigned short iflag, oflag, cflag, lflag; +- unsigned int err; +- +- if (!access_ok(VERIFY_READ, termio, sizeof(struct termio))) +- return -EFAULT; +- +- err = __get_user(iflag, &termio->c_iflag); +- termios->c_iflag = (termios->c_iflag & 0xffff0000) | iflag; +- err |=__get_user(oflag, &termio->c_oflag); +- termios->c_oflag = (termios->c_oflag & 0xffff0000) | oflag; +- err |=__get_user(cflag, &termio->c_cflag); +- termios->c_cflag = (termios->c_cflag & 0xffff0000) | cflag; +- err |=__get_user(lflag, &termio->c_lflag); +- termios->c_lflag = (termios->c_lflag & 0xffff0000) | lflag; +- err |=__get_user(termios->c_line, &termio->c_line); +- if (err) +- return -EFAULT; +- +- if (__copy_from_user(termios->c_cc, termio->c_cc, NCC)) +- return -EFAULT; +- +- return 0; +-} ++#define user_termio_to_kernel_termios(termios, termio) \ ++({ \ ++ unsigned short tmp; \ ++ get_user(tmp, &(termio)->c_iflag); \ ++ (termios)->c_iflag = (0xffff0000 & ((termios)->c_iflag)) | tmp; \ ++ get_user(tmp, &(termio)->c_oflag); \ ++ (termios)->c_oflag = (0xffff0000 & ((termios)->c_oflag)) | tmp; \ ++ get_user(tmp, &(termio)->c_cflag); \ ++ (termios)->c_cflag = (0xffff0000 & ((termios)->c_cflag)) | tmp; \ ++ get_user(tmp, &(termio)->c_lflag); \ ++ (termios)->c_lflag = (0xffff0000 & ((termios)->c_lflag)) | tmp; \ ++ get_user((termios)->c_line, &(termio)->c_line); \ ++ copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \ ++}) + + /* + * Translate a "termios" structure into a "termio". Ugh. + */ +-static inline int kernel_termios_to_user_termio(struct termio __user *termio, +- struct ktermios *termios) +-{ +- int err; +- +- if (!access_ok(VERIFY_WRITE, termio, sizeof(struct termio))) +- return -EFAULT; +- +- err = __put_user(termios->c_iflag, &termio->c_iflag); +- err |= __put_user(termios->c_oflag, &termio->c_oflag); +- err |= __put_user(termios->c_cflag, &termio->c_cflag); +- err |= __put_user(termios->c_lflag, &termio->c_lflag); +- err |= __put_user(termios->c_line, &termio->c_line); +- if (err) +- return -EFAULT; +- +- if (__copy_to_user(termio->c_cc, termios->c_cc, NCC)) +- return -EFAULT; +- +- return 0; +-} +- +-static inline int user_termios_to_kernel_termios(struct ktermios __user *k, +- struct termios2 *u) +-{ +- return copy_from_user(k, u, sizeof(struct termios2)) ? -EFAULT : 0; +-} +- +-static inline int kernel_termios_to_user_termios(struct termios2 __user *u, +- struct ktermios *k) +-{ +- return copy_to_user(u, k, sizeof(struct termios2)) ? -EFAULT : 0; +-} +- +-static inline int user_termios_to_kernel_termios_1(struct ktermios *k, +- struct termios __user *u) +-{ +- return copy_from_user(k, u, sizeof(struct termios)) ? -EFAULT : 0; +-} +- +-static inline int kernel_termios_to_user_termios_1(struct termios __user *u, +- struct ktermios *k) +-{ +- return copy_to_user(u, k, sizeof(struct termios)) ? -EFAULT : 0; +-} ++#define kernel_termios_to_user_termio(termio, termios) \ ++({ \ ++ put_user((termios)->c_iflag, &(termio)->c_iflag); \ ++ put_user((termios)->c_oflag, &(termio)->c_oflag); \ ++ put_user((termios)->c_cflag, &(termio)->c_cflag); \ ++ put_user((termios)->c_lflag, &(termio)->c_lflag); \ ++ put_user((termios)->c_line, &(termio)->c_line); \ ++ copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \ ++}) ++ ++#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) ++#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) ++#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios)) ++#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) + + #endif /* defined(__KERNEL__) */ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/include/asm/thread_info.h linux-2.6.29-rc3.owrt/arch/mips/include/asm/thread_info.h +--- linux-2.6.29.owrt/arch/mips/include/asm/thread_info.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/include/asm/thread_info.h 2009-05-10 23:48:28.000000000 +0200 +@@ -127,12 +127,6 @@ + #define TIF_LOAD_WATCH 25 /* If set, load watch registers */ + #define TIF_SYSCALL_TRACE 31 /* syscall trace active */ + +-#ifdef CONFIG_MIPS32_O32 +-#define TIF_32BIT TIF_32BIT_REGS +-#elif defined(CONFIG_MIPS32_N32) +-#define TIF_32BIT _TIF_32BIT_ADDR +-#endif /* CONFIG_MIPS32_O32 */ +- + #define _TIF_SYSCALL_TRACE (1<R, R->W, W->R, W->W + # Reordering beyond LL and SC is handled in WEAK_REORDERING_BEYOND_LLSC +@@ -1385,7 +1374,7 @@ + # + config HARDWARE_WATCHPOINTS + bool +- default y if CPU_MIPSR1 || CPU_MIPSR2 ++ default y if CPU_MIPS32 || CPU_MIPS64 + + menu "Kernel type" + +@@ -1407,7 +1396,6 @@ + config 64BIT + bool "64-bit kernel" + depends on CPU_SUPPORTS_64BIT_KERNEL && SYS_SUPPORTS_64BIT_KERNEL +- select HAVE_SYSCALL_WRAPPERS + help + Select this option if you want to build a 64-bit kernel. + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/cpu-probe.c linux-2.6.29-rc3.owrt/arch/mips/kernel/cpu-probe.c +--- linux-2.6.29.owrt/arch/mips/kernel/cpu-probe.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/cpu-probe.c 2009-05-10 23:48:28.000000000 +0200 +@@ -149,7 +149,6 @@ + case CPU_R4650: + case CPU_R4700: + case CPU_R5000: +- case CPU_R5500: + case CPU_NEVADA: + case CPU_4KC: + case CPU_4KEC: +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/genex.S linux-2.6.29-rc3.owrt/arch/mips/kernel/genex.S +--- linux-2.6.29.owrt/arch/mips/kernel/genex.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/genex.S 2009-05-10 23:48:28.000000000 +0200 +@@ -458,11 +458,7 @@ + BUILD_HANDLER fpe fpe fpe silent /* #15 */ + BUILD_HANDLER mdmx mdmx sti silent /* #22 */ + #ifdef CONFIG_HARDWARE_WATCHPOINTS +- /* +- * For watch, interrupts will be enabled after the watch +- * registers are read. +- */ +- BUILD_HANDLER watch watch cli silent /* #23 */ ++ BUILD_HANDLER watch watch sti silent /* #23 */ + #else + BUILD_HANDLER watch watch sti verbose /* #23 */ + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/irq.c linux-2.6.29-rc3.owrt/arch/mips/kernel/irq.c +--- linux-2.6.29.owrt/arch/mips/kernel/irq.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -111,6 +111,7 @@ + seq_printf(p, "%10u ", kstat_cpu(j).irqs[i]); + #endif + seq_printf(p, " %14s", irq_desc[i].chip->name); ++ seq_printf(p, "-%-8s", irq_desc[i].name); + seq_printf(p, " %s", action->name); + + for (action=action->next; action; action = action->next) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/linux32.c linux-2.6.29-rc3.owrt/arch/mips/kernel/linux32.c +--- linux-2.6.29.owrt/arch/mips/kernel/linux32.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/linux32.c 2009-05-10 23:48:28.000000000 +0200 +@@ -32,7 +32,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -64,9 +63,9 @@ + #define merge_64(r1, r2) ((((r2) & 0xffffffffUL) << 32) + ((r1) & 0xffffffffUL)) + #endif + +-SYSCALL_DEFINE6(32_mmap2, unsigned long, addr, unsigned long, len, +- unsigned long, prot, unsigned long, flags, unsigned long, fd, +- unsigned long, pgoff) ++asmlinkage unsigned long ++sys32_mmap2(unsigned long addr, unsigned long len, unsigned long prot, ++ unsigned long flags, unsigned long fd, unsigned long pgoff) + { + struct file * file = NULL; + unsigned long error; +@@ -122,21 +121,21 @@ + int rlim_max; + }; + +-SYSCALL_DEFINE4(32_truncate64, const char __user *, path, +- unsigned long, __dummy, unsigned long, a2, unsigned long, a3) ++asmlinkage long sys32_truncate64(const char __user * path, ++ unsigned long __dummy, int a2, int a3) + { + return sys_truncate(path, merge_64(a2, a3)); + } + +-SYSCALL_DEFINE4(32_ftruncate64, unsigned long, fd, unsigned long, __dummy, +- unsigned long, a2, unsigned long, a3) ++asmlinkage long sys32_ftruncate64(unsigned int fd, unsigned long __dummy, ++ int a2, int a3) + { + return sys_ftruncate(fd, merge_64(a2, a3)); + } + +-SYSCALL_DEFINE5(32_llseek, unsigned long, fd, unsigned long, offset_high, +- unsigned long, offset_low, loff_t __user *, result, +- unsigned long, origin) ++asmlinkage int sys32_llseek(unsigned int fd, unsigned int offset_high, ++ unsigned int offset_low, loff_t __user * result, ++ unsigned int origin) + { + return sys_llseek(fd, offset_high, offset_low, result, origin); + } +@@ -145,20 +144,20 @@ + lseek back to original location. They fail just like lseek does on + non-seekable files. */ + +-SYSCALL_DEFINE6(32_pread, unsigned long, fd, char __user *, buf, size_t, count, +- unsigned long, unused, unsigned long, a4, unsigned long, a5) ++asmlinkage ssize_t sys32_pread(unsigned int fd, char __user * buf, ++ size_t count, u32 unused, u64 a4, u64 a5) + { + return sys_pread64(fd, buf, count, merge_64(a4, a5)); + } + +-SYSCALL_DEFINE6(32_pwrite, unsigned int, fd, const char __user *, buf, +- size_t, count, u32, unused, u64, a4, u64, a5) ++asmlinkage ssize_t sys32_pwrite(unsigned int fd, const char __user * buf, ++ size_t count, u32 unused, u64 a4, u64 a5) + { + return sys_pwrite64(fd, buf, count, merge_64(a4, a5)); + } + +-SYSCALL_DEFINE2(32_sched_rr_get_interval, compat_pid_t, pid, +- struct compat_timespec __user *, interval) ++asmlinkage int sys32_sched_rr_get_interval(compat_pid_t pid, ++ struct compat_timespec __user *interval) + { + struct timespec t; + int ret; +@@ -175,8 +174,8 @@ + + #ifdef CONFIG_SYSVIPC + +-SYSCALL_DEFINE6(32_ipc, u32, call, long, first, long, second, long, third, +- unsigned long, ptr, unsigned long, fifth) ++asmlinkage long ++sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth) + { + int version, err; + +@@ -234,8 +233,8 @@ + + #else + +-SYSCALL_DEFINE6(32_ipc, u32, call, int, first, int, second, int, third, +- u32, ptr, u32, fifth) ++asmlinkage long ++sys32_ipc(u32 call, int first, int second, int third, u32 ptr, u32 fifth) + { + return -ENOSYS; + } +@@ -243,7 +242,7 @@ + #endif /* CONFIG_SYSVIPC */ + + #ifdef CONFIG_MIPS32_N32 +-SYSCALL_DEFINE4(n32_semctl, int, semid, int, semnum, int, cmd, u32, arg) ++asmlinkage long sysn32_semctl(int semid, int semnum, int cmd, u32 arg) + { + /* compat_sys_semctl expects a pointer to union semun */ + u32 __user *uptr = compat_alloc_user_space(sizeof(u32)); +@@ -252,14 +251,13 @@ + return compat_sys_semctl(semid, semnum, cmd, uptr); + } + +-SYSCALL_DEFINE4(n32_msgsnd, int, msqid, u32, msgp, unsigned int, msgsz, +- int, msgflg) ++asmlinkage long sysn32_msgsnd(int msqid, u32 msgp, unsigned msgsz, int msgflg) + { + return compat_sys_msgsnd(msqid, msgsz, msgflg, compat_ptr(msgp)); + } + +-SYSCALL_DEFINE5(n32_msgrcv, int, msqid, u32, msgp, size_t, msgsz, +- int, msgtyp, int, msgflg) ++asmlinkage long sysn32_msgrcv(int msqid, u32 msgp, size_t msgsz, int msgtyp, ++ int msgflg) + { + return compat_sys_msgrcv(msqid, msgsz, msgtyp, msgflg, IPC_64, + compat_ptr(msgp)); +@@ -279,7 +277,7 @@ + + #ifdef CONFIG_SYSCTL_SYSCALL + +-SYSCALL_DEFINE1(32_sysctl, struct sysctl_args32 __user *, args) ++asmlinkage long sys32_sysctl(struct sysctl_args32 __user *args) + { + struct sysctl_args32 tmp; + int error; +@@ -318,16 +316,9 @@ + return error; + } + +-#else +- +-SYSCALL_DEFINE1(32_sysctl, struct sysctl_args32 __user *, args) +-{ +- return -ENOSYS; +-} +- + #endif /* CONFIG_SYSCTL_SYSCALL */ + +-SYSCALL_DEFINE1(32_newuname, struct new_utsname __user *, name) ++asmlinkage long sys32_newuname(struct new_utsname __user * name) + { + int ret = 0; + +@@ -343,7 +334,7 @@ + return ret; + } + +-SYSCALL_DEFINE1(32_personality, unsigned long, personality) ++asmlinkage int sys32_personality(unsigned long personality) + { + int ret; + personality &= 0xffffffff; +@@ -366,7 +357,7 @@ + + extern asmlinkage long sys_ustat(dev_t dev, struct ustat __user * ubuf); + +-SYSCALL_DEFINE2(32_ustat, dev_t, dev, struct ustat32 __user *, ubuf32) ++asmlinkage int sys32_ustat(dev_t dev, struct ustat32 __user * ubuf32) + { + int err; + struct ustat tmp; +@@ -390,8 +381,8 @@ + return err; + } + +-SYSCALL_DEFINE4(32_sendfile, long, out_fd, long, in_fd, +- compat_off_t __user *, offset, s32, count) ++asmlinkage int sys32_sendfile(int out_fd, int in_fd, compat_off_t __user *offset, ++ s32 count) + { + mm_segment_t old_fs = get_fs(); + int ret; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/mips-mt-fpaff.c linux-2.6.29-rc3.owrt/arch/mips/kernel/mips-mt-fpaff.c +--- linux-2.6.29.owrt/arch/mips/kernel/mips-mt-fpaff.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/mips-mt-fpaff.c 2009-05-10 23:48:28.000000000 +0200 +@@ -79,8 +79,7 @@ + + euid = current_euid(); + retval = -EPERM; +- if (euid != p->cred->euid && euid != p->cred->uid && +- !capable(CAP_SYS_NICE)) { ++ if (euid != p->euid && euid != p->uid && !capable(CAP_SYS_NICE)) { + read_unlock(&tasklist_lock); + goto out_unlock; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/scall32-o32.S linux-2.6.29-rc3.owrt/arch/mips/kernel/scall32-o32.S +--- linux-2.6.29.owrt/arch/mips/kernel/scall32-o32.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/scall32-o32.S 2009-05-10 23:48:28.000000000 +0200 +@@ -399,7 +399,7 @@ + sys sys_swapon 2 + sys sys_reboot 3 + sys sys_old_readdir 3 +- sys sys_mips_mmap 6 /* 4090 */ ++ sys old_mmap 6 /* 4090 */ + sys sys_munmap 2 + sys sys_truncate 2 + sys sys_ftruncate 2 +@@ -519,7 +519,7 @@ + sys sys_sendfile 4 + sys sys_ni_syscall 0 + sys sys_ni_syscall 0 +- sys sys_mips_mmap2 6 /* 4210 */ ++ sys sys_mmap2 6 /* 4210 */ + sys sys_truncate64 4 + sys sys_ftruncate64 4 + sys sys_stat64 2 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/scall64-64.S linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-64.S +--- linux-2.6.29.owrt/arch/mips/kernel/scall64-64.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-64.S 2009-05-10 23:48:28.000000000 +0200 +@@ -207,7 +207,7 @@ + PTR sys_newlstat + PTR sys_poll + PTR sys_lseek +- PTR sys_mips_mmap ++ PTR old_mmap + PTR sys_mprotect /* 5010 */ + PTR sys_munmap + PTR sys_brk +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/scall64-n32.S linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-n32.S +--- linux-2.6.29.owrt/arch/mips/kernel/scall64-n32.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-n32.S 2009-05-10 23:48:28.000000000 +0200 +@@ -129,12 +129,12 @@ + PTR sys_newlstat + PTR sys_poll + PTR sys_lseek +- PTR sys_mips_mmap ++ PTR old_mmap + PTR sys_mprotect /* 6010 */ + PTR sys_munmap + PTR sys_brk +- PTR sys_32_rt_sigaction +- PTR sys_32_rt_sigprocmask ++ PTR sys32_rt_sigaction ++ PTR sys32_rt_sigprocmask + PTR compat_sys_ioctl /* 6015 */ + PTR sys_pread64 + PTR sys_pwrite64 +@@ -159,7 +159,7 @@ + PTR compat_sys_setitimer + PTR sys_alarm + PTR sys_getpid +- PTR sys_32_sendfile ++ PTR sys32_sendfile + PTR sys_socket /* 6040 */ + PTR sys_connect + PTR sys_accept +@@ -181,14 +181,14 @@ + PTR sys_exit + PTR compat_sys_wait4 + PTR sys_kill /* 6060 */ +- PTR sys_32_newuname ++ PTR sys32_newuname + PTR sys_semget + PTR sys_semop +- PTR sys_n32_semctl ++ PTR sysn32_semctl + PTR sys_shmdt /* 6065 */ + PTR sys_msgget +- PTR sys_n32_msgsnd +- PTR sys_n32_msgrcv ++ PTR sysn32_msgsnd ++ PTR sysn32_msgrcv + PTR compat_sys_msgctl + PTR compat_sys_fcntl /* 6070 */ + PTR sys_flock +@@ -245,15 +245,15 @@ + PTR sys_getsid + PTR sys_capget + PTR sys_capset +- PTR sys_32_rt_sigpending /* 6125 */ ++ PTR sys32_rt_sigpending /* 6125 */ + PTR compat_sys_rt_sigtimedwait +- PTR sys_32_rt_sigqueueinfo ++ PTR sys32_rt_sigqueueinfo + PTR sysn32_rt_sigsuspend + PTR sys32_sigaltstack + PTR compat_sys_utime /* 6130 */ + PTR sys_mknod +- PTR sys_32_personality +- PTR sys_32_ustat ++ PTR sys32_personality ++ PTR sys32_ustat + PTR compat_sys_statfs + PTR compat_sys_fstatfs /* 6135 */ + PTR sys_sysfs +@@ -265,14 +265,14 @@ + PTR sys_sched_getscheduler + PTR sys_sched_get_priority_max + PTR sys_sched_get_priority_min +- PTR sys_32_sched_rr_get_interval /* 6145 */ ++ PTR sys32_sched_rr_get_interval /* 6145 */ + PTR sys_mlock + PTR sys_munlock + PTR sys_mlockall + PTR sys_munlockall + PTR sys_vhangup /* 6150 */ + PTR sys_pivot_root +- PTR sys_32_sysctl ++ PTR sys32_sysctl + PTR sys_prctl + PTR compat_sys_adjtimex + PTR compat_sys_setrlimit /* 6155 */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/scall64-o32.S linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-o32.S +--- linux-2.6.29.owrt/arch/mips/kernel/scall64-o32.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/scall64-o32.S 2009-05-10 23:48:28.000000000 +0200 +@@ -265,12 +265,12 @@ + PTR sys_olduname + PTR sys_umask /* 4060 */ + PTR sys_chroot +- PTR sys_32_ustat ++ PTR sys32_ustat + PTR sys_dup2 + PTR sys_getppid + PTR sys_getpgrp /* 4065 */ + PTR sys_setsid +- PTR sys_32_sigaction ++ PTR sys32_sigaction + PTR sys_sgetmask + PTR sys_ssetmask + PTR sys_setreuid /* 4070 */ +@@ -293,7 +293,7 @@ + PTR sys_swapon + PTR sys_reboot + PTR compat_sys_old_readdir +- PTR sys_mips_mmap /* 4090 */ ++ PTR old_mmap /* 4090 */ + PTR sys_munmap + PTR sys_truncate + PTR sys_ftruncate +@@ -320,12 +320,12 @@ + PTR compat_sys_wait4 + PTR sys_swapoff /* 4115 */ + PTR compat_sys_sysinfo +- PTR sys_32_ipc ++ PTR sys32_ipc + PTR sys_fsync + PTR sys32_sigreturn + PTR sys32_clone /* 4120 */ + PTR sys_setdomainname +- PTR sys_32_newuname ++ PTR sys32_newuname + PTR sys_ni_syscall /* sys_modify_ldt */ + PTR compat_sys_adjtimex + PTR sys_mprotect /* 4125 */ +@@ -339,11 +339,11 @@ + PTR sys_fchdir + PTR sys_bdflush + PTR sys_sysfs /* 4135 */ +- PTR sys_32_personality ++ PTR sys32_personality + PTR sys_ni_syscall /* for afs_syscall */ + PTR sys_setfsuid + PTR sys_setfsgid +- PTR sys_32_llseek /* 4140 */ ++ PTR sys32_llseek /* 4140 */ + PTR compat_sys_getdents + PTR compat_sys_select + PTR sys_flock +@@ -356,7 +356,7 @@ + PTR sys_ni_syscall /* 4150 */ + PTR sys_getsid + PTR sys_fdatasync +- PTR sys_32_sysctl ++ PTR sys32_sysctl + PTR sys_mlock + PTR sys_munlock /* 4155 */ + PTR sys_mlockall +@@ -368,7 +368,7 @@ + PTR sys_sched_yield + PTR sys_sched_get_priority_max + PTR sys_sched_get_priority_min +- PTR sys_32_sched_rr_get_interval /* 4165 */ ++ PTR sys32_sched_rr_get_interval /* 4165 */ + PTR compat_sys_nanosleep + PTR sys_mremap + PTR sys_accept +@@ -397,25 +397,25 @@ + PTR sys_getresgid + PTR sys_prctl + PTR sys32_rt_sigreturn +- PTR sys_32_rt_sigaction +- PTR sys_32_rt_sigprocmask /* 4195 */ +- PTR sys_32_rt_sigpending ++ PTR sys32_rt_sigaction ++ PTR sys32_rt_sigprocmask /* 4195 */ ++ PTR sys32_rt_sigpending + PTR compat_sys_rt_sigtimedwait +- PTR sys_32_rt_sigqueueinfo ++ PTR sys32_rt_sigqueueinfo + PTR sys32_rt_sigsuspend +- PTR sys_32_pread /* 4200 */ +- PTR sys_32_pwrite ++ PTR sys32_pread /* 4200 */ ++ PTR sys32_pwrite + PTR sys_chown + PTR sys_getcwd + PTR sys_capget + PTR sys_capset /* 4205 */ + PTR sys32_sigaltstack +- PTR sys_32_sendfile ++ PTR sys32_sendfile + PTR sys_ni_syscall + PTR sys_ni_syscall +- PTR sys_mips_mmap2 /* 4210 */ +- PTR sys_32_truncate64 +- PTR sys_32_ftruncate64 ++ PTR sys32_mmap2 /* 4210 */ ++ PTR sys32_truncate64 ++ PTR sys32_ftruncate64 + PTR sys_newstat + PTR sys_newlstat + PTR sys_newfstat /* 4215 */ +@@ -481,7 +481,7 @@ + PTR compat_sys_mq_notify /* 4275 */ + PTR compat_sys_mq_getsetattr + PTR sys_ni_syscall /* sys_vserver */ +- PTR sys_32_waitid ++ PTR sys32_waitid + PTR sys_ni_syscall /* available, was setaltroot */ + PTR sys_add_key /* 4280 */ + PTR sys_request_key +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/signal32.c linux-2.6.29-rc3.owrt/arch/mips/kernel/signal32.c +--- linux-2.6.29.owrt/arch/mips/kernel/signal32.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/signal32.c 2009-05-10 23:48:28.000000000 +0200 +@@ -349,8 +349,8 @@ + return -ERESTARTNOHAND; + } + +-SYSCALL_DEFINE3(32_sigaction, long, sig, const struct sigaction32 __user *, act, +- struct sigaction32 __user *, oact) ++asmlinkage int sys32_sigaction(int sig, const struct sigaction32 __user *act, ++ struct sigaction32 __user *oact) + { + struct k_sigaction new_ka, old_ka; + int ret; +@@ -704,9 +704,9 @@ + .restart = __NR_O32_restart_syscall + }; + +-SYSCALL_DEFINE4(32_rt_sigaction, int, sig, +- const struct sigaction32 __user *, act, +- struct sigaction32 __user *, oact, unsigned int, sigsetsize) ++asmlinkage int sys32_rt_sigaction(int sig, const struct sigaction32 __user *act, ++ struct sigaction32 __user *oact, ++ unsigned int sigsetsize) + { + struct k_sigaction new_sa, old_sa; + int ret = -EINVAL; +@@ -748,8 +748,8 @@ + return ret; + } + +-SYSCALL_DEFINE4(32_rt_sigprocmask, int, how, compat_sigset_t __user *, set, +- compat_sigset_t __user *, oset, unsigned int, sigsetsize) ++asmlinkage int sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, ++ compat_sigset_t __user *oset, unsigned int sigsetsize) + { + sigset_t old_set, new_set; + int ret; +@@ -770,8 +770,8 @@ + return ret; + } + +-SYSCALL_DEFINE2(32_rt_sigpending, compat_sigset_t __user *, uset, +- unsigned int, sigsetsize) ++asmlinkage int sys32_rt_sigpending(compat_sigset_t __user *uset, ++ unsigned int sigsetsize) + { + int ret; + sigset_t set; +@@ -787,8 +787,7 @@ + return ret; + } + +-SYSCALL_DEFINE3(32_rt_sigqueueinfo, int, pid, int, sig, +- compat_siginfo_t __user *, uinfo) ++asmlinkage int sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo) + { + siginfo_t info; + int ret; +@@ -803,9 +802,10 @@ + return ret; + } + +-SYSCALL_DEFINE5(32_waitid, int, which, compat_pid_t, pid, +- compat_siginfo_t __user *, uinfo, int, options, +- struct compat_rusage __user *, uru) ++asmlinkage long ++sys32_waitid(int which, compat_pid_t pid, ++ compat_siginfo_t __user *uinfo, int options, ++ struct compat_rusage __user *uru) + { + siginfo_t info; + struct rusage ru; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/signal.c linux-2.6.29-rc3.owrt/arch/mips/kernel/signal.c +--- linux-2.6.29.owrt/arch/mips/kernel/signal.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/signal.c 2009-05-10 23:48:28.000000000 +0200 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + + #include +@@ -339,8 +338,8 @@ + } + + #ifdef CONFIG_TRAD_SIGNALS +-SYSCALL_DEFINE3(sigaction, int, sig, const struct sigaction __user *, act, +- struct sigaction __user *, oact) ++asmlinkage int sys_sigaction(int sig, const struct sigaction __user *act, ++ struct sigaction __user *oact) + { + struct k_sigaction new_ka, old_ka; + int ret; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/syscall.c linux-2.6.29-rc3.owrt/arch/mips/kernel/syscall.c +--- linux-2.6.29.owrt/arch/mips/kernel/syscall.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/syscall.c 2009-05-10 23:48:28.000000000 +0200 +@@ -152,9 +152,9 @@ + return error; + } + +-SYSCALL_DEFINE6(mips_mmap, unsigned long, addr, unsigned long, len, +- unsigned long, prot, unsigned long, flags, unsigned long, +- fd, off_t, offset) ++asmlinkage unsigned long ++old_mmap(unsigned long addr, unsigned long len, int prot, ++ int flags, int fd, off_t offset) + { + unsigned long result; + +@@ -168,9 +168,9 @@ + return result; + } + +-SYSCALL_DEFINE6(mips_mmap2, unsigned long, addr, unsigned long, len, +- unsigned long, prot, unsigned long, flags, unsigned long, fd, +- unsigned long, pgoff) ++asmlinkage unsigned long ++sys_mmap2(unsigned long addr, unsigned long len, unsigned long prot, ++ unsigned long flags, unsigned long fd, unsigned long pgoff) + { + if (pgoff & (~PAGE_MASK >> 12)) + return -EINVAL; +@@ -240,7 +240,7 @@ + /* + * Compacrapability ... + */ +-SYSCALL_DEFINE1(uname, struct old_utsname __user *, name) ++asmlinkage int sys_uname(struct old_utsname __user * name) + { + if (name && !copy_to_user(name, utsname(), sizeof (*name))) + return 0; +@@ -250,7 +250,7 @@ + /* + * Compacrapability ... + */ +-SYSCALL_DEFINE1(olduname, struct oldold_utsname __user *, name) ++asmlinkage int sys_olduname(struct oldold_utsname __user * name) + { + int error; + +@@ -279,7 +279,7 @@ + return error; + } + +-SYSCALL_DEFINE1(set_thread_area, unsigned long, addr) ++asmlinkage int sys_set_thread_area(unsigned long addr) + { + struct thread_info *ti = task_thread_info(current); + +@@ -290,7 +290,7 @@ + return 0; + } + +-asmlinkage int _sys_sysmips(long cmd, long arg1, long arg2, long arg3) ++asmlinkage int _sys_sysmips(int cmd, long arg1, int arg2, int arg3) + { + switch (cmd) { + case MIPS_ATOMIC_SET: +@@ -325,8 +325,8 @@ + * + * This is really horribly ugly. + */ +-SYSCALL_DEFINE6(ipc, unsigned int, call, int, first, int, second, +- unsigned long, third, void __user *, ptr, long, fifth) ++asmlinkage int sys_ipc(unsigned int call, int first, int second, ++ unsigned long third, void __user *ptr, long fifth) + { + int version, ret; + +@@ -411,7 +411,7 @@ + /* + * No implemented yet ... + */ +-SYSCALL_DEFINE3(cachectl, char *, addr, int, nbytes, int, op) ++asmlinkage int sys_cachectl(char *addr, int nbytes, int op) + { + return -ENOSYS; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/kernel/traps.c linux-2.6.29-rc3.owrt/arch/mips/kernel/traps.c +--- linux-2.6.29.owrt/arch/mips/kernel/traps.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/kernel/traps.c 2009-05-10 23:48:28.000000000 +0200 +@@ -944,9 +944,6 @@ + force_sig(SIGILL, current); + } + +-/* +- * Called with interrupts disabled. +- */ + asmlinkage void do_watch(struct pt_regs *regs) + { + u32 cause; +@@ -966,12 +963,9 @@ + */ + if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) { + mips_read_watch_registers(); +- local_irq_enable(); + force_sig(SIGTRAP, current); +- } else { ++ } else + mips_clear_watch_registers(); +- local_irq_enable(); +- } + } + + asmlinkage void do_mcheck(struct pt_regs *regs) +@@ -1588,11 +1582,7 @@ + static char panic_null_cerr[] __cpuinitdata = + "Trying to set NULL cache error exception handler"; + +-/* +- * Install uncached CPU exception handler. +- * This is suitable only for the cache error exception which is the only +- * exception handler that is being run uncached. +- */ ++/* Install uncached CPU exception handler */ + void __cpuinit set_uncached_handler(unsigned long offset, void *addr, + unsigned long size) + { +@@ -1603,7 +1593,7 @@ + unsigned long uncached_ebase = TO_UNCAC(ebase); + #endif + if (cpu_has_mips_r2) +- uncached_ebase += (read_c0_ebase() & 0x3ffff000); ++ ebase += (read_c0_ebase() & 0x3ffff000); + + if (!addr) + panic(panic_null_cerr); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/lib/memcpy-inatomic.S linux-2.6.29-rc3.owrt/arch/mips/lib/memcpy-inatomic.S +--- linux-2.6.29.owrt/arch/mips/lib/memcpy-inatomic.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/lib/memcpy-inatomic.S 2009-05-10 23:48:28.000000000 +0200 +@@ -21,7 +21,7 @@ + * end of memory on some systems. It's also a seriously bad idea on non + * dma-coherent systems. + */ +-#ifdef CONFIG_DMA_NONCOHERENT ++#if !defined(CONFIG_DMA_COHERENT) || !defined(CONFIG_DMA_IP27) + #undef CONFIG_CPU_HAS_PREFETCH + #endif + #ifdef CONFIG_MIPS_MALTA +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/lib/memcpy.S linux-2.6.29-rc3.owrt/arch/mips/lib/memcpy.S +--- linux-2.6.29.owrt/arch/mips/lib/memcpy.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/lib/memcpy.S 2009-05-10 23:48:28.000000000 +0200 +@@ -21,7 +21,7 @@ + * end of memory on some systems. It's also a seriously bad idea on non + * dma-coherent systems. + */ +-#ifdef CONFIG_DMA_NONCOHERENT ++#if !defined(CONFIG_DMA_COHERENT) || !defined(CONFIG_DMA_IP27) + #undef CONFIG_CPU_HAS_PREFETCH + #endif + #ifdef CONFIG_MIPS_MALTA +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/Makefile linux-2.6.29-rc3.owrt/arch/mips/Makefile +--- linux-2.6.29.owrt/arch/mips/Makefile 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/Makefile 2009-05-10 23:48:28.000000000 +0200 +@@ -416,7 +416,7 @@ + # + # Common NEC EMMAXXX + # +-core-$(CONFIG_SOC_EMMA2RH) += arch/mips/emma/common/ ++core-$(CONFIG_SOC_EMMA) += arch/mips/emma/common/ + cflags-$(CONFIG_SOC_EMMA2RH) += -I$(srctree)/arch/mips/include/asm/mach-emma2rh + + # +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/mm/cache.c linux-2.6.29-rc3.owrt/arch/mips/mm/cache.c +--- linux-2.6.29.owrt/arch/mips/mm/cache.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/mm/cache.c 2009-05-10 23:48:28.000000000 +0200 +@@ -13,7 +13,6 @@ + #include + #include + #include +-#include + #include + + #include +@@ -59,8 +58,8 @@ + * We could optimize the case where the cache argument is not BCACHE but + * that seems very atypical use ... + */ +-SYSCALL_DEFINE3(cacheflush, unsigned long, addr, unsigned long, bytes, +- unsigned int, cache) ++asmlinkage int sys_cacheflush(unsigned long addr, ++ unsigned long bytes, unsigned int cache) + { + if (bytes == 0) + return 0; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/mm/c-r4k.c linux-2.6.29-rc3.owrt/arch/mips/mm/c-r4k.c +--- linux-2.6.29.owrt/arch/mips/mm/c-r4k.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/mm/c-r4k.c 2009-05-10 23:48:28.000000000 +0200 +@@ -618,35 +618,15 @@ + if (cpu_has_inclusive_pcaches) { + if (size >= scache_size) + r4k_blast_scache(); +- else { +- unsigned long lsize = cpu_scache_line_size(); +- unsigned long almask = ~(lsize - 1); +- +- /* +- * There is no clearly documented alignment requirement +- * for the cache instruction on MIPS processors and +- * some processors, among them the RM5200 and RM7000 +- * QED processors will throw an address error for cache +- * hit ops with insufficient alignment. Solved by +- * aligning the address to cache line size. +- */ +- cache_op(Hit_Writeback_Inv_SD, addr & almask); +- cache_op(Hit_Writeback_Inv_SD, +- (addr + size - 1) & almask); ++ else + blast_inv_scache_range(addr, addr + size); +- } + return; + } + + if (cpu_has_safe_index_cacheops && size >= dcache_size) { + r4k_blast_dcache(); + } else { +- unsigned long lsize = cpu_dcache_line_size(); +- unsigned long almask = ~(lsize - 1); +- + R4600_HIT_CACHEOP_WAR_IMPL; +- cache_op(Hit_Writeback_Inv_D, addr & almask); +- cache_op(Hit_Writeback_Inv_D, (addr + size - 1) & almask); + blast_inv_dcache_range(addr, addr + size); + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/mm/fault.c linux-2.6.29-rc3.owrt/arch/mips/mm/fault.c +--- linux-2.6.29.owrt/arch/mips/mm/fault.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/mm/fault.c 2009-05-10 23:48:28.000000000 +0200 +@@ -97,6 +97,7 @@ + goto bad_area; + } + ++survive: + /* + * If for any reason at all we couldn't handle the fault, + * make sure we exit gracefully rather than endlessly redo +@@ -166,13 +167,21 @@ + field, regs->regs[31]); + die("Oops", regs); + ++/* ++ * We ran out of memory, or some other thing happened to us that made ++ * us unable to handle the page fault gracefully. ++ */ + out_of_memory: +- /* +- * We ran out of memory, call the OOM killer, and return the userspace +- * (which will retry the fault, or kill us if we got oom-killed). +- */ +- pagefault_out_of_memory(); +- return; ++ up_read(&mm->mmap_sem); ++ if (is_global_init(tsk)) { ++ yield(); ++ down_read(&mm->mmap_sem); ++ goto survive; ++ } ++ printk("VM: killing process %s\n", tsk->comm); ++ if (user_mode(regs)) ++ do_group_exit(SIGKILL); ++ goto no_context; + + do_sigbus: + up_read(&mm->mmap_sem); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/mm/page.c linux-2.6.29-rc3.owrt/arch/mips/mm/page.c +--- linux-2.6.29.owrt/arch/mips/mm/page.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/mm/page.c 2009-05-10 23:48:28.000000000 +0200 +@@ -172,9 +172,8 @@ + */ + cache_line_size = cpu_dcache_line_size(); + switch (current_cpu_type()) { +- case CPU_R5500: + case CPU_TX49XX: +- /* These processors only support the Pref_Load. */ ++ /* TX49 supports only Pref_Load */ + pref_bias_copy_load = 256; + break; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/mm/tlbex.c linux-2.6.29-rc3.owrt/arch/mips/mm/tlbex.c +--- linux-2.6.29.owrt/arch/mips/mm/tlbex.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/mm/tlbex.c 2009-05-10 23:48:28.000000000 +0200 +@@ -318,7 +318,6 @@ + case CPU_BCM4710: + case CPU_LOONGSON2: + case CPU_CAVIUM_OCTEON: +- case CPU_R5500: + if (m4kc_tlbp_war()) + uasm_i_nop(p); + tlbw(p); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/pci/pci-rc32434.c linux-2.6.29-rc3.owrt/arch/mips/pci/pci-rc32434.c +--- linux-2.6.29.owrt/arch/mips/pci/pci-rc32434.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/pci/pci-rc32434.c 2009-05-10 23:48:28.000000000 +0200 +@@ -205,8 +205,6 @@ + + static int __init rc32434_pci_init(void) + { +- void __iomem *io_map_base; +- + pr_info("PCI: Initializing PCI\n"); + + ioport_resource.start = rc32434_res_pci_io1.start; +@@ -214,15 +212,6 @@ + + rc32434_pcibridge_init(); + +- io_map_base = ioremap(rc32434_res_pci_io1.start, +- rc32434_res_pci_io1.end - rc32434_res_pci_io1.start + 1); +- +- if (!io_map_base) +- return -ENOMEM; +- +- rc32434_controller.io_map_base = +- (unsigned long)io_map_base - rc32434_res_pci_io1.start; +- + register_pci_controller(&rc32434_controller); + rc32434_sync(); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/rb532/devices.c linux-2.6.29-rc3.owrt/arch/mips/rb532/devices.c +--- linux-2.6.29.owrt/arch/mips/rb532/devices.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/rb532/devices.c 2009-05-10 23:48:28.000000000 +0200 +@@ -24,7 +24,6 @@ + #include + #include + #include +-#include + + #include + +@@ -40,29 +39,6 @@ + #define ETH0_RX_DMA_ADDR (DMA0_BASE_ADDR + 0 * DMA_CHAN_OFFSET) + #define ETH0_TX_DMA_ADDR (DMA0_BASE_ADDR + 1 * DMA_CHAN_OFFSET) + +-extern unsigned int idt_cpu_freq; +- +-static struct mpmc_device dev3; +- +-void set_latch_u5(unsigned char or_mask, unsigned char nand_mask) +-{ +- unsigned long flags; +- +- spin_lock_irqsave(&dev3.lock, flags); +- +- dev3.state = (dev3.state | or_mask) & ~nand_mask; +- writeb(dev3.state, dev3.base); +- +- spin_unlock_irqrestore(&dev3.lock, flags); +-} +-EXPORT_SYMBOL(set_latch_u5); +- +-unsigned char get_latch_u5(void) +-{ +- return dev3.state; +-} +-EXPORT_SYMBOL(get_latch_u5); +- + static struct resource korina_dev0_res[] = { + { + .name = "korina_regs", +@@ -110,7 +86,7 @@ + static struct platform_device korina_dev0 = { + .id = -1, + .name = "korina", +- .dev.driver_data = &korina_dev0_data, ++ .dev.platform_data = &korina_dev0_data, + .resource = korina_dev0_res, + .num_resources = ARRAY_SIZE(korina_dev0_res), + }; +@@ -238,32 +214,12 @@ + .num_resources = ARRAY_SIZE(rb532_wdt_res), + }; + +-static struct plat_serial8250_port rb532_uart_res[] = { +- { +- .membase = (char *)KSEG1ADDR(REGBASE + UART0BASE), +- .irq = UART0_IRQ, +- .regshift = 2, +- .iotype = UPIO_MEM, +- .flags = UPF_BOOT_AUTOCONF, +- }, +- { +- .flags = 0, +- } +-}; +- +-static struct platform_device rb532_uart = { +- .name = "serial8250", +- .id = PLAT8250_DEV_PLATFORM, +- .dev.platform_data = &rb532_uart_res, +-}; +- + static struct platform_device *rb532_devs[] = { + &korina_dev0, + &nand_slot0, + &cf_slot0, + &rb532_led, + &rb532_button, +- &rb532_uart, + &rb532_wdt + }; + +@@ -335,20 +291,9 @@ + nand_slot0_res[0].start = readl(IDT434_REG_BASE + DEV2BASE); + nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000; + +- /* Read and map device controller 3 */ +- dev3.base = ioremap_nocache(readl(IDT434_REG_BASE + DEV3BASE), 1); +- +- if (!dev3.base) { +- printk(KERN_ERR "rb532: cannot remap device controller 3\n"); +- return -ENXIO; +- } +- + /* Initialise the NAND device */ + rb532_nand_setup(); + +- /* set the uart clock to the current cpu frequency */ +- rb532_uart_res[0].uartclk = idt_cpu_freq; +- + return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs)); + } + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/rb532/gpio.c linux-2.6.29-rc3.owrt/arch/mips/rb532/gpio.c +--- linux-2.6.29.owrt/arch/mips/rb532/gpio.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/rb532/gpio.c 2009-05-10 23:48:28.000000000 +0200 +@@ -41,6 +41,8 @@ + void __iomem *regbase; + }; + ++struct mpmc_device dev3; ++ + static struct resource rb532_gpio_reg0_res[] = { + { + .name = "gpio_reg0", +@@ -50,6 +52,61 @@ + } + }; + ++static struct resource rb532_dev3_ctl_res[] = { ++ { ++ .name = "dev3_ctl", ++ .start = REGBASE + DEV3BASE, ++ .end = REGBASE + DEV3BASE + sizeof(struct dev_reg) - 1, ++ .flags = IORESOURCE_MEM, ++ } ++}; ++ ++void set_434_reg(unsigned reg_offs, unsigned bit, unsigned len, unsigned val) ++{ ++ unsigned long flags; ++ unsigned data; ++ unsigned i = 0; ++ ++ spin_lock_irqsave(&dev3.lock, flags); ++ ++ data = readl(IDT434_REG_BASE + reg_offs); ++ for (i = 0; i != len; ++i) { ++ if (val & (1 << i)) ++ data |= (1 << (i + bit)); ++ else ++ data &= ~(1 << (i + bit)); ++ } ++ writel(data, (IDT434_REG_BASE + reg_offs)); ++ ++ spin_unlock_irqrestore(&dev3.lock, flags); ++} ++EXPORT_SYMBOL(set_434_reg); ++ ++unsigned get_434_reg(unsigned reg_offs) ++{ ++ return readl(IDT434_REG_BASE + reg_offs); ++} ++EXPORT_SYMBOL(get_434_reg); ++ ++void set_latch_u5(unsigned char or_mask, unsigned char nand_mask) ++{ ++ unsigned long flags; ++ ++ spin_lock_irqsave(&dev3.lock, flags); ++ ++ dev3.state = (dev3.state | or_mask) & ~nand_mask; ++ writel(dev3.state, &dev3.base); ++ ++ spin_unlock_irqrestore(&dev3.lock, flags); ++} ++EXPORT_SYMBOL(set_latch_u5); ++ ++unsigned char get_latch_u5(void) ++{ ++ return dev3.state; ++} ++EXPORT_SYMBOL(get_latch_u5); ++ + /* rb532_set_bit - sanely set a bit + * + * bitval: new value for the bit +@@ -62,11 +119,13 @@ + unsigned long flags; + u32 val; + ++ bitval = !!bitval; /* map parameter to {0,1} */ ++ + local_irq_save(flags); + + val = readl(ioaddr); +- val &= ~(!bitval << offset); /* unset bit if bitval == 0 */ +- val |= (!!bitval << offset); /* set bit if bitval == 1 */ ++ val &= ~( ~bitval << offset ); /* unset bit if bitval == 0 */ ++ val |= ( bitval << offset ); /* set bit if bitval == 1 */ + writel(val, ioaddr); + + local_irq_restore(flags); +@@ -112,8 +171,8 @@ + + gpch = container_of(chip, struct rb532_gpio_chip, chip); + +- /* disable alternate function in case it's set */ +- rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC); ++ if (rb532_get_bit(offset, gpch->regbase + GPIOFUNC)) ++ return 1; /* alternate function, GPIOCFG is ignored */ + + rb532_set_bit(0, offset, gpch->regbase + GPIOCFG); + return 0; +@@ -129,8 +188,8 @@ + + gpch = container_of(chip, struct rb532_gpio_chip, chip); + +- /* disable alternate function in case it's set */ +- rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC); ++ if (rb532_get_bit(offset, gpch->regbase + GPIOFUNC)) ++ return 1; /* alternate function, GPIOCFG is ignored */ + + /* set the initial output value */ + rb532_set_bit(value, offset, gpch->regbase + GPIOD); +@@ -174,11 +233,10 @@ + /* + * Configure GPIO alternate function + */ +-void rb532_gpio_set_func(unsigned gpio) ++static void rb532_gpio_set_func(int bit, unsigned gpio) + { +- rb532_set_bit(1, gpio, rb532_gpio_chip->regbase + GPIOFUNC); ++ rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOFUNC); + } +-EXPORT_SYMBOL(rb532_gpio_set_func); + + int __init rb532_gpio_init(void) + { +@@ -195,6 +253,20 @@ + /* Register our GPIO chip */ + gpiochip_add(&rb532_gpio_chip->chip); + ++ r = rb532_dev3_ctl_res; ++ dev3.base = ioremap_nocache(r->start, r->end - r->start); ++ ++ if (!dev3.base) { ++ printk(KERN_ERR "rb532: cannot remap device controller 3\n"); ++ return -ENXIO; ++ } ++ ++ /* configure CF_GPIO_NUM as CFRDY IRQ source */ ++ rb532_gpio_set_func(0, CF_GPIO_NUM); ++ rb532_gpio_direction_input(&rb532_gpio_chip->chip, CF_GPIO_NUM); ++ rb532_gpio_set_ilevel(1, CF_GPIO_NUM); ++ rb532_gpio_set_istat(0, CF_GPIO_NUM); ++ + return 0; + } + arch_initcall(rb532_gpio_init); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/rb532/irq.c linux-2.6.29-rc3.owrt/arch/mips/rb532/irq.c +--- linux-2.6.29.owrt/arch/mips/rb532/irq.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/rb532/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -46,7 +46,6 @@ + #include + + #include +-#include + + struct intr_group { + u32 mask; /* mask of valid bits in pending/mask registers */ +@@ -151,9 +150,6 @@ + mask |= intr_bit; + WRITE_MASK(addr, mask); + +- if (group == GPIO_MAPPED_IRQ_GROUP) +- rb532_gpio_set_istat(0, irq_nr - GPIO_MAPPED_IRQ_BASE); +- + /* + * if there are no more interrupts enabled in this + * group, disable corresponding IP +@@ -169,35 +165,12 @@ + ack_local_irq(group_to_ip(irq_to_group(irq_nr))); + } + +-static int rb532_set_type(unsigned int irq_nr, unsigned type) +-{ +- int gpio = irq_nr - GPIO_MAPPED_IRQ_BASE; +- int group = irq_to_group(irq_nr); +- +- if (group != GPIO_MAPPED_IRQ_GROUP) +- return (type == IRQ_TYPE_LEVEL_HIGH) ? 0 : -EINVAL; +- +- switch (type) { +- case IRQ_TYPE_LEVEL_HIGH: +- rb532_gpio_set_ilevel(1, gpio); +- break; +- case IRQ_TYPE_LEVEL_LOW: +- rb532_gpio_set_ilevel(0, gpio); +- break; +- default: +- return -EINVAL; +- } +- +- return 0; +-} +- + static struct irq_chip rc32434_irq_type = { + .name = "RB532", + .ack = rb532_disable_irq, + .mask = rb532_disable_irq, + .mask_ack = rb532_mask_and_ack_irq, + .unmask = rb532_enable_irq, +- .set_type = rb532_set_type, + }; + + void __init arch_init_irq(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/rb532/serial.c linux-2.6.29-rc3.owrt/arch/mips/rb532/serial.c +--- linux-2.6.29.owrt/arch/mips/rb532/serial.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/rb532/serial.c 2009-05-10 23:48:28.000000000 +0200 +@@ -36,7 +36,7 @@ + extern unsigned int idt_cpu_freq; + + static struct uart_port rb532_uart = { +- .flags = UPF_BOOT_AUTOCONF, ++ .type = PORT_16550A, + .line = 0, + .irq = UART0_IRQ, + .iotype = UPIO_MEM, +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/txx9/generic/setup_tx4939.c linux-2.6.29-rc3.owrt/arch/mips/txx9/generic/setup_tx4939.c +--- linux-2.6.29.owrt/arch/mips/txx9/generic/setup_tx4939.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/txx9/generic/setup_tx4939.c 2009-05-10 23:48:28.000000000 +0200 +@@ -435,28 +435,6 @@ + platform_device_register(&ata1_dev); + } + +-void __init tx4939_rtc_init(void) +-{ +- static struct resource res[] = { +- { +- .start = TX4939_RTC_REG & 0xfffffffffULL, +- .end = (TX4939_RTC_REG & 0xfffffffffULL) + 0x100 - 1, +- .flags = IORESOURCE_MEM, +- }, { +- .start = TXX9_IRQ_BASE + TX4939_IR_RTC, +- .flags = IORESOURCE_IRQ, +- }, +- }; +- static struct platform_device rtc_dev = { +- .name = "tx4939rtc", +- .id = -1, +- .num_resources = ARRAY_SIZE(res), +- .resource = res, +- }; +- +- platform_device_register(&rtc_dev); +-} +- + static void __init tx4939_stop_unused_modules(void) + { + __u64 pcfg, rst = 0, ckd = 0; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mips/txx9/rbtx4939/setup.c linux-2.6.29-rc3.owrt/arch/mips/txx9/rbtx4939/setup.c +--- linux-2.6.29.owrt/arch/mips/txx9/rbtx4939/setup.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mips/txx9/rbtx4939/setup.c 2009-05-10 23:48:28.000000000 +0200 +@@ -336,7 +336,6 @@ + rbtx4939_led_setup(); + tx4939_wdt_init(); + tx4939_ata_init(); +- tx4939_rtc_init(); + } + + static void __init rbtx4939_setup(void) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mn10300/Kconfig linux-2.6.29-rc3.owrt/arch/mn10300/Kconfig +--- linux-2.6.29.owrt/arch/mn10300/Kconfig 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mn10300/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -7,7 +7,6 @@ + + config MN10300 + def_bool y +- select HAVE_OPROFILE + + config AM33 + def_bool y +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/mn10300/unit-asb2305/pci.c linux-2.6.29-rc3.owrt/arch/mn10300/unit-asb2305/pci.c +--- linux-2.6.29.owrt/arch/mn10300/unit-asb2305/pci.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/mn10300/unit-asb2305/pci.c 2009-05-10 23:48:28.000000000 +0200 +@@ -173,7 +173,7 @@ + BRIDGEREGB(where) = value; + } else { + if (bus->number == 0 && +- (devfn == PCI_DEVFN(2, 0) || devfn == PCI_DEVFN(3, 0)) ++ (devfn == PCI_DEVFN(2, 0) && devfn == PCI_DEVFN(3, 0)) + ) + __pcidebug("<= %02x", bus, devfn, where, value); + CONFIG_ADDRESS = CONFIG_CMD(bus, devfn, where); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/configs/712_defconfig linux-2.6.29-rc3.owrt/arch/parisc/configs/712_defconfig +--- linux-2.6.29.owrt/arch/parisc/configs/712_defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/configs/712_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 01:32:55 2009 ++# Linux kernel version: 2.6.23 ++# Fri Oct 12 21:00:07 2007 + # + CONFIG_PARISC=y + CONFIG_MMU=y +@@ -33,35 +33,17 @@ + CONFIG_POSIX_MQUEUE=y + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set ++# CONFIG_USER_NS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=16 +-# CONFIG_GROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +-CONFIG_NAMESPACES=y +-# CONFIG_UTS_NS is not set +-# CONFIG_IPC_NS is not set +-# CONFIG_USER_NS is not set +-# CONFIG_PID_NS is not set +-# CONFIG_NET_NS is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + CONFIG_CC_OPTIMIZE_FOR_SIZE=y + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y + # CONFIG_EMBEDDED is not set + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +@@ -73,38 +55,29 @@ + CONFIG_ELF_CORE=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_COMPAT_BRK=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-CONFIG_PROFILING=y +-CONFIG_TRACEPOINTS=y +-# CONFIG_MARKERS is not set +-CONFIG_OPROFILE=m +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + CONFIG_MODULE_UNLOAD=y + CONFIG_MODULE_FORCE_UNLOAD=y + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set + + # + # IO Schedulers +@@ -118,7 +91,6 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" +-# CONFIG_FREEZER is not set + + # + # Processor type and features +@@ -142,19 +114,17 @@ + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK 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_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPLIT_PTLOCK_CPUS=4096 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + # CONFIG_HPUX is not set + + # +@@ -168,6 +138,10 @@ + # CONFIG_EISA is not set + # CONFIG_PCI is not set + # CONFIG_ARCH_SUPPORTS_MSI is not set ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# + # CONFIG_PCCARD is not set + + # +@@ -182,15 +156,16 @@ + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + CONFIG_BINFMT_MISC=m ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -198,7 +173,6 @@ + CONFIG_XFRM_USER=m + # CONFIG_XFRM_SUB_POLICY is not set + # CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set + CONFIG_NET_KEY=m + # CONFIG_NET_KEY_MIGRATE is not set + CONFIG_INET=y +@@ -229,25 +203,25 @@ + CONFIG_TCP_CONG_CUBIC=y + CONFIG_DEFAULT_TCP_CONG="cubic" + # CONFIG_TCP_MD5SIG is not set ++# CONFIG_IP_VS is not set + # CONFIG_IPV6 is not set ++# CONFIG_INET6_XFRM_TUNNEL is not set ++# CONFIG_INET6_TUNNEL is not set + # CONFIG_NETWORK_SECMARK is not set + CONFIG_NETFILTER=y + # CONFIG_NETFILTER_DEBUG is not set +-CONFIG_NETFILTER_ADVANCED=y + + # + # Core Netfilter Configuration + # +-# CONFIG_NETFILTER_NETLINK_QUEUE is not set +-# CONFIG_NETFILTER_NETLINK_LOG is not set ++# CONFIG_NETFILTER_NETLINK is not set ++# CONFIG_NF_CONNTRACK_ENABLED is not set + # CONFIG_NF_CONNTRACK is not set + # CONFIG_NETFILTER_XTABLES is not set +-# CONFIG_IP_VS is not set + + # + # IP: Netfilter Configuration + # +-# CONFIG_NF_DEFRAG_IPV4 is not set + CONFIG_IP_NF_QUEUE=m + # CONFIG_IP_NF_IPTABLES is not set + # CONFIG_IP_NF_ARPTABLES is not set +@@ -256,7 +230,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + CONFIG_LLC=m +@@ -267,26 +240,28 @@ + # 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_DCB is not set + + # + # Network testing + # + CONFIG_NET_PKTGEN=m + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set + # CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set +-# CONFIG_LIB80211 is not set + # CONFIG_MAC80211 is not set +-# CONFIG_WIMAX is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -301,8 +276,6 @@ + # CONFIG_STANDALONE is not set + # CONFIG_PREVENT_FIRMWARE_BUILD is not set + CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" + # CONFIG_DEBUG_DRIVER is not set + # CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set +@@ -325,19 +298,11 @@ + CONFIG_BLK_DEV_RAM=y + CONFIG_BLK_DEV_RAM_COUNT=16 + CONFIG_BLK_DEV_RAM_SIZE=6144 +-# CONFIG_BLK_DEV_XIP is not set ++CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 + # CONFIG_CDROM_PKTCDVD is not set + CONFIG_ATA_OVER_ETH=m +-# CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# + # CONFIG_EEPROM_93CX6 is not set +-CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + + # +@@ -377,17 +342,14 @@ + # CONFIG_SCSI_FC_ATTRS is not set + CONFIG_SCSI_ISCSI_ATTRS=m + # CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_LIBFC is not set + # CONFIG_SCSI_PPA is not set + # CONFIG_SCSI_IMM is not set + CONFIG_SCSI_LASI700=y + CONFIG_53C700_LE_ON_BE=y + # CONFIG_SCSI_ZALON is not set + CONFIG_SCSI_DEBUG=m +-# CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set + CONFIG_MD=y + CONFIG_BLK_DEV_MD=m +@@ -400,6 +362,7 @@ + # CONFIG_MD_FAULTY is not set + # CONFIG_BLK_DEV_DM is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + CONFIG_DUMMY=m + CONFIG_BONDING=m + # CONFIG_MACVLAN is not set +@@ -414,9 +377,6 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + # CONFIG_B44 is not set + # CONFIG_NET_POCKET is not set + CONFIG_NETDEV_1000=y +@@ -427,11 +387,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_PLIP is not set + CONFIG_PPP=m +@@ -446,6 +401,7 @@ + # CONFIG_PPPOL2TP is not set + # CONFIG_SLIP is not set + CONFIG_SLHC=m ++# CONFIG_SHAPER is not set + # CONFIG_NETCONSOLE is not set + # CONFIG_NETPOLL is not set + # CONFIG_NET_POLL_CONTROLLER is not set +@@ -467,6 +423,7 @@ + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 + # CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_TSDEV is not set + # CONFIG_INPUT_EVDEV is not set + # CONFIG_INPUT_EVBUG is not set + +@@ -489,8 +446,8 @@ + CONFIG_MOUSE_PS2_ALPS=y + CONFIG_MOUSE_PS2_LOGIPS2PP=y + CONFIG_MOUSE_PS2_SYNAPTICS=y ++CONFIG_MOUSE_PS2_LIFEBOOK=y + CONFIG_MOUSE_PS2_TRACKPOINT=y +-# CONFIG_MOUSE_PS2_ELANTECH is not set + # CONFIG_MOUSE_PS2_TOUCHKIT is not set + CONFIG_MOUSE_SERIAL=m + # CONFIG_MOUSE_VSXXXAA is not set +@@ -517,11 +474,9 @@ + # Character devices + # + CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y + CONFIG_VT_CONSOLE=y + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y + # CONFIG_SERIAL_NONSTANDARD is not set + + # +@@ -546,76 +501,72 @@ + CONFIG_SERIAL_CORE=y + CONFIG_SERIAL_CORE_CONSOLE=y + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=64 + CONFIG_PRINTER=m + # CONFIG_LP_CONSOLE is not set + CONFIG_PPDEV=m ++# CONFIG_TIPAR is not set + # CONFIG_IPMI_HANDLER is not set ++# CONFIG_WATCHDOG is not set + # CONFIG_HW_RANDOM is not set ++CONFIG_GEN_RTC=y ++CONFIG_GEN_RTC_X=y + # CONFIG_R3964 is not set + CONFIG_RAW_DRIVER=y + CONFIG_MAX_RAW_DEVS=256 + # CONFIG_TCG_TPM is not set + # CONFIG_I2C is not set ++ ++# ++# SPI support ++# + # CONFIG_SPI is not set ++# CONFIG_SPI_MASTER is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + # CONFIG_HWMON is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices + # +- +-# +-# Multimedia core support +-# + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set ++# CONFIG_DAB is not set + + # +-# Multimedia drivers ++# Graphics support + # +-# CONFIG_DAB is not set ++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # +-# Graphics support ++# Display device support + # ++# CONFIG_DISPLAY_SUPPORT is not set + # CONFIG_VGASTATE is not set + CONFIG_VIDEO_OUTPUT_CONTROL=m + CONFIG_FB=y + # CONFIG_FIRMWARE_EDID is not set + # CONFIG_FB_DDC is not set +-# CONFIG_FB_BOOT_VESA_SUPPORT is not set + CONFIG_FB_CFB_FILLRECT=y + CONFIG_FB_CFB_COPYAREA=y + CONFIG_FB_CFB_IMAGEBLIT=y +-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set + # CONFIG_FB_SYS_FILLRECT is not set + # CONFIG_FB_SYS_COPYAREA is not set + # CONFIG_FB_SYS_IMAGEBLIT is not set +-# CONFIG_FB_FOREIGN_ENDIAN is not set + # CONFIG_FB_SYS_FOPS is not set ++CONFIG_FB_DEFERRED_IO=y + # CONFIG_FB_SVGALIB is not set + # CONFIG_FB_MACMODES is not set + # CONFIG_FB_BACKLIGHT is not set +@@ -628,14 +579,6 @@ + CONFIG_FB_STI=y + # CONFIG_FB_S1D13XXX is not set + # CONFIG_FB_VIRTUAL is not set +-# CONFIG_FB_METRONOME is not set +-# CONFIG_FB_MB862XX is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +- +-# +-# Display device support +-# +-# CONFIG_DISPLAY_SUPPORT is not set + + # + # Console display driver support +@@ -663,8 +606,15 @@ + # CONFIG_LOGO_LINUX_VGA16 is not set + # CONFIG_LOGO_LINUX_CLUT224 is not set + CONFIG_LOGO_PARISC_CLUT224=y ++ ++# ++# Sound ++# + CONFIG_SOUND=y +-CONFIG_SOUND_OSS_CORE=y ++ ++# ++# Advanced Linux Sound Architecture ++# + CONFIG_SND=y + CONFIG_SND_TIMER=y + CONFIG_SND_PCM=y +@@ -680,7 +630,10 @@ + CONFIG_SND_VERBOSE_PROCFS=y + # CONFIG_SND_VERBOSE_PRINTK is not set + # CONFIG_SND_DEBUG is not set +-CONFIG_SND_DRIVERS=y ++ ++# ++# Generic devices ++# + # CONFIG_SND_DUMMY is not set + # CONFIG_SND_VIRMIDI is not set + # CONFIG_SND_MTPAV is not set +@@ -688,82 +641,63 @@ + # CONFIG_SND_SERIAL_U16550 is not set + # CONFIG_SND_MPU401 is not set + # CONFIG_SND_PORTMAN2X4 is not set +-CONFIG_SND_GSC=y ++ ++# ++# GSC devices ++# + CONFIG_SND_HARMONY=y ++ ++# ++# System on Chip audio support ++# + # CONFIG_SND_SOC is not set ++ ++# ++# SoC Audio support for SuperH ++# ++ ++# ++# Open Sound System ++# + # CONFIG_SOUND_PRIME is not set + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + CONFIG_HID_DEBUG=y +-# CONFIG_HIDRAW is not set +-# CONFIG_HID_PID is not set +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y + CONFIG_USB_SUPPORT=y + # CONFIG_USB_ARCH_HAS_HCD is not set + # CONFIG_USB_ARCH_HAS_OHCI is not set + # CONFIG_USB_ARCH_HAS_EHCI is not set + + # +-# Enable Host or Gadget support to see Inventra options ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# USB Gadget Support + # + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set +-CONFIG_RTC_LIB=y +-CONFIG_RTC_CLASS=y +-CONFIG_RTC_HCTOSYS=y +-CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +-# CONFIG_RTC_DEBUG is not set ++# CONFIG_RTC_CLASS is not set + + # +-# RTC interfaces ++# DMA Engine support + # +-CONFIG_RTC_INTF_SYSFS=y +-CONFIG_RTC_INTF_PROC=y +-CONFIG_RTC_INTF_DEV=y +-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +-# CONFIG_RTC_DRV_TEST is not set ++# CONFIG_DMA_ENGINE is not set + + # +-# SPI RTC drivers ++# DMA Clients + # + + # +-# Platform RTC drivers ++# DMA Devices + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set +-# CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set +-# CONFIG_RTC_DRV_STK17TA8 is not set +-# CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set +-# CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set +-# CONFIG_RTC_DRV_V3020 is not set ++# CONFIG_AUXDISPLAY is not set + + # +-# on-CPU RTC drivers ++# Userspace I/O + # +-CONFIG_RTC_DRV_PARISC=y +-# CONFIG_DMADEVICES is not set +-# CONFIG_AUXDISPLAY is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -773,7 +707,7 @@ + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4_FS is not set ++# CONFIG_EXT4DEV_FS is not set + CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set +@@ -783,18 +717,19 @@ + # CONFIG_JFS_DEBUG is not set + # CONFIG_JFS_STATISTICS is not set + CONFIG_FS_POSIX_ACL=y +-CONFIG_FILE_LOCKING=y + CONFIG_XFS_FS=m + # CONFIG_XFS_QUOTA is not set ++# CONFIG_XFS_SECURITY is not set + # CONFIG_XFS_POSIX_ACL is not set + # CONFIG_XFS_RT is not set +-# CONFIG_XFS_DEBUG is not set ++# CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set +-CONFIG_DNOTIFY=y ++# 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=y + # CONFIG_FUSE_FS is not set +@@ -824,13 +759,16 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=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 +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_ECRYPT_FS is not set +@@ -840,34 +778,35 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + CONFIG_UFS_FS=m + # CONFIG_UFS_FS_WRITE is not set + # CONFIG_UFS_DEBUG is not set +-CONFIG_NETWORK_FILESYSTEMS=y ++ ++# ++# Network File Systems ++# + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y + # CONFIG_NFS_V3_ACL is not set + CONFIG_NFS_V4=y +-CONFIG_ROOT_NFS=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_ROOT_NFS=y + CONFIG_LOCKD=y + CONFIG_LOCKD_V4=y + CONFIG_EXPORTFS=m + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y + CONFIG_SUNRPC_GSS=y +-# CONFIG_SUNRPC_REGISTER_V4 is not set ++# CONFIG_SUNRPC_BIND34 is not set + CONFIG_RPCSEC_GSS_KRB5=y + CONFIG_RPCSEC_GSS_SPKM3=m + CONFIG_SMB_FS=m +@@ -876,7 +815,6 @@ + CONFIG_CIFS=m + # CONFIG_CIFS_STATS is not set + # CONFIG_CIFS_WEAK_PW_HASH is not set +-# CONFIG_CIFS_UPCALL is not set + # CONFIG_CIFS_XATTR is not set + # CONFIG_CIFS_DEBUG2 is not set + # CONFIG_CIFS_EXPERIMENTAL is not set +@@ -889,6 +827,10 @@ + # + # 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=m +@@ -929,28 +871,33 @@ + 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=y ++CONFIG_OPROFILE=m ++ ++# + # Kernel hacking + # + # CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=1024 + CONFIG_MAGIC_SYSRQ=y + # CONFIG_UNUSED_SYMBOLS is not set +-CONFIG_DEBUG_FS=y ++# CONFIG_DEBUG_FS is not set + # CONFIG_HEADERS_CHECK is not set + CONFIG_DEBUG_KERNEL=y + # CONFIG_DEBUG_SHIRQ is not set + CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set + # CONFIG_DEBUG_SLAB is not set + # CONFIG_DEBUG_RT_MUTEXES is not set + # CONFIG_RT_MUTEX_TESTER is not set +@@ -962,32 +909,10 @@ + CONFIG_DEBUG_BUGVERBOSE=y + # CONFIG_DEBUG_INFO is not set + # CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-CONFIG_DEBUG_MEMORY_INIT=y + # CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set ++CONFIG_FORCED_INLINING=y + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +-CONFIG_NOP_TRACER=y +-CONFIG_RING_BUFFER=y +-CONFIG_TRACING=y +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_FTRACE_STARTUP_TEST is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set + CONFIG_DEBUG_RODATA=y + + # +@@ -996,113 +921,57 @@ + CONFIG_KEYS=y + CONFIG_KEYS_DEBUG_PROC_KEYS=y + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD=m +-CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y +-# CONFIG_CRYPTO_GF128MUL is not set +-CONFIG_CRYPTO_NULL=m +-# CONFIG_CRYPTO_CRYPTD is not set +-CONFIG_CRYPTO_AUTHENC=m +-CONFIG_CRYPTO_TEST=m +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=y +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-CONFIG_CRYPTO_ECB=m +-# CONFIG_CRYPTO_LRW is not set +-# CONFIG_CRYPTO_PCBC is not set +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# + CONFIG_CRYPTO_HMAC=y + # CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-CONFIG_CRYPTO_CRC32C=m ++CONFIG_CRYPTO_NULL=m + CONFIG_CRYPTO_MD4=m + CONFIG_CRYPTO_MD5=y +-CONFIG_CRYPTO_MICHAEL_MIC=m +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set + CONFIG_CRYPTO_SHA1=m + CONFIG_CRYPTO_SHA256=m + CONFIG_CRYPTO_SHA512=m +-CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +- +-# +-# Ciphers +-# +-CONFIG_CRYPTO_AES=m +-CONFIG_CRYPTO_ANUBIS=m +-CONFIG_CRYPTO_ARC4=m ++CONFIG_CRYPTO_TGR192=m ++# CONFIG_CRYPTO_GF128MUL is not set ++CONFIG_CRYPTO_ECB=m ++CONFIG_CRYPTO_CBC=y ++# CONFIG_CRYPTO_PCBC is not set ++# CONFIG_CRYPTO_LRW is not set ++# CONFIG_CRYPTO_XTS is not set ++# CONFIG_CRYPTO_CRYPTD is not set ++CONFIG_CRYPTO_DES=y ++# CONFIG_CRYPTO_FCRYPT is not set + CONFIG_CRYPTO_BLOWFISH=m +-# CONFIG_CRYPTO_CAMELLIA is not set ++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_DES=y +-# CONFIG_CRYPTO_FCRYPT is not set ++CONFIG_CRYPTO_TEA=m ++CONFIG_CRYPTO_ARC4=m + CONFIG_CRYPTO_KHAZAD=m +-# CONFIG_CRYPTO_SALSA20 is not set ++CONFIG_CRYPTO_ANUBIS=m + # CONFIG_CRYPTO_SEED is not set +-CONFIG_CRYPTO_SERPENT=m +-CONFIG_CRYPTO_TEA=m +-CONFIG_CRYPTO_TWOFISH=m +-CONFIG_CRYPTO_TWOFISH_COMMON=m +- +-# +-# Compression +-# + CONFIG_CRYPTO_DEFLATE=m +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set ++CONFIG_CRYPTO_MICHAEL_MIC=m ++CONFIG_CRYPTO_CRC32C=m ++# CONFIG_CRYPTO_CAMELLIA is not set ++CONFIG_CRYPTO_TEST=m ++# CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_HW is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + CONFIG_CRC_CCITT=m + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set +-CONFIG_CRC_ITU_T=m ++# CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set + CONFIG_LIBCRC32C=m +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/configs/a500_defconfig linux-2.6.29-rc3.owrt/arch/parisc/configs/a500_defconfig +--- linux-2.6.29.owrt/arch/parisc/configs/a500_defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/configs/a500_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 01:32:56 2009 ++# Linux kernel version: 2.6.23 ++# Fri Oct 12 21:12:44 2007 + # + CONFIG_PARISC=y + CONFIG_MMU=y +@@ -34,30 +34,18 @@ + CONFIG_POSIX_MQUEUE=y + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set ++# CONFIG_USER_NS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=16 +-# CONFIG_GROUP_SCHED is not set +-# CONFIG_CGROUPS is not set ++# CONFIG_CPUSETS is not set + CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +-# CONFIG_NAMESPACES is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y + CONFIG_EMBEDDED=y + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +@@ -69,40 +57,28 @@ + CONFIG_ELF_CORE=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y +-CONFIG_COMPAT_BRK=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-CONFIG_PROFILING=y +-CONFIG_TRACEPOINTS=y +-# CONFIG_MARKERS is not set +-CONFIG_OPROFILE=m +-CONFIG_HAVE_OPROFILE=y +-CONFIG_USE_GENERIC_SMP_HELPERS=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + CONFIG_MODULE_UNLOAD=y + CONFIG_MODULE_FORCE_UNLOAD=y + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++CONFIG_KMOD=y + CONFIG_STOP_MACHINE=y + CONFIG_BLOCK=y + # CONFIG_BLK_DEV_IO_TRACE is not set + # CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set + CONFIG_BLOCK_COMPAT=y + + # +@@ -117,7 +93,6 @@ + CONFIG_DEFAULT_CFQ=y + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="cfq" +-# CONFIG_FREEZER is not set + + # + # Processor type and features +@@ -143,12 +118,12 @@ + CONFIG_PREEMPT_NONE=y + # CONFIG_PREEMPT_VOLUNTARY is not set + # CONFIG_PREEMPT is not set ++CONFIG_PREEMPT_BKL=y + # CONFIG_HZ_100 is not set + CONFIG_HZ_250=y + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK is not set + CONFIG_SELECT_MEMORY_MODEL=y + # CONFIG_FLATMEM_MANUAL is not set + CONFIG_DISCONTIGMEM_MANUAL=y +@@ -156,12 +131,11 @@ + CONFIG_DISCONTIGMEM=y + CONFIG_FLAT_NODE_MEM_MAP=y + CONFIG_NEED_MULTIPLE_NODES=y +-CONFIG_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPLIT_PTLOCK_CPUS=4 +-CONFIG_PHYS_ADDR_T_64BIT=y ++CONFIG_RESOURCES_64BIT=y + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + CONFIG_COMPAT=y + CONFIG_NR_CPUS=8 + +@@ -171,13 +145,14 @@ + # CONFIG_GSC is not set + CONFIG_PCI=y + # CONFIG_ARCH_SUPPORTS_MSI is not set +-CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + CONFIG_PCI_LBA=y + CONFIG_IOSAPIC=y + CONFIG_IOMMU_SBA=y +-CONFIG_IOMMU_HELPER=y ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# + CONFIG_PCCARD=m + # CONFIG_PCMCIA_DEBUG is not set + CONFIG_PCMCIA=m +@@ -212,15 +187,16 @@ + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -228,8 +204,6 @@ + CONFIG_XFRM_USER=m + # CONFIG_XFRM_SUB_POLICY is not set + # CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set +-CONFIG_XFRM_IPCOMP=m + CONFIG_NET_KEY=m + # CONFIG_NET_KEY_MIGRATE is not set + CONFIG_INET=y +@@ -260,6 +234,7 @@ + CONFIG_TCP_CONG_CUBIC=y + CONFIG_DEFAULT_TCP_CONG="cubic" + # CONFIG_TCP_MD5SIG is not set ++# CONFIG_IP_VS is not set + CONFIG_IPV6=m + # CONFIG_IPV6_PRIVACY is not set + # CONFIG_IPV6_ROUTER_PREF is not set +@@ -275,72 +250,66 @@ + CONFIG_INET6_XFRM_MODE_BEET=m + # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set + CONFIG_IPV6_SIT=m +-CONFIG_IPV6_NDISC_NODETYPE=y + CONFIG_IPV6_TUNNEL=m + # CONFIG_IPV6_MULTIPLE_TABLES is not set +-# CONFIG_IPV6_MROUTE is not set + # CONFIG_NETWORK_SECMARK is not set + CONFIG_NETFILTER=y + # CONFIG_NETFILTER_DEBUG is not set +-CONFIG_NETFILTER_ADVANCED=y + + # + # Core Netfilter Configuration + # +-# CONFIG_NETFILTER_NETLINK_QUEUE is not set +-# CONFIG_NETFILTER_NETLINK_LOG is not set ++# CONFIG_NETFILTER_NETLINK is not set ++# CONFIG_NF_CONNTRACK_ENABLED is not set + # CONFIG_NF_CONNTRACK is not set + CONFIG_NETFILTER_XTABLES=m + # CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set + # CONFIG_NETFILTER_XT_TARGET_DSCP is not set + # CONFIG_NETFILTER_XT_TARGET_MARK is not set +-# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set + # CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set +-# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set ++# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set + # CONFIG_NETFILTER_XT_TARGET_TRACE is not set + # CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set +-# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set + # CONFIG_NETFILTER_XT_MATCH_COMMENT is not set + # CONFIG_NETFILTER_XT_MATCH_DCCP is not set + # CONFIG_NETFILTER_XT_MATCH_DSCP is not set + # CONFIG_NETFILTER_XT_MATCH_ESP is not set +-# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set +-# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set + # CONFIG_NETFILTER_XT_MATCH_LENGTH is not set + # CONFIG_NETFILTER_XT_MATCH_LIMIT is not set + # CONFIG_NETFILTER_XT_MATCH_MAC is not set + # CONFIG_NETFILTER_XT_MATCH_MARK is not set +-# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set +-# CONFIG_NETFILTER_XT_MATCH_OWNER is not set + # CONFIG_NETFILTER_XT_MATCH_POLICY is not set ++# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set + # CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set + # CONFIG_NETFILTER_XT_MATCH_QUOTA is not set +-# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set + # CONFIG_NETFILTER_XT_MATCH_REALM is not set +-# CONFIG_NETFILTER_XT_MATCH_RECENT is not set + # CONFIG_NETFILTER_XT_MATCH_SCTP is not set + # CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set + # CONFIG_NETFILTER_XT_MATCH_STRING is not set + # CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set + # CONFIG_NETFILTER_XT_MATCH_TIME is not set + # CONFIG_NETFILTER_XT_MATCH_U32 is not set +-# CONFIG_IP_VS is not set ++# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set + + # + # IP: Netfilter Configuration + # +-# CONFIG_NF_DEFRAG_IPV4 is not set + CONFIG_IP_NF_QUEUE=m + CONFIG_IP_NF_IPTABLES=m +-# CONFIG_IP_NF_MATCH_ADDRTYPE is not set +-# CONFIG_IP_NF_MATCH_AH is not set ++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 is not set + CONFIG_IP_NF_MATCH_TTL=m ++CONFIG_IP_NF_MATCH_OWNER=m ++# CONFIG_IP_NF_MATCH_ADDRTYPE is not set + 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_MANGLE=m ++CONFIG_IP_NF_TARGET_TOS=m + CONFIG_IP_NF_TARGET_ECN=m + # CONFIG_IP_NF_TARGET_TTL is not set + CONFIG_IP_NF_RAW=m +@@ -349,30 +318,33 @@ + CONFIG_IP_NF_ARP_MANGLE=m + + # +-# IPv6: Netfilter Configuration ++# IPv6: Netfilter Configuration (EXPERIMENTAL) + # + # CONFIG_IP6_NF_QUEUE is not set + CONFIG_IP6_NF_IPTABLES=m +-# CONFIG_IP6_NF_MATCH_AH is not set +-# CONFIG_IP6_NF_MATCH_EUI64 is not set +-CONFIG_IP6_NF_MATCH_FRAG=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 is not set + CONFIG_IP6_NF_MATCH_IPV6HEADER=m ++# CONFIG_IP6_NF_MATCH_AH is not set + # CONFIG_IP6_NF_MATCH_MH is not set +-CONFIG_IP6_NF_MATCH_RT=m +-CONFIG_IP6_NF_TARGET_LOG=m ++# CONFIG_IP6_NF_MATCH_EUI64 is not set + 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 is not set + CONFIG_IP6_NF_RAW=m + CONFIG_IP_DCCP=m + CONFIG_INET_DCCP_DIAG=m ++CONFIG_IP_DCCP_ACKVEC=y + + # + # DCCP CCIDs Configuration (EXPERIMENTAL) + # ++CONFIG_IP_DCCP_CCID2=m + # CONFIG_IP_DCCP_CCID2_DEBUG is not set + # CONFIG_IP_DCCP_CCID3 is not set + +@@ -384,7 +356,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + CONFIG_LLC=m +@@ -395,26 +366,28 @@ + # 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_DCB is not set + + # + # Network testing + # + CONFIG_NET_PKTGEN=m + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set + # CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set +-# CONFIG_LIB80211 is not set + # CONFIG_MAC80211 is not set +-# CONFIG_WIMAX is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -429,8 +402,6 @@ + # CONFIG_STANDALONE is not set + # CONFIG_PREVENT_FIRMWARE_BUILD is not set + CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" + # CONFIG_DEBUG_DRIVER is not set + # CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set +@@ -450,23 +421,14 @@ + CONFIG_BLK_DEV_RAM=y + CONFIG_BLK_DEV_RAM_COUNT=16 + CONFIG_BLK_DEV_RAM_SIZE=6144 +-# CONFIG_BLK_DEV_XIP is not set ++CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_HP_ILO is not set +-# CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_93CX6 is not set +-CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + + # +@@ -506,10 +468,8 @@ + CONFIG_SCSI_FC_ATTRS=m + CONFIG_SCSI_ISCSI_ATTRS=m + # CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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 +@@ -518,21 +478,16 @@ + # 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_ADVANSYS 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_LIBFC is not set +-# CONFIG_FCOE 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_MVSAS is not set + # CONFIG_SCSI_STEX is not set + CONFIG_SCSI_SYM53C8XX_2=y + CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +@@ -548,11 +503,9 @@ + CONFIG_SCSI_DEBUG=m + # CONFIG_SCSI_SRP is not set + # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +-# CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set + CONFIG_MD=y + CONFIG_BLK_DEV_MD=y +-CONFIG_MD_AUTODETECT=y + CONFIG_MD_LINEAR=y + CONFIG_MD_RAID0=y + CONFIG_MD_RAID1=y +@@ -561,6 +514,10 @@ + # CONFIG_MD_MULTIPATH is not set + # CONFIG_MD_FAULTY is not set + # CONFIG_BLK_DEV_DM is not set ++ ++# ++# Fusion MPT device support ++# + CONFIG_FUSION=y + CONFIG_FUSION_SPI=m + CONFIG_FUSION_FC=m +@@ -572,40 +529,20 @@ + # + # IEEE 1394 (FireWire) support + # +- +-# +-# Enable only one of the two stacks, unless you know what you are doing +-# + # CONFIG_FIREWIRE is not set + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + CONFIG_DUMMY=m + CONFIG_BONDING=m + # CONFIG_MACVLAN is not set + # CONFIG_EQUALIZER is not set + CONFIG_TUN=m + # CONFIG_VETH is not set ++# CONFIG_IP1000 is not set + # CONFIG_ARCNET is not set +-CONFIG_PHYLIB=m +- +-# +-# MII PHY device drivers +-# +-# CONFIG_MARVELL_PHY is not set +-# CONFIG_DAVICOM_PHY is not set +-# CONFIG_QSEMI_PHY is not set +-# CONFIG_LXT_PHY is not set +-# CONFIG_CICADA_PHY is not set +-# CONFIG_VITESSE_PHY is not set +-# CONFIG_SMSC_PHY is not set +-# CONFIG_BROADCOM_PHY is not set +-# CONFIG_ICPLUS_PHY is not set +-# CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set +-# CONFIG_MDIO_BITBANG is not set ++# CONFIG_PHYLIB is not set + CONFIG_NET_ETHERNET=y + CONFIG_MII=m + # CONFIG_HAPPYMEAL is not set +@@ -630,38 +567,33 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + CONFIG_NET_PCI=y + CONFIG_PCNET32=m ++# CONFIG_PCNET32_NAPI 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_EEPRO100 is not set + CONFIG_E100=m + # 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_R6040 is not set + # CONFIG_SIS900 is not set + # CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set + # CONFIG_SUNDANCE is not set +-# CONFIG_TLAN is not set + # CONFIG_VIA_RHINE is not set + # CONFIG_SC92031 is not set +-# CONFIG_ATL2 is not set + CONFIG_NETDEV_1000=y + CONFIG_ACENIC=m + CONFIG_ACENIC_OMIT_TIGON_I=y + # CONFIG_DL2K is not set + CONFIG_E1000=m ++CONFIG_E1000_NAPI=y ++# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set + # CONFIG_E1000E is not set +-# CONFIG_IP1000 is not set +-# CONFIG_IGB is not set + # CONFIG_NS83820 is not set + # CONFIG_HAMACHI is not set + # CONFIG_YELLOWFIN is not set +@@ -669,31 +601,23 @@ + # 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=m + # CONFIG_BNX2 is not set + # CONFIG_QLA3XXX is not set + # CONFIG_ATL1 is not set +-# CONFIG_ATL1E is not set +-# CONFIG_ATL1C is not set +-# CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y + # CONFIG_CHELSIO_T3 is not set +-# CONFIG_ENIC is not set + # CONFIG_IXGBE is not set + # CONFIG_IXGB is not set + # CONFIG_S2IO is not set + # CONFIG_MYRI10GE is not set + # CONFIG_NETXEN_NIC is not set + # CONFIG_NIU is not set +-# CONFIG_MLX4_EN is not set + # CONFIG_MLX4_CORE is not set + # CONFIG_TEHUTI is not set +-# CONFIG_BNX2X is not set +-# CONFIG_QLGE is not set +-# CONFIG_SFC is not set + # CONFIG_TR is not set + + # +@@ -701,11 +625,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + CONFIG_NET_PCMCIA=y + CONFIG_PCMCIA_3C589=m + CONFIG_PCMCIA_3C574=m +@@ -731,6 +650,7 @@ + # CONFIG_SLIP is not set + CONFIG_SLHC=m + # CONFIG_NET_FC 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 +@@ -749,6 +669,7 @@ + # + # CONFIG_INPUT_MOUSEDEV is not set + # CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_TSDEV is not set + # CONFIG_INPUT_EVDEV is not set + # CONFIG_INPUT_EVBUG is not set + +@@ -772,13 +693,10 @@ + # Character devices + # + CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y + CONFIG_VT_CONSOLE=y + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y + # CONFIG_SERIAL_NONSTANDARD is not set +-# CONFIG_NOZOMI is not set + + # + # Serial drivers +@@ -803,12 +721,17 @@ + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + # CONFIG_LEGACY_PTYS is not set + # CONFIG_IPMI_HANDLER is not set ++# CONFIG_WATCHDOG is not set + # CONFIG_HW_RANDOM is not set ++CONFIG_GEN_RTC=y ++CONFIG_GEN_RTC_X=y + # CONFIG_R3964 is not set + # CONFIG_APPLICOM is not set ++CONFIG_AGP=y ++CONFIG_AGP_PARISC=y ++# CONFIG_DRM is not set + + # + # PCMCIA character devices +@@ -816,66 +739,51 @@ + # CONFIG_SYNCLINK_CS is not set + # CONFIG_CARDMAN_4000 is not set + # CONFIG_CARDMAN_4040 is not set +-# CONFIG_IPWIRELESS is not set + CONFIG_RAW_DRIVER=y + CONFIG_MAX_RAW_DEVS=256 + # CONFIG_TCG_TPM is not set + CONFIG_DEVPORT=y + # CONFIG_I2C is not set ++ ++# ++# SPI support ++# + # CONFIG_SPI is not set ++# CONFIG_SPI_MASTER is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + # CONFIG_HWMON is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices + # +- +-# +-# Multimedia core support +-# + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set +- +-# +-# Multimedia drivers +-# + # CONFIG_DAB is not set + + # + # Graphics support + # +-CONFIG_AGP=y +-CONFIG_AGP_PARISC=y +-# CONFIG_DRM is not set +-# CONFIG_VGASTATE is not set +-# CONFIG_VIDEO_OUTPUT_CONTROL is not set +-# CONFIG_FB is not set + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # + # Display device support + # + # CONFIG_DISPLAY_SUPPORT is not set ++# CONFIG_VGASTATE is not set ++# CONFIG_VIDEO_OUTPUT_CONTROL is not set ++# CONFIG_FB is not set + + # + # Console display driver support +@@ -884,83 +792,50 @@ + CONFIG_DUMMY_CONSOLE_COLUMNS=160 + CONFIG_DUMMY_CONSOLE_ROWS=64 + # CONFIG_STI_CONSOLE is not set ++ ++# ++# Sound ++# + # CONFIG_SOUND is not set + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + # CONFIG_HID_DEBUG is not set +-# CONFIG_HIDRAW is not set +-# CONFIG_HID_PID is not set +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y + CONFIG_USB_SUPPORT=y + CONFIG_USB_ARCH_HAS_HCD=y + CONFIG_USB_ARCH_HAS_OHCI=y + CONFIG_USB_ARCH_HAS_EHCI=y + # CONFIG_USB is not set +-# CONFIG_USB_OTG_WHITELIST is not set +-# CONFIG_USB_OTG_BLACKLIST_HUB is not set + + # +-# Enable Host or Gadget support to see Inventra options ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# USB Gadget Support + # + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# +-# CONFIG_UWB is not set + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set +-CONFIG_RTC_LIB=y +-CONFIG_RTC_CLASS=y +-CONFIG_RTC_HCTOSYS=y +-CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +-# CONFIG_RTC_DEBUG is not set ++# CONFIG_RTC_CLASS is not set + + # +-# RTC interfaces ++# DMA Engine support + # +-CONFIG_RTC_INTF_SYSFS=y +-CONFIG_RTC_INTF_PROC=y +-CONFIG_RTC_INTF_DEV=y +-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +-# CONFIG_RTC_DRV_TEST is not set ++# CONFIG_DMA_ENGINE is not set + + # +-# SPI RTC drivers ++# DMA Clients + # + + # +-# Platform RTC drivers ++# DMA Devices + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set +-# CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set +-# CONFIG_RTC_DRV_STK17TA8 is not set +-# CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set +-# CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set +-# CONFIG_RTC_DRV_V3020 is not set + + # +-# on-CPU RTC drivers ++# Userspace I/O + # +-CONFIG_RTC_DRV_PARISC=y +-# CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -970,7 +845,7 @@ + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4_FS is not set ++# CONFIG_EXT4DEV_FS is not set + CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set +@@ -980,19 +855,19 @@ + # CONFIG_JFS_DEBUG is not set + # CONFIG_JFS_STATISTICS is not set + CONFIG_FS_POSIX_ACL=y +-CONFIG_FILE_LOCKING=y + CONFIG_XFS_FS=m + # CONFIG_XFS_QUOTA is not set ++# CONFIG_XFS_SECURITY is not set + # CONFIG_XFS_POSIX_ACL is not set + # CONFIG_XFS_RT is not set +-# CONFIG_XFS_DEBUG is not set + # CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set +-CONFIG_DNOTIFY=y ++# 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=y + # CONFIG_FUSE_FS is not set +@@ -1022,13 +897,16 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=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 +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_ECRYPT_FS is not set +@@ -1038,33 +916,34 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + CONFIG_UFS_FS=m + # CONFIG_UFS_FS_WRITE is not set + # CONFIG_UFS_DEBUG is not set +-CONFIG_NETWORK_FILESYSTEMS=y ++ ++# ++# 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_SUNRPC_REGISTER_V4 is not set ++# CONFIG_SUNRPC_BIND34 is not set + CONFIG_RPCSEC_GSS_KRB5=m + CONFIG_RPCSEC_GSS_SPKM3=m + CONFIG_SMB_FS=m +@@ -1073,7 +952,6 @@ + CONFIG_CIFS=m + # CONFIG_CIFS_STATS is not set + # CONFIG_CIFS_WEAK_PW_HASH is not set +-# CONFIG_CIFS_UPCALL is not set + # CONFIG_CIFS_XATTR is not set + # CONFIG_CIFS_DEBUG2 is not set + # CONFIG_CIFS_EXPERIMENTAL is not set +@@ -1086,6 +964,10 @@ + # + # 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=m +@@ -1126,28 +1008,33 @@ + # CONFIG_NLS_KOI8_R is not set + # CONFIG_NLS_KOI8_U is not set + CONFIG_NLS_UTF8=m ++ ++# ++# Distributed Lock Manager ++# + # CONFIG_DLM is not set + + # ++# Profiling support ++# ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++ ++# + # Kernel hacking + # + # CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=2048 + CONFIG_MAGIC_SYSRQ=y + # CONFIG_UNUSED_SYMBOLS is not set +-CONFIG_DEBUG_FS=y ++# CONFIG_DEBUG_FS is not set + CONFIG_HEADERS_CHECK=y + CONFIG_DEBUG_KERNEL=y + # CONFIG_DEBUG_SHIRQ is not set + CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set + # CONFIG_DEBUG_SLAB is not set + # CONFIG_DEBUG_RT_MUTEXES is not set + # CONFIG_RT_MUTEX_TESTER is not set +@@ -1159,33 +1046,10 @@ + # CONFIG_DEBUG_BUGVERBOSE is not set + # CONFIG_DEBUG_INFO is not set + # CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-# CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set ++CONFIG_FORCED_INLINING=y + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +-CONFIG_NOP_TRACER=y +-CONFIG_RING_BUFFER=y +-CONFIG_TRACING=y +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_FTRACE_STARTUP_TEST is not set +-# CONFIG_BUILD_DOCSRC is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set + # CONFIG_DEBUG_RODATA is not set + + # +@@ -1194,112 +1058,56 @@ + CONFIG_KEYS=y + CONFIG_KEYS_DEBUG_PROC_KEYS=y + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD=m +-CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=m +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y +-# CONFIG_CRYPTO_GF128MUL is not set +-CONFIG_CRYPTO_NULL=m +-# CONFIG_CRYPTO_CRYPTD is not set +-CONFIG_CRYPTO_AUTHENC=m +-CONFIG_CRYPTO_TEST=m +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=m +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-# CONFIG_CRYPTO_ECB is not set +-# CONFIG_CRYPTO_LRW is not set +-# CONFIG_CRYPTO_PCBC is not set +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# + CONFIG_CRYPTO_HMAC=y + # CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-CONFIG_CRYPTO_CRC32C=m ++CONFIG_CRYPTO_NULL=m + # CONFIG_CRYPTO_MD4 is not set + CONFIG_CRYPTO_MD5=y +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set + CONFIG_CRYPTO_SHA1=m + # CONFIG_CRYPTO_SHA256 is not set + # CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_TGR192 is not set + # CONFIG_CRYPTO_WP512 is not set +- +-# +-# Ciphers +-# +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_ARC4 is not set ++# CONFIG_CRYPTO_TGR192 is not set ++# CONFIG_CRYPTO_GF128MUL is not set ++# CONFIG_CRYPTO_ECB is not set ++CONFIG_CRYPTO_CBC=m ++# CONFIG_CRYPTO_PCBC is not set ++# CONFIG_CRYPTO_LRW is not set ++# CONFIG_CRYPTO_XTS is not set ++# CONFIG_CRYPTO_CRYPTD is not set ++CONFIG_CRYPTO_DES=m ++# CONFIG_CRYPTO_FCRYPT is not set + CONFIG_CRYPTO_BLOWFISH=m +-# CONFIG_CRYPTO_CAMELLIA is not set ++# CONFIG_CRYPTO_TWOFISH is not set ++# CONFIG_CRYPTO_SERPENT is not set ++# CONFIG_CRYPTO_AES is not set + CONFIG_CRYPTO_CAST5=m + # CONFIG_CRYPTO_CAST6 is not set +-CONFIG_CRYPTO_DES=m +-# CONFIG_CRYPTO_FCRYPT is not set ++# CONFIG_CRYPTO_TEA is not set ++# CONFIG_CRYPTO_ARC4 is not set + # CONFIG_CRYPTO_KHAZAD is not set +-# CONFIG_CRYPTO_SALSA20 is not set ++# CONFIG_CRYPTO_ANUBIS is not set + # CONFIG_CRYPTO_SEED is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_TWOFISH is not set +- +-# +-# Compression +-# + CONFIG_CRYPTO_DEFLATE=m +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set ++# CONFIG_CRYPTO_MICHAEL_MIC is not set ++CONFIG_CRYPTO_CRC32C=m ++# CONFIG_CRYPTO_CAMELLIA is not set ++CONFIG_CRYPTO_TEST=m ++# CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_HW is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + CONFIG_CRC_CCITT=m + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set +-CONFIG_CRC_ITU_T=m ++# CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set + CONFIG_LIBCRC32C=m +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/configs/b180_defconfig linux-2.6.29-rc3.owrt/arch/parisc/configs/b180_defconfig +--- linux-2.6.29.owrt/arch/parisc/configs/b180_defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/configs/b180_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 01:32:57 2009 ++# Linux kernel version: 2.6.23 ++# Fri Oct 12 21:16:46 2007 + # + CONFIG_PARISC=y + CONFIG_MMU=y +@@ -33,29 +33,13 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=16 +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +-CONFIG_NAMESPACES=y +-# CONFIG_UTS_NS is not set +-# CONFIG_IPC_NS is not set + # CONFIG_BLK_DEV_INITRD is not set +-CONFIG_CC_OPTIMIZE_FOR_SIZE=y + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y + # CONFIG_EMBEDDED is not set + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +@@ -67,34 +51,27 @@ + CONFIG_ELF_CORE=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y +-CONFIG_COMPAT_BRK=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-# CONFIG_PROFILING is not set +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + # CONFIG_MODULE_UNLOAD is not set + CONFIG_MODVERSIONS=y + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++# CONFIG_KMOD is not set + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set ++# CONFIG_LSF is not set + + # + # IO Schedulers +@@ -108,7 +85,6 @@ + CONFIG_DEFAULT_CFQ=y + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="cfq" +-# CONFIG_FREEZER is not set + + # + # Processor type and features +@@ -132,15 +108,13 @@ + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK is not set + CONFIG_FLATMEM=y + CONFIG_FLAT_NODE_MEM_MAP=y +-CONFIG_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPLIT_PTLOCK_CPUS=4096 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + # CONFIG_HPUX is not set + + # +@@ -156,14 +130,14 @@ + CONFIG_ISA=y + CONFIG_PCI=y + # CONFIG_ARCH_SUPPORTS_MSI is not set +-CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + CONFIG_GSC_DINO=y + # CONFIG_PCI_LBA is not set +-CONFIG_IOMMU_HELPER=y ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# + # CONFIG_PCCARD is not set +-# CONFIG_HOTPLUG_PCI is not set + + # + # PA-RISC specific drivers +@@ -177,15 +151,16 @@ + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -230,37 +205,36 @@ + CONFIG_INET6_XFRM_MODE_TUNNEL=y + CONFIG_INET6_XFRM_MODE_BEET=y + CONFIG_IPV6_SIT=y +-CONFIG_IPV6_NDISC_NODETYPE=y + # CONFIG_IPV6_TUNNEL is not set + # CONFIG_NETLABEL is not set + # CONFIG_NETWORK_SECMARK is not set + # CONFIG_NETFILTER 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 ++ ++# ++# QoS and/or fair queueing ++# + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing + # + # CONFIG_NET_PKTGEN is not set + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set +-# CONFIG_LIB80211 is not set +-# CONFIG_MAC80211 is not set +-# CONFIG_WIMAX is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + + # +@@ -273,9 +247,7 @@ + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" + CONFIG_STANDALONE=y + # CONFIG_PREVENT_FIRMWARE_BUILD is not set +-CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" ++# CONFIG_FW_LOADER is not set + # CONFIG_DEBUG_DRIVER is not set + # CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set +@@ -303,18 +275,10 @@ + CONFIG_CDROM_PKTCDVD=m + CONFIG_CDROM_PKTCDVD_BUFFERS=8 + CONFIG_ATA_OVER_ETH=y +-# CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set +-# CONFIG_SGI_IOC4 is not set +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_HP_ILO is not set +- +-# +-# EEPROM support +-# + # CONFIG_EEPROM_93CX6 is not set +-CONFIG_HAVE_IDE=y ++# CONFIG_SGI_IOC4 is not set + # CONFIG_IDE is not set + + # +@@ -353,10 +317,8 @@ + # CONFIG_SCSI_FC_ATTRS is not set + # CONFIG_SCSI_ISCSI_ATTRS is not set + # CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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 +@@ -368,15 +330,12 @@ + # CONFIG_SCSI_AIC79XX is not set + # CONFIG_SCSI_AIC94XX is not set + # CONFIG_SCSI_DPT_I2O is not set +-# CONFIG_SCSI_ADVANSYS is not set + # CONFIG_SCSI_IN2000 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_LIBFC is not set +-# CONFIG_FCOE is not set + # CONFIG_SCSI_DMX3191D is not set + # CONFIG_SCSI_DTC3280 is not set + # CONFIG_SCSI_FUTURE_DOMAIN is not set +@@ -387,7 +346,6 @@ + # CONFIG_SCSI_INIA100 is not set + # CONFIG_SCSI_PPA is not set + # CONFIG_SCSI_IMM is not set +-# CONFIG_SCSI_MVSAS is not set + # CONFIG_SCSI_NCR53C406A is not set + CONFIG_SCSI_LASI700=y + CONFIG_53C700_LE_ON_BE=y +@@ -402,6 +360,7 @@ + CONFIG_SCSI_NCR53C8XX_MAX_TAGS=32 + CONFIG_SCSI_NCR53C8XX_SYNC=40 + # CONFIG_SCSI_PAS16 is not set ++# CONFIG_SCSI_PSI240I is not set + # CONFIG_SCSI_QLOGIC_FAS is not set + # CONFIG_SCSI_QLOGIC_1280 is not set + # CONFIG_SCSI_QLA_FC is not set +@@ -414,11 +373,9 @@ + # CONFIG_SCSI_NSP32 is not set + # CONFIG_SCSI_DEBUG is not set + # CONFIG_SCSI_SRP is not set +-# CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set + CONFIG_MD=y + CONFIG_BLK_DEV_MD=y +-CONFIG_MD_AUTODETECT=y + CONFIG_MD_LINEAR=y + CONFIG_MD_RAID0=y + CONFIG_MD_RAID1=y +@@ -426,18 +383,26 @@ + # CONFIG_MD_MULTIPATH is not set + # CONFIG_MD_FAULTY is not set + # CONFIG_BLK_DEV_DM 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 + # + + # +-# A new alternative FireWire stack is available with EXPERIMENTAL=y ++# An alternative FireWire stack is available with EXPERIMENTAL=y + # + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + # CONFIG_DUMMY is not set + # CONFIG_BONDING is not set + # CONFIG_EQUALIZER is not set +@@ -469,49 +434,36 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + # CONFIG_NET_PCI is not set + # CONFIG_B44 is not set +-# CONFIG_CS89x0 is not set + # CONFIG_NET_POCKET is not set +-# CONFIG_ATL2 is not set + CONFIG_NETDEV_1000=y + # CONFIG_ACENIC is not set + # CONFIG_DL2K is not set + # CONFIG_E1000 is not set + # CONFIG_E1000E is not set +-# CONFIG_IGB is not set + # CONFIG_NS83820 is not set + # CONFIG_HAMACHI 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 + # CONFIG_QLA3XXX is not set +-# CONFIG_ATL1 is not set +-# CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y + # CONFIG_CHELSIO_T3 is not set +-# CONFIG_ENIC is not set + # CONFIG_IXGBE is not set + # CONFIG_IXGB is not set + # CONFIG_S2IO is not set + # CONFIG_MYRI10GE is not set + # CONFIG_NETXEN_NIC is not set + # CONFIG_NIU is not set +-# CONFIG_MLX4_EN is not set + # CONFIG_MLX4_CORE is not set + # CONFIG_TEHUTI is not set +-# CONFIG_BNX2X is not set +-# CONFIG_QLGE is not set +-# CONFIG_SFC is not set + # CONFIG_TR is not set + + # +@@ -519,11 +471,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_FDDI is not set + # CONFIG_PLIP is not set +@@ -556,6 +503,7 @@ + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 + # CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_TSDEV is not set + CONFIG_INPUT_EVDEV=y + # CONFIG_INPUT_EVBUG is not set + +@@ -578,12 +526,11 @@ + CONFIG_MOUSE_PS2_ALPS=y + CONFIG_MOUSE_PS2_LOGIPS2PP=y + CONFIG_MOUSE_PS2_SYNAPTICS=y ++CONFIG_MOUSE_PS2_LIFEBOOK=y + CONFIG_MOUSE_PS2_TRACKPOINT=y +-# CONFIG_MOUSE_PS2_ELANTECH is not set + # CONFIG_MOUSE_PS2_TOUCHKIT is not set + # CONFIG_MOUSE_SERIAL is not set + # CONFIG_MOUSE_APPLETOUCH is not set +-# CONFIG_MOUSE_BCM5974 is not set + # CONFIG_MOUSE_INPORT is not set + # CONFIG_MOUSE_LOGIBM is not set + # CONFIG_MOUSE_PC110PAD is not set +@@ -617,11 +564,9 @@ + # Character devices + # + CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y + CONFIG_VT_CONSOLE=y + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y + # CONFIG_SERIAL_NONSTANDARD is not set + + # +@@ -653,79 +598,75 @@ + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 + CONFIG_PRINTER=y + # CONFIG_LP_CONSOLE is not set + # CONFIG_PPDEV is not set ++# CONFIG_TIPAR is not set + # CONFIG_IPMI_HANDLER is not set ++# CONFIG_WATCHDOG is not set + # CONFIG_HW_RANDOM is not set ++CONFIG_GEN_RTC=y ++# CONFIG_GEN_RTC_X is not set + # CONFIG_DTLK is not set + # CONFIG_R3964 is not set + # CONFIG_APPLICOM is not set ++# CONFIG_AGP is not set ++# CONFIG_DRM is not set + # CONFIG_RAW_DRIVER is not set + CONFIG_DEVPORT=y + # CONFIG_I2C is not set ++ ++# ++# SPI support ++# + # CONFIG_SPI is not set ++# CONFIG_SPI_MASTER is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + # CONFIG_HWMON is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices + # +- +-# +-# Multimedia core support +-# + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set ++# CONFIG_DAB is not set + + # +-# Multimedia drivers ++# Graphics support + # +-# CONFIG_DAB is not set ++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # +-# Graphics support ++# Display device support + # +-# CONFIG_AGP is not set +-# CONFIG_DRM is not set ++# CONFIG_DISPLAY_SUPPORT is not set + # CONFIG_VGASTATE is not set + CONFIG_VIDEO_OUTPUT_CONTROL=m + CONFIG_FB=y + # CONFIG_FIRMWARE_EDID is not set + # CONFIG_FB_DDC is not set +-# CONFIG_FB_BOOT_VESA_SUPPORT is not set + CONFIG_FB_CFB_FILLRECT=y + CONFIG_FB_CFB_COPYAREA=y + CONFIG_FB_CFB_IMAGEBLIT=y +-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set + # CONFIG_FB_SYS_FILLRECT is not set + # CONFIG_FB_SYS_COPYAREA is not set + # CONFIG_FB_SYS_IMAGEBLIT is not set +-# CONFIG_FB_FOREIGN_ENDIAN is not set + # CONFIG_FB_SYS_FOPS is not set ++CONFIG_FB_DEFERRED_IO=y + # CONFIG_FB_SVGALIB is not set + # CONFIG_FB_MACMODES is not set + # CONFIG_FB_BACKLIGHT is not set +@@ -750,7 +691,6 @@ + # CONFIG_FB_ATY is not set + # CONFIG_FB_S3 is not set + # CONFIG_FB_SIS is not set +-# CONFIG_FB_VIA is not set + # CONFIG_FB_NEOMAGIC is not set + # CONFIG_FB_KYRO is not set + # CONFIG_FB_3DFX is not set +@@ -758,16 +698,7 @@ + # CONFIG_FB_VT8623 is not set + # CONFIG_FB_TRIDENT is not set + # CONFIG_FB_ARK is not set +-# CONFIG_FB_CARMINE is not set + # CONFIG_FB_VIRTUAL is not set +-# CONFIG_FB_METRONOME is not set +-# CONFIG_FB_MB862XX is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +- +-# +-# Display device support +-# +-# CONFIG_DISPLAY_SUPPORT is not set + + # + # Console display driver support +@@ -787,8 +718,15 @@ + CONFIG_LOGO_LINUX_VGA16=y + CONFIG_LOGO_LINUX_CLUT224=y + CONFIG_LOGO_PARISC_CLUT224=y ++ ++# ++# Sound ++# + CONFIG_SOUND=y +-CONFIG_SOUND_OSS_CORE=y ++ ++# ++# Advanced Linux Sound Architecture ++# + CONFIG_SND=y + CONFIG_SND_TIMER=y + CONFIG_SND_PCM=y +@@ -804,7 +742,10 @@ + CONFIG_SND_VERBOSE_PROCFS=y + # CONFIG_SND_VERBOSE_PRINTK is not set + # CONFIG_SND_DEBUG is not set +-CONFIG_SND_DRIVERS=y ++ ++# ++# Generic devices ++# + # CONFIG_SND_DUMMY is not set + # CONFIG_SND_VIRMIDI is not set + # CONFIG_SND_MTPAV is not set +@@ -812,7 +753,10 @@ + # CONFIG_SND_SERIAL_U16550 is not set + # CONFIG_SND_MPU401 is not set + # CONFIG_SND_PORTMAN2X4 is not set +-CONFIG_SND_PCI=y ++ ++# ++# PCI devices ++# + # CONFIG_SND_AD1889 is not set + # CONFIG_SND_ALS300 is not set + # CONFIG_SND_ALI5451 is not set +@@ -821,11 +765,9 @@ + # CONFIG_SND_AU8810 is not set + # CONFIG_SND_AU8820 is not set + # CONFIG_SND_AU8830 is not set +-# CONFIG_SND_AW2 is not set + # CONFIG_SND_BT87X is not set + # CONFIG_SND_CA0106 is not set + # CONFIG_SND_CMIPCI is not set +-# CONFIG_SND_OXYGEN is not set + # CONFIG_SND_CS4281 is not set + # CONFIG_SND_CS46XX is not set + # CONFIG_SND_DARLA20 is not set +@@ -850,7 +792,6 @@ + # CONFIG_SND_HDA_INTEL is not set + # CONFIG_SND_HDSP is not set + # CONFIG_SND_HDSPM is not set +-# CONFIG_SND_HIFIER is not set + # CONFIG_SND_ICE1712 is not set + # CONFIG_SND_ICE1724 is not set + # CONFIG_SND_INTEL8X0 is not set +@@ -868,23 +809,30 @@ + # CONFIG_SND_TRIDENT is not set + # CONFIG_SND_VIA82XX is not set + # CONFIG_SND_VIA82XX_MODEM is not set +-# CONFIG_SND_VIRTUOSO is not set + # CONFIG_SND_VX222 is not set + # CONFIG_SND_YMFPCI is not set +-CONFIG_SND_GSC=y ++ ++# ++# GSC devices ++# + CONFIG_SND_HARMONY=y ++ ++# ++# System on Chip audio support ++# + # CONFIG_SND_SOC is not set ++ ++# ++# SoC Audio support for SuperH ++# ++ ++# ++# Open Sound System ++# + # CONFIG_SOUND_PRIME is not set + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + CONFIG_HID_DEBUG=y +-# CONFIG_HIDRAW is not set +-# CONFIG_HID_PID is not set +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y + CONFIG_USB_SUPPORT=y + CONFIG_USB_ARCH_HAS_HCD=y + CONFIG_USB_ARCH_HAS_OHCI=y +@@ -892,63 +840,36 @@ + # CONFIG_USB is not set + + # +-# Enable Host or Gadget support to see Inventra options ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# USB Gadget Support + # + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set +-CONFIG_RTC_LIB=y +-CONFIG_RTC_CLASS=y +-CONFIG_RTC_HCTOSYS=y +-CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +-# CONFIG_RTC_DEBUG is not set ++# CONFIG_RTC_CLASS is not set + + # +-# RTC interfaces ++# DMA Engine support + # +-CONFIG_RTC_INTF_SYSFS=y +-CONFIG_RTC_INTF_PROC=y +-CONFIG_RTC_INTF_DEV=y +-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +-# CONFIG_RTC_DRV_TEST is not set ++# CONFIG_DMA_ENGINE is not set + + # +-# SPI RTC drivers ++# DMA Clients + # + + # +-# Platform RTC drivers ++# DMA Devices + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set +-# CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set +-# CONFIG_RTC_DRV_STK17TA8 is not set +-# CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set +-# CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set +-# CONFIG_RTC_DRV_V3020 is not set ++# CONFIG_AUXDISPLAY is not set + + # +-# on-CPU RTC drivers ++# Userspace I/O + # +-CONFIG_RTC_DRV_PARISC=y +-# CONFIG_DMADEVICES is not set +-# CONFIG_AUXDISPLAY is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -958,18 +879,19 @@ + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4_FS is not set + CONFIG_JBD=y ++# CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + # CONFIG_FS_POSIX_ACL is not set +-CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-CONFIG_DNOTIFY=y ++# 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=y + # CONFIG_FUSE_FS is not set +@@ -995,32 +917,35 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SYSFS=y + CONFIG_TMPFS=y + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set +-# CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++CONFIG_RAMFS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_HFSPLUS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set +-CONFIG_NETWORK_FILESYSTEMS=y ++ ++# ++# Network File Systems ++# + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y + # CONFIG_NFS_V3_ACL is not set +-CONFIG_ROOT_NFS=y ++# CONFIG_NFS_DIRECTIO is not set + CONFIG_NFSD=y + CONFIG_NFSD_V3=y + # CONFIG_NFSD_V3_ACL is not set ++CONFIG_NFSD_TCP=y ++CONFIG_ROOT_NFS=y + CONFIG_LOCKD=y + CONFIG_LOCKD_V4=y + CONFIG_EXPORTFS=y +@@ -1037,6 +962,10 @@ + # + # 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=m +@@ -1082,9 +1011,7 @@ + # Kernel hacking + # + # CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=1024 + CONFIG_MAGIC_SYSRQ=y + # CONFIG_UNUSED_SYMBOLS is not set + # CONFIG_DEBUG_FS is not set +@@ -1092,12 +1019,9 @@ + CONFIG_DEBUG_KERNEL=y + # CONFIG_DEBUG_SHIRQ is not set + CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set + # CONFIG_DEBUG_SLAB is not set + # CONFIG_DEBUG_RT_MUTEXES is not set + # CONFIG_RT_MUTEX_TESTER is not set +@@ -1109,29 +1033,10 @@ + CONFIG_DEBUG_BUGVERBOSE=y + # CONFIG_DEBUG_INFO is not set + # CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-CONFIG_DEBUG_MEMORY_INIT=y + # CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set ++CONFIG_FORCED_INLINING=y + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_BUILD_DOCSRC is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set + # CONFIG_DEBUG_RODATA is not set + + # +@@ -1139,108 +1044,52 @@ + # + # CONFIG_KEYS is not set + CONFIG_SECURITY=y +-# CONFIG_SECURITYFS is not set + # CONFIG_SECURITY_NETWORK is not set +-# CONFIG_SECURITY_PATH is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set +-CONFIG_SECURITY_DEFAULT_MMAP_MIN_ADDR=0 ++CONFIG_SECURITY_CAPABILITIES=y + CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y +-# CONFIG_CRYPTO_NULL is not set +-# CONFIG_CRYPTO_CRYPTD is not set +-# CONFIG_CRYPTO_AUTHENC is not set +-# CONFIG_CRYPTO_TEST is not set +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=y +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-# CONFIG_CRYPTO_ECB is not set +-# CONFIG_CRYPTO_PCBC is not set +- +-# +-# Hash modes +-# + # CONFIG_CRYPTO_HMAC is not set +- +-# +-# Digest +-# +-# CONFIG_CRYPTO_CRC32C is not set ++# CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_MD4 is not set + # CONFIG_CRYPTO_MD5 is not set +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set + # CONFIG_CRYPTO_SHA1 is not set + # CONFIG_CRYPTO_SHA256 is not set + # CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_TGR192 is not set + # CONFIG_CRYPTO_WP512 is not set +- +-# +-# Ciphers +-# +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_ARC4 is not set ++# CONFIG_CRYPTO_TGR192 is not set ++# CONFIG_CRYPTO_ECB is not set ++CONFIG_CRYPTO_CBC=y ++# CONFIG_CRYPTO_PCBC is not set ++# CONFIG_CRYPTO_CRYPTD is not set ++# CONFIG_CRYPTO_DES is not set ++# CONFIG_CRYPTO_FCRYPT is not set + # CONFIG_CRYPTO_BLOWFISH is not set +-# CONFIG_CRYPTO_CAMELLIA is not set ++# CONFIG_CRYPTO_TWOFISH is not set ++# CONFIG_CRYPTO_SERPENT is not set ++# CONFIG_CRYPTO_AES is not set + # CONFIG_CRYPTO_CAST5 is not set + # CONFIG_CRYPTO_CAST6 is not set +-# CONFIG_CRYPTO_DES is not set +-# CONFIG_CRYPTO_FCRYPT is not set ++# CONFIG_CRYPTO_TEA is not set ++# CONFIG_CRYPTO_ARC4 is not set + # CONFIG_CRYPTO_KHAZAD is not set ++# CONFIG_CRYPTO_ANUBIS is not set + # CONFIG_CRYPTO_SEED is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_TWOFISH is not set +- +-# +-# Compression +-# + # CONFIG_CRYPTO_DEFLATE is not set +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set ++# CONFIG_CRYPTO_MICHAEL_MIC is not set ++# CONFIG_CRYPTO_CRC32C is not set ++# CONFIG_CRYPTO_CAMELLIA is not set ++# CONFIG_CRYPTO_TEST is not set ++# CONFIG_CRYPTO_AUTHENC is not set + CONFIG_CRYPTO_HW=y +-# CONFIG_CRYPTO_DEV_HIFN_795X is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/configs/c3000_defconfig linux-2.6.29-rc3.owrt/arch/parisc/configs/c3000_defconfig +--- linux-2.6.29.owrt/arch/parisc/configs/c3000_defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/configs/c3000_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 01:32:58 2009 ++# Linux kernel version: 2.6.23 ++# Fri Oct 12 21:24:00 2007 + # + CONFIG_PARISC=y + CONFIG_MMU=y +@@ -33,29 +33,16 @@ + # CONFIG_POSIX_MQUEUE is not set + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set ++# CONFIG_USER_NS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=16 +-# CONFIG_GROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +-# CONFIG_NAMESPACES is not set + # CONFIG_BLK_DEV_INITRD is not set + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y + CONFIG_EMBEDDED=y + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +@@ -67,39 +54,29 @@ + CONFIG_ELF_CORE=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y +-CONFIG_COMPAT_BRK=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-CONFIG_PROFILING=y +-CONFIG_TRACEPOINTS=y +-# CONFIG_MARKERS is not set +-CONFIG_OPROFILE=m +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + CONFIG_MODULE_UNLOAD=y + CONFIG_MODULE_FORCE_UNLOAD=y + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set + + # + # IO Schedulers +@@ -113,7 +90,6 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" +-# CONFIG_FREEZER is not set + + # + # Processor type and features +@@ -139,19 +115,17 @@ + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK 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_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPLIT_PTLOCK_CPUS=4 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + # CONFIG_HPUX is not set + + # +@@ -160,13 +134,14 @@ + # CONFIG_GSC is not set + CONFIG_PCI=y + # CONFIG_ARCH_SUPPORTS_MSI is not set +-CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + CONFIG_PCI_LBA=y + CONFIG_IOSAPIC=y + CONFIG_IOMMU_SBA=y +-CONFIG_IOMMU_HELPER=y ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# + # CONFIG_PCCARD is not set + # CONFIG_HOTPLUG_PCI is not set + +@@ -183,15 +158,16 @@ + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + # CONFIG_BINFMT_MISC is not set ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -199,8 +175,6 @@ + CONFIG_XFRM_USER=m + # CONFIG_XFRM_SUB_POLICY is not set + # CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set +-CONFIG_XFRM_IPCOMP=m + CONFIG_NET_KEY=m + # CONFIG_NET_KEY_MIGRATE is not set + CONFIG_INET=y +@@ -230,6 +204,7 @@ + CONFIG_TCP_CONG_CUBIC=y + CONFIG_DEFAULT_TCP_CONG="cubic" + # CONFIG_TCP_MD5SIG is not set ++# CONFIG_IP_VS is not set + CONFIG_IPV6=m + # CONFIG_IPV6_PRIVACY is not set + # CONFIG_IPV6_ROUTER_PREF is not set +@@ -245,34 +220,29 @@ + CONFIG_INET6_XFRM_MODE_BEET=m + # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set + CONFIG_IPV6_SIT=m +-CONFIG_IPV6_NDISC_NODETYPE=y + CONFIG_IPV6_TUNNEL=m + # CONFIG_IPV6_MULTIPLE_TABLES is not set +-# CONFIG_IPV6_MROUTE is not set + # CONFIG_NETWORK_SECMARK is not set + CONFIG_NETFILTER=y + CONFIG_NETFILTER_DEBUG=y +-CONFIG_NETFILTER_ADVANCED=y + + # + # Core Netfilter Configuration + # +-# CONFIG_NETFILTER_NETLINK_QUEUE is not set +-# CONFIG_NETFILTER_NETLINK_LOG is not set ++# CONFIG_NETFILTER_NETLINK is not set ++# CONFIG_NF_CONNTRACK_ENABLED is not set + # CONFIG_NF_CONNTRACK is not set + # CONFIG_NETFILTER_XTABLES is not set +-# CONFIG_IP_VS is not set + + # + # IP: Netfilter Configuration + # +-# CONFIG_NF_DEFRAG_IPV4 is not set + CONFIG_IP_NF_QUEUE=m + # CONFIG_IP_NF_IPTABLES is not set + # CONFIG_IP_NF_ARPTABLES is not set + + # +-# IPv6: Netfilter Configuration ++# IPv6: Netfilter Configuration (EXPERIMENTAL) + # + # CONFIG_IP6_NF_QUEUE is not set + # CONFIG_IP6_NF_IPTABLES is not set +@@ -281,7 +251,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + # CONFIG_LLC2 is not set +@@ -291,26 +260,28 @@ + # 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_DCB is not set + + # + # Network testing + # + CONFIG_NET_PKTGEN=m + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set + # CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set +-# CONFIG_LIB80211 is not set + # CONFIG_MAC80211 is not set +-# CONFIG_WIMAX is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -325,8 +296,6 @@ + # CONFIG_STANDALONE is not set + # CONFIG_PREVENT_FIRMWARE_BUILD is not set + CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" + # CONFIG_DEBUG_DRIVER is not set + # CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set +@@ -347,62 +316,59 @@ + # CONFIG_BLK_DEV_RAM is not set + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_HP_ILO is not set +-# CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_93CX6 is not set +-CONFIG_HAVE_IDE=y + CONFIG_IDE=y ++CONFIG_IDE_MAX_HWIFS=4 ++CONFIG_BLK_DEV_IDE=y + + # +-# Please see Documentation/ide/ide.txt for help/info on IDE drives ++# Please see Documentation/ide.txt for help/info on IDE drives + # +-CONFIG_IDE_ATAPI=y + # CONFIG_BLK_DEV_IDE_SATA is not set +-CONFIG_IDE_GD=y +-CONFIG_IDE_GD_ATA=y +-# CONFIG_IDE_GD_ATAPI is not set ++CONFIG_BLK_DEV_IDEDISK=m ++# CONFIG_IDEDISK_MULTI_MODE is not set + CONFIG_BLK_DEV_IDECD=y +-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y + # CONFIG_BLK_DEV_IDETAPE is not set ++# CONFIG_BLK_DEV_IDEFLOPPY is not set ++CONFIG_BLK_DEV_IDESCSI=y + # CONFIG_IDE_TASK_IOCTL is not set + CONFIG_IDE_PROC_FS=y + + # + # IDE chipset support/bugfixes + # ++CONFIG_IDE_GENERIC=y + # CONFIG_BLK_DEV_PLATFORM is not set +-CONFIG_BLK_DEV_IDEDMA_SFF=y + + # + # PCI IDE chipsets support + # + CONFIG_BLK_DEV_IDEPCI=y ++CONFIG_IDEPCI_SHARE_IRQ=y + CONFIG_IDEPCI_PCIBUS_ORDER=y ++# CONFIG_BLK_DEV_OFFBOARD is not set + # CONFIG_BLK_DEV_GENERIC is not set + # CONFIG_BLK_DEV_OPTI621 is not set + CONFIG_BLK_DEV_IDEDMA_PCI=y ++# CONFIG_BLK_DEV_IDEDMA_FORCED is not set ++CONFIG_IDEDMA_ONLYDISK=y + # CONFIG_BLK_DEV_AEC62XX is not set + # CONFIG_BLK_DEV_ALI15X3 is not set + # CONFIG_BLK_DEV_AMD74XX is not set + # CONFIG_BLK_DEV_CMD64X is not set + # CONFIG_BLK_DEV_TRIFLEX is not set ++# CONFIG_BLK_DEV_CY82C693 is not set + # CONFIG_BLK_DEV_CS5520 is not set + # CONFIG_BLK_DEV_CS5530 is not set ++# CONFIG_BLK_DEV_HPT34X is not set + # CONFIG_BLK_DEV_HPT366 is not set + # CONFIG_BLK_DEV_JMICRON is not set + # CONFIG_BLK_DEV_SC1200 is not set + # CONFIG_BLK_DEV_PIIX is not set +-# CONFIG_BLK_DEV_IT8172 is not set + # CONFIG_BLK_DEV_IT8213 is not set + # CONFIG_BLK_DEV_IT821X is not set + CONFIG_BLK_DEV_NS87415=y +@@ -414,7 +380,10 @@ + # CONFIG_BLK_DEV_TRM290 is not set + # CONFIG_BLK_DEV_VIA82CXXX is not set + # CONFIG_BLK_DEV_TC86C001 is not set ++# CONFIG_IDE_ARM is not set + CONFIG_BLK_DEV_IDEDMA=y ++# CONFIG_IDEDMA_IVB is not set ++# CONFIG_BLK_DEV_HD is not set + + # + # SCSI device support +@@ -453,10 +422,8 @@ + # CONFIG_SCSI_FC_ATTRS is not set + CONFIG_SCSI_ISCSI_ATTRS=m + # CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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 +@@ -466,20 +433,16 @@ + # CONFIG_SCSI_AIC79XX is not set + # CONFIG_SCSI_AIC94XX is not set + # CONFIG_SCSI_DPT_I2O is not set +-# CONFIG_SCSI_ADVANSYS 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_LIBFC is not set +-# CONFIG_FCOE 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_MVSAS is not set + # CONFIG_SCSI_STEX is not set + CONFIG_SCSI_SYM53C8XX_2=y + CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 +@@ -495,11 +458,9 @@ + # CONFIG_SCSI_NSP32 is not set + CONFIG_SCSI_DEBUG=m + # CONFIG_SCSI_SRP is not set +-# CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set + CONFIG_MD=y + CONFIG_BLK_DEV_MD=y +-CONFIG_MD_AUTODETECT=y + CONFIG_MD_LINEAR=y + CONFIG_MD_RAID0=y + CONFIG_MD_RAID1=y +@@ -514,8 +475,13 @@ + CONFIG_DM_MIRROR=m + CONFIG_DM_ZERO=m + CONFIG_DM_MULTIPATH=m ++# CONFIG_DM_MULTIPATH_EMC is not set ++# CONFIG_DM_MULTIPATH_RDAC is not set + # CONFIG_DM_DELAY is not set +-# CONFIG_DM_UEVENT is not set ++ ++# ++# Fusion MPT device support ++# + CONFIG_FUSION=y + CONFIG_FUSION_SPI=m + # CONFIG_FUSION_FC is not set +@@ -527,40 +493,20 @@ + # + # IEEE 1394 (FireWire) support + # +- +-# +-# Enable only one of the two stacks, unless you know what you are doing +-# + # CONFIG_FIREWIRE is not set + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + CONFIG_DUMMY=m + CONFIG_BONDING=m + # CONFIG_MACVLAN is not set + # CONFIG_EQUALIZER is not set + CONFIG_TUN=m + # CONFIG_VETH is not set ++# CONFIG_IP1000 is not set + # CONFIG_ARCNET is not set +-CONFIG_PHYLIB=m +- +-# +-# MII PHY device drivers +-# +-# CONFIG_MARVELL_PHY is not set +-# CONFIG_DAVICOM_PHY is not set +-# CONFIG_QSEMI_PHY is not set +-# CONFIG_LXT_PHY is not set +-# CONFIG_CICADA_PHY is not set +-# CONFIG_VITESSE_PHY is not set +-# CONFIG_SMSC_PHY is not set +-# CONFIG_BROADCOM_PHY is not set +-# CONFIG_ICPLUS_PHY is not set +-# CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set +-# CONFIG_MDIO_BITBANG is not set ++# CONFIG_PHYLIB is not set + CONFIG_NET_ETHERNET=y + CONFIG_MII=m + # CONFIG_HAPPYMEAL is not set +@@ -582,38 +528,33 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR 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_EEPRO100 is not set + CONFIG_E100=m + # 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_R6040 is not set + # CONFIG_SIS900 is not set + # CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set + # CONFIG_SUNDANCE is not set + # CONFIG_TLAN is not set + # CONFIG_VIA_RHINE is not set + # CONFIG_SC92031 is not set +-# CONFIG_ATL2 is not set + CONFIG_NETDEV_1000=y + CONFIG_ACENIC=m + # CONFIG_ACENIC_OMIT_TIGON_I is not set + # CONFIG_DL2K is not set + CONFIG_E1000=m ++# CONFIG_E1000_NAPI is not set ++# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set + # CONFIG_E1000E is not set +-# CONFIG_IP1000 is not set +-# CONFIG_IGB is not set + # CONFIG_NS83820 is not set + # CONFIG_HAMACHI is not set + # CONFIG_YELLOWFIN is not set +@@ -621,31 +562,23 @@ + # 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=m + # CONFIG_BNX2 is not set + # CONFIG_QLA3XXX is not set + # CONFIG_ATL1 is not set +-# CONFIG_ATL1E is not set +-# CONFIG_ATL1C is not set +-# CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y + # CONFIG_CHELSIO_T3 is not set +-# CONFIG_ENIC is not set + # CONFIG_IXGBE is not set + # CONFIG_IXGB is not set + # CONFIG_S2IO is not set + # CONFIG_MYRI10GE is not set + # CONFIG_NETXEN_NIC is not set + # CONFIG_NIU is not set +-# CONFIG_MLX4_EN is not set + # CONFIG_MLX4_CORE is not set + # CONFIG_TEHUTI is not set +-# CONFIG_BNX2X is not set +-# CONFIG_QLGE is not set +-# CONFIG_SFC is not set + # CONFIG_TR is not set + + # +@@ -653,11 +586,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + + # + # USB Network Adapters +@@ -666,6 +594,7 @@ + # CONFIG_USB_KAWETH is not set + # CONFIG_USB_PEGASUS is not set + # CONFIG_USB_RTL8150 is not set ++# CONFIG_USB_USBNET_MII is not set + # CONFIG_USB_USBNET is not set + # CONFIG_WAN is not set + # CONFIG_FDDI is not set +@@ -683,6 +612,7 @@ + # CONFIG_SLIP is not set + CONFIG_SLHC=m + # CONFIG_NET_FC 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 +@@ -704,6 +634,7 @@ + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1200 + # CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_TSDEV is not set + # CONFIG_INPUT_EVDEV is not set + # CONFIG_INPUT_EVBUG is not set + +@@ -721,7 +652,6 @@ + # CONFIG_MOUSE_PS2 is not set + # CONFIG_MOUSE_SERIAL is not set + # CONFIG_MOUSE_APPLETOUCH is not set +-# CONFIG_MOUSE_BCM5974 is not set + # CONFIG_MOUSE_VSXXXAA is not set + # CONFIG_INPUT_JOYSTICK is not set + # CONFIG_INPUT_TABLET is not set +@@ -742,13 +672,10 @@ + # Character devices + # + CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y + CONFIG_VT_CONSOLE=y + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y + # CONFIG_SERIAL_NONSTANDARD is not set +-# CONFIG_NOZOMI is not set + + # + # Serial drivers +@@ -772,77 +699,72 @@ + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 + # CONFIG_IPMI_HANDLER is not set ++# CONFIG_WATCHDOG is not set + # CONFIG_HW_RANDOM is not set ++CONFIG_GEN_RTC=y ++CONFIG_GEN_RTC_X=y + # CONFIG_R3964 is not set + # CONFIG_APPLICOM is not set ++# CONFIG_AGP is not set ++# CONFIG_DRM is not set + CONFIG_RAW_DRIVER=y + CONFIG_MAX_RAW_DEVS=256 + # CONFIG_TCG_TPM is not set + CONFIG_DEVPORT=y + # CONFIG_I2C is not set ++ ++# ++# SPI support ++# + # CONFIG_SPI is not set ++# CONFIG_SPI_MASTER is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + # CONFIG_HWMON is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices + # +- +-# +-# Multimedia core support +-# + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set ++# CONFIG_DAB is not set + + # +-# Multimedia drivers ++# Graphics support + # +-# CONFIG_DAB is not set ++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # +-# Graphics support ++# Display device support + # +-# CONFIG_AGP is not set +-# CONFIG_DRM is not set ++# CONFIG_DISPLAY_SUPPORT is not set + # CONFIG_VGASTATE is not set + CONFIG_VIDEO_OUTPUT_CONTROL=m + CONFIG_FB=y + # CONFIG_FIRMWARE_EDID is not set + # CONFIG_FB_DDC is not set +-# CONFIG_FB_BOOT_VESA_SUPPORT is not set + CONFIG_FB_CFB_FILLRECT=y + CONFIG_FB_CFB_COPYAREA=y + CONFIG_FB_CFB_IMAGEBLIT=y +-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set + # CONFIG_FB_SYS_FILLRECT is not set + # CONFIG_FB_SYS_COPYAREA is not set + # CONFIG_FB_SYS_IMAGEBLIT is not set +-# CONFIG_FB_FOREIGN_ENDIAN is not set + # CONFIG_FB_SYS_FOPS is not set ++CONFIG_FB_DEFERRED_IO=y + # CONFIG_FB_SVGALIB is not set + # CONFIG_FB_MACMODES is not set + # CONFIG_FB_BACKLIGHT is not set +@@ -868,7 +790,6 @@ + # CONFIG_FB_S3 is not set + # CONFIG_FB_SAVAGE is not set + # CONFIG_FB_SIS is not set +-# CONFIG_FB_VIA is not set + # CONFIG_FB_NEOMAGIC is not set + # CONFIG_FB_KYRO is not set + # CONFIG_FB_3DFX is not set +@@ -877,16 +798,7 @@ + # CONFIG_FB_TRIDENT is not set + # CONFIG_FB_ARK is not set + # CONFIG_FB_PM3 is not set +-# CONFIG_FB_CARMINE is not set + # CONFIG_FB_VIRTUAL is not set +-# CONFIG_FB_METRONOME is not set +-# CONFIG_FB_MB862XX is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +- +-# +-# Display device support +-# +-# CONFIG_DISPLAY_SUPPORT is not set + + # + # Console display driver support +@@ -906,8 +818,15 @@ + # CONFIG_LOGO_LINUX_VGA16 is not set + # CONFIG_LOGO_LINUX_CLUT224 is not set + CONFIG_LOGO_PARISC_CLUT224=y ++ ++# ++# Sound ++# + CONFIG_SOUND=y +-CONFIG_SOUND_OSS_CORE=y ++ ++# ++# Advanced Linux Sound Architecture ++# + CONFIG_SND=y + CONFIG_SND_TIMER=y + CONFIG_SND_PCM=y +@@ -923,16 +842,20 @@ + CONFIG_SND_VERBOSE_PROCFS=y + # CONFIG_SND_VERBOSE_PRINTK is not set + # CONFIG_SND_DEBUG is not set +-CONFIG_SND_VMASTER=y ++ ++# ++# Generic devices ++# + CONFIG_SND_AC97_CODEC=y +-CONFIG_SND_DRIVERS=y + # CONFIG_SND_DUMMY is not set + # CONFIG_SND_VIRMIDI is not set + # CONFIG_SND_MTPAV is not set + # CONFIG_SND_SERIAL_U16550 is not set + # CONFIG_SND_MPU401 is not set +-# CONFIG_SND_AC97_POWER_SAVE is not set +-CONFIG_SND_PCI=y ++ ++# ++# PCI devices ++# + CONFIG_SND_AD1889=y + # CONFIG_SND_ALS300 is not set + # CONFIG_SND_ALI5451 is not set +@@ -941,12 +864,10 @@ + # CONFIG_SND_AU8810 is not set + # CONFIG_SND_AU8820 is not set + # CONFIG_SND_AU8830 is not set +-# CONFIG_SND_AW2 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_OXYGEN is not set + # CONFIG_SND_CS4281 is not set + # CONFIG_SND_CS46XX is not set + # CONFIG_SND_DARLA20 is not set +@@ -971,7 +892,6 @@ + # CONFIG_SND_HDA_INTEL is not set + # CONFIG_SND_HDSP is not set + # CONFIG_SND_HDSPM is not set +-# CONFIG_SND_HIFIER is not set + # CONFIG_SND_ICE1712 is not set + # CONFIG_SND_ICE1724 is not set + # CONFIG_SND_INTEL8X0 is not set +@@ -989,59 +909,47 @@ + # CONFIG_SND_TRIDENT is not set + # CONFIG_SND_VIA82XX is not set + # CONFIG_SND_VIA82XX_MODEM is not set +-# CONFIG_SND_VIRTUOSO is not set + # CONFIG_SND_VX222 is not set + # CONFIG_SND_YMFPCI is not set +-CONFIG_SND_USB=y ++# CONFIG_SND_AC97_POWER_SAVE is not set ++ ++# ++# USB devices ++# + # CONFIG_SND_USB_AUDIO is not set + # CONFIG_SND_USB_CAIAQ is not set ++ ++# ++# System on Chip audio support ++# + # CONFIG_SND_SOC is not set ++ ++# ++# SoC Audio support for SuperH ++# ++ ++# ++# Open Sound System ++# + # CONFIG_SOUND_PRIME is not set + CONFIG_AC97_BUS=y + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + # CONFIG_HID_DEBUG is not set +-# CONFIG_HIDRAW is not set + + # + # USB Input Devices + # + CONFIG_USB_HID=y +-# CONFIG_HID_PID is not set ++# CONFIG_USB_HIDINPUT_POWERBOOK is not set ++# CONFIG_HID_FF is not set + CONFIG_USB_HIDDEV=y +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y +-# CONFIG_HID_A4TECH is not set +-# CONFIG_HID_APPLE is not set +-# CONFIG_HID_BELKIN is not set +-# CONFIG_HID_CHERRY is not set +-# CONFIG_HID_CHICONY is not set +-# CONFIG_HID_CYPRESS is not set +-# CONFIG_HID_EZKEY is not set +-# CONFIG_HID_GYRATION is not set +-# CONFIG_HID_LOGITECH is not set +-# CONFIG_HID_MICROSOFT is not set +-# CONFIG_HID_MONTEREY is not set +-# CONFIG_HID_NTRIG is not set +-# CONFIG_HID_PANTHERLORD is not set +-# CONFIG_HID_PETALYNX is not set +-# CONFIG_HID_SAMSUNG is not set +-# CONFIG_HID_SONY is not set +-# CONFIG_HID_SUNPLUS is not set +-# CONFIG_GREENASIA_FF is not set +-# CONFIG_HID_TOPSEED is not set +-# CONFIG_THRUSTMASTER_FF is not set +-# CONFIG_ZEROPLUS_FF is not set + CONFIG_USB_SUPPORT=y + CONFIG_USB_ARCH_HAS_HCD=y + CONFIG_USB_ARCH_HAS_OHCI=y + CONFIG_USB_ARCH_HAS_EHCI=y + CONFIG_USB=y + CONFIG_USB_DEBUG=y +-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + + # + # Miscellaneous USB options +@@ -1050,20 +958,12 @@ + CONFIG_USB_DEVICE_CLASS=y + # CONFIG_USB_DYNAMIC_MINORS is not set + # CONFIG_USB_OTG is not set +-# CONFIG_USB_OTG_WHITELIST is not set +-# CONFIG_USB_OTG_BLACKLIST_HUB is not set +-# CONFIG_USB_MON is not set +-# CONFIG_USB_WUSB is not set +-# CONFIG_USB_WUSB_CBAF is not set + + # + # USB Host Controller Drivers + # +-# CONFIG_USB_C67X00_HCD is not set + # CONFIG_USB_EHCI_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set +-# CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=y + # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set + # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +@@ -1071,37 +971,32 @@ + # CONFIG_USB_UHCI_HCD is not set + # CONFIG_USB_SL811_HCD is not set + # CONFIG_USB_R8A66597_HCD is not set +-# CONFIG_USB_WHCI_HCD is not set +-# CONFIG_USB_HWA_HCD is not set + + # + # USB Device Class drivers + # + # CONFIG_USB_ACM is not set + CONFIG_USB_PRINTER=m +-# CONFIG_USB_WDM is not set +-# CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# may also be needed; see USB_STORAGE Help for more information + # + CONFIG_USB_STORAGE=m + # CONFIG_USB_STORAGE_DEBUG is not set + # 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=y + CONFIG_USB_STORAGE_USBAT=y + CONFIG_USB_STORAGE_SDDR09=y + CONFIG_USB_STORAGE_SDDR55=y + CONFIG_USB_STORAGE_JUMPSHOT=y + # CONFIG_USB_STORAGE_ALAUDA is not set +-# CONFIG_USB_STORAGE_ONETOUCH is not set + # CONFIG_USB_STORAGE_KARMA is not set +-# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set + # CONFIG_USB_LIBUSUAL is not set + + # +@@ -1109,10 +1004,15 @@ + # + CONFIG_USB_MDC800=m + CONFIG_USB_MICROTEK=m ++# CONFIG_USB_MON is not set + + # + # USB port drivers + # ++ ++# ++# USB Serial Converter support ++# + # CONFIG_USB_SERIAL is not set + + # +@@ -1121,7 +1021,7 @@ + # CONFIG_USB_EMI62 is not set + # CONFIG_USB_EMI26 is not set + # CONFIG_USB_ADUTUX is not set +-# CONFIG_USB_SEVSEG is not set ++# CONFIG_USB_AUERSWALD is not set + # CONFIG_USB_RIO500 is not set + CONFIG_USB_LEGOTOWER=m + # CONFIG_USB_LCD is not set +@@ -1137,59 +1037,37 @@ + # CONFIG_USB_TRANCEVIBRATOR is not set + # CONFIG_USB_IOWARRIOR is not set + # CONFIG_USB_TEST is not set +-# CONFIG_USB_ISIGHTFW is not set +-# CONFIG_USB_VST is not set +-# CONFIG_USB_GADGET is not set + + # +-# OTG and related infrastructure ++# USB DSL modem support + # +-# CONFIG_UWB is not set ++ ++# ++# USB Gadget Support ++# ++# CONFIG_USB_GADGET is not set + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set +-CONFIG_RTC_LIB=y +-CONFIG_RTC_CLASS=y +-CONFIG_RTC_HCTOSYS=y +-CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +-# CONFIG_RTC_DEBUG is not set ++# CONFIG_RTC_CLASS is not set + + # +-# RTC interfaces ++# DMA Engine support + # +-CONFIG_RTC_INTF_SYSFS=y +-CONFIG_RTC_INTF_PROC=y +-CONFIG_RTC_INTF_DEV=y +-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +-# CONFIG_RTC_DRV_TEST is not set ++# CONFIG_DMA_ENGINE is not set + + # +-# SPI RTC drivers ++# DMA Clients + # + + # +-# Platform RTC drivers ++# DMA Devices + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set +-# CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set +-# CONFIG_RTC_DRV_STK17TA8 is not set +-# CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set +-# CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set +-# CONFIG_RTC_DRV_V3020 is not set + + # +-# on-CPU RTC drivers ++# Userspace I/O + # +-CONFIG_RTC_DRV_PARISC=y +-# CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -1199,24 +1077,25 @@ + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4_FS is not set ++# CONFIG_EXT4DEV_FS is not set + CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + # CONFIG_FS_POSIX_ACL is not set +-CONFIG_FILE_LOCKING=y + CONFIG_XFS_FS=m + # CONFIG_XFS_QUOTA is not set ++# CONFIG_XFS_SECURITY is not set + # CONFIG_XFS_POSIX_ACL is not set + # CONFIG_XFS_RT is not set +-# CONFIG_XFS_DEBUG is not set ++# CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set +-CONFIG_DNOTIFY=y ++# 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=y + # CONFIG_FUSE_FS is not set +@@ -1245,13 +1124,16 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=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 +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -1260,31 +1142,32 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set +-CONFIG_NETWORK_FILESYSTEMS=y ++ ++# ++# Network File Systems ++# + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y + # CONFIG_NFS_V3_ACL is not set + # CONFIG_NFS_V4 is not set +-CONFIG_ROOT_NFS=y ++# CONFIG_NFS_DIRECTIO is not set + CONFIG_NFSD=y + CONFIG_NFSD_V3=y + # CONFIG_NFSD_V3_ACL is not set + # CONFIG_NFSD_V4 is not set ++# CONFIG_NFSD_TCP is not set ++CONFIG_ROOT_NFS=y + CONFIG_LOCKD=y + CONFIG_LOCKD_V4=y + CONFIG_EXPORTFS=y + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y +-# CONFIG_SUNRPC_REGISTER_V4 is not set ++# CONFIG_SUNRPC_BIND34 is not set + # CONFIG_RPCSEC_GSS_KRB5 is not set + # CONFIG_RPCSEC_GSS_SPKM3 is not set + # CONFIG_SMB_FS is not set +@@ -1298,6 +1181,10 @@ + # + # 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=m +@@ -1338,28 +1225,33 @@ + # CONFIG_NLS_KOI8_R is not set + # CONFIG_NLS_KOI8_U is not set + CONFIG_NLS_UTF8=m ++ ++# ++# Distributed Lock Manager ++# + # CONFIG_DLM is not set + + # ++# Profiling support ++# ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++ ++# + # Kernel hacking + # + # CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=1024 + CONFIG_MAGIC_SYSRQ=y + # CONFIG_UNUSED_SYMBOLS is not set +-CONFIG_DEBUG_FS=y ++# CONFIG_DEBUG_FS is not set + CONFIG_HEADERS_CHECK=y + CONFIG_DEBUG_KERNEL=y + # CONFIG_DEBUG_SHIRQ is not set + CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set + # CONFIG_DEBUG_SLAB is not set + # CONFIG_DEBUG_RT_MUTEXES is not set + # CONFIG_RT_MUTEX_TESTER is not set +@@ -1371,33 +1263,10 @@ + # CONFIG_DEBUG_BUGVERBOSE is not set + # CONFIG_DEBUG_INFO is not set + # CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-# CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set ++CONFIG_FORCED_INLINING=y + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +-CONFIG_NOP_TRACER=y +-CONFIG_RING_BUFFER=y +-CONFIG_TRACING=y +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_FTRACE_STARTUP_TEST is not set +-# CONFIG_BUILD_DOCSRC is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set + CONFIG_DEBUG_RODATA=y + + # +@@ -1405,110 +1274,54 @@ + # + # CONFIG_KEYS is not set + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=m +-CONFIG_CRYPTO_ALGAPI2=m +-CONFIG_CRYPTO_AEAD2=m + CONFIG_CRYPTO_BLKCIPHER=m +-CONFIG_CRYPTO_BLKCIPHER2=m +-CONFIG_CRYPTO_HASH=m +-CONFIG_CRYPTO_HASH2=m +-CONFIG_CRYPTO_RNG2=m + CONFIG_CRYPTO_MANAGER=m +-CONFIG_CRYPTO_MANAGER2=m +-# CONFIG_CRYPTO_GF128MUL is not set +-CONFIG_CRYPTO_NULL=m +-# CONFIG_CRYPTO_CRYPTD is not set +-# CONFIG_CRYPTO_AUTHENC is not set +-CONFIG_CRYPTO_TEST=m +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=m +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-# CONFIG_CRYPTO_ECB is not set +-# CONFIG_CRYPTO_LRW is not set +-# CONFIG_CRYPTO_PCBC is not set +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# + # CONFIG_CRYPTO_HMAC is not set + # CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-CONFIG_CRYPTO_CRC32C=m ++CONFIG_CRYPTO_NULL=m + # CONFIG_CRYPTO_MD4 is not set + CONFIG_CRYPTO_MD5=m +-# CONFIG_CRYPTO_MICHAEL_MIC is not set +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set + # CONFIG_CRYPTO_SHA1 is not set + # CONFIG_CRYPTO_SHA256 is not set + # CONFIG_CRYPTO_SHA512 is not set +-# CONFIG_CRYPTO_TGR192 is not set + # CONFIG_CRYPTO_WP512 is not set +- +-# +-# Ciphers +-# +-# CONFIG_CRYPTO_AES is not set +-# CONFIG_CRYPTO_ANUBIS is not set +-# CONFIG_CRYPTO_ARC4 is not set ++# CONFIG_CRYPTO_TGR192 is not set ++# CONFIG_CRYPTO_GF128MUL is not set ++# CONFIG_CRYPTO_ECB is not set ++CONFIG_CRYPTO_CBC=m ++# CONFIG_CRYPTO_PCBC is not set ++# CONFIG_CRYPTO_LRW is not set ++# CONFIG_CRYPTO_XTS is not set ++# CONFIG_CRYPTO_CRYPTD is not set ++CONFIG_CRYPTO_DES=m ++# CONFIG_CRYPTO_FCRYPT is not set + CONFIG_CRYPTO_BLOWFISH=m +-# CONFIG_CRYPTO_CAMELLIA is not set ++# CONFIG_CRYPTO_TWOFISH is not set ++# CONFIG_CRYPTO_SERPENT is not set ++# CONFIG_CRYPTO_AES is not set + # CONFIG_CRYPTO_CAST5 is not set + # CONFIG_CRYPTO_CAST6 is not set +-CONFIG_CRYPTO_DES=m +-# CONFIG_CRYPTO_FCRYPT is not set ++# CONFIG_CRYPTO_TEA is not set ++# CONFIG_CRYPTO_ARC4 is not set + # CONFIG_CRYPTO_KHAZAD is not set +-# CONFIG_CRYPTO_SALSA20 is not set ++# CONFIG_CRYPTO_ANUBIS is not set + # CONFIG_CRYPTO_SEED is not set +-# CONFIG_CRYPTO_SERPENT is not set +-# CONFIG_CRYPTO_TEA is not set +-# CONFIG_CRYPTO_TWOFISH is not set +- +-# +-# Compression +-# + CONFIG_CRYPTO_DEFLATE=m +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set ++# CONFIG_CRYPTO_MICHAEL_MIC is not set ++CONFIG_CRYPTO_CRC32C=m ++# CONFIG_CRYPTO_CAMELLIA is not set ++CONFIG_CRYPTO_TEST=m ++# CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_HW is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + CONFIG_CRC_CCITT=m + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/configs/default_defconfig linux-2.6.29-rc3.owrt/arch/parisc/configs/default_defconfig +--- linux-2.6.29.owrt/arch/parisc/configs/default_defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/configs/default_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 01:32:59 2009 ++# Linux kernel version: 2.6.23 ++# Fri Oct 12 20:54:57 2007 + # + CONFIG_PARISC=y + CONFIG_MMU=y +@@ -33,35 +33,17 @@ + CONFIG_POSIX_MQUEUE=y + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set ++# CONFIG_USER_NS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=16 +-# CONFIG_GROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y +-CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +-CONFIG_NAMESPACES=y +-# CONFIG_UTS_NS is not set +-# CONFIG_IPC_NS is not set +-# CONFIG_USER_NS is not set +-# CONFIG_PID_NS is not set +-# CONFIG_NET_NS is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + CONFIG_CC_OPTIMIZE_FOR_SIZE=y + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y + # CONFIG_EMBEDDED is not set + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y +@@ -73,39 +55,29 @@ + CONFIG_ELF_CORE=y + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y +-CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-CONFIG_PCI_QUIRKS=y +-CONFIG_COMPAT_BRK=y + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set +-CONFIG_PROFILING=y +-CONFIG_TRACEPOINTS=y +-# CONFIG_MARKERS is not set +-CONFIG_OPROFILE=m +-CONFIG_HAVE_OPROFILE=y +-# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +-CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y +-# CONFIG_MODULE_FORCE_LOAD is not set + CONFIG_MODULE_UNLOAD=y + CONFIG_MODULE_FORCE_UNLOAD=y + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set +-# CONFIG_BLK_DEV_INTEGRITY is not set + + # + # IO Schedulers +@@ -119,7 +91,6 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" +-# CONFIG_FREEZER is not set + + # + # Processor type and features +@@ -143,19 +114,17 @@ + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=250 +-# CONFIG_SCHED_HRTICK 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_PAGEFLAGS_EXTENDED=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPLIT_PTLOCK_CPUS=4096 +-# CONFIG_PHYS_ADDR_T_64BIT is not set ++# CONFIG_RESOURCES_64BIT is not set + CONFIG_ZONE_DMA_FLAG=0 + CONFIG_VIRT_TO_BUS=y +-CONFIG_UNEVICTABLE_LRU=y + # CONFIG_HPUX is not set + + # +@@ -171,14 +140,15 @@ + # CONFIG_ISA is not set + CONFIG_PCI=y + # CONFIG_ARCH_SUPPORTS_MSI is not set +-CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + CONFIG_GSC_DINO=y + CONFIG_PCI_LBA=y + CONFIG_IOSAPIC=y + CONFIG_IOMMU_SBA=y +-CONFIG_IOMMU_HELPER=y ++ ++# ++# PCCARD (PCMCIA/CardBus) support ++# + CONFIG_PCCARD=y + # CONFIG_PCMCIA_DEBUG is not set + CONFIG_PCMCIA=y +@@ -213,15 +183,16 @@ + # Executable file formats + # + CONFIG_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + CONFIG_BINFMT_MISC=m ++ ++# ++# Networking ++# + CONFIG_NET=y + + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -229,8 +200,6 @@ + CONFIG_XFRM_USER=m + # CONFIG_XFRM_SUB_POLICY is not set + # CONFIG_XFRM_MIGRATE is not set +-# CONFIG_XFRM_STATISTICS is not set +-CONFIG_XFRM_IPCOMP=y + CONFIG_NET_KEY=m + # CONFIG_NET_KEY_MIGRATE is not set + CONFIG_INET=y +@@ -276,10 +245,8 @@ + CONFIG_INET6_XFRM_MODE_BEET=y + # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set + CONFIG_IPV6_SIT=y +-CONFIG_IPV6_NDISC_NODETYPE=y + # CONFIG_IPV6_TUNNEL is not set + # CONFIG_IPV6_MULTIPLE_TABLES is not set +-# CONFIG_IPV6_MROUTE is not set + # CONFIG_NETWORK_SECMARK is not set + # CONFIG_NETFILTER is not set + # CONFIG_IP_DCCP is not set +@@ -287,7 +254,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + CONFIG_LLC=m +@@ -298,26 +264,28 @@ + # 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_DCB is not set + + # + # Network testing + # + # CONFIG_NET_PKTGEN is not set + # CONFIG_HAMRADIO is not set +-# CONFIG_CAN is not set + # CONFIG_IRDA is not set + # CONFIG_BT is not set + # CONFIG_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + # CONFIG_CFG80211 is not set +-CONFIG_WIRELESS_OLD_REGULATORY=y + # CONFIG_WIRELESS_EXT is not set +-# CONFIG_LIB80211 is not set + # CONFIG_MAC80211 is not set +-# CONFIG_WIMAX is not set ++# CONFIG_IEEE80211 is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -332,8 +300,6 @@ + # CONFIG_STANDALONE is not set + # CONFIG_PREVENT_FIRMWARE_BUILD is not set + CONFIG_FW_LOADER=y +-CONFIG_FIRMWARE_IN_KERNEL=y +-CONFIG_EXTRA_FIRMWARE="" + # CONFIG_DEBUG_DRIVER is not set + # CONFIG_DEBUG_DEVRES is not set + # CONFIG_SYS_HYPERVISOR is not set +@@ -364,68 +330,63 @@ + CONFIG_BLK_DEV_RAM=y + CONFIG_BLK_DEV_RAM_COUNT=16 + CONFIG_BLK_DEV_RAM_SIZE=6144 +-# CONFIG_BLK_DEV_XIP is not set ++CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 + # CONFIG_CDROM_PKTCDVD is not set + # CONFIG_ATA_OVER_ETH is not set +-# CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_HP_ILO is not set +-# CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_93CX6 is not set +-CONFIG_HAVE_IDE=y + CONFIG_IDE=y ++CONFIG_BLK_DEV_IDE=y + + # +-# Please see Documentation/ide/ide.txt for help/info on IDE drives ++# Please see Documentation/ide.txt for help/info on IDE drives + # +-CONFIG_IDE_ATAPI=y + # CONFIG_BLK_DEV_IDE_SATA is not set +-CONFIG_IDE_GD=y +-CONFIG_IDE_GD_ATA=y +-# CONFIG_IDE_GD_ATAPI is not set ++CONFIG_BLK_DEV_IDEDISK=y ++CONFIG_IDEDISK_MULTI_MODE=y + CONFIG_BLK_DEV_IDECS=y + # CONFIG_BLK_DEV_DELKIN is not set + CONFIG_BLK_DEV_IDECD=y +-CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y + # CONFIG_BLK_DEV_IDETAPE is not set ++# CONFIG_BLK_DEV_IDEFLOPPY is not set ++CONFIG_BLK_DEV_IDESCSI=y + # CONFIG_IDE_TASK_IOCTL is not set + CONFIG_IDE_PROC_FS=y + + # + # IDE chipset support/bugfixes + # ++CONFIG_IDE_GENERIC=y + # CONFIG_BLK_DEV_PLATFORM is not set +-CONFIG_BLK_DEV_IDEDMA_SFF=y + + # + # PCI IDE chipsets support + # + CONFIG_BLK_DEV_IDEPCI=y ++CONFIG_IDEPCI_SHARE_IRQ=y + CONFIG_IDEPCI_PCIBUS_ORDER=y + # CONFIG_BLK_DEV_OFFBOARD is not set + CONFIG_BLK_DEV_GENERIC=y + # CONFIG_BLK_DEV_OPTI621 is not set + CONFIG_BLK_DEV_IDEDMA_PCI=y ++# CONFIG_BLK_DEV_IDEDMA_FORCED is not set ++CONFIG_IDEDMA_ONLYDISK=y + # CONFIG_BLK_DEV_AEC62XX is not set + # CONFIG_BLK_DEV_ALI15X3 is not set + # CONFIG_BLK_DEV_AMD74XX is not set + # CONFIG_BLK_DEV_CMD64X is not set + # CONFIG_BLK_DEV_TRIFLEX is not set ++# CONFIG_BLK_DEV_CY82C693 is not set + # CONFIG_BLK_DEV_CS5520 is not set + # CONFIG_BLK_DEV_CS5530 is not set ++# CONFIG_BLK_DEV_HPT34X is not set + # CONFIG_BLK_DEV_HPT366 is not set + # CONFIG_BLK_DEV_JMICRON is not set + # CONFIG_BLK_DEV_SC1200 is not set + # CONFIG_BLK_DEV_PIIX is not set +-# CONFIG_BLK_DEV_IT8172 is not set + # CONFIG_BLK_DEV_IT8213 is not set + # CONFIG_BLK_DEV_IT821X is not set + CONFIG_BLK_DEV_NS87415=y +@@ -437,7 +398,10 @@ + # CONFIG_BLK_DEV_TRM290 is not set + # CONFIG_BLK_DEV_VIA82CXXX is not set + # CONFIG_BLK_DEV_TC86C001 is not set ++# CONFIG_IDE_ARM is not set + CONFIG_BLK_DEV_IDEDMA=y ++# CONFIG_IDEDMA_IVB is not set ++# CONFIG_BLK_DEV_HD is not set + + # + # SCSI device support +@@ -476,10 +440,8 @@ + # CONFIG_SCSI_FC_ATTRS is not set + # CONFIG_SCSI_ISCSI_ATTRS is not set + # CONFIG_SCSI_SAS_LIBSAS is not set +-# CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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 +@@ -490,14 +452,11 @@ + # CONFIG_SCSI_AIC79XX is not set + # CONFIG_SCSI_AIC94XX is not set + # CONFIG_SCSI_DPT_I2O is not set +-# CONFIG_SCSI_ADVANSYS 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_LIBFC is not set +-# CONFIG_FCOE is not set + # CONFIG_SCSI_DMX3191D is not set + # CONFIG_SCSI_FUTURE_DOMAIN is not set + # CONFIG_SCSI_IPS is not set +@@ -505,7 +464,6 @@ + # CONFIG_SCSI_INIA100 is not set + # CONFIG_SCSI_PPA is not set + # CONFIG_SCSI_IMM is not set +-# CONFIG_SCSI_MVSAS is not set + CONFIG_SCSI_LASI700=y + CONFIG_53C700_LE_ON_BE=y + # CONFIG_SCSI_STEX is not set +@@ -529,11 +487,9 @@ + # CONFIG_SCSI_DEBUG is not set + # CONFIG_SCSI_SRP is not set + # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +-# CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set + CONFIG_MD=y + CONFIG_BLK_DEV_MD=y +-CONFIG_MD_AUTODETECT=y + CONFIG_MD_LINEAR=y + CONFIG_MD_RAID0=y + CONFIG_MD_RAID1=y +@@ -549,47 +505,32 @@ + # CONFIG_DM_ZERO is not set + # CONFIG_DM_MULTIPATH is not set + # CONFIG_DM_DELAY is not set +-# CONFIG_DM_UEVENT is not set +-# CONFIG_FUSION is not set + + # +-# IEEE 1394 (FireWire) support ++# 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 + + # +-# Enable only one of the two stacks, unless you know what you are doing ++# IEEE 1394 (FireWire) support + # + # CONFIG_FIREWIRE is not set + # CONFIG_IEEE1394 is not set + # CONFIG_I2O is not set + CONFIG_NETDEVICES=y ++# CONFIG_NETDEVICES_MULTIQUEUE is not set + CONFIG_DUMMY=m + CONFIG_BONDING=m + # CONFIG_MACVLAN is not set + # CONFIG_EQUALIZER is not set + CONFIG_TUN=m + # CONFIG_VETH is not set ++# CONFIG_IP1000 is not set + # CONFIG_ARCNET is not set +-CONFIG_PHYLIB=y +- +-# +-# MII PHY device drivers +-# +-# CONFIG_MARVELL_PHY is not set +-# CONFIG_DAVICOM_PHY is not set +-# CONFIG_QSEMI_PHY is not set +-# CONFIG_LXT_PHY is not set +-# CONFIG_CICADA_PHY is not set +-# CONFIG_VITESSE_PHY is not set +-# CONFIG_SMSC_PHY is not set +-# CONFIG_BROADCOM_PHY is not set +-# CONFIG_ICPLUS_PHY is not set +-# CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set +-# CONFIG_FIXED_PHY is not set +-# CONFIG_MDIO_BITBANG is not set ++# CONFIG_PHYLIB is not set + CONFIG_NET_ETHERNET=y + CONFIG_MII=m + CONFIG_LASI_82596=y +@@ -609,15 +550,13 @@ + # CONFIG_DM9102 is not set + # CONFIG_ULI526X is not set + # CONFIG_PCMCIA_XIRCOM is not set ++# CONFIG_PCMCIA_XIRTULIP is not set + # CONFIG_DEPCA is not set + # CONFIG_HP100 is not set + # CONFIG_IBM_NEW_EMAC_ZMII is not set + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + CONFIG_NET_PCI=y + # CONFIG_PCNET32 is not set + # CONFIG_AMD8111_ETH is not set +@@ -625,7 +564,7 @@ + # CONFIG_AC3200 is not set + # CONFIG_B44 is not set + # CONFIG_FORCEDETH is not set +-# CONFIG_CS89x0 is not set ++# CONFIG_EEPRO100 is not set + # CONFIG_E100 is not set + # CONFIG_LNE390 is not set + # CONFIG_FEALNX is not set +@@ -635,24 +574,19 @@ + # CONFIG_ES3210 is not set + # CONFIG_8139CP is not set + # CONFIG_8139TOO is not set +-# CONFIG_R6040 is not set + # CONFIG_SIS900 is not set + # CONFIG_EPIC100 is not set +-# CONFIG_SMSC9420 is not set + # CONFIG_SUNDANCE is not set + # CONFIG_TLAN is not set + # CONFIG_VIA_RHINE is not set + # CONFIG_SC92031 is not set + # CONFIG_NET_POCKET is not set +-# CONFIG_ATL2 is not set + CONFIG_NETDEV_1000=y + CONFIG_ACENIC=y + # CONFIG_ACENIC_OMIT_TIGON_I is not set + # CONFIG_DL2K is not set + # CONFIG_E1000 is not set + # CONFIG_E1000E is not set +-# CONFIG_IP1000 is not set +-# CONFIG_IGB is not set + # CONFIG_NS83820 is not set + # CONFIG_HAMACHI is not set + # CONFIG_YELLOWFIN is not set +@@ -660,31 +594,23 @@ + # 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=y + # CONFIG_BNX2 is not set + # CONFIG_QLA3XXX is not set + # CONFIG_ATL1 is not set +-# CONFIG_ATL1E is not set +-# CONFIG_ATL1C is not set +-# CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y + # CONFIG_CHELSIO_T3 is not set +-# CONFIG_ENIC is not set + # CONFIG_IXGBE is not set + # CONFIG_IXGB is not set + # CONFIG_S2IO is not set + # CONFIG_MYRI10GE is not set + # CONFIG_NETXEN_NIC is not set + # CONFIG_NIU is not set +-# CONFIG_MLX4_EN is not set + # CONFIG_MLX4_CORE is not set + # CONFIG_TEHUTI is not set +-# CONFIG_BNX2X is not set +-# CONFIG_QLGE is not set +-# CONFIG_SFC is not set + # CONFIG_TR is not set + + # +@@ -692,11 +618,6 @@ + # + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set +-# CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + + # + # USB Network Adapters +@@ -705,6 +626,7 @@ + # CONFIG_USB_KAWETH is not set + # CONFIG_USB_PEGASUS is not set + # CONFIG_USB_RTL8150 is not set ++# CONFIG_USB_USBNET_MII is not set + # CONFIG_USB_USBNET is not set + CONFIG_NET_PCMCIA=y + # CONFIG_PCMCIA_3C589 is not set +@@ -732,6 +654,7 @@ + # CONFIG_SLIP is not set + CONFIG_SLHC=m + # CONFIG_NET_FC 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 +@@ -753,6 +676,7 @@ + CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 + CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 + # CONFIG_INPUT_JOYDEV is not set ++# CONFIG_INPUT_TSDEV is not set + # CONFIG_INPUT_EVDEV is not set + # CONFIG_INPUT_EVBUG is not set + +@@ -775,12 +699,11 @@ + CONFIG_MOUSE_PS2_ALPS=y + CONFIG_MOUSE_PS2_LOGIPS2PP=y + CONFIG_MOUSE_PS2_SYNAPTICS=y ++CONFIG_MOUSE_PS2_LIFEBOOK=y + CONFIG_MOUSE_PS2_TRACKPOINT=y +-# CONFIG_MOUSE_PS2_ELANTECH is not set + # CONFIG_MOUSE_PS2_TOUCHKIT is not set + CONFIG_MOUSE_SERIAL=y + # CONFIG_MOUSE_APPLETOUCH is not set +-# CONFIG_MOUSE_BCM5974 is not set + # CONFIG_MOUSE_VSXXXAA is not set + CONFIG_MOUSE_HIL=y + # CONFIG_INPUT_JOYSTICK is not set +@@ -806,13 +729,10 @@ + # Character devices + # + CONFIG_VT=y +-CONFIG_CONSOLE_TRANSLATIONS=y + CONFIG_VT_CONSOLE=y + CONFIG_HW_CONSOLE=y + # CONFIG_VT_HW_CONSOLE_BINDING is not set +-CONFIG_DEVKMEM=y + # CONFIG_SERIAL_NONSTANDARD is not set +-# CONFIG_NOZOMI is not set + + # + # Serial drivers +@@ -839,16 +759,21 @@ + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=64 + CONFIG_PRINTER=m + # CONFIG_LP_CONSOLE is not set + CONFIG_PPDEV=m ++# CONFIG_TIPAR is not set + # CONFIG_IPMI_HANDLER is not set ++# CONFIG_WATCHDOG is not set + # CONFIG_HW_RANDOM is not set ++CONFIG_GEN_RTC=y ++CONFIG_GEN_RTC_X=y + # CONFIG_R3964 is not set + # CONFIG_APPLICOM is not set ++# CONFIG_AGP is not set ++# CONFIG_DRM is not set + + # + # PCMCIA character devices +@@ -856,70 +781,60 @@ + # CONFIG_SYNCLINK_CS is not set + # CONFIG_CARDMAN_4000 is not set + # CONFIG_CARDMAN_4040 is not set +-# CONFIG_IPWIRELESS is not set + # CONFIG_RAW_DRIVER is not set + # CONFIG_TCG_TPM is not set + CONFIG_DEVPORT=y + # CONFIG_I2C is not set ++ ++# ++# SPI support ++# + # CONFIG_SPI is not set ++# CONFIG_SPI_MASTER is not set + # CONFIG_W1 is not set + # CONFIG_POWER_SUPPLY is not set + # CONFIG_HWMON is not set +-# CONFIG_THERMAL is not set +-# CONFIG_THERMAL_HWMON is not set +-# CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # + # Multifunction device drivers + # +-# CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set +-# CONFIG_HTC_PASIC3 is not set +-# CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices + # +- +-# +-# Multimedia core support +-# + # CONFIG_VIDEO_DEV is not set + # CONFIG_DVB_CORE is not set +-# CONFIG_VIDEO_MEDIA is not set ++# CONFIG_DAB is not set + + # +-# Multimedia drivers ++# Graphics support + # +-# CONFIG_DAB is not set ++# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # +-# Graphics support ++# Display device support + # +-# CONFIG_AGP is not set +-# CONFIG_DRM is not set ++# CONFIG_DISPLAY_SUPPORT is not set + # CONFIG_VGASTATE is not set + CONFIG_VIDEO_OUTPUT_CONTROL=m + CONFIG_FB=y + # CONFIG_FIRMWARE_EDID is not set + # CONFIG_FB_DDC is not set +-# CONFIG_FB_BOOT_VESA_SUPPORT is not set + CONFIG_FB_CFB_FILLRECT=y + CONFIG_FB_CFB_COPYAREA=y + CONFIG_FB_CFB_IMAGEBLIT=y +-# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set + # CONFIG_FB_SYS_FILLRECT is not set + # CONFIG_FB_SYS_COPYAREA is not set + # CONFIG_FB_SYS_IMAGEBLIT is not set +-# CONFIG_FB_FOREIGN_ENDIAN is not set + # CONFIG_FB_SYS_FOPS is not set ++CONFIG_FB_DEFERRED_IO=y + # CONFIG_FB_SVGALIB is not set + # CONFIG_FB_MACMODES is not set + # CONFIG_FB_BACKLIGHT is not set +@@ -945,7 +860,6 @@ + # CONFIG_FB_S3 is not set + # CONFIG_FB_SAVAGE is not set + # CONFIG_FB_SIS is not set +-# CONFIG_FB_VIA is not set + # CONFIG_FB_NEOMAGIC is not set + # CONFIG_FB_KYRO is not set + # CONFIG_FB_3DFX is not set +@@ -954,16 +868,7 @@ + # CONFIG_FB_TRIDENT is not set + # CONFIG_FB_ARK is not set + # CONFIG_FB_PM3 is not set +-# CONFIG_FB_CARMINE is not set + # CONFIG_FB_VIRTUAL is not set +-# CONFIG_FB_METRONOME is not set +-# CONFIG_FB_MB862XX is not set +-# CONFIG_BACKLIGHT_LCD_SUPPORT is not set +- +-# +-# Display device support +-# +-# CONFIG_DISPLAY_SUPPORT is not set + + # + # Console display driver support +@@ -991,8 +896,15 @@ + # CONFIG_LOGO_LINUX_VGA16 is not set + # CONFIG_LOGO_LINUX_CLUT224 is not set + CONFIG_LOGO_PARISC_CLUT224=y ++ ++# ++# Sound ++# + CONFIG_SOUND=y +-CONFIG_SOUND_OSS_CORE=y ++ ++# ++# Advanced Linux Sound Architecture ++# + CONFIG_SND=y + CONFIG_SND_TIMER=y + CONFIG_SND_PCM=y +@@ -1008,9 +920,11 @@ + CONFIG_SND_VERBOSE_PROCFS=y + # CONFIG_SND_VERBOSE_PRINTK is not set + # CONFIG_SND_DEBUG is not set +-CONFIG_SND_VMASTER=y ++ ++# ++# Generic devices ++# + CONFIG_SND_AC97_CODEC=y +-CONFIG_SND_DRIVERS=y + # CONFIG_SND_DUMMY is not set + # CONFIG_SND_VIRMIDI is not set + # CONFIG_SND_MTPAV is not set +@@ -1018,8 +932,10 @@ + # CONFIG_SND_SERIAL_U16550 is not set + # CONFIG_SND_MPU401 is not set + # CONFIG_SND_PORTMAN2X4 is not set +-# CONFIG_SND_AC97_POWER_SAVE is not set +-CONFIG_SND_PCI=y ++ ++# ++# PCI devices ++# + CONFIG_SND_AD1889=y + # CONFIG_SND_ALS300 is not set + # CONFIG_SND_ALI5451 is not set +@@ -1028,12 +944,10 @@ + # CONFIG_SND_AU8810 is not set + # CONFIG_SND_AU8820 is not set + # CONFIG_SND_AU8830 is not set +-# CONFIG_SND_AW2 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_OXYGEN is not set + # CONFIG_SND_CS4281 is not set + # CONFIG_SND_CS46XX is not set + # CONFIG_SND_DARLA20 is not set +@@ -1058,7 +972,6 @@ + # CONFIG_SND_HDA_INTEL is not set + # CONFIG_SND_HDSP is not set + # CONFIG_SND_HDSPM is not set +-# CONFIG_SND_HIFIER is not set + # CONFIG_SND_ICE1712 is not set + # CONFIG_SND_ICE1724 is not set + # CONFIG_SND_INTEL8X0 is not set +@@ -1076,67 +989,58 @@ + # CONFIG_SND_TRIDENT is not set + # CONFIG_SND_VIA82XX is not set + # CONFIG_SND_VIA82XX_MODEM is not set +-# CONFIG_SND_VIRTUOSO is not set + # CONFIG_SND_VX222 is not set + # CONFIG_SND_YMFPCI is not set +-CONFIG_SND_USB=y ++# CONFIG_SND_AC97_POWER_SAVE is not set ++ ++# ++# USB devices ++# + # CONFIG_SND_USB_AUDIO is not set + # CONFIG_SND_USB_CAIAQ is not set +-CONFIG_SND_PCMCIA=y ++ ++# ++# PCMCIA devices ++# + # CONFIG_SND_VXPOCKET is not set + # CONFIG_SND_PDAUDIOCF is not set +-CONFIG_SND_GSC=y ++ ++# ++# GSC devices ++# + CONFIG_SND_HARMONY=y ++ ++# ++# System on Chip audio support ++# + # CONFIG_SND_SOC is not set ++ ++# ++# SoC Audio support for SuperH ++# ++ ++# ++# Open Sound System ++# + # CONFIG_SOUND_PRIME is not set + CONFIG_AC97_BUS=y + CONFIG_HID_SUPPORT=y + CONFIG_HID=y + CONFIG_HID_DEBUG=y +-# CONFIG_HIDRAW is not set + + # + # USB Input Devices + # + CONFIG_USB_HID=y +-# CONFIG_HID_PID is not set ++# CONFIG_USB_HIDINPUT_POWERBOOK is not set ++# CONFIG_HID_FF is not set + # CONFIG_USB_HIDDEV is not set +- +-# +-# Special HID drivers +-# +-CONFIG_HID_COMPAT=y +-CONFIG_HID_A4TECH=y +-CONFIG_HID_APPLE=y +-CONFIG_HID_BELKIN=y +-CONFIG_HID_CHERRY=y +-CONFIG_HID_CHICONY=y +-CONFIG_HID_CYPRESS=y +-CONFIG_HID_EZKEY=y +-CONFIG_HID_GYRATION=y +-CONFIG_HID_LOGITECH=y +-# CONFIG_LOGITECH_FF is not set +-# CONFIG_LOGIRUMBLEPAD2_FF is not set +-CONFIG_HID_MICROSOFT=y +-CONFIG_HID_MONTEREY=y +-CONFIG_HID_NTRIG=y +-CONFIG_HID_PANTHERLORD=y +-# CONFIG_PANTHERLORD_FF is not set +-CONFIG_HID_PETALYNX=y +-CONFIG_HID_SAMSUNG=y +-CONFIG_HID_SONY=y +-CONFIG_HID_SUNPLUS=y +-# CONFIG_GREENASIA_FF is not set +-CONFIG_HID_TOPSEED=y +-# CONFIG_THRUSTMASTER_FF is not set +-# CONFIG_ZEROPLUS_FF is not set + CONFIG_USB_SUPPORT=y + 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 +-# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + + # + # Miscellaneous USB options +@@ -1145,18 +1049,12 @@ + CONFIG_USB_DEVICE_CLASS=y + # CONFIG_USB_DYNAMIC_MINORS is not set + # CONFIG_USB_OTG is not set +-CONFIG_USB_MON=y +-# CONFIG_USB_WUSB is not set +-# CONFIG_USB_WUSB_CBAF is not set + + # + # USB Host Controller Drivers + # +-# CONFIG_USB_C67X00_HCD is not set + # CONFIG_USB_EHCI_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set +-# CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=y + # CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set + # CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +@@ -1164,23 +1062,19 @@ + CONFIG_USB_UHCI_HCD=y + # CONFIG_USB_SL811_HCD is not set + # CONFIG_USB_R8A66597_HCD is not set +-# CONFIG_USB_WHCI_HCD is not set +-# CONFIG_USB_HWA_HCD is not set + + # + # USB Device Class drivers + # + # CONFIG_USB_ACM is not set + # CONFIG_USB_PRINTER is not set +-# CONFIG_USB_WDM is not set +-# CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# may also be needed; see USB_STORAGE Help for more information + # + # CONFIG_USB_STORAGE is not set + # CONFIG_USB_LIBUSUAL is not set +@@ -1190,11 +1084,16 @@ + # + # CONFIG_USB_MDC800 is not set + # CONFIG_USB_MICROTEK is not set ++CONFIG_USB_MON=y + + # + # USB port drivers + # + # CONFIG_USB_USS720 is not set ++ ++# ++# USB Serial Converter support ++# + # CONFIG_USB_SERIAL is not set + + # +@@ -1203,7 +1102,7 @@ + # CONFIG_USB_EMI62 is not set + # CONFIG_USB_EMI26 is not set + # CONFIG_USB_ADUTUX is not set +-# CONFIG_USB_SEVSEG 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 +@@ -1219,60 +1118,38 @@ + # CONFIG_USB_TRANCEVIBRATOR is not set + # CONFIG_USB_IOWARRIOR is not set + # CONFIG_USB_TEST is not set +-# CONFIG_USB_ISIGHTFW is not set +-# CONFIG_USB_VST is not set +-# CONFIG_USB_GADGET is not set + + # +-# OTG and related infrastructure ++# USB DSL modem support ++# ++ ++# ++# USB Gadget Support + # +-# CONFIG_UWB is not set ++# CONFIG_USB_GADGET is not set + # CONFIG_MMC is not set +-# CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +-# CONFIG_ACCESSIBILITY is not set + # CONFIG_INFINIBAND is not set +-CONFIG_RTC_LIB=y +-CONFIG_RTC_CLASS=y +-CONFIG_RTC_HCTOSYS=y +-CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +-# CONFIG_RTC_DEBUG is not set ++# CONFIG_RTC_CLASS is not set + + # +-# RTC interfaces ++# DMA Engine support + # +-CONFIG_RTC_INTF_SYSFS=y +-CONFIG_RTC_INTF_PROC=y +-CONFIG_RTC_INTF_DEV=y +-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +-# CONFIG_RTC_DRV_TEST is not set ++# CONFIG_DMA_ENGINE is not set + + # +-# SPI RTC drivers ++# DMA Clients + # + + # +-# Platform RTC drivers ++# DMA Devices + # +-# CONFIG_RTC_DRV_DS1286 is not set +-# CONFIG_RTC_DRV_DS1511 is not set +-# CONFIG_RTC_DRV_DS1553 is not set +-# CONFIG_RTC_DRV_DS1742 is not set +-# CONFIG_RTC_DRV_STK17TA8 is not set +-# CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set +-# CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set +-# CONFIG_RTC_DRV_V3020 is not set ++# CONFIG_AUXDISPLAY is not set + + # +-# on-CPU RTC drivers ++# Userspace I/O + # +-CONFIG_RTC_DRV_PARISC=y +-# CONFIG_DMADEVICES is not set +-# CONFIG_AUXDISPLAY is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -1282,20 +1159,21 @@ + # CONFIG_EXT2_FS_XIP is not set + CONFIG_EXT3_FS=y + # CONFIG_EXT3_FS_XATTR is not set +-# CONFIG_EXT4_FS is not set ++# CONFIG_EXT4DEV_FS is not set + CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + CONFIG_FS_POSIX_ACL=y +-CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set ++# CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set +-CONFIG_DNOTIFY=y ++# 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=y + # CONFIG_AUTOFS4_FS is not set + # CONFIG_FUSE_FS is not set +@@ -1324,13 +1202,16 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=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 +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_ECRYPT_FS is not set +@@ -1340,32 +1221,33 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set +-# CONFIG_MINIX_FS is not set +-# CONFIG_OMFS_FS is not set + # CONFIG_HPFS_FS is not set + # CONFIG_QNX4FS_FS is not set +-# CONFIG_ROMFS_FS is not set + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set +-CONFIG_NETWORK_FILESYSTEMS=y ++ ++# ++# Network File Systems ++# + CONFIG_NFS_FS=y + CONFIG_NFS_V3=y + # CONFIG_NFS_V3_ACL is not set + # CONFIG_NFS_V4 is not set +-CONFIG_ROOT_NFS=y ++# CONFIG_NFS_DIRECTIO is not set + CONFIG_NFSD=y + 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=y + CONFIG_LOCKD_V4=y + CONFIG_EXPORTFS=y + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y + CONFIG_SUNRPC_GSS=y +-# CONFIG_SUNRPC_REGISTER_V4 is not set ++# CONFIG_SUNRPC_BIND34 is not set + CONFIG_RPCSEC_GSS_KRB5=y + CONFIG_RPCSEC_GSS_SPKM3=m + CONFIG_SMB_FS=m +@@ -1374,7 +1256,6 @@ + CONFIG_CIFS=m + # CONFIG_CIFS_STATS is not set + # CONFIG_CIFS_WEAK_PW_HASH is not set +-# CONFIG_CIFS_UPCALL is not set + # CONFIG_CIFS_XATTR is not set + # CONFIG_CIFS_DEBUG2 is not set + # CONFIG_CIFS_EXPERIMENTAL is not set +@@ -1387,6 +1268,10 @@ + # + # 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 +@@ -1427,28 +1312,33 @@ + CONFIG_NLS_KOI8_R=m + CONFIG_NLS_KOI8_U=m + CONFIG_NLS_UTF8=y ++ ++# ++# Distributed Lock Manager ++# + # CONFIG_DLM is not set + + # ++# Profiling support ++# ++CONFIG_PROFILING=y ++CONFIG_OPROFILE=m ++ ++# + # Kernel hacking + # + # CONFIG_PRINTK_TIME is not set +-CONFIG_ENABLE_WARN_DEPRECATED=y + CONFIG_ENABLE_MUST_CHECK=y +-CONFIG_FRAME_WARN=1024 + CONFIG_MAGIC_SYSRQ=y + # CONFIG_UNUSED_SYMBOLS is not set +-CONFIG_DEBUG_FS=y ++# CONFIG_DEBUG_FS is not set + CONFIG_HEADERS_CHECK=y + CONFIG_DEBUG_KERNEL=y + # CONFIG_DEBUG_SHIRQ is not set + CONFIG_DETECT_SOFTLOCKUP=y +-# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +-CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 + CONFIG_SCHED_DEBUG=y + # CONFIG_SCHEDSTATS is not set + # CONFIG_TIMER_STATS is not set +-# CONFIG_DEBUG_OBJECTS is not set + # CONFIG_DEBUG_SLAB is not set + # CONFIG_DEBUG_RT_MUTEXES is not set + # CONFIG_RT_MUTEX_TESTER is not set +@@ -1460,33 +1350,10 @@ + CONFIG_DEBUG_BUGVERBOSE=y + # CONFIG_DEBUG_INFO is not set + # CONFIG_DEBUG_VM is not set +-# CONFIG_DEBUG_WRITECOUNT is not set +-CONFIG_DEBUG_MEMORY_INIT=y + # CONFIG_DEBUG_LIST is not set +-# CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set +-# CONFIG_BOOT_PRINTK_DELAY is not set ++CONFIG_FORCED_INLINING=y + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set +-# CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set +-# CONFIG_SYSCTL_SYSCALL_CHECK is not set +-CONFIG_NOP_TRACER=y +-CONFIG_RING_BUFFER=y +-CONFIG_TRACING=y +- +-# +-# Tracers +-# +-# CONFIG_SCHED_TRACER is not set +-# CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_FTRACE_STARTUP_TEST is not set +-# CONFIG_BUILD_DOCSRC is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set +-# CONFIG_SAMPLES is not set + # CONFIG_DEBUG_RODATA is not set + + # +@@ -1495,112 +1362,56 @@ + CONFIG_KEYS=y + CONFIG_KEYS_DEBUG_PROC_KEYS=y + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set +-# CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y +- +-# +-# Crypto core or helper +-# +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD=y +-CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y +-# CONFIG_CRYPTO_GF128MUL is not set +-CONFIG_CRYPTO_NULL=m +-# CONFIG_CRYPTO_CRYPTD is not set +-CONFIG_CRYPTO_AUTHENC=y +-CONFIG_CRYPTO_TEST=m +- +-# +-# Authenticated Encryption with Associated Data +-# +-# CONFIG_CRYPTO_CCM is not set +-# CONFIG_CRYPTO_GCM is not set +-# CONFIG_CRYPTO_SEQIV is not set +- +-# +-# Block modes +-# +-CONFIG_CRYPTO_CBC=y +-# CONFIG_CRYPTO_CTR is not set +-# CONFIG_CRYPTO_CTS is not set +-# CONFIG_CRYPTO_ECB is not set +-# CONFIG_CRYPTO_LRW is not set +-# CONFIG_CRYPTO_PCBC is not set +-# CONFIG_CRYPTO_XTS is not set +- +-# +-# Hash modes +-# + CONFIG_CRYPTO_HMAC=y + # CONFIG_CRYPTO_XCBC is not set +- +-# +-# Digest +-# +-CONFIG_CRYPTO_CRC32C=m ++CONFIG_CRYPTO_NULL=m + CONFIG_CRYPTO_MD4=m + CONFIG_CRYPTO_MD5=y +-CONFIG_CRYPTO_MICHAEL_MIC=m +-# CONFIG_CRYPTO_RMD128 is not set +-# CONFIG_CRYPTO_RMD160 is not set +-# CONFIG_CRYPTO_RMD256 is not set +-# CONFIG_CRYPTO_RMD320 is not set + CONFIG_CRYPTO_SHA1=y + CONFIG_CRYPTO_SHA256=m + CONFIG_CRYPTO_SHA512=m +-CONFIG_CRYPTO_TGR192=m + CONFIG_CRYPTO_WP512=m +- +-# +-# Ciphers +-# +-CONFIG_CRYPTO_AES=m +-CONFIG_CRYPTO_ANUBIS=m +-CONFIG_CRYPTO_ARC4=m ++CONFIG_CRYPTO_TGR192=m ++# CONFIG_CRYPTO_GF128MUL is not set ++# CONFIG_CRYPTO_ECB is not set ++CONFIG_CRYPTO_CBC=y ++# CONFIG_CRYPTO_PCBC is not set ++# CONFIG_CRYPTO_LRW is not set ++# CONFIG_CRYPTO_XTS is not set ++# CONFIG_CRYPTO_CRYPTD is not set ++CONFIG_CRYPTO_DES=y ++# CONFIG_CRYPTO_FCRYPT is not set + CONFIG_CRYPTO_BLOWFISH=m +-# CONFIG_CRYPTO_CAMELLIA is not set ++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_DES=y +-# CONFIG_CRYPTO_FCRYPT is not set ++CONFIG_CRYPTO_TEA=m ++CONFIG_CRYPTO_ARC4=m + CONFIG_CRYPTO_KHAZAD=m +-# CONFIG_CRYPTO_SALSA20 is not set ++CONFIG_CRYPTO_ANUBIS=m + # CONFIG_CRYPTO_SEED is not set +-CONFIG_CRYPTO_SERPENT=m +-CONFIG_CRYPTO_TEA=m +-CONFIG_CRYPTO_TWOFISH=m +-CONFIG_CRYPTO_TWOFISH_COMMON=m +- +-# +-# Compression +-# + CONFIG_CRYPTO_DEFLATE=y +-# CONFIG_CRYPTO_LZO is not set +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set ++CONFIG_CRYPTO_MICHAEL_MIC=m ++CONFIG_CRYPTO_CRC32C=m ++# CONFIG_CRYPTO_CAMELLIA is not set ++CONFIG_CRYPTO_TEST=m ++# CONFIG_CRYPTO_AUTHENC is not set + # CONFIG_CRYPTO_HW is not set + + # + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + CONFIG_CRC_CCITT=m + # CONFIG_CRC16 is not set +-# CONFIG_CRC_T10DIF is not set + # CONFIG_CRC_ITU_T is not set + CONFIG_CRC32=y + # CONFIG_CRC7 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/hpux/fs.c linux-2.6.29-rc3.owrt/arch/parisc/hpux/fs.c +--- linux-2.6.29.owrt/arch/parisc/hpux/fs.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/hpux/fs.c 2009-05-10 23:48:28.000000000 +0200 +@@ -137,6 +137,7 @@ + error = count - buf.count; + } + ++out_putf: + fput(file); + out: + return error; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/include/asm/assembly.h linux-2.6.29-rc3.owrt/arch/parisc/include/asm/assembly.h +--- linux-2.6.29.owrt/arch/parisc/include/asm/assembly.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/include/asm/assembly.h 2009-05-10 23:48:28.000000000 +0200 +@@ -79,7 +79,6 @@ + + #include + #include +-#include + + #include + +@@ -130,27 +129,27 @@ + + /* Shift Left - note the r and t can NOT be the same! */ + .macro shl r, sa, t +- dep,z \r, 31-(\sa), 32-(\sa), \t ++ dep,z \r, 31-\sa, 32-\sa, \t + .endm + + /* The PA 2.0 shift left */ + .macro shlw r, sa, t +- depw,z \r, 31-(\sa), 32-(\sa), \t ++ depw,z \r, 31-\sa, 32-\sa, \t + .endm + + /* And the PA 2.0W shift left */ + .macro shld r, sa, t +- depd,z \r, 63-(\sa), 64-(\sa), \t ++ depd,z \r, 63-\sa, 64-\sa, \t + .endm + + /* Shift Right - note the r and t can NOT be the same! */ + .macro shr r, sa, t +- extru \r, 31-(\sa), 32-(\sa), \t ++ extru \r, 31-\sa, 32-\sa, \t + .endm + + /* pa20w version of shift right */ + .macro shrd r, sa, t +- extrd,u \r, 63-(\sa), 64-(\sa), \t ++ extrd,u \r, 63-\sa, 64-\sa, \t + .endm + + /* load 32-bit 'value' into 'reg' compensating for the ldil +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/include/asm/dma-mapping.h linux-2.6.29-rc3.owrt/arch/parisc/include/asm/dma-mapping.h +--- linux-2.6.29.owrt/arch/parisc/include/asm/dma-mapping.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/include/asm/dma-mapping.h 2009-05-10 23:48:28.000000000 +0200 +@@ -5,7 +5,7 @@ + #include + #include + +-/* See Documentation/PCI/PCI-DMA-mapping.txt */ ++/* See Documentation/DMA-mapping.txt */ + struct hppa_dma_ops { + int (*dma_supported)(struct device *dev, u64 mask); + void *(*alloc_consistent)(struct device *dev, size_t size, dma_addr_t *iova, gfp_t flag); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/include/asm/io.h linux-2.6.29-rc3.owrt/arch/parisc/include/asm/io.h +--- linux-2.6.29.owrt/arch/parisc/include/asm/io.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/include/asm/io.h 2009-05-10 23:48:28.000000000 +0200 +@@ -174,48 +174,15 @@ + *(volatile unsigned long long __force *) addr = b; + } + +-static inline unsigned char readb(const volatile void __iomem *addr) +-{ +- return __raw_readb(addr); +-} +-static inline unsigned short readw(const volatile void __iomem *addr) +-{ +- return le16_to_cpu(__raw_readw(addr)); +-} +-static inline unsigned int readl(const volatile void __iomem *addr) +-{ +- return le32_to_cpu(__raw_readl(addr)); +-} +-static inline unsigned long long readq(const volatile void __iomem *addr) +-{ +- return le64_to_cpu(__raw_readq(addr)); +-} +- +-static inline void writeb(unsigned char b, volatile void __iomem *addr) +-{ +- __raw_writeb(b, addr); +-} +-static inline void writew(unsigned short w, volatile void __iomem *addr) +-{ +- __raw_writew(cpu_to_le16(w), addr); +-} +-static inline void writel(unsigned int l, volatile void __iomem *addr) +-{ +- __raw_writel(cpu_to_le32(l), addr); +-} +-static inline void writeq(unsigned long long q, volatile void __iomem *addr) +-{ +- __raw_writeq(cpu_to_le64(q), addr); +-} +- +-#define readb readb +-#define readw readw +-#define readl readl +-#define readq readq +-#define writeb writeb +-#define writew writew +-#define writel writel +-#define writeq writeq ++/* readb can never be const, so use __fswab instead of le*_to_cpu */ ++#define readb(addr) __raw_readb(addr) ++#define readw(addr) le16_to_cpu(__raw_readw(addr)) ++#define readl(addr) le32_to_cpu(__raw_readl(addr)) ++#define readq(addr) le64_to_cpu(__raw_readq(addr)) ++#define writeb(b, addr) __raw_writeb(b, addr) ++#define writew(b, addr) __raw_writew(cpu_to_le16(b), addr) ++#define writel(b, addr) __raw_writel(cpu_to_le32(b), addr) ++#define writeq(b, addr) __raw_writeq(cpu_to_le64(b), addr) + + #define readb_relaxed(addr) readb(addr) + #define readw_relaxed(addr) readw(addr) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/include/asm/irq.h linux-2.6.29-rc3.owrt/arch/parisc/include/asm/irq.h +--- linux-2.6.29.owrt/arch/parisc/include/asm/irq.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/include/asm/irq.h 2009-05-10 23:48:28.000000000 +0200 +@@ -49,7 +49,7 @@ + extern unsigned long txn_affinity_addr(unsigned int irq, int cpu); + + extern int cpu_claim_irq(unsigned int irq, struct irq_chip *, void *); +-extern int cpu_check_affinity(unsigned int irq, const struct cpumask *dest); ++extern int cpu_check_affinity(unsigned int irq, cpumask_t *dest); + + /* soft power switch support (power.c) */ + extern struct tasklet_struct power_tasklet; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/include/asm/uaccess.h linux-2.6.29-rc3.owrt/arch/parisc/include/asm/uaccess.h +--- linux-2.6.29.owrt/arch/parisc/include/asm/uaccess.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/include/asm/uaccess.h 2009-05-10 23:48:28.000000000 +0200 +@@ -241,7 +241,6 @@ + #define __copy_to_user_inatomic __copy_to_user + #define __copy_from_user_inatomic __copy_from_user + +-struct pt_regs; + int fixup_exception(struct pt_regs *regs); + + #endif /* __PARISC_UACCESS_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/kernel/cache.c linux-2.6.29-rc3.owrt/arch/parisc/kernel/cache.c +--- linux-2.6.29.owrt/arch/parisc/kernel/cache.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/kernel/cache.c 2009-05-10 23:48:28.000000000 +0200 +@@ -551,7 +551,10 @@ + { + int sr3; + +- BUG_ON(!vma->vm_mm->context); ++ if (!vma->vm_mm->context) { ++ BUG(); ++ return; ++ } + + sr3 = mfsp(3); + if (vma->vm_mm->context == sr3) { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/kernel/entry.S linux-2.6.29-rc3.owrt/arch/parisc/kernel/entry.S +--- linux-2.6.29.owrt/arch/parisc/kernel/entry.S 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/kernel/entry.S 2009-05-10 23:48:28.000000000 +0200 +@@ -368,7 +368,7 @@ + * abstractions for the macros */ + .macro EXTR reg1,start,length,reg2 + #ifdef CONFIG_64BIT +- extrd,u \reg1,32+(\start),\length,\reg2 ++ extrd,u \reg1,32+\start,\length,\reg2 + #else + extrw,u \reg1,\start,\length,\reg2 + #endif +@@ -376,7 +376,7 @@ + + .macro DEP reg1,start,length,reg2 + #ifdef CONFIG_64BIT +- depd \reg1,32+(\start),\length,\reg2 ++ depd \reg1,32+\start,\length,\reg2 + #else + depw \reg1,\start,\length,\reg2 + #endif +@@ -384,7 +384,7 @@ + + .macro DEPI val,start,length,reg + #ifdef CONFIG_64BIT +- depdi \val,32+(\start),\length,\reg ++ depdi \val,32+\start,\length,\reg + #else + depwi \val,\start,\length,\reg + #endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/kernel/firmware.c linux-2.6.29-rc3.owrt/arch/parisc/kernel/firmware.c +--- linux-2.6.29.owrt/arch/parisc/kernel/firmware.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/kernel/firmware.c 2009-05-10 23:48:28.000000000 +0200 +@@ -151,7 +151,7 @@ + } + + #ifdef CONFIG_64BIT +-void __cpuinit set_firmware_width_unlocked(void) ++void __init set_firmware_width_unlocked(void) + { + int ret; + +@@ -168,7 +168,7 @@ + * This function must be called before any pdc_* function that uses the + * convert_to_wide function. + */ +-void __cpuinit set_firmware_width(void) ++void __init set_firmware_width(void) + { + unsigned long flags; + spin_lock_irqsave(&pdc_lock, flags); +@@ -176,11 +176,11 @@ + spin_unlock_irqrestore(&pdc_lock, flags); + } + #else +-void __cpuinit set_firmware_width_unlocked(void) { ++void __init set_firmware_width_unlocked(void) { + return; + } + +-void __cpuinit set_firmware_width(void) { ++void __init set_firmware_width(void) { + return; + } + #endif /*CONFIG_64BIT*/ +@@ -302,7 +302,7 @@ + return retval; + } + +-int __cpuinit pdc_coproc_cfg_unlocked(struct pdc_coproc_cfg *pdc_coproc_info) ++int __init pdc_coproc_cfg_unlocked(struct pdc_coproc_cfg *pdc_coproc_info) + { + int ret; + +@@ -323,7 +323,7 @@ + * This PDC call returns the presence and status of all the coprocessors + * attached to the processor. + */ +-int __cpuinit pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info) ++int __init pdc_coproc_cfg(struct pdc_coproc_cfg *pdc_coproc_info) + { + int ret; + unsigned long flags; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/kernel/irq.c linux-2.6.29-rc3.owrt/arch/parisc/kernel/irq.c +--- linux-2.6.29.owrt/arch/parisc/kernel/irq.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/kernel/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -112,7 +112,7 @@ + } + + #ifdef CONFIG_SMP +-int cpu_check_affinity(unsigned int irq, const struct cpumask *dest) ++int cpu_check_affinity(unsigned int irq, cpumask_t *dest) + { + int cpu_dest; + +@@ -120,25 +120,23 @@ + if (CHECK_IRQ_PER_CPU(irq)) { + /* Bad linux design decision. The mask has already + * been set; we must reset it */ +- cpumask_setall(&irq_desc[irq].affinity); ++ irq_desc[irq].affinity = CPU_MASK_ALL; + return -EINVAL; + } + + /* whatever mask they set, we just allow one CPU */ + cpu_dest = first_cpu(*dest); ++ *dest = cpumask_of_cpu(cpu_dest); + +- return cpu_dest; ++ return 0; + } + + static void cpu_set_affinity_irq(unsigned int irq, const struct cpumask *dest) + { +- int cpu_dest; +- +- cpu_dest = cpu_check_affinity(irq, dest); +- if (cpu_dest < 0) ++ if (cpu_check_affinity(irq, dest)) + return; + +- cpumask_copy(&irq_desc[irq].affinity, &cpumask_of_cpu(cpu_dest)); ++ irq_desc[irq].affinity = *dest; + } + #endif + +@@ -297,7 +295,7 @@ + unsigned long txn_affinity_addr(unsigned int irq, int cpu) + { + #ifdef CONFIG_SMP +- cpumask_copy(&irq_desc[irq].affinity, cpumask_of(cpu)); ++ irq_desc[irq].affinity = cpumask_of_cpu(cpu); + #endif + + return per_cpu(cpu_data, cpu).txn_addr; +@@ -354,7 +352,7 @@ + irq = eirr_to_irq(eirr_val); + + #ifdef CONFIG_SMP +- cpumask_copy(&dest, &irq_desc[irq].affinity); ++ dest = irq_desc[irq].affinity; + if (CHECK_IRQ_PER_CPU(irq_desc[irq].status) && + !cpu_isset(smp_processor_id(), dest)) { + int cpu = first_cpu(dest); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/kernel/pci-dma.c linux-2.6.29-rc3.owrt/arch/parisc/kernel/pci-dma.c +--- linux-2.6.29.owrt/arch/parisc/kernel/pci-dma.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/kernel/pci-dma.c 2009-05-10 23:48:28.000000000 +0200 +@@ -2,7 +2,7 @@ + ** PARISC 1.1 Dynamic DMA mapping support. + ** This implementation is for PA-RISC platforms that do not support + ** I/O TLBs (aka DMA address translation hardware). +-** See Documentation/PCI/PCI-DMA-mapping.txt for interface definitions. ++** See Documentation/DMA-mapping.txt for interface definitions. + ** + ** (c) Copyright 1999,2000 Hewlett-Packard Company + ** (c) Copyright 2000 Grant Grundler +@@ -447,7 +447,10 @@ + + static dma_addr_t pa11_dma_map_single(struct device *dev, void *addr, size_t size, enum dma_data_direction direction) + { +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) { ++ printk(KERN_ERR "pa11_dma_map_single(PCI_DMA_NONE) called by %p\n", __builtin_return_address(0)); ++ BUG(); ++ } + + flush_kernel_dcache_range((unsigned long) addr, size); + return virt_to_phys(addr); +@@ -455,7 +458,10 @@ + + static void pa11_dma_unmap_single(struct device *dev, dma_addr_t dma_handle, size_t size, enum dma_data_direction direction) + { +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) { ++ printk(KERN_ERR "pa11_dma_unmap_single(PCI_DMA_NONE) called by %p\n", __builtin_return_address(0)); ++ BUG(); ++ } + + if (direction == DMA_TO_DEVICE) + return; +@@ -474,7 +480,8 @@ + { + int i; + +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) ++ BUG(); + + for (i = 0; i < nents; i++, sglist++ ) { + unsigned long vaddr = sg_virt_addr(sglist); +@@ -489,7 +496,8 @@ + { + int i; + +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) ++ BUG(); + + if (direction == DMA_TO_DEVICE) + return; +@@ -503,14 +511,16 @@ + + static void pa11_dma_sync_single_for_cpu(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, enum dma_data_direction direction) + { +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) ++ BUG(); + + flush_kernel_dcache_range((unsigned long) phys_to_virt(dma_handle) + offset, size); + } + + static void pa11_dma_sync_single_for_device(struct device *dev, dma_addr_t dma_handle, unsigned long offset, size_t size, enum dma_data_direction direction) + { +- BUG_ON(direction == DMA_NONE); ++ if (direction == DMA_NONE) ++ BUG(); + + flush_kernel_dcache_range((unsigned long) phys_to_virt(dma_handle) + offset, size); + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/parisc/mm/init.c linux-2.6.29-rc3.owrt/arch/parisc/mm/init.c +--- linux-2.6.29.owrt/arch/parisc/mm/init.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/parisc/mm/init.c 2009-05-10 23:48:28.000000000 +0200 +@@ -304,8 +304,10 @@ + */ + max_low_pfn = max_pfn; + +- /* bootmap sizing messed up? */ +- BUG_ON((bootmap_pfn - bootmap_start_pfn) != bootmap_pages); ++ if ((bootmap_pfn - bootmap_start_pfn) != bootmap_pages) { ++ printk(KERN_WARNING "WARNING! bootmap sizing is messed up!\n"); ++ BUG(); ++ } + + /* reserve PAGE0 pdc memory, kernel text/data/bss & bootmap */ + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/boot/dts/mpc8313erdb.dts linux-2.6.29-rc3.owrt/arch/powerpc/boot/dts/mpc8313erdb.dts +--- linux-2.6.29.owrt/arch/powerpc/boot/dts/mpc8313erdb.dts 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/boot/dts/mpc8313erdb.dts 2009-05-10 23:48:28.000000000 +0200 +@@ -191,8 +191,7 @@ + interrupts = <37 0x8 36 0x8 35 0x8>; + interrupt-parent = <&ipic>; + tbi-handle = < &tbi0 >; +- /* Vitesse 7385 isn't on the MDIO bus */ +- fixed-link = <1 1 1000 0 0>; ++ phy-handle = < &phy1 >; + fsl,magic-packet; + + mdio@24520 { +@@ -200,6 +199,12 @@ + #size-cells = <0>; + compatible = "fsl,gianfar-mdio"; + reg = <0x24520 0x20>; ++ phy1: ethernet-phy@1 { ++ interrupt-parent = <&ipic>; ++ interrupts = <19 0x8>; ++ reg = <0x1>; ++ device_type = "ethernet-phy"; ++ }; + phy4: ethernet-phy@4 { + interrupt-parent = <&ipic>; + interrupts = <20 0x8>; +@@ -214,8 +219,6 @@ + }; + + enet1: ethernet@25000 { +- #address-cells = <1>; +- #size-cells = <1>; + cell-index = <1>; + device_type = "network"; + model = "eTSEC"; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/40x/virtex_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/40x/virtex_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/40x/virtex_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/40x/virtex_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -686,7 +686,7 @@ + CONFIG_SERIAL_CORE=y + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set +-CONFIG_SERIAL_OF_PLATFORM=y ++# CONFIG_SERIAL_OF_PLATFORM is not set + # CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set + CONFIG_UNIX98_PTYS=y + # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/44x/virtex5_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/44x/virtex5_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/44x/virtex5_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/44x/virtex5_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -691,7 +691,7 @@ + CONFIG_SERIAL_CORE=y + CONFIG_SERIAL_CORE_CONSOLE=y + # CONFIG_SERIAL_JSM is not set +-CONFIG_SERIAL_OF_PLATFORM=y ++# CONFIG_SERIAL_OF_PLATFORM is not set + # CONFIG_SERIAL_OF_PLATFORM_NWPSERIAL is not set + CONFIG_UNIX98_PTYS=y + # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/52xx/cm5200_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/cm5200_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/52xx/cm5200_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/cm5200_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:41:58 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:12:40 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -71,23 +71,14 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 ++# CONFIG_CGROUPS is not set + CONFIG_GROUP_SCHED=y + CONFIG_FAIR_GROUP_SCHED=y + # CONFIG_RT_GROUP_SCHED is not set + CONFIG_USER_SCHED=y + # CONFIG_CGROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -119,6 +110,7 @@ + CONFIG_SLUB=y + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y + CONFIG_HAVE_IOREMAP_PROT=y +@@ -129,11 +121,13 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + # CONFIG_MODULES is not set + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -149,6 +143,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y + # CONFIG_FREEZER is not set + + # +@@ -187,8 +182,9 @@ + # CONFIG_TAU is not set + # CONFIG_FSL_ULI1575 is not set + CONFIG_PPC_BESTCOMM=y ++# CONFIG_PPC_BESTCOMM_ATA is not set + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++# CONFIG_PPC_BESTCOMM_GEN_BD is not set + + # + # Kernel options +@@ -215,7 +211,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -227,14 +222,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -275,7 +268,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -332,7 +324,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -345,7 +336,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -437,12 +427,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +-# CONFIG_MTD_QINFO_PROBE is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -530,9 +514,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -558,10 +539,6 @@ + # CONFIG_IWLWIFI_LEDS is not set + + # +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# +- +-# + # USB Network Adapters + # + # CONFIG_USB_CATC is not set +@@ -611,10 +588,8 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE=y + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600 + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_NVRAM is not set +@@ -654,6 +629,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -698,12 +675,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -761,7 +736,6 @@ + # USB Host Controller Drivers + # + # CONFIG_USB_C67X00_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set + # CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=y +@@ -786,17 +760,18 @@ + # CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# 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_ISD200 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 +@@ -842,10 +817,6 @@ + # CONFIG_USB_ISIGHTFW is not set + # CONFIG_USB_VST is not set + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +@@ -855,6 +826,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -875,7 +847,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -912,7 +883,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -932,7 +906,6 @@ + CONFIG_JFFS2_RTIME=y + # CONFIG_JFFS2_RUBIN is not set + CONFIG_CRAMFS=y +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1029,7 +1002,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1081,7 +1053,6 @@ + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -1090,8 +1061,6 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1100,13 +1069,11 @@ + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set + # CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set +@@ -1133,15 +1100,11 @@ + # + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/52xx/lite5200b_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/lite5200b_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/52xx/lite5200b_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/lite5200b_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:41:14 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:10:16 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -72,23 +72,14 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 ++# CONFIG_CGROUPS is not set + CONFIG_GROUP_SCHED=y + # CONFIG_FAIR_GROUP_SCHED is not set + # CONFIG_RT_GROUP_SCHED is not set + CONFIG_USER_SCHED=y + # CONFIG_CGROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -121,6 +112,7 @@ + CONFIG_SLUB=y + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y + CONFIG_HAVE_IOREMAP_PROT=y +@@ -131,6 +123,7 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -138,9 +131,11 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -156,6 +151,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y + CONFIG_FREEZER=y + + # +@@ -196,7 +192,7 @@ + CONFIG_PPC_BESTCOMM=y + CONFIG_PPC_BESTCOMM_ATA=y + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++CONFIG_PPC_BESTCOMM_GEN_BD=y + + # + # Kernel options +@@ -224,7 +220,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -236,14 +231,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -271,7 +264,6 @@ + # CONFIG_PCI_MSI is not set + CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + # CONFIG_PCCARD is not set + # CONFIG_HOTPLUG_PCI is not set + # CONFIG_HAS_RAPIDIO is not set +@@ -294,7 +286,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -351,7 +342,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -364,7 +354,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -407,19 +396,13 @@ + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set + # CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_HP_ILO is not set + # CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_AT24 is not set +-# CONFIG_EEPROM_LEGACY is not set +-# CONFIG_EEPROM_93CX6 is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -462,7 +445,6 @@ + # CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_SCSI_CXGB3_ISCSI 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 +@@ -479,8 +461,6 @@ + # CONFIG_MEGARAID_SAS is not set + # CONFIG_SCSI_HPTIOP is not set + # CONFIG_SCSI_BUSLOGIC is not set +-# CONFIG_LIBFC is not set +-# CONFIG_FCOE is not set + # CONFIG_SCSI_DMX3191D is not set + # CONFIG_SCSI_EATA is not set + # CONFIG_SCSI_FUTURE_DOMAIN is not set +@@ -600,9 +580,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -649,7 +626,6 @@ + # CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +-CONFIG_CHELSIO_T3_DEPENDS=y + # CONFIG_CHELSIO_T3 is not set + # CONFIG_ENIC is not set + # CONFIG_IXGBE is not set +@@ -672,10 +648,6 @@ + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set + # CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_FDDI is not set + # CONFIG_HIPPI is not set +@@ -723,10 +695,8 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_NVRAM is not set +@@ -792,6 +762,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -824,12 +796,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -876,13 +846,9 @@ + # + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_UWB is not set + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set +@@ -894,6 +860,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -914,7 +881,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -948,7 +914,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -957,7 +926,6 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -999,7 +967,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1049,7 +1016,6 @@ + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -1058,8 +1024,6 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1068,13 +1032,11 @@ + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set + # CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set +@@ -1101,15 +1063,11 @@ + # + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/52xx/motionpro_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/motionpro_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/52xx/motionpro_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/motionpro_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:42:29 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:11:02 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -71,23 +71,14 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 ++# CONFIG_CGROUPS is not set + CONFIG_GROUP_SCHED=y + CONFIG_FAIR_GROUP_SCHED=y + # CONFIG_RT_GROUP_SCHED is not set + CONFIG_USER_SCHED=y + # CONFIG_CGROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -119,6 +110,7 @@ + CONFIG_SLUB=y + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y + CONFIG_HAVE_IOREMAP_PROT=y +@@ -129,11 +121,13 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + # CONFIG_MODULES is not set + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -149,6 +143,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y + # CONFIG_FREEZER is not set + + # +@@ -187,9 +182,9 @@ + # CONFIG_TAU is not set + # CONFIG_FSL_ULI1575 is not set + CONFIG_PPC_BESTCOMM=y +-CONFIG_PPC_BESTCOMM_ATA=y ++# CONFIG_PPC_BESTCOMM_ATA is not set + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++# CONFIG_PPC_BESTCOMM_GEN_BD is not set + + # + # Kernel options +@@ -216,7 +211,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -228,14 +222,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -276,7 +268,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -333,7 +324,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -346,7 +336,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -438,12 +427,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +-# CONFIG_MTD_QINFO_PROBE is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -464,16 +447,10 @@ + # CONFIG_ATA_OVER_ETH is not set + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_AT24 is not set +-CONFIG_EEPROM_LEGACY=y +-# CONFIG_EEPROM_93CX6 is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -515,7 +492,6 @@ + # CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_LIBFC is not set + # CONFIG_SCSI_DEBUG is not set + # CONFIG_SCSI_DH is not set + CONFIG_ATA=y +@@ -549,9 +525,6 @@ + CONFIG_BROADCOM_PHY=y + CONFIG_ICPLUS_PHY=y + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + CONFIG_MDIO_BITBANG=y + CONFIG_NET_ETHERNET=y +@@ -575,10 +548,6 @@ + # CONFIG_WLAN_PRE80211 is not set + # CONFIG_WLAN_80211 is not set + # CONFIG_IWLWIFI_LEDS is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + # CONFIG_PPP is not set + # CONFIG_SLIP is not set +@@ -621,10 +590,8 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE=y + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_NVRAM is not set +@@ -662,6 +629,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++CONFIG_EEPROM_LEGACY=y + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -690,7 +659,6 @@ + # CONFIG_SENSORS_ADT7462 is not set + # CONFIG_SENSORS_ADT7470 is not set + # CONFIG_SENSORS_ADT7473 is not set +-# CONFIG_SENSORS_ADT7475 is not set + # CONFIG_SENSORS_ATXP1 is not set + # CONFIG_SENSORS_DS1621 is not set + # CONFIG_SENSORS_F71805F is not set +@@ -710,7 +678,6 @@ + # CONFIG_SENSORS_LM90 is not set + # CONFIG_SENSORS_LM92 is not set + # CONFIG_SENSORS_LM93 is not set +-# CONFIG_SENSORS_LTC4245 is not set + # CONFIG_SENSORS_MAX1619 is not set + # CONFIG_SENSORS_MAX6650 is not set + # CONFIG_SENSORS_PC87360 is not set +@@ -754,12 +721,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -870,6 +835,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -890,7 +856,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -927,7 +892,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -947,7 +915,6 @@ + CONFIG_JFFS2_RTIME=y + # CONFIG_JFFS2_RUBIN is not set + CONFIG_CRAMFS=y +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1044,7 +1011,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1096,7 +1062,6 @@ + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -1105,8 +1070,6 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1115,13 +1078,11 @@ + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set + # CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set +@@ -1148,15 +1109,11 @@ + # + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/52xx/pcm030_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/pcm030_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/52xx/pcm030_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/pcm030_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:41:33 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:13:16 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -72,24 +72,15 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=14 ++# CONFIG_CGROUPS is not set + CONFIG_GROUP_SCHED=y + CONFIG_FAIR_GROUP_SCHED=y + # CONFIG_RT_GROUP_SCHED is not set + CONFIG_USER_SCHED=y + # CONFIG_CGROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -121,6 +112,7 @@ + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + # CONFIG_KPROBES is not set + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +@@ -132,6 +124,7 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -139,9 +132,11 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -157,6 +152,7 @@ + # CONFIG_DEFAULT_CFQ is not set + CONFIG_DEFAULT_NOOP=y + CONFIG_DEFAULT_IOSCHED="noop" ++CONFIG_CLASSIC_RCU=y + # CONFIG_FREEZER is not set + + # +@@ -195,9 +191,9 @@ + # CONFIG_TAU is not set + # CONFIG_FSL_ULI1575 is not set + CONFIG_PPC_BESTCOMM=y +-CONFIG_PPC_BESTCOMM_ATA=m ++CONFIG_PPC_BESTCOMM_ATA=y + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++CONFIG_PPC_BESTCOMM_GEN_BD=y + + # + # Kernel options +@@ -216,6 +212,7 @@ + # CONFIG_PREEMPT_NONE is not set + # CONFIG_PREEMPT_VOLUNTARY is not set + CONFIG_PREEMPT=y ++# CONFIG_PREEMPT_RCU is not set + CONFIG_BINFMT_ELF=y + # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set + # CONFIG_HAVE_AOUT is not set +@@ -225,7 +222,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -237,14 +233,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -267,7 +261,6 @@ + CONFIG_ARCH_SUPPORTS_MSI=y + # CONFIG_PCI_MSI is not set + CONFIG_PCI_LEGACY=y +-# CONFIG_PCI_STUB is not set + # CONFIG_PCCARD is not set + # CONFIG_HOTPLUG_PCI is not set + # CONFIG_HAS_RAPIDIO is not set +@@ -290,7 +283,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -341,7 +333,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -354,7 +345,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -375,7 +365,6 @@ + # CONFIG_MTD_DEBUG is not set + # CONFIG_MTD_CONCAT is not set + CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_TESTS is not set + # CONFIG_MTD_REDBOOT_PARTS is not set + CONFIG_MTD_CMDLINE_PARTS=y + # CONFIG_MTD_OF_PARTS is not set +@@ -424,7 +413,9 @@ + # + # CONFIG_MTD_COMPLEX_MAPPINGS is not set + CONFIG_MTD_PHYSMAP=y +-# CONFIG_MTD_PHYSMAP_COMPAT is not set ++CONFIG_MTD_PHYSMAP_START=0x0 ++CONFIG_MTD_PHYSMAP_LEN=0x0 ++CONFIG_MTD_PHYSMAP_BANKWIDTH=1 + # CONFIG_MTD_PHYSMAP_OF is not set + # CONFIG_MTD_INTEL_VR_NOR is not set + # CONFIG_MTD_PLATRAM is not set +@@ -448,12 +439,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +-# CONFIG_MTD_QINFO_PROBE is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -602,9 +587,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -639,10 +621,6 @@ + # CONFIG_IWLWIFI_LEDS is not set + + # +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# +- +-# + # USB Network Adapters + # + # CONFIG_USB_CATC is not set +@@ -697,9 +675,7 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600 + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + # CONFIG_LEGACY_PTYS is not set +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + CONFIG_HW_RANDOM=y + # CONFIG_NVRAM is not set +@@ -764,6 +740,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++CONFIG_EEPROM_LEGACY=m + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -796,12 +774,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -861,7 +837,6 @@ + # + # CONFIG_USB_C67X00_HCD is not set + # CONFIG_USB_EHCI_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set + # CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=m +@@ -889,17 +864,18 @@ + # CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# may also be needed; see USB_STORAGE Help for more information + # + CONFIG_USB_STORAGE=m + # CONFIG_USB_STORAGE_DEBUG is not set + # 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_USBAT is not set + # CONFIG_USB_STORAGE_SDDR09 is not set + # CONFIG_USB_STORAGE_SDDR55 is not set +@@ -945,10 +921,6 @@ + # CONFIG_USB_ISIGHTFW is not set + # CONFIG_USB_VST is not set + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_UWB is not set + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set +@@ -1011,6 +983,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -1031,7 +1004,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + # CONFIG_DNOTIFY is not set + # CONFIG_INOTIFY is not set + # CONFIG_QUOTA is not set +@@ -1067,7 +1039,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -1087,7 +1062,6 @@ + CONFIG_JFFS2_RTIME=y + # CONFIG_JFFS2_RUBIN is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1167,7 +1141,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1200,8 +1173,6 @@ + # CONFIG_RCU_CPU_STALL_DETECTOR is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1209,7 +1180,6 @@ + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_IRQSTACKS is not set + # CONFIG_BOOTX_TEXT is not set + # CONFIG_PPC_EARLY_DEBUG is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/52xx/tqm5200_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/tqm5200_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/52xx/tqm5200_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/52xx/tqm5200_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:42:58 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:09:30 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -71,23 +71,14 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 ++# CONFIG_CGROUPS is not set + CONFIG_GROUP_SCHED=y + CONFIG_FAIR_GROUP_SCHED=y + # CONFIG_RT_GROUP_SCHED is not set + CONFIG_USER_SCHED=y + # CONFIG_CGROUP_SCHED is not set +-# CONFIG_CGROUPS is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -119,6 +110,7 @@ + CONFIG_SLUB=y + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y + CONFIG_HAVE_IOREMAP_PROT=y +@@ -129,6 +121,7 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -136,9 +129,11 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + CONFIG_MODVERSIONS=y + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -154,6 +149,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y + # CONFIG_FREEZER is not set + + # +@@ -192,9 +188,9 @@ + # CONFIG_TAU is not set + # CONFIG_FSL_ULI1575 is not set + CONFIG_PPC_BESTCOMM=y +-CONFIG_PPC_BESTCOMM_ATA=y ++# CONFIG_PPC_BESTCOMM_ATA is not set + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++# CONFIG_PPC_BESTCOMM_GEN_BD is not set + + # + # Kernel options +@@ -221,7 +217,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -233,14 +228,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -281,7 +274,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -338,7 +330,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -351,7 +342,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -374,7 +364,6 @@ + # CONFIG_MTD_DEBUG is not set + CONFIG_MTD_CONCAT=y + CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_TESTS is not set + # CONFIG_MTD_REDBOOT_PARTS is not set + CONFIG_MTD_CMDLINE_PARTS=y + # CONFIG_MTD_OF_PARTS is not set +@@ -444,12 +433,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +-# CONFIG_MTD_QINFO_PROBE is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -513,7 +496,6 @@ + # CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_LIBFC is not set + # CONFIG_SCSI_DEBUG is not set + # CONFIG_SCSI_DH is not set + CONFIG_ATA=y +@@ -548,9 +530,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -576,10 +555,6 @@ + # CONFIG_IWLWIFI_LEDS is not set + + # +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# +- +-# + # USB Network Adapters + # + # CONFIG_USB_CATC is not set +@@ -629,10 +604,8 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE=y + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_NVRAM is not set +@@ -672,6 +645,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -700,7 +675,6 @@ + # CONFIG_SENSORS_ADT7462 is not set + # CONFIG_SENSORS_ADT7470 is not set + # CONFIG_SENSORS_ADT7473 is not set +-# CONFIG_SENSORS_ADT7475 is not set + # CONFIG_SENSORS_ATXP1 is not set + # CONFIG_SENSORS_DS1621 is not set + # CONFIG_SENSORS_F71805F is not set +@@ -720,7 +694,6 @@ + # CONFIG_SENSORS_LM90 is not set + # CONFIG_SENSORS_LM92 is not set + # CONFIG_SENSORS_LM93 is not set +-# CONFIG_SENSORS_LTC4245 is not set + # CONFIG_SENSORS_MAX1619 is not set + # CONFIG_SENSORS_MAX6650 is not set + # CONFIG_SENSORS_PC87360 is not set +@@ -769,12 +742,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -832,7 +803,6 @@ + # USB Host Controller Drivers + # + # CONFIG_USB_C67X00_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set + # CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=y +@@ -857,17 +827,18 @@ + # CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# 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_ISD200 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 +@@ -913,10 +884,6 @@ + # CONFIG_USB_ISIGHTFW is not set + # CONFIG_USB_VST is not set + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +@@ -980,6 +947,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -1000,7 +968,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -1037,7 +1004,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -1057,7 +1027,6 @@ + CONFIG_JFFS2_RTIME=y + # CONFIG_JFFS2_RUBIN is not set + CONFIG_CRAMFS=y +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1154,7 +1123,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1206,7 +1174,6 @@ + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -1215,8 +1182,6 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1225,13 +1190,11 @@ + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set + # CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set +@@ -1258,15 +1221,11 @@ + # + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -651,7 +651,7 @@ + # CONFIG_NATIONAL_PHY is not set + # CONFIG_STE10XP is not set + # CONFIG_LSI_ET1011C_PHY is not set +-CONFIG_FIXED_PHY=y ++# CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y + CONFIG_MII=y +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/linkstation_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/linkstation_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/linkstation_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/linkstation_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc6 +-# Fri Mar 6 00:07:38 2009 ++# Linux kernel version: 2.6.29-rc2 ++# Mon Jan 26 15:35:29 2009 + # + # CONFIG_PPC64 is not set + +@@ -71,15 +71,6 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=14 +@@ -97,7 +88,6 @@ + # CONFIG_IPC_NS is not set + # CONFIG_USER_NS is not set + # CONFIG_PID_NS is not set +-# CONFIG_NET_NS is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + CONFIG_CC_OPTIMIZE_FOR_SIZE=y +@@ -163,6 +153,11 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y ++# CONFIG_TREE_RCU is not set ++# CONFIG_PREEMPT_RCU is not set ++# CONFIG_TREE_RCU_TRACE is not set ++# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_FREEZER is not set + + # +@@ -299,6 +294,7 @@ + # + # Networking options + # ++# CONFIG_NET_NS is not set + CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y +@@ -512,8 +508,8 @@ + CONFIG_MTD_PARTITIONS=y + # CONFIG_MTD_TESTS is not set + # CONFIG_MTD_REDBOOT_PARTS is not set +-CONFIG_MTD_CMDLINE_PARTS=y +-CONFIG_MTD_OF_PARTS=y ++# CONFIG_MTD_CMDLINE_PARTS is not set ++# CONFIG_MTD_OF_PARTS is not set + # CONFIG_MTD_AR7_PARTS is not set + + # +@@ -591,6 +587,7 @@ + # LPDDR flash memory drivers + # + # CONFIG_MTD_LPDDR is not set ++# CONFIG_MTD_QINFO_PROBE is not set + + # + # UBI - Unsorted block images +@@ -620,19 +617,13 @@ + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set + # CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_HP_ILO is not set + # CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_AT24 is not set +-CONFIG_EEPROM_LEGACY=m +-# CONFIG_EEPROM_93CX6 is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -848,7 +839,6 @@ + # CONFIG_QLA3XXX is not set + # CONFIG_ATL1 is not set + # CONFIG_ATL1E is not set +-# CONFIG_ATL1C is not set + # CONFIG_JME is not set + CONFIG_NETDEV_10000=y + # CONFIG_CHELSIO_T1 is not set +@@ -1047,6 +1037,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++CONFIG_EEPROM_LEGACY=m + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/mpc5200_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/mpc5200_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/mpc5200_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/mpc5200_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc2 +-# Mon Jan 26 21:40:44 2009 ++# Linux kernel version: 2.6.28-rc4 ++# Thu Nov 13 02:09:07 2008 + # + # CONFIG_PPC64 is not set + +@@ -43,7 +43,7 @@ + CONFIG_PPC=y + CONFIG_EARLY_PRINTK=y + CONFIG_GENERIC_NVRAM=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -72,19 +72,10 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 +-# CONFIG_GROUP_SCHED is not set + # CONFIG_CGROUPS is not set ++# CONFIG_GROUP_SCHED is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -117,6 +108,7 @@ + CONFIG_SLUB=y + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y + CONFIG_HAVE_IOREMAP_PROT=y +@@ -127,6 +119,7 @@ + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -134,9 +127,11 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_BLOCK=y + # CONFIG_LBD is not set + # CONFIG_BLK_DEV_IO_TRACE is not set ++# CONFIG_LSF is not set + # CONFIG_BLK_DEV_BSG is not set + # CONFIG_BLK_DEV_INTEGRITY is not set + +@@ -152,6 +147,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" ++CONFIG_CLASSIC_RCU=y + CONFIG_FREEZER=y + + # +@@ -196,7 +192,7 @@ + CONFIG_PPC_BESTCOMM=y + CONFIG_PPC_BESTCOMM_ATA=y + CONFIG_PPC_BESTCOMM_FEC=y +-# CONFIG_SIMPLE_GPIO is not set ++CONFIG_PPC_BESTCOMM_GEN_BD=y + + # + # Kernel options +@@ -224,7 +220,6 @@ + CONFIG_ARCH_HAS_WALK_MEMORY=y + CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y + # CONFIG_KEXEC is not set +-# CONFIG_CRASH_DUMP is not set + CONFIG_ARCH_FLATMEM_ENABLE=y + CONFIG_ARCH_POPULATES_NODE_MAP=y + CONFIG_SELECT_MEMORY_MODEL=y +@@ -236,14 +231,12 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++# CONFIG_RESOURCES_64BIT is not set + # CONFIG_PHYS_ADDR_T_64BIT is not set + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y + CONFIG_VIRT_TO_BUS=y + CONFIG_UNEVICTABLE_LRU=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set +-# CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=11 + CONFIG_PROC_DEVICETREE=y + # CONFIG_CMDLINE_BOOL is not set +@@ -271,7 +264,6 @@ + # CONFIG_PCI_MSI is not set + CONFIG_PCI_LEGACY=y + # CONFIG_PCI_DEBUG is not set +-# CONFIG_PCI_STUB is not set + # CONFIG_PCCARD is not set + # CONFIG_HOTPLUG_PCI is not set + # CONFIG_HAS_RAPIDIO is not set +@@ -294,7 +286,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -351,7 +342,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -364,7 +354,6 @@ + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set + # CONFIG_WIRELESS is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -387,7 +376,6 @@ + # CONFIG_MTD_DEBUG is not set + CONFIG_MTD_CONCAT=y + CONFIG_MTD_PARTITIONS=y +-# CONFIG_MTD_TESTS is not set + # CONFIG_MTD_REDBOOT_PARTS is not set + CONFIG_MTD_CMDLINE_PARTS=y + # CONFIG_MTD_OF_PARTS is not set +@@ -459,12 +447,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +-# CONFIG_MTD_QINFO_PROBE is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -492,19 +474,13 @@ + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set + # CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_HP_ILO is not set + # CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_AT24 is not set +-# CONFIG_EEPROM_LEGACY is not set +-# CONFIG_EEPROM_93CX6 is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -563,8 +539,6 @@ + # CONFIG_MEGARAID_SAS is not set + # CONFIG_SCSI_HPTIOP is not set + # CONFIG_SCSI_BUSLOGIC is not set +-# CONFIG_LIBFC is not set +-# CONFIG_FCOE is not set + # CONFIG_SCSI_DMX3191D is not set + # CONFIG_SCSI_EATA is not set + # CONFIG_SCSI_FUTURE_DOMAIN is not set +@@ -685,9 +659,6 @@ + # CONFIG_BROADCOM_PHY is not set + # CONFIG_ICPLUS_PHY is not set + # CONFIG_REALTEK_PHY is not set +-# CONFIG_NATIONAL_PHY is not set +-# CONFIG_STE10XP is not set +-# CONFIG_LSI_ET1011C_PHY is not set + # CONFIG_FIXED_PHY is not set + # CONFIG_MDIO_BITBANG is not set + CONFIG_NET_ETHERNET=y +@@ -722,10 +693,6 @@ + # CONFIG_IWLWIFI_LEDS is not set + + # +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# +- +-# + # USB Network Adapters + # + # CONFIG_USB_CATC is not set +@@ -807,11 +774,9 @@ + CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 + # CONFIG_SERIAL_JSM is not set + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 + # CONFIG_HVC_RTAS is not set +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_NVRAM is not set +@@ -879,6 +844,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -907,7 +874,6 @@ + # CONFIG_SENSORS_ADT7462 is not set + # CONFIG_SENSORS_ADT7470 is not set + # CONFIG_SENSORS_ADT7473 is not set +-# CONFIG_SENSORS_ADT7475 is not set + # CONFIG_SENSORS_ATXP1 is not set + # CONFIG_SENSORS_DS1621 is not set + # CONFIG_SENSORS_I5K_AMB is not set +@@ -928,7 +894,6 @@ + # CONFIG_SENSORS_LM90 is not set + # CONFIG_SENSORS_LM92 is not set + # CONFIG_SENSORS_LM93 is not set +-# CONFIG_SENSORS_LTC4245 is not set + # CONFIG_SENSORS_MAX1619 is not set + # CONFIG_SENSORS_MAX6650 is not set + # CONFIG_SENSORS_PC87360 is not set +@@ -988,12 +953,10 @@ + # CONFIG_MFD_CORE is not set + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set +-# CONFIG_TWL4030_CORE is not set + # CONFIG_MFD_TMIO is not set + # CONFIG_PMIC_DA903X is not set + # CONFIG_MFD_WM8400 is not set + # CONFIG_MFD_WM8350_I2C is not set +-# CONFIG_MFD_PCF50633 is not set + # CONFIG_REGULATOR is not set + + # +@@ -1088,7 +1051,7 @@ + # CONFIG_LCD_ILI9320 is not set + # CONFIG_LCD_PLATFORM is not set + CONFIG_BACKLIGHT_CLASS_DEVICE=y +-CONFIG_BACKLIGHT_GENERIC=y ++# CONFIG_BACKLIGHT_CORGI is not set + + # + # Display device support +@@ -1130,22 +1093,21 @@ + CONFIG_HID_A4TECH=y + # CONFIG_HID_APPLE is not set + CONFIG_HID_BELKIN=y ++CONFIG_HID_BRIGHT=y + CONFIG_HID_CHERRY=y + # CONFIG_HID_CHICONY is not set + CONFIG_HID_CYPRESS=y ++CONFIG_HID_DELL=y + CONFIG_HID_EZKEY=y + # CONFIG_HID_GYRATION is not set + # CONFIG_HID_LOGITECH is not set + # CONFIG_HID_MICROSOFT is not set + # CONFIG_HID_MONTEREY is not set +-# CONFIG_HID_NTRIG is not set + # CONFIG_HID_PANTHERLORD is not set + # CONFIG_HID_PETALYNX is not set + # CONFIG_HID_SAMSUNG is not set + # CONFIG_HID_SONY is not set + # CONFIG_HID_SUNPLUS is not set +-# CONFIG_GREENASIA_FF is not set +-# CONFIG_HID_TOPSEED is not set + # CONFIG_THRUSTMASTER_FF is not set + # CONFIG_ZEROPLUS_FF is not set + CONFIG_USB_SUPPORT=y +@@ -1175,7 +1137,6 @@ + # + # CONFIG_USB_C67X00_HCD is not set + # CONFIG_USB_EHCI_HCD is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set + # CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=y +@@ -1203,17 +1164,18 @@ + # CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# 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_ISD200 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 +@@ -1260,10 +1222,6 @@ + # CONFIG_USB_ISIGHTFW is not set + # CONFIG_USB_VST is not set + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_UWB is not set + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set +@@ -1285,6 +1243,7 @@ + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -1305,7 +1264,6 @@ + CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -1342,7 +1300,10 @@ + # CONFIG_TMPFS_POSIX_ACL is not set + # CONFIG_HUGETLB_PAGE is not set + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -1362,7 +1323,6 @@ + CONFIG_JFFS2_RTIME=y + # CONFIG_JFFS2_RUBIN is not set + CONFIG_CRAMFS=y +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1443,7 +1403,6 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + # CONFIG_CRC_T10DIF is not set +@@ -1495,7 +1454,6 @@ + # CONFIG_DEBUG_MEMORY_INIT is not set + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -1504,8 +1462,6 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_HAVE_FUNCTION_TRACER=y +-CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y + + # + # Tracers +@@ -1514,13 +1470,11 @@ + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set + # CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + # CONFIG_DEBUG_STACKOVERFLOW is not set + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set +@@ -1547,15 +1501,11 @@ + # + # CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y + CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + # CONFIG_CRYPTO_GF128MUL is not set + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/ps3_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/ps3_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/ps3_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/ps3_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc8 +-# Fri Mar 13 09:28:45 2009 ++# Linux kernel version: 2.6.27-rc3 ++# Wed Aug 20 08:16:53 2008 + # + CONFIG_PPC64=y + +@@ -16,14 +16,13 @@ + CONFIG_ALTIVEC=y + # CONFIG_VSX is not set + CONFIG_PPC_STD_MMU=y +-CONFIG_PPC_STD_MMU_64=y + CONFIG_PPC_MM_SLICES=y + CONFIG_VIRT_CPU_ACCOUNTING=y + CONFIG_SMP=y + CONFIG_NR_CPUS=2 + CONFIG_64BIT=y + CONFIG_WORD_SIZE=64 +-CONFIG_ARCH_PHYS_ADDR_T_64BIT=y ++CONFIG_PPC_MERGE=y + CONFIG_MMU=y + CONFIG_GENERIC_CMOS_UPDATE=y + CONFIG_GENERIC_TIME=y +@@ -47,7 +46,7 @@ + CONFIG_EARLY_PRINTK=y + CONFIG_COMPAT=y + CONFIG_SYSVIPC_COMPAT=y +-CONFIG_SCHED_OMIT_FRAME_POINTER=y ++CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y + CONFIG_ARCH_MAY_HAVE_PC_FDC=y + CONFIG_PPC_OF=y + CONFIG_OF=y +@@ -75,19 +74,10 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=17 +-# CONFIG_GROUP_SCHED is not set + # CONFIG_CGROUPS is not set ++# CONFIG_GROUP_SCHED is not set + CONFIG_SYSFS_DEPRECATED=y + CONFIG_SYSFS_DEPRECATED_V2=y + # CONFIG_RELAY is not set +@@ -96,13 +86,11 @@ + # CONFIG_IPC_NS is not set + # CONFIG_USER_NS is not set + # CONFIG_PID_NS is not set +-# CONFIG_NET_NS is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + CONFIG_CC_OPTIMIZE_FOR_SIZE=y + CONFIG_SYSCTL=y +-CONFIG_ANON_INODES=y +-CONFIG_EMBEDDED=y ++# CONFIG_EMBEDDED is not set + CONFIG_SYSCTL_SYSCALL=y + CONFIG_KALLSYMS=y + CONFIG_KALLSYMS_ALL=y +@@ -111,36 +99,37 @@ + CONFIG_PRINTK=y + CONFIG_BUG=y + CONFIG_ELF_CORE=y ++# CONFIG_COMPAT_BRK is not set + CONFIG_BASE_FULL=y + CONFIG_FUTEX=y ++CONFIG_ANON_INODES=y + CONFIG_EPOLL=y + CONFIG_SIGNALFD=y + CONFIG_TIMERFD=y + CONFIG_EVENTFD=y + CONFIG_SHMEM=y +-CONFIG_AIO=y + CONFIG_VM_EVENT_COUNTERS=y +-# CONFIG_COMPAT_BRK is not set + CONFIG_SLAB=y + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set + CONFIG_PROFILING=y +-CONFIG_TRACEPOINTS=y +-CONFIG_MARKERS=y ++# CONFIG_MARKERS is not set + CONFIG_OPROFILE=m + CONFIG_HAVE_OPROFILE=y + # CONFIG_KPROBES is not set + CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +-CONFIG_HAVE_SYSCALL_WRAPPERS=y + CONFIG_HAVE_IOREMAP_PROT=y + CONFIG_HAVE_KPROBES=y + CONFIG_HAVE_KRETPROBES=y + CONFIG_HAVE_ARCH_TRACEHOOK=y + CONFIG_HAVE_DMA_ATTRS=y + CONFIG_USE_GENERIC_SMP_HELPERS=y ++# CONFIG_HAVE_CLK is not set ++CONFIG_PROC_PAGE_MONITOR=y + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -148,6 +137,7 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + # CONFIG_MODVERSIONS is not set + # CONFIG_MODULE_SRCVERSION_ALL is not set ++CONFIG_KMOD=y + CONFIG_STOP_MACHINE=y + CONFIG_BLOCK=y + # CONFIG_BLK_DEV_IO_TRACE is not set +@@ -167,7 +157,7 @@ + # CONFIG_DEFAULT_CFQ is not set + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="anticipatory" +-# CONFIG_FREEZER is not set ++CONFIG_CLASSIC_RCU=y + + # + # Platform support +@@ -193,20 +183,18 @@ + CONFIG_PS3_DISK=y + CONFIG_PS3_ROM=y + CONFIG_PS3_FLASH=y +-CONFIG_PS3_VRAM=m ++CONFIG_OPROFILE_PS3=y + CONFIG_PS3_LPM=m + CONFIG_PPC_CELL=y + # CONFIG_PPC_CELL_NATIVE is not set + # CONFIG_PPC_IBM_CELL_BLADE is not set + # CONFIG_PPC_CELLEB is not set +-# CONFIG_PPC_CELL_QPACE is not set + + # + # Cell Broadband Engine options + # + CONFIG_SPU_FS=y + CONFIG_SPU_FS_64K_LS=y +-# CONFIG_SPU_TRACE is not set + CONFIG_SPU_BASE=y + # CONFIG_PQ2ADS is not set + # CONFIG_IPIC is not set +@@ -222,7 +210,6 @@ + # CONFIG_GENERIC_IOMAP is not set + # CONFIG_CPU_FREQ is not set + # CONFIG_FSL_ULI1575 is not set +-# CONFIG_SIMPLE_GPIO is not set + + # + # Kernel options +@@ -242,8 +229,6 @@ + # CONFIG_PREEMPT is not set + CONFIG_BINFMT_ELF=y + CONFIG_COMPAT_BINFMT_ELF=y +-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +-# CONFIG_HAVE_AOUT is not set + CONFIG_BINFMT_MISC=y + CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y + # CONFIG_IOMMU_VMERGE is not set +@@ -266,6 +251,7 @@ + CONFIG_SPARSEMEM_MANUAL=y + CONFIG_SPARSEMEM=y + CONFIG_HAVE_MEMORY_PRESENT=y ++# CONFIG_SPARSEMEM_STATIC is not set + CONFIG_SPARSEMEM_EXTREME=y + CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y + # CONFIG_SPARSEMEM_VMEMMAP is not set +@@ -275,14 +261,11 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y +-CONFIG_PHYS_ADDR_T_64BIT=y ++CONFIG_RESOURCES_64BIT=y + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y +-CONFIG_UNEVICTABLE_LRU=y + CONFIG_ARCH_MEMORY_PROBE=y + CONFIG_PPC_HAS_HASH_64K=y +-CONFIG_PPC_4K_PAGES=y +-# CONFIG_PPC_16K_PAGES is not set + # CONFIG_PPC_64K_PAGES is not set + CONFIG_FORCE_MAX_ZONEORDER=13 + CONFIG_SCHED_SMT=y +@@ -316,7 +299,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + CONFIG_PACKET_MMAP=y + CONFIG_UNIX=y +@@ -379,7 +361,6 @@ + # CONFIG_TIPC is not set + # CONFIG_ATM is not set + # CONFIG_BRIDGE is not set +-# CONFIG_NET_DSA is not set + # CONFIG_VLAN_8021Q is not set + # CONFIG_DECNET is not set + # CONFIG_LLC2 is not set +@@ -390,7 +371,6 @@ + # CONFIG_ECONET is not set + # CONFIG_WAN_ROUTER is not set + # CONFIG_NET_SCHED is not set +-# CONFIG_DCB is not set + + # + # Network testing +@@ -412,37 +392,39 @@ + # + # Bluetooth device drivers + # +-CONFIG_BT_HCIBTUSB=m ++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_AF_RXRPC is not set +-# CONFIG_PHONET is not set +-CONFIG_WIRELESS=y ++ ++# ++# Wireless ++# + CONFIG_CFG80211=m +-# CONFIG_CFG80211_REG_DEBUG is not set + CONFIG_NL80211=y +-# CONFIG_WIRELESS_OLD_REGULATORY is not set + CONFIG_WIRELESS_EXT=y + # CONFIG_WIRELESS_EXT_SYSFS is not set +-# CONFIG_LIB80211 is not set + CONFIG_MAC80211=m + + # + # Rate control algorithm selection + # + CONFIG_MAC80211_RC_PID=y +-# CONFIG_MAC80211_RC_MINSTREL is not set + CONFIG_MAC80211_RC_DEFAULT_PID=y +-# CONFIG_MAC80211_RC_DEFAULT_MINSTREL is not set + CONFIG_MAC80211_RC_DEFAULT="pid" + # CONFIG_MAC80211_MESH is not set + # CONFIG_MAC80211_LEDS is not set + # CONFIG_MAC80211_DEBUGFS is not set + # CONFIG_MAC80211_DEBUG_MENU is not set +-# CONFIG_WIMAX 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_RFKILL is not set + # CONFIG_NET_9P is not set + +@@ -468,7 +450,6 @@ + CONFIG_MTD_DEBUG_VERBOSE=0 + # CONFIG_MTD_CONCAT is not set + # CONFIG_MTD_PARTITIONS is not set +-# CONFIG_MTD_TESTS is not set + + # + # User Modules And Translation Layers +@@ -513,6 +494,7 @@ + # + # CONFIG_MTD_SLRAM is not set + # CONFIG_MTD_PHRAM is not set ++CONFIG_MTD_PS3VRAM=y + # CONFIG_MTD_MTDRAM is not set + # CONFIG_MTD_BLOCK2MTD is not set + +@@ -526,11 +508,6 @@ + # CONFIG_MTD_ONENAND is not set + + # +-# LPDDR flash memory drivers +-# +-# CONFIG_MTD_LPDDR is not set +- +-# + # UBI - Unsorted block images + # + # CONFIG_MTD_UBI is not set +@@ -551,13 +528,8 @@ + # CONFIG_ATA_OVER_ETH is not set + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y +-# CONFIG_ENCLOSURE_SERVICES is not set +-# CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# + # CONFIG_EEPROM_93CX6 is not set ++# CONFIG_ENCLOSURE_SERVICES is not set + CONFIG_HAVE_IDE=y + # CONFIG_IDE is not set + +@@ -603,17 +575,7 @@ + # CONFIG_SCSI_LOWLEVEL is not set + # CONFIG_SCSI_DH is not set + # CONFIG_ATA is not set +-CONFIG_MD=y +-# CONFIG_BLK_DEV_MD is not set +-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 +-# CONFIG_DM_DELAY is not set +-# CONFIG_DM_UEVENT is not set ++# CONFIG_MD is not set + # CONFIG_MACINTOSH_DRIVERS is not set + CONFIG_NETDEVICES=y + # CONFIG_DUMMY is not set +@@ -629,9 +591,6 @@ + # CONFIG_IBM_NEW_EMAC_RGMII is not set + # CONFIG_IBM_NEW_EMAC_TAH is not set + # CONFIG_IBM_NEW_EMAC_EMAC4 is not set +-# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set +-# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set +-# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set + # CONFIG_B44 is not set + CONFIG_NETDEV_1000=y + CONFIG_GELIC_NET=y +@@ -645,7 +604,6 @@ + # CONFIG_WLAN_PRE80211 is not set + CONFIG_WLAN_80211=y + # CONFIG_LIBERTAS is not set +-# CONFIG_LIBERTAS_THINFIRM is not set + # CONFIG_USB_ZD1201 is not set + # CONFIG_USB_NET_RNDIS_WLAN is not set + # CONFIG_RTL8187 is not set +@@ -657,11 +615,13 @@ + # CONFIG_B43LEGACY is not set + CONFIG_ZD1211RW=m + # CONFIG_ZD1211RW_DEBUG is not set +-# CONFIG_RT2X00 is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# ++CONFIG_RT2X00=m ++CONFIG_RT2X00_LIB=m ++CONFIG_RT2X00_LIB_USB=m ++CONFIG_RT2X00_LIB_FIRMWARE=y ++# CONFIG_RT2500USB is not set ++CONFIG_RT73USB=m ++# CONFIG_RT2X00_DEBUG is not set + + # + # USB Network Adapters +@@ -674,7 +634,6 @@ + CONFIG_USB_NET_AX8817X=m + # CONFIG_USB_NET_CDCETHER is not set + # CONFIG_USB_NET_DM9601 is not set +-# CONFIG_USB_NET_SMSC95XX is not set + # CONFIG_USB_NET_GL620A is not set + # CONFIG_USB_NET_NET1080 is not set + # CONFIG_USB_NET_PLUSB is not set +@@ -705,7 +664,7 @@ + # Input device support + # + CONFIG_INPUT=y +-CONFIG_INPUT_FF_MEMLESS=m ++# CONFIG_INPUT_FF_MEMLESS is not set + # CONFIG_INPUT_POLLDEV is not set + + # +@@ -776,10 +735,8 @@ + # Non-8250 serial port support + # + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=16 +-# CONFIG_HVC_UDBG is not set + # CONFIG_IPMI_HANDLER is not set + # CONFIG_HW_RANDOM is not set + # CONFIG_R3964 is not set +@@ -796,11 +753,11 @@ + # CONFIG_THERMAL is not set + # CONFIG_THERMAL_HWMON is not set + # CONFIG_WATCHDOG is not set +-CONFIG_SSB_POSSIBLE=y + + # + # Sonics Silicon Backplane + # ++CONFIG_SSB_POSSIBLE=y + # CONFIG_SSB is not set + + # +@@ -810,7 +767,6 @@ + # CONFIG_MFD_SM501 is not set + # CONFIG_HTC_PASIC3 is not set + # CONFIG_MFD_TMIO is not set +-# CONFIG_REGULATOR is not set + + # + # Multimedia devices +@@ -836,7 +792,6 @@ + CONFIG_FB=y + # CONFIG_FIRMWARE_EDID is not set + # CONFIG_FB_DDC is not set +-# CONFIG_FB_BOOT_VESA_SUPPORT is not set + # CONFIG_FB_CFB_FILLRECT is not set + # CONFIG_FB_CFB_COPYAREA is not set + # CONFIG_FB_CFB_IMAGEBLIT is not set +@@ -862,8 +817,6 @@ + CONFIG_FB_PS3=y + CONFIG_FB_PS3_DEFAULT_SIZE_M=9 + # CONFIG_FB_VIRTUAL is not set +-# CONFIG_FB_METRONOME is not set +-# CONFIG_FB_MB862XX is not set + # CONFIG_BACKLIGHT_LCD_SUPPORT is not set + + # +@@ -888,7 +841,6 @@ + # CONFIG_LOGO_LINUX_VGA16 is not set + CONFIG_LOGO_LINUX_CLUT224=y + CONFIG_SOUND=m +-# CONFIG_SOUND_OSS_CORE is not set + CONFIG_SND=m + CONFIG_SND_TIMER=m + CONFIG_SND_PCM=m +@@ -897,7 +849,6 @@ + # CONFIG_SND_SEQUENCER is not set + # CONFIG_SND_MIXER_OSS is not set + # CONFIG_SND_PCM_OSS is not set +-# CONFIG_SND_HRTIMER is not set + # CONFIG_SND_DYNAMIC_MINORS is not set + CONFIG_SND_SUPPORT_OLD_API=y + CONFIG_SND_VERBOSE_PROCFS=y +@@ -922,40 +873,15 @@ + # USB Input Devices + # + CONFIG_USB_HID=m +-# CONFIG_HID_PID is not set +-CONFIG_USB_HIDDEV=y ++# CONFIG_USB_HIDINPUT_POWERBOOK is not set ++# CONFIG_HID_FF is not set ++# CONFIG_USB_HIDDEV is not set + + # + # USB HID Boot Protocol drivers + # + # CONFIG_USB_KBD is not set + # CONFIG_USB_MOUSE is not set +- +-# +-# Special HID drivers +-# +-# CONFIG_HID_COMPAT is not set +-# CONFIG_HID_A4TECH is not set +-# CONFIG_HID_APPLE is not set +-# CONFIG_HID_BELKIN is not set +-# CONFIG_HID_CHERRY is not set +-# CONFIG_HID_CHICONY is not set +-# CONFIG_HID_CYPRESS is not set +-# CONFIG_HID_EZKEY is not set +-# CONFIG_HID_GYRATION is not set +-# CONFIG_HID_LOGITECH is not set +-# CONFIG_HID_MICROSOFT is not set +-# CONFIG_HID_MONTEREY is not set +-# CONFIG_HID_NTRIG is not set +-# CONFIG_HID_PANTHERLORD is not set +-# CONFIG_HID_PETALYNX is not set +-# CONFIG_HID_SAMSUNG is not set +-# CONFIG_HID_SONY is not set +-# CONFIG_HID_SUNPLUS is not set +-# CONFIG_GREENASIA_FF is not set +-# CONFIG_HID_TOPSEED is not set +-# CONFIG_THRUSTMASTER_FF is not set +-# CONFIG_ZEROPLUS_FF is not set + CONFIG_USB_SUPPORT=y + CONFIG_USB_ARCH_HAS_HCD=y + CONFIG_USB_ARCH_HAS_OHCI=y +@@ -972,11 +898,7 @@ + # CONFIG_USB_DYNAMIC_MINORS is not set + CONFIG_USB_SUSPEND=y + # CONFIG_USB_OTG is not set +-# CONFIG_USB_OTG_WHITELIST is not set +-# CONFIG_USB_OTG_BLACKLIST_HUB is not set +-CONFIG_USB_MON=m +-# CONFIG_USB_WUSB is not set +-# CONFIG_USB_WUSB_CBAF is not set ++CONFIG_USB_MON=y + + # + # USB Host Controller Drivers +@@ -987,7 +909,6 @@ + # CONFIG_USB_EHCI_TT_NEWSCHED is not set + CONFIG_USB_EHCI_BIG_ENDIAN_MMIO=y + # CONFIG_USB_EHCI_HCD_PPC_OF is not set +-# CONFIG_USB_OXU210HP_HCD is not set + # CONFIG_USB_ISP116X_HCD is not set + # CONFIG_USB_ISP1760_HCD is not set + CONFIG_USB_OHCI_HCD=m +@@ -997,7 +918,6 @@ + CONFIG_USB_OHCI_LITTLE_ENDIAN=y + # CONFIG_USB_SL811_HCD is not set + # CONFIG_USB_R8A66597_HCD is not set +-# CONFIG_USB_HWA_HCD is not set + + # + # Enable Host or Gadget support to see Inventra options +@@ -1009,20 +929,20 @@ + # CONFIG_USB_ACM is not set + # CONFIG_USB_PRINTER is not set + # CONFIG_USB_WDM is not set +-# CONFIG_USB_TMC is not set + + # +-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed; ++# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' + # + + # +-# see USB_STORAGE Help for more information ++# may also be needed; see USB_STORAGE Help for more information + # + CONFIG_USB_STORAGE=m + # CONFIG_USB_STORAGE_DEBUG is not set + # 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_USBAT is not set + # CONFIG_USB_STORAGE_SDDR09 is not set + # CONFIG_USB_STORAGE_SDDR55 is not set +@@ -1030,6 +950,7 @@ + # CONFIG_USB_STORAGE_ALAUDA is not set + # CONFIG_USB_STORAGE_ONETOUCH is not set + # CONFIG_USB_STORAGE_KARMA is not set ++# CONFIG_USB_STORAGE_SIERRA is not set + # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set + # CONFIG_USB_LIBUSUAL is not set + +@@ -1050,7 +971,6 @@ + # CONFIG_USB_EMI62 is not set + # CONFIG_USB_EMI26 is not set + # CONFIG_USB_ADUTUX is not set +-# CONFIG_USB_SEVSEG is not set + # CONFIG_USB_RIO500 is not set + # CONFIG_USB_LEGOTOWER is not set + # CONFIG_USB_LCD is not set +@@ -1068,12 +988,7 @@ + # CONFIG_USB_IOWARRIOR is not set + # CONFIG_USB_TEST is not set + # CONFIG_USB_ISIGHTFW is not set +-# CONFIG_USB_VST is not set + # CONFIG_USB_GADGET is not set +- +-# +-# OTG and related infrastructure +-# + # CONFIG_MMC is not set + # CONFIG_MEMSTICK is not set + # CONFIG_NEW_LEDS is not set +@@ -1099,15 +1014,12 @@ + # Platform RTC drivers + # + # CONFIG_RTC_DRV_CMOS is not set +-# CONFIG_RTC_DRV_DS1286 is not set + # CONFIG_RTC_DRV_DS1511 is not set + # CONFIG_RTC_DRV_DS1553 is not set + # CONFIG_RTC_DRV_DS1742 is not set + # CONFIG_RTC_DRV_STK17TA8 is not set + # CONFIG_RTC_DRV_M48T86 is not set +-# CONFIG_RTC_DRV_M48T35 is not set + # CONFIG_RTC_DRV_M48T59 is not set +-# CONFIG_RTC_DRV_BQ4802 is not set + # CONFIG_RTC_DRV_V3020 is not set + + # +@@ -1116,7 +1028,6 @@ + CONFIG_RTC_DRV_PPC=m + # CONFIG_DMADEVICES is not set + # CONFIG_UIO is not set +-# CONFIG_STAGING is not set + + # + # File systems +@@ -1124,35 +1035,26 @@ + CONFIG_EXT2_FS=m + # CONFIG_EXT2_FS_XATTR is not set + # CONFIG_EXT2_FS_XIP is not set +-CONFIG_EXT3_FS=m ++CONFIG_EXT3_FS=y + CONFIG_EXT3_FS_XATTR=y + # CONFIG_EXT3_FS_POSIX_ACL is not set + # CONFIG_EXT3_FS_SECURITY is not set +-CONFIG_EXT4_FS=y +-# CONFIG_EXT4DEV_COMPAT is not set +-CONFIG_EXT4_FS_XATTR=y +-# CONFIG_EXT4_FS_POSIX_ACL is not set +-# CONFIG_EXT4_FS_SECURITY is not set +-CONFIG_JBD=m ++# CONFIG_EXT4DEV_FS is not set ++CONFIG_JBD=y + # CONFIG_JBD_DEBUG is not set +-CONFIG_JBD2=y +-# CONFIG_JBD2_DEBUG is not set + CONFIG_FS_MBCACHE=y + # CONFIG_REISERFS_FS is not set + # CONFIG_JFS_FS is not set + # CONFIG_FS_POSIX_ACL is not set +-CONFIG_FILE_LOCKING=y + # CONFIG_XFS_FS is not set + # CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y + CONFIG_QUOTA=y + # CONFIG_QUOTA_NETLINK_INTERFACE is not set + CONFIG_PRINT_QUOTA_WARNING=y +-CONFIG_QUOTA_TREE=y + # CONFIG_QFMT_V1 is not set + CONFIG_QFMT_V2=y + CONFIG_QUOTACTL=y +@@ -1185,14 +1087,16 @@ + CONFIG_PROC_FS=y + CONFIG_PROC_KCORE=y + CONFIG_PROC_SYSCTL=y +-CONFIG_PROC_PAGE_MONITOR=y + CONFIG_SYSFS=y + CONFIG_TMPFS=y + # CONFIG_TMPFS_POSIX_ACL is not set + CONFIG_HUGETLBFS=y + CONFIG_HUGETLB_PAGE=y + # CONFIG_CONFIGFS_FS is not set +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -1202,7 +1106,6 @@ + # CONFIG_EFS_FS is not set + # CONFIG_JFFS2_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -1223,7 +1126,6 @@ + CONFIG_NFS_COMMON=y + CONFIG_SUNRPC=y + CONFIG_SUNRPC_GSS=y +-# CONFIG_SUNRPC_REGISTER_V4 is not set + CONFIG_RPCSEC_GSS_KRB5=y + # CONFIG_RPCSEC_GSS_SPKM3 is not set + # CONFIG_SMB_FS is not set +@@ -1288,9 +1190,9 @@ + # Library routines + # + CONFIG_BITREVERSE=y +-CONFIG_GENERIC_FIND_LAST_BIT=y ++# CONFIG_GENERIC_FIND_FIRST_BIT is not set + CONFIG_CRC_CCITT=m +-CONFIG_CRC16=y ++# CONFIG_CRC16 is not set + CONFIG_CRC_T10DIF=y + CONFIG_CRC_ITU_T=m + CONFIG_CRC32=y +@@ -1348,44 +1250,27 @@ + CONFIG_DEBUG_MEMORY_INIT=y + CONFIG_DEBUG_LIST=y + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set ++CONFIG_FRAME_POINTER=y + # CONFIG_BOOT_PRINTK_DELAY is not set + # CONFIG_RCU_TORTURE_TEST is not set +-# CONFIG_RCU_CPU_STALL_DETECTOR is not set + # CONFIG_BACKTRACE_SELF_TEST is not set +-# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_SYSCTL_SYSCALL_CHECK=y +-CONFIG_NOP_TRACER=y +-CONFIG_HAVE_FUNCTION_TRACER=y ++CONFIG_HAVE_FTRACE=y + CONFIG_HAVE_DYNAMIC_FTRACE=y +-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +-CONFIG_RING_BUFFER=y +-CONFIG_TRACING=y +- +-# +-# Tracers +-# +-# CONFIG_FUNCTION_TRACER is not set ++# CONFIG_FTRACE is not set + # CONFIG_IRQSOFF_TRACER is not set + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set +-# CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_STACK_TRACER is not set +-# CONFIG_FTRACE_STARTUP_TEST is not set +-# CONFIG_DYNAMIC_PRINTK_DEBUG is not set + # CONFIG_SAMPLES is not set + CONFIG_HAVE_ARCH_KGDB=y + # CONFIG_KGDB is not set +-CONFIG_PRINT_STACK_DEPTH=64 + CONFIG_DEBUG_STACKOVERFLOW=y + # CONFIG_DEBUG_STACK_USAGE is not set + # CONFIG_DEBUG_PAGEALLOC is not set + # CONFIG_CODE_PATCHING_SELFTEST is not set + # CONFIG_FTR_FIXUP_SELFTEST is not set +-# CONFIG_MSI_BITMAP_SELFTEST is not set + # CONFIG_XMON is not set + CONFIG_IRQSTACKS=y + # CONFIG_VIRQ_DEBUG is not set +@@ -1397,26 +1282,16 @@ + # + # CONFIG_KEYS is not set + # CONFIG_SECURITY is not set +-# CONFIG_SECURITYFS is not set + # CONFIG_SECURITY_FILE_CAPABILITIES is not set + CONFIG_CRYPTO=y + + # + # Crypto core or helper + # +-# CONFIG_CRYPTO_FIPS is not set + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y + CONFIG_CRYPTO_AEAD=m +-CONFIG_CRYPTO_AEAD2=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y +-CONFIG_CRYPTO_HASH=y +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG=m +-CONFIG_CRYPTO_RNG2=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + CONFIG_CRYPTO_GF128MUL=m + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +@@ -1488,11 +1363,6 @@ + # + # CONFIG_CRYPTO_DEFLATE is not set + CONFIG_CRYPTO_LZO=m +- +-# +-# Random Number Generation +-# +-# CONFIG_CRYPTO_ANSI_CPRNG is not set + CONFIG_CRYPTO_HW=y + # CONFIG_PPC_CLOCK is not set + # CONFIG_VIRTUALIZATION is not set +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/configs/storcenter_defconfig linux-2.6.29-rc3.owrt/arch/powerpc/configs/storcenter_defconfig +--- linux-2.6.29.owrt/arch/powerpc/configs/storcenter_defconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/configs/storcenter_defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc6 +-# Fri Mar 6 00:09:08 2009 ++# Linux kernel version: 2.6.29-rc2 ++# Mon Jan 26 15:35:46 2009 + # + # CONFIG_PPC64 is not set + +@@ -71,15 +71,6 @@ + # CONFIG_BSD_PROCESS_ACCT is not set + # CONFIG_TASKSTATS is not set + # CONFIG_AUDIT is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_IKCONFIG is not set + CONFIG_LOG_BUF_SHIFT=14 + CONFIG_GROUP_SCHED=y +@@ -153,6 +144,11 @@ + CONFIG_DEFAULT_CFQ=y + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="cfq" ++CONFIG_CLASSIC_RCU=y ++# CONFIG_TREE_RCU is not set ++# CONFIG_PREEMPT_RCU is not set ++# CONFIG_TREE_RCU_TRACE is not set ++# CONFIG_PREEMPT_RCU_TRACE is not set + # CONFIG_FREEZER is not set + + # +@@ -381,8 +377,8 @@ + CONFIG_MTD_PARTITIONS=y + # CONFIG_MTD_TESTS is not set + # CONFIG_MTD_REDBOOT_PARTS is not set +-CONFIG_MTD_CMDLINE_PARTS=y +-CONFIG_MTD_OF_PARTS=y ++# CONFIG_MTD_CMDLINE_PARTS is not set ++# CONFIG_MTD_OF_PARTS is not set + # CONFIG_MTD_AR7_PARTS is not set + + # +@@ -456,6 +452,7 @@ + # LPDDR flash memory drivers + # + # CONFIG_MTD_LPDDR is not set ++# CONFIG_MTD_QINFO_PROBE is not set + + # + # UBI - Unsorted block images +@@ -481,19 +478,13 @@ + # CONFIG_BLK_DEV_HD is not set + CONFIG_MISC_DEVICES=y + # CONFIG_PHANTOM is not set ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_SGI_IOC4 is not set + # CONFIG_TIFM_CORE is not set + # CONFIG_ICS932S401 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_HP_ILO is not set + # CONFIG_C2PORT is not set +- +-# +-# EEPROM support +-# +-# CONFIG_EEPROM_AT24 is not set +-# CONFIG_EEPROM_LEGACY is not set +-# CONFIG_EEPROM_93CX6 is not set + CONFIG_HAVE_IDE=y + CONFIG_IDE=y + +@@ -686,7 +677,6 @@ + # CONFIG_QLA3XXX is not set + # CONFIG_ATL1 is not set + # CONFIG_ATL1E is not set +-# CONFIG_ATL1C is not set + # CONFIG_JME is not set + # CONFIG_NETDEV_10000 is not set + # CONFIG_TR is not set +@@ -828,6 +818,8 @@ + # Miscellaneous I2C Chip support + # + # CONFIG_DS1682 is not set ++# CONFIG_EEPROM_AT24 is not set ++# CONFIG_EEPROM_LEGACY is not set + # CONFIG_SENSORS_PCF8574 is not set + # CONFIG_PCF8575 is not set + # CONFIG_SENSORS_PCA9539 is not set +@@ -1167,7 +1159,6 @@ + # CONFIG_SYSV_FS is not set + # CONFIG_UFS_FS is not set + # CONFIG_NETWORK_FILESYSTEMS is not set +-CONFIG_EXPORTFS=m + + # + # Partition Types +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/compat.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/compat.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/compat.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/compat.h 2009-05-10 23:48:28.000000000 +0200 +@@ -210,10 +210,5 @@ + compat_ulong_t __unused6; + }; + +-static inline int is_compat_task(void) +-{ +- return test_thread_flag(TIF_32BIT); +-} +- + #endif /* __KERNEL__ */ + #endif /* _ASM_POWERPC_COMPAT_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/cputable.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/cputable.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/cputable.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/cputable.h 2009-05-10 23:48:28.000000000 +0200 +@@ -241,11 +241,9 @@ + /* We need to mark all pages as being coherent if we're SMP or we have a + * 74[45]x and an MPC107 host bridge. Also 83xx and PowerQUICC II + * require it for PCI "streaming/prefetch" to work properly. +- * This is also required by 52xx family. + */ + #if defined(CONFIG_SMP) || defined(CONFIG_MPC10X_BRIDGE) \ +- || defined(CONFIG_PPC_83xx) || defined(CONFIG_8260) \ +- || defined(CONFIG_PPC_MPC52xx) ++ || defined(CONFIG_PPC_83xx) || defined(CONFIG_8260) + #define CPU_FTR_COMMON CPU_FTR_NEED_COHERENT + #else + #define CPU_FTR_COMMON 0 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-4k.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-4k.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-4k.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-4k.h 2009-05-10 23:48:28.000000000 +0200 +@@ -60,7 +60,7 @@ + /* It should be preserving the high 48 bits and then specifically */ + /* preserving _PAGE_SECONDARY | _PAGE_GROUP_IX */ + #define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | \ +- _PAGE_HPTEFLAGS | _PAGE_SPECIAL) ++ _PAGE_HPTEFLAGS) + + /* Bits to mask out from a PMD to get to the PTE page */ + #define PMD_MASKED_BITS 0 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-64k.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-64k.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-64k.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-64k.h 2009-05-10 23:48:28.000000000 +0200 +@@ -114,7 +114,7 @@ + * pgprot changes + */ + #define _PAGE_CHG_MASK (PTE_RPN_MASK | _PAGE_HPTEFLAGS | _PAGE_DIRTY | \ +- _PAGE_ACCESSED | _PAGE_SPECIAL) ++ _PAGE_ACCESSED) + + /* Bits to mask out from a PMD to get to the PTE page */ + #define PMD_MASKED_BITS 0x1ff +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-ppc32.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-ppc32.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/pgtable-ppc32.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/pgtable-ppc32.h 2009-05-10 23:48:28.000000000 +0200 +@@ -429,8 +429,7 @@ + #define PMD_PAGE_SIZE(pmd) bad_call_to_PMD_PAGE_SIZE() + #endif + +-#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | \ +- _PAGE_SPECIAL) ++#define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY) + + + #define PAGE_PROT_BITS (_PAGE_GUARDED | _PAGE_COHERENT | _PAGE_NO_CACHE | \ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/include/asm/seccomp.h linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/seccomp.h +--- linux-2.6.29.owrt/arch/powerpc/include/asm/seccomp.h 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/include/asm/seccomp.h 2009-05-10 23:48:28.000000000 +0200 +@@ -1,6 +1,10 @@ + #ifndef _ASM_POWERPC_SECCOMP_H + #define _ASM_POWERPC_SECCOMP_H + ++#ifdef __KERNEL__ ++#include ++#endif ++ + #include + + #define __NR_seccomp_read __NR_read +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/kernel/align.c linux-2.6.29-rc3.owrt/arch/powerpc/kernel/align.c +--- linux-2.6.29.owrt/arch/powerpc/kernel/align.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/kernel/align.c 2009-05-10 23:48:28.000000000 +0200 +@@ -367,24 +367,27 @@ + static int emulate_fp_pair(unsigned char __user *addr, unsigned int reg, + unsigned int flags) + { +- char *ptr0 = (char *) ¤t->thread.TS_FPR(reg); +- char *ptr1 = (char *) ¤t->thread.TS_FPR(reg+1); +- int i, ret, sw = 0; ++ char *ptr = (char *) ¤t->thread.TS_FPR(reg); ++ int i, ret; + + if (!(flags & F)) + return 0; + if (reg & 1) + return 0; /* invalid form: FRS/FRT must be even */ +- if (flags & SW) +- sw = 7; +- ret = 0; +- for (i = 0; i < 8; ++i) { +- if (!(flags & ST)) { +- ret |= __get_user(ptr0[i^sw], addr + i); +- ret |= __get_user(ptr1[i^sw], addr + i + 8); +- } else { +- ret |= __put_user(ptr0[i^sw], addr + i); +- ret |= __put_user(ptr1[i^sw], addr + i + 8); ++ if (!(flags & SW)) { ++ /* not byte-swapped - easy */ ++ if (!(flags & ST)) ++ ret = __copy_from_user(ptr, addr, 16); ++ else ++ ret = __copy_to_user(addr, ptr, 16); ++ } else { ++ /* each FPR value is byte-swapped separately */ ++ ret = 0; ++ for (i = 0; i < 16; ++i) { ++ if (!(flags & ST)) ++ ret |= __get_user(ptr[i^7], addr + i); ++ else ++ ret |= __put_user(ptr[i^7], addr + i); + } + } + if (ret) +@@ -643,16 +646,11 @@ + unsigned int areg, struct pt_regs *regs, + unsigned int flags, unsigned int length) + { +- char *ptr; ++ char *ptr = (char *) ¤t->thread.TS_FPR(reg); + int ret = 0; + + flush_vsx_to_thread(current); + +- if (reg < 32) +- ptr = (char *) ¤t->thread.TS_FPR(reg); +- else +- ptr = (char *) ¤t->thread.vr[reg - 32]; +- + if (flags & ST) + ret = __copy_to_user(addr, ptr, length); + else { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/kernel/ftrace.c linux-2.6.29-rc3.owrt/arch/powerpc/kernel/ftrace.c +--- linux-2.6.29.owrt/arch/powerpc/kernel/ftrace.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/kernel/ftrace.c 2009-05-10 23:48:28.000000000 +0200 +@@ -195,9 +195,8 @@ + return -EINVAL; + } + +- /* The bottom half is signed extended */ +- offset = ((unsigned)((unsigned short)jmp[0]) << 16) + +- (int)((short)jmp[1]); ++ offset = (unsigned)((unsigned short)jmp[0]) << 16 | ++ (unsigned)((unsigned short)jmp[1]); + + DEBUGP(" %x ", offset); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/kernel/head_32.S linux-2.6.29-rc3.owrt/arch/powerpc/kernel/head_32.S +--- linux-2.6.29.owrt/arch/powerpc/kernel/head_32.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/kernel/head_32.S 2009-05-10 23:48:28.000000000 +0200 +@@ -511,11 +511,8 @@ + and r1,r1,r2 /* writable if _RW and _DIRTY */ + rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ + rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ +- ori r1,r1,0xe04 /* clear out reserved bits */ ++ ori r1,r1,0xe14 /* clear out reserved bits and M */ + andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ +-BEGIN_FTR_SECTION +- rlwinm r1,r1,0,~_PAGE_COHERENT /* clear M (coherence not required) */ +-END_FTR_SECTION_IFCLR(CPU_FTR_NEED_COHERENT) + mtspr SPRN_RPA,r1 + mfspr r3,SPRN_IMISS + tlbli r3 +@@ -588,11 +585,8 @@ + and r1,r1,r2 /* writable if _RW and _DIRTY */ + rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ + rlwimi r3,r3,32-1,31,31 /* _PAGE_USER -> PP lsb */ +- ori r1,r1,0xe04 /* clear out reserved bits */ ++ ori r1,r1,0xe14 /* clear out reserved bits and M */ + andc r1,r3,r1 /* PP = user? (rw&dirty? 2: 3): 0 */ +-BEGIN_FTR_SECTION +- rlwinm r1,r1,0,~_PAGE_COHERENT /* clear M (coherence not required) */ +-END_FTR_SECTION_IFCLR(CPU_FTR_NEED_COHERENT) + mtspr SPRN_RPA,r1 + mfspr r3,SPRN_DMISS + tlbld r3 +@@ -659,11 +653,8 @@ + stw r3,0(r2) /* update PTE (accessed/dirty bits) */ + /* Convert linux-style PTE to low word of PPC-style PTE */ + rlwimi r3,r3,32-1,30,30 /* _PAGE_USER -> PP msb */ +- li r1,0xe05 /* clear out reserved bits & PP lsb */ ++ li r1,0xe15 /* clear out reserved bits and M */ + andc r1,r3,r1 /* PP = user? 2: 0 */ +-BEGIN_FTR_SECTION +- rlwinm r1,r1,0,~_PAGE_COHERENT /* clear M (coherence not required) */ +-END_FTR_SECTION_IFCLR(CPU_FTR_NEED_COHERENT) + mtspr SPRN_RPA,r1 + mfspr r3,SPRN_DMISS + tlbld r3 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/kernel/pci-common.c linux-2.6.29-rc3.owrt/arch/powerpc/kernel/pci-common.c +--- linux-2.6.29.owrt/arch/powerpc/kernel/pci-common.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/kernel/pci-common.c 2009-05-10 23:48:28.000000000 +0200 +@@ -16,6 +16,8 @@ + * 2 of the License, or (at your option) any later version. + */ + ++#define DEBUG ++ + #include + #include + #include +@@ -256,8 +258,7 @@ + } else { + pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n", + oirq.size, oirq.specifier[0], oirq.specifier[1], +- oirq.controller ? oirq.controller->full_name : +- ""); ++ oirq.controller->full_name); + + virq = irq_create_of_mapping(oirq.controller, oirq.specifier, + oirq.size); +@@ -561,21 +562,8 @@ + (unsigned long long)(offset + size - 1)); + + if (mmap_state == pci_mmap_mem) { +- /* Hack alert ! +- * +- * Because X is lame and can fail starting if it gets an error trying +- * to mmap legacy_mem (instead of just moving on without legacy memory +- * access) we fake it here by giving it anonymous memory, effectively +- * behaving just like /dev/zero +- */ +- if ((offset + size) > hose->isa_mem_size) { +- printk(KERN_DEBUG +- "Process %s (pid:%d) mapped non-existing PCI legacy memory for 0%04x:%02x\n", +- current->comm, current->pid, pci_domain_nr(bus), bus->number); +- if (vma->vm_flags & VM_SHARED) +- return shmem_zero_setup(vma); +- return 0; +- } ++ if ((offset + size) > hose->isa_mem_size) ++ return -ENXIO; + offset += hose->isa_mem_phys; + } else { + unsigned long io_offset = (unsigned long)hose->io_base_virt - _IO_BASE; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/kvm/powerpc.c linux-2.6.29-rc3.owrt/arch/powerpc/kvm/powerpc.c +--- linux-2.6.29.owrt/arch/powerpc/kvm/powerpc.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/kvm/powerpc.c 2009-05-10 23:48:28.000000000 +0200 +@@ -125,10 +125,6 @@ + } + } + +-void kvm_arch_sync_events(struct kvm *kvm) +-{ +-} +- + void kvm_arch_destroy_vm(struct kvm *kvm) + { + kvmppc_free_vcpus(kvm); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/lib/copyuser_64.S linux-2.6.29-rc3.owrt/arch/powerpc/lib/copyuser_64.S +--- linux-2.6.29.owrt/arch/powerpc/lib/copyuser_64.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/lib/copyuser_64.S 2009-05-10 23:48:28.000000000 +0200 +@@ -62,19 +62,18 @@ + 72: std r8,8(r3) + beq+ 3f + addi r3,r3,16 ++23: ld r9,8(r4) + .Ldo_tail: + bf cr7*4+1,1f +-23: lwz r9,8(r4) +- addi r4,r4,4 ++ rotldi r9,r9,32 + 73: stw r9,0(r3) + addi r3,r3,4 + 1: bf cr7*4+2,2f +-44: lhz r9,8(r4) +- addi r4,r4,2 ++ rotldi r9,r9,16 + 74: sth r9,0(r3) + addi r3,r3,2 + 2: bf cr7*4+3,3f +-45: lbz r9,8(r4) ++ rotldi r9,r9,8 + 75: stb r9,0(r3) + 3: li r3,0 + blr +@@ -142,24 +141,11 @@ + 6: cmpwi cr1,r5,8 + addi r3,r3,32 + sld r9,r9,r10 +- ble cr1,7f ++ ble cr1,.Ldo_tail + 34: ld r0,8(r4) + srd r7,r0,r11 + or r9,r7,r9 +-7: +- bf cr7*4+1,1f +- rotldi r9,r9,32 +-94: stw r9,0(r3) +- addi r3,r3,4 +-1: bf cr7*4+2,2f +- rotldi r9,r9,16 +-95: sth r9,0(r3) +- addi r3,r3,2 +-2: bf cr7*4+3,3f +- rotldi r9,r9,8 +-96: stb r9,0(r3) +-3: li r3,0 +- blr ++ b .Ldo_tail + + .Ldst_unaligned: + PPC_MTOCRF 0x01,r6 /* put #bytes to 8B bdry into cr7 */ +@@ -232,6 +218,7 @@ + 121: + 132: + addi r3,r3,8 ++123: + 134: + 135: + 138: +@@ -239,9 +226,6 @@ + 140: + 141: + 142: +-123: +-144: +-145: + + /* + * here we have had a fault on a load and r3 points to the first +@@ -325,9 +309,6 @@ + 187: + 188: + 189: +-194: +-195: +-196: + 1: + ld r6,-24(r1) + ld r5,-8(r1) +@@ -348,9 +329,7 @@ + .llong 72b,172b + .llong 23b,123b + .llong 73b,173b +- .llong 44b,144b + .llong 74b,174b +- .llong 45b,145b + .llong 75b,175b + .llong 24b,124b + .llong 25b,125b +@@ -368,9 +347,6 @@ + .llong 79b,179b + .llong 80b,180b + .llong 34b,134b +- .llong 94b,194b +- .llong 95b,195b +- .llong 96b,196b + .llong 35b,135b + .llong 81b,181b + .llong 36b,136b +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/lib/memcpy_64.S linux-2.6.29-rc3.owrt/arch/powerpc/lib/memcpy_64.S +--- linux-2.6.29.owrt/arch/powerpc/lib/memcpy_64.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/lib/memcpy_64.S 2009-05-10 23:48:28.000000000 +0200 +@@ -53,19 +53,18 @@ + 3: std r8,8(r3) + beq 3f + addi r3,r3,16 ++ ld r9,8(r4) + .Ldo_tail: + bf cr7*4+1,1f +- lwz r9,8(r4) +- addi r4,r4,4 ++ rotldi r9,r9,32 + stw r9,0(r3) + addi r3,r3,4 + 1: bf cr7*4+2,2f +- lhz r9,8(r4) +- addi r4,r4,2 ++ rotldi r9,r9,16 + sth r9,0(r3) + addi r3,r3,2 + 2: bf cr7*4+3,3f +- lbz r9,8(r4) ++ rotldi r9,r9,8 + stb r9,0(r3) + 3: ld r3,48(r1) /* return dest pointer */ + blr +@@ -134,24 +133,11 @@ + cmpwi cr1,r5,8 + addi r3,r3,32 + sld r9,r9,r10 +- ble cr1,6f ++ ble cr1,.Ldo_tail + ld r0,8(r4) + srd r7,r0,r11 + or r9,r7,r9 +-6: +- bf cr7*4+1,1f +- rotldi r9,r9,32 +- stw r9,0(r3) +- addi r3,r3,4 +-1: bf cr7*4+2,2f +- rotldi r9,r9,16 +- sth r9,0(r3) +- addi r3,r3,2 +-2: bf cr7*4+3,3f +- rotldi r9,r9,8 +- stb r9,0(r3) +-3: ld r3,48(r1) /* return dest pointer */ +- blr ++ b .Ldo_tail + + .Ldst_unaligned: + PPC_MTOCRF 0x01,r6 # put #bytes to 8B bdry into cr7 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/lib/sstep.c linux-2.6.29-rc3.owrt/arch/powerpc/lib/sstep.c +--- linux-2.6.29.owrt/arch/powerpc/lib/sstep.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/lib/sstep.c 2009-05-10 23:48:28.000000000 +0200 +@@ -172,8 +172,6 @@ + } + break; + case 0x378: /* orx */ +- if (instr & 1) +- break; + rs = (instr >> 21) & 0x1f; + rb = (instr >> 11) & 0x1f; + if (rs == rb) { /* mr */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/mm/fsl_booke_mmu.c linux-2.6.29-rc3.owrt/arch/powerpc/mm/fsl_booke_mmu.c +--- linux-2.6.29.owrt/arch/powerpc/mm/fsl_booke_mmu.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/mm/fsl_booke_mmu.c 2009-05-10 23:48:28.000000000 +0200 +@@ -73,7 +73,7 @@ + /* + * Return PA for this VA if it is mapped by a CAM, or 0 + */ +-phys_addr_t v_mapped_by_tlbcam(unsigned long va) ++unsigned long v_mapped_by_tlbcam(unsigned long va) + { + int b; + for (b = 0; b < tlbcam_index; ++b) +@@ -85,7 +85,7 @@ + /* + * Return VA for a given PA or 0 if not mapped + */ +-unsigned long p_mapped_by_tlbcam(phys_addr_t pa) ++unsigned long p_mapped_by_tlbcam(unsigned long pa) + { + int b; + for (b = 0; b < tlbcam_index; ++b) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/mm/hash_low_32.S linux-2.6.29-rc3.owrt/arch/powerpc/mm/hash_low_32.S +--- linux-2.6.29.owrt/arch/powerpc/mm/hash_low_32.S 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/mm/hash_low_32.S 2009-05-10 23:48:28.000000000 +0200 +@@ -320,7 +320,7 @@ + and r8,r8,r0 /* writable if _RW & _DIRTY */ + rlwimi r5,r5,32-1,30,30 /* _PAGE_USER -> PP msb */ + rlwimi r5,r5,32-2,31,31 /* _PAGE_USER -> PP lsb */ +- ori r8,r8,0xe04 /* clear out reserved bits */ ++ ori r8,r8,0xe14 /* clear out reserved bits and M */ + andc r8,r5,r8 /* PP = user? (rw&dirty? 2: 3): 0 */ + BEGIN_FTR_SECTION + rlwinm r8,r8,0,~_PAGE_COHERENT /* clear M (coherence not required) */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/mm/numa.c linux-2.6.29-rc3.owrt/arch/powerpc/mm/numa.c +--- linux-2.6.29.owrt/arch/powerpc/mm/numa.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/mm/numa.c 2009-05-10 23:48:28.000000000 +0200 +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -883,7 +882,7 @@ + unsigned long physbase = lmb.reserved.region[i].base; + unsigned long size = lmb.reserved.region[i].size; + unsigned long start_pfn = physbase >> PAGE_SHIFT; +- unsigned long end_pfn = PFN_UP(physbase + size); ++ unsigned long end_pfn = ((physbase + size) >> PAGE_SHIFT); + struct node_active_region node_ar; + unsigned long node_end_pfn = node->node_start_pfn + + node->node_spanned_pages; +@@ -909,7 +908,7 @@ + */ + if (end_pfn > node_ar.end_pfn) + reserve_size = (node_ar.end_pfn << PAGE_SHIFT) +- - physbase; ++ - (start_pfn << PAGE_SHIFT); + /* + * Only worry about *this* node, others may not + * yet have valid NODE_DATA(). +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/mm/pgtable_32.c linux-2.6.29-rc3.owrt/arch/powerpc/mm/pgtable_32.c +--- linux-2.6.29.owrt/arch/powerpc/mm/pgtable_32.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/mm/pgtable_32.c 2009-05-10 23:48:28.000000000 +0200 +@@ -61,8 +61,8 @@ + + #ifdef HAVE_TLBCAM + extern unsigned int tlbcam_index; +-extern phys_addr_t v_mapped_by_tlbcam(unsigned long va); +-extern unsigned long p_mapped_by_tlbcam(phys_addr_t pa); ++extern unsigned long v_mapped_by_tlbcam(unsigned long va); ++extern unsigned long p_mapped_by_tlbcam(unsigned long pa); + #else /* !HAVE_TLBCAM */ + #define v_mapped_by_tlbcam(x) (0UL) + #define p_mapped_by_tlbcam(x) (0UL) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/oprofile/cell/spu_profiler.c linux-2.6.29-rc3.owrt/arch/powerpc/oprofile/cell/spu_profiler.c +--- linux-2.6.29.owrt/arch/powerpc/oprofile/cell/spu_profiler.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/oprofile/cell/spu_profiler.c 2009-05-10 23:48:28.000000000 +0200 +@@ -16,7 +16,6 @@ + #include + #include + #include +-#include + #include "pr_util.h" + + #define SCALE_SHIFT 14 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/52xx/mpc52xx_pci.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/52xx/mpc52xx_pci.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/52xx/mpc52xx_pci.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/52xx/mpc52xx_pci.c 2009-05-10 23:48:28.000000000 +0200 +@@ -20,6 +20,14 @@ + + + /* ======================================================================== */ ++/* PCI windows config */ ++/* ======================================================================== */ ++ ++#define MPC52xx_PCI_TARGET_IO 0xf0000000 ++#define MPC52xx_PCI_TARGET_MEM 0x00000000 ++ ++ ++/* ======================================================================== */ + /* Structures mapping & Defines for PCI Unit */ + /* ======================================================================== */ + +@@ -236,7 +244,7 @@ + + static void __init + mpc52xx_pci_setup(struct pci_controller *hose, +- struct mpc52xx_pci __iomem *pci_regs, phys_addr_t pci_phys) ++ struct mpc52xx_pci __iomem *pci_regs) + { + struct resource *res; + u32 tmp; +@@ -306,14 +314,10 @@ + /* Set all the IWCR fields at once; they're in the same reg */ + out_be32(&pci_regs->iwcr, MPC52xx_PCI_IWCR_PACK(iwcr0, iwcr1, iwcr2)); + +- /* Map IMMR onto PCI bus */ +- pci_phys &= 0xfffc0000; /* bar0 has only 14 significant bits */ +- out_be32(&pci_regs->tbatr0, MPC52xx_PCI_TBATR_ENABLE | pci_phys); +- out_be32(&pci_regs->bar0, PCI_BASE_ADDRESS_MEM_PREFETCH | pci_phys); +- +- /* Map memory onto PCI bus */ +- out_be32(&pci_regs->tbatr1, MPC52xx_PCI_TBATR_ENABLE); +- out_be32(&pci_regs->bar1, PCI_BASE_ADDRESS_MEM_PREFETCH); ++ out_be32(&pci_regs->tbatr0, ++ MPC52xx_PCI_TBATR_ENABLE | MPC52xx_PCI_TARGET_IO ); ++ out_be32(&pci_regs->tbatr1, ++ MPC52xx_PCI_TBATR_ENABLE | MPC52xx_PCI_TARGET_MEM ); + + out_be32(&pci_regs->tcr, MPC52xx_PCI_TCR_LD | MPC52xx_PCI_TCR_WCT8); + +@@ -410,7 +414,7 @@ + + /* Finish setting up PCI using values obtained by + * pci_proces_bridge_OF_ranges */ +- mpc52xx_pci_setup(hose, pci_regs, rsrc.start); ++ mpc52xx_pci_setup(hose, pci_regs); + + return 0; + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c 2009-05-10 23:48:28.000000000 +0200 +@@ -186,7 +186,7 @@ + iounmap(priv->regs); + out_free_bootmem: + free_bootmem((unsigned long)priv, +- sizeof(struct pq2ads_pci_pic)); ++ sizeof(sizeof(struct pq2ads_pci_pic))); + of_node_put(np); + out_unmap_irq: + irq_dispose_mapping(irq); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/86xx/gef_sbc610.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/86xx/gef_sbc610.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/86xx/gef_sbc610.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/86xx/gef_sbc610.c 2009-05-10 23:48:28.000000000 +0200 +@@ -142,10 +142,6 @@ + { + unsigned int val; + +- /* Do not do the fixup on other platforms! */ +- if (!machine_is(gef_sbc610)) +- return; +- + printk(KERN_INFO "Running NEC uPD720101 Fixup\n"); + + /* Ensure ports 1, 2, 3, 4 & 5 are enabled */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/embedded6xx/linkstation.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/embedded6xx/linkstation.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/embedded6xx/linkstation.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/embedded6xx/linkstation.c 2009-05-10 23:48:28.000000000 +0200 +@@ -12,6 +12,7 @@ + + #include + #include ++#include + #include + + #include +@@ -21,6 +22,39 @@ + + #include "mpc10x.h" + ++static struct mtd_partition linkstation_physmap_partitions[] = { ++ { ++ .name = "mtd_firmimg", ++ .offset = 0x000000, ++ .size = 0x300000, ++ }, ++ { ++ .name = "mtd_bootcode", ++ .offset = 0x300000, ++ .size = 0x070000, ++ }, ++ { ++ .name = "mtd_status", ++ .offset = 0x370000, ++ .size = 0x010000, ++ }, ++ { ++ .name = "mtd_conf", ++ .offset = 0x380000, ++ .size = 0x080000, ++ }, ++ { ++ .name = "mtd_allflash", ++ .offset = 0x000000, ++ .size = 0x400000, ++ }, ++ { ++ .name = "mtd_data", ++ .offset = 0x310000, ++ .size = 0x0f0000, ++ }, ++}; ++ + static __initdata struct of_device_id of_bus_ids[] = { + { .type = "soc", }, + { .compatible = "simple-bus", }, +@@ -65,6 +99,10 @@ + static void __init linkstation_setup_arch(void) + { + struct device_node *np; ++#ifdef CONFIG_MTD_PHYSMAP ++ physmap_set_partitions(linkstation_physmap_partitions, ++ ARRAY_SIZE(linkstation_physmap_partitions)); ++#endif + + /* Lookup PCI host bridges */ + for_each_compatible_node(np, "pci", "mpc10x-pci") +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/embedded6xx/storcenter.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/embedded6xx/storcenter.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/embedded6xx/storcenter.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/embedded6xx/storcenter.c 2009-05-10 23:48:28.000000000 +0200 +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + + #include +@@ -25,6 +26,32 @@ + #include "mpc10x.h" + + ++#ifdef CONFIG_MTD_PHYSMAP ++static struct mtd_partition storcenter_physmap_partitions[] = { ++ { ++ .name = "kernel", ++ .offset = 0x000000, ++ .size = 0x170000, ++ }, ++ { ++ .name = "rootfs", ++ .offset = 0x170000, ++ .size = 0x590000, ++ }, ++ { ++ .name = "uboot", ++ .offset = 0x700000, ++ .size = 0x040000, ++ }, ++ { ++ .name = "config", ++ .offset = 0x740000, ++ .size = 0x0c0000, ++ }, ++}; ++#endif ++ ++ + static __initdata struct of_device_id storcenter_of_bus[] = { + { .name = "soc", }, + {}, +@@ -69,6 +96,11 @@ + { + struct device_node *np; + ++#ifdef CONFIG_MTD_PHYSMAP ++ physmap_set_partitions(storcenter_physmap_partitions, ++ ARRAY_SIZE(storcenter_physmap_partitions)); ++#endif ++ + /* Lookup PCI host bridges */ + for_each_compatible_node(np, "pci", "mpc10x-pci") + storcenter_add_bridge(np); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/ps3/Kconfig linux-2.6.29-rc3.owrt/arch/powerpc/platforms/ps3/Kconfig +--- linux-2.6.29.owrt/arch/powerpc/platforms/ps3/Kconfig 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/ps3/Kconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -128,13 +128,6 @@ + be disabled on the kernel command line using "ps3flash=off", to + not allocate this fixed buffer. + +-config PS3_VRAM +- tristate "PS3 Video RAM Storage Driver" +- depends on FB_PS3=y && BLOCK && m +- help +- This driver allows you to use excess PS3 video RAM as volatile +- storage or system swap. +- + config PS3_LPM + tristate "PS3 Logical Performance Monitor support" + depends on PPC_PS3 +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/ps3/mm.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/ps3/mm.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/ps3/mm.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/ps3/mm.c 2009-05-10 23:48:28.000000000 +0200 +@@ -328,7 +328,7 @@ + return result; + } + +-device_initcall(ps3_mm_add_memory); ++core_initcall(ps3_mm_add_memory); + + /*============================================================================*/ + /* dma routines */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/platforms/pseries/hotplug-memory.c linux-2.6.29-rc3.owrt/arch/powerpc/platforms/pseries/hotplug-memory.c +--- linux-2.6.29.owrt/arch/powerpc/platforms/pseries/hotplug-memory.c 2009-05-10 22:04:40.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/platforms/pseries/hotplug-memory.c 2009-05-10 23:48:28.000000000 +0200 +@@ -14,7 +14,6 @@ + #include + #include + #include +-#include + + static int pseries_remove_lmb(unsigned long base, unsigned int lmb_size) + { +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/sysdev/cpm2_pic.c linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/cpm2_pic.c +--- linux-2.6.29.owrt/arch/powerpc/sysdev/cpm2_pic.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/cpm2_pic.c 2009-05-10 23:48:28.000000000 +0200 +@@ -165,7 +165,7 @@ + edibit = (14 - (src - CPM2_IRQ_EXT1)); + else + if (src >= CPM2_IRQ_PORTC15 && src <= CPM2_IRQ_PORTC0) +- edibit = (31 - (CPM2_IRQ_PORTC0 - src)); ++ edibit = (31 - (src - CPM2_IRQ_PORTC15)); + else + return (flow_type & IRQ_TYPE_LEVEL_LOW) ? 0 : -EINVAL; + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/sysdev/ipic.c linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/ipic.c +--- linux-2.6.29.owrt/arch/powerpc/sysdev/ipic.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/ipic.c 2009-05-10 23:48:28.000000000 +0200 +@@ -890,7 +890,7 @@ + return irq_linear_revmap(primary_ipic->irqhost, irq); + } + +-#ifdef CONFIG_SUSPEND ++#ifdef CONFIG_PM + static struct { + u32 sicfr; + u32 siprr[2]; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/powerpc/sysdev/ppc4xx_pci.c linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/ppc4xx_pci.c +--- linux-2.6.29.owrt/arch/powerpc/sysdev/ppc4xx_pci.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/powerpc/sysdev/ppc4xx_pci.c 2009-05-10 23:48:28.000000000 +0200 +@@ -204,23 +204,6 @@ + { + u32 ma, pcila, pciha; + +- /* Hack warning ! The "old" PCI 2.x cell only let us configure the low +- * 32-bit of incoming PLB addresses. The top 4 bits of the 36-bit +- * address are actually hard wired to a value that appears to depend +- * on the specific SoC. For example, it's 0 on 440EP and 1 on 440EPx. +- * +- * The trick here is we just crop those top bits and ignore them when +- * programming the chip. That means the device-tree has to be right +- * for the specific part used (we don't print a warning if it's wrong +- * but on the other hand, you'll crash quickly enough), but at least +- * this code should work whatever the hard coded value is +- */ +- plb_addr &= 0xffffffffull; +- +- /* Note: Due to the above hack, the test below doesn't actually test +- * if you address is above 4G, but it tests that address and +- * (address + size) are both contained in the same 4G +- */ + if ((plb_addr + size) > 0xffffffffull || !is_power_of_2(size) || + size < 0x1000 || (plb_addr & (size - 1)) != 0) { + printk(KERN_WARNING "%s: Resource out of range\n", +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/crypto/aes_s390.c linux-2.6.29-rc3.owrt/arch/s390/crypto/aes_s390.c +--- linux-2.6.29.owrt/arch/s390/crypto/aes_s390.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/crypto/aes_s390.c 2009-05-10 23:48:28.000000000 +0200 +@@ -556,7 +556,7 @@ + module_init(aes_s390_init); + module_exit(aes_s390_fini); + +-MODULE_ALIAS("aes-all"); ++MODULE_ALIAS("aes"); + + MODULE_DESCRIPTION("Rijndael (AES) Cipher Algorithm"); + MODULE_LICENSE("GPL"); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/defconfig linux-2.6.29-rc3.owrt/arch/s390/defconfig +--- linux-2.6.29.owrt/arch/s390/defconfig 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/defconfig 2009-05-10 23:48:28.000000000 +0200 +@@ -1,7 +1,7 @@ + # + # Automatically generated make config: don't edit +-# Linux kernel version: 2.6.29-rc4 +-# Wed Feb 11 10:07:16 2009 ++# Linux kernel version: 2.6.28-rc6 ++# Thu Nov 27 11:00:49 2008 + # + CONFIG_SCHED_MC=y + CONFIG_MMU=y +@@ -14,14 +14,12 @@ + # CONFIG_ARCH_HAS_ILOG2_U64 is not set + CONFIG_GENERIC_HWEIGHT=y + CONFIG_GENERIC_TIME=y +-CONFIG_GENERIC_TIME_VSYSCALL=y + CONFIG_GENERIC_CLOCKEVENTS=y + CONFIG_GENERIC_BUG=y + CONFIG_NO_IOMEM=y + CONFIG_NO_DMA=y + CONFIG_GENERIC_LOCKBREAK=y + CONFIG_PGSTE=y +-CONFIG_VIRT_CPU_ACCOUNTING=y + CONFIG_S390=y + CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +@@ -41,29 +39,20 @@ + # CONFIG_TASKSTATS is not set + CONFIG_AUDIT=y + # CONFIG_AUDITSYSCALL is not set +- +-# +-# RCU Subsystem +-# +-CONFIG_CLASSIC_RCU=y +-# CONFIG_TREE_RCU is not set +-# CONFIG_PREEMPT_RCU is not set +-# CONFIG_TREE_RCU_TRACE is not set +-# CONFIG_PREEMPT_RCU_TRACE is not set + CONFIG_IKCONFIG=y + CONFIG_IKCONFIG_PROC=y + CONFIG_LOG_BUF_SHIFT=17 +-CONFIG_GROUP_SCHED=y +-CONFIG_FAIR_GROUP_SCHED=y +-# CONFIG_RT_GROUP_SCHED is not set +-CONFIG_USER_SCHED=y +-# CONFIG_CGROUP_SCHED is not set + CONFIG_CGROUPS=y + # CONFIG_CGROUP_DEBUG is not set + CONFIG_CGROUP_NS=y + # CONFIG_CGROUP_FREEZER is not set + # CONFIG_CGROUP_DEVICE is not set + # CONFIG_CPUSETS is not set ++CONFIG_GROUP_SCHED=y ++CONFIG_FAIR_GROUP_SCHED=y ++# CONFIG_RT_GROUP_SCHED is not set ++CONFIG_USER_SCHED=y ++# CONFIG_CGROUP_SCHED is not set + # CONFIG_CGROUP_CPUACCT is not set + # CONFIG_RESOURCE_COUNTERS is not set + CONFIG_SYSFS_DEPRECATED=y +@@ -74,7 +63,6 @@ + CONFIG_IPC_NS=y + # CONFIG_USER_NS is not set + # CONFIG_PID_NS is not set +-# CONFIG_NET_NS is not set + CONFIG_BLK_DEV_INITRD=y + CONFIG_INITRAMFS_SOURCE="" + # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +@@ -103,17 +91,17 @@ + # CONFIG_SLUB is not set + # CONFIG_SLOB is not set + # CONFIG_PROFILING is not set ++# CONFIG_MARKERS is not set + CONFIG_HAVE_OPROFILE=y + CONFIG_KPROBES=y +-CONFIG_HAVE_SYSCALL_WRAPPERS=y + CONFIG_KRETPROBES=y + CONFIG_HAVE_KPROBES=y + CONFIG_HAVE_KRETPROBES=y + CONFIG_HAVE_ARCH_TRACEHOOK=y +-CONFIG_USE_GENERIC_SMP_HELPERS=y + # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set + CONFIG_SLABINFO=y + CONFIG_RT_MUTEXES=y ++# CONFIG_TINY_SHMEM is not set + CONFIG_BASE_SMALL=0 + CONFIG_MODULES=y + # CONFIG_MODULE_FORCE_LOAD is not set +@@ -121,7 +109,7 @@ + # CONFIG_MODULE_FORCE_UNLOAD is not set + CONFIG_MODVERSIONS=y + # CONFIG_MODULE_SRCVERSION_ALL is not set +-CONFIG_INIT_ALL_POSSIBLE=y ++CONFIG_KMOD=y + CONFIG_STOP_MACHINE=y + CONFIG_BLOCK=y + # CONFIG_BLK_DEV_IO_TRACE is not set +@@ -142,6 +130,7 @@ + # CONFIG_DEFAULT_NOOP is not set + CONFIG_DEFAULT_IOSCHED="deadline" + CONFIG_PREEMPT_NOTIFIERS=y ++CONFIG_CLASSIC_RCU=y + # CONFIG_FREEZER is not set + + # +@@ -172,7 +161,6 @@ + CONFIG_MARCH_Z900=y + # CONFIG_MARCH_Z990 is not set + # CONFIG_MARCH_Z9_109 is not set +-# CONFIG_MARCH_Z10 is not set + CONFIG_PACK_STACK=y + # CONFIG_SMALL_STACK is not set + CONFIG_CHECK_STACK=y +@@ -186,6 +174,7 @@ + # CONFIG_PREEMPT_NONE is not set + # CONFIG_PREEMPT_VOLUNTARY is not set + CONFIG_PREEMPT=y ++# CONFIG_PREEMPT_RCU is not set + CONFIG_ARCH_SPARSEMEM_ENABLE=y + CONFIG_ARCH_SPARSEMEM_DEFAULT=y + CONFIG_ARCH_SELECT_MEMORY_MODEL=y +@@ -206,6 +195,7 @@ + CONFIG_PAGEFLAGS_EXTENDED=y + CONFIG_SPLIT_PTLOCK_CPUS=4 + CONFIG_MIGRATION=y ++CONFIG_RESOURCES_64BIT=y + CONFIG_PHYS_ADDR_T_64BIT=y + CONFIG_ZONE_DMA_FLAG=1 + CONFIG_BOUNCE=y +@@ -217,6 +207,7 @@ + # + CONFIG_MACHCHK_WARNING=y + CONFIG_QDIO=y ++# CONFIG_QDIO_DEBUG is not set + CONFIG_CHSC_SCH=m + + # +@@ -236,13 +227,15 @@ + # CONFIG_SHARED_KERNEL is not set + # CONFIG_CMM is not set + # CONFIG_PAGE_STATES is not set ++CONFIG_VIRT_TIMER=y ++CONFIG_VIRT_CPU_ACCOUNTING=y + # CONFIG_APPLDATA_BASE is not set + CONFIG_HZ_100=y + # CONFIG_HZ_250 is not set + # CONFIG_HZ_300 is not set + # CONFIG_HZ_1000 is not set + CONFIG_HZ=100 +-CONFIG_SCHED_HRTICK=y ++# CONFIG_SCHED_HRTICK is not set + CONFIG_S390_HYPFS_FS=y + CONFIG_KEXEC=y + # CONFIG_ZFCPDUMP is not set +@@ -252,7 +245,6 @@ + # + # Networking options + # +-CONFIG_COMPAT_NET_DEV_OPS=y + CONFIG_PACKET=y + # CONFIG_PACKET_MMAP is not set + CONFIG_UNIX=y +@@ -391,7 +383,6 @@ + CONFIG_NET_SCH_GRED=m + CONFIG_NET_SCH_DSMARK=m + # CONFIG_NET_SCH_NETEM is not set +-# CONFIG_NET_SCH_DRR is not set + # CONFIG_NET_SCH_INGRESS is not set + + # +@@ -409,7 +400,6 @@ + CONFIG_NET_CLS_RSVP=m + CONFIG_NET_CLS_RSVP6=m + CONFIG_NET_CLS_FLOW=m +-# CONFIG_NET_CLS_CGROUP is not set + # CONFIG_NET_EMATCH is not set + CONFIG_NET_CLS_ACT=y + CONFIG_NET_ACT_POLICE=y +@@ -421,7 +411,6 @@ + # CONFIG_NET_ACT_SKBEDIT is not set + # CONFIG_NET_CLS_IND is not set + CONFIG_NET_SCH_FIFO=y +-# CONFIG_DCB is not set + + # + # Network testing +@@ -439,7 +428,6 @@ + # CONFIG_CAN_DEBUG_DEVICES is not set + # CONFIG_AF_RXRPC is not set + # CONFIG_PHONET is not set +-# CONFIG_WIMAX is not set + # CONFIG_RFKILL is not set + # CONFIG_NET_9P is not set + # CONFIG_PCMCIA is not set +@@ -487,15 +475,11 @@ + CONFIG_DASD_EER=y + CONFIG_VIRTIO_BLK=m + CONFIG_MISC_DEVICES=y ++# CONFIG_EEPROM_93CX6 is not set + # CONFIG_ENCLOSURE_SERVICES is not set + # CONFIG_C2PORT is not set + + # +-# EEPROM support +-# +-# CONFIG_EEPROM_93CX6 is not set +- +-# + # SCSI device support + # + # CONFIG_RAID_ATTRS is not set +@@ -536,7 +520,6 @@ + # CONFIG_SCSI_SRP_ATTRS is not set + CONFIG_SCSI_LOWLEVEL=y + # CONFIG_ISCSI_TCP is not set +-# CONFIG_LIBFC is not set + # CONFIG_SCSI_DEBUG is not set + CONFIG_ZFCP=y + CONFIG_SCSI_DH=m +@@ -583,10 +566,6 @@ + CONFIG_NETDEV_1000=y + CONFIG_NETDEV_10000=y + # CONFIG_TR is not set +- +-# +-# Enable WiMAX (Networking options) to see the WiMAX drivers +-# + # CONFIG_WAN is not set + + # +@@ -614,11 +593,9 @@ + # + CONFIG_DEVKMEM=y + CONFIG_UNIX98_PTYS=y +-# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set + CONFIG_LEGACY_PTYS=y + CONFIG_LEGACY_PTY_COUNT=256 + CONFIG_HVC_DRIVER=y +-CONFIG_HVC_IUCV=y + CONFIG_VIRTIO_CONSOLE=y + CONFIG_HW_RANDOM=m + CONFIG_HW_RANDOM_VIRTIO=m +@@ -668,6 +645,7 @@ + # CONFIG_NEW_LEDS is not set + CONFIG_ACCESSIBILITY=y + # CONFIG_STAGING is not set ++CONFIG_STAGING_EXCLUDE_BUILD=y + + # + # File systems +@@ -690,7 +668,6 @@ + # CONFIG_XFS_FS is not set + # CONFIG_GFS2_FS is not set + # CONFIG_OCFS2_FS is not set +-# CONFIG_BTRFS_FS is not set + CONFIG_DNOTIFY=y + CONFIG_INOTIFY=y + CONFIG_INOTIFY_USER=y +@@ -726,7 +703,10 @@ + # CONFIG_HUGETLBFS is not set + # CONFIG_HUGETLB_PAGE is not set + CONFIG_CONFIGFS_FS=m +-CONFIG_MISC_FILESYSTEMS=y ++ ++# ++# Miscellaneous filesystems ++# + # CONFIG_ADFS_FS is not set + # CONFIG_AFFS_FS is not set + # CONFIG_HFS_FS is not set +@@ -735,7 +715,6 @@ + # CONFIG_BFS_FS is not set + # CONFIG_EFS_FS is not set + # CONFIG_CRAMFS is not set +-# CONFIG_SQUASHFS is not set + # CONFIG_VXFS_FS is not set + # CONFIG_MINIX_FS is not set + # CONFIG_OMFS_FS is not set +@@ -829,7 +808,6 @@ + CONFIG_DEBUG_MEMORY_INIT=y + # CONFIG_DEBUG_LIST is not set + # CONFIG_DEBUG_SG is not set +-# CONFIG_DEBUG_NOTIFIERS is not set + # CONFIG_FRAME_POINTER is not set + # CONFIG_RCU_TORTURE_TEST is not set + # CONFIG_RCU_CPU_STALL_DETECTOR is not set +@@ -840,19 +818,15 @@ + # CONFIG_FAULT_INJECTION is not set + # CONFIG_LATENCYTOP is not set + CONFIG_SYSCTL_SYSCALL_CHECK=y +-CONFIG_HAVE_FUNCTION_TRACER=y + + # + # Tracers + # +-# CONFIG_FUNCTION_TRACER is not set + # CONFIG_IRQSOFF_TRACER is not set + # CONFIG_PREEMPT_TRACER is not set + # CONFIG_SCHED_TRACER is not set + # CONFIG_CONTEXT_SWITCH_TRACER is not set + # CONFIG_BOOT_TRACER is not set +-# CONFIG_TRACE_BRANCH_PROFILING is not set +-# CONFIG_STACK_TRACER is not set + # CONFIG_DYNAMIC_PRINTK_DEBUG is not set + CONFIG_SAMPLES=y + # CONFIG_SAMPLE_KOBJECT is not set +@@ -873,17 +847,11 @@ + # + CONFIG_CRYPTO_FIPS=y + CONFIG_CRYPTO_ALGAPI=y +-CONFIG_CRYPTO_ALGAPI2=y +-CONFIG_CRYPTO_AEAD=m +-CONFIG_CRYPTO_AEAD2=y ++CONFIG_CRYPTO_AEAD=y + CONFIG_CRYPTO_BLKCIPHER=y +-CONFIG_CRYPTO_BLKCIPHER2=y +-CONFIG_CRYPTO_HASH=m +-CONFIG_CRYPTO_HASH2=y +-CONFIG_CRYPTO_RNG=m +-CONFIG_CRYPTO_RNG2=y ++CONFIG_CRYPTO_HASH=y ++CONFIG_CRYPTO_RNG=y + CONFIG_CRYPTO_MANAGER=y +-CONFIG_CRYPTO_MANAGER2=y + CONFIG_CRYPTO_GF128MUL=m + # CONFIG_CRYPTO_NULL is not set + # CONFIG_CRYPTO_CRYPTD is not set +@@ -917,7 +885,7 @@ + # + # Digest + # +-CONFIG_CRYPTO_CRC32C=m ++# CONFIG_CRYPTO_CRC32C is not set + # CONFIG_CRYPTO_MD4 is not set + CONFIG_CRYPTO_MD5=m + # CONFIG_CRYPTO_MICHAEL_MIC is not set +@@ -974,7 +942,6 @@ + # Library routines + # + CONFIG_BITREVERSE=m +-CONFIG_GENERIC_FIND_LAST_BIT=y + # CONFIG_CRC_CCITT is not set + # CONFIG_CRC16 is not set + CONFIG_CRC_T10DIF=y +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/cputime.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/cputime.h +--- linux-2.6.29.owrt/arch/s390/include/asm/cputime.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/cputime.h 2009-05-10 23:48:28.000000000 +0200 +@@ -145,7 +145,7 @@ + value->tv_usec = rp.subreg.even / 4096; + value->tv_sec = rp.subreg.odd; + #else +- value->tv_usec = (cputime % 4096000000ULL) / 4096; ++ value->tv_usec = cputime % 4096000000ULL; + value->tv_sec = cputime / 4096000000ULL; + #endif + } +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/lowcore.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/lowcore.h +--- linux-2.6.29.owrt/arch/s390/include/asm/lowcore.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/lowcore.h 2009-05-10 23:48:28.000000000 +0200 +@@ -384,8 +384,8 @@ + __u32 panic_magic; /* 0xe00 */ + + /* Per cpu primary space access list */ +- __u8 pad_0xe04[0xe38-0xe04]; /* 0xe04 */ +- __u64 vdso_per_cpu_data; /* 0xe38 */ ++ __u8 pad_0xe04[0xe3c-0xe04]; /* 0xe04 */ ++ __u32 vdso_per_cpu_data; /* 0xe3c */ + __u32 paste[16]; /* 0xe40 */ + + __u8 pad13[0x11b8-0xe80]; /* 0xe80 */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/mman.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/mman.h +--- linux-2.6.29.owrt/arch/s390/include/asm/mman.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/mman.h 2009-05-10 23:48:28.000000000 +0200 +@@ -22,9 +22,4 @@ + #define MCL_CURRENT 1 /* lock all current mappings */ + #define MCL_FUTURE 2 /* lock all future mappings */ + +-#if defined(__KERNEL__) && !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) +-int s390_mmap_check(unsigned long addr, unsigned long len); +-#define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) +-#endif +- + #endif /* __S390_MMAN_H__ */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/processor.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/processor.h +--- linux-2.6.29.owrt/arch/s390/include/asm/processor.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/processor.h 2009-05-10 23:48:28.000000000 +0200 +@@ -61,7 +61,7 @@ + extern int get_cpu_capability(unsigned int *); + + /* +- * User space process size: 2GB for 31 bit, 4TB or 8PT for 64 bit. ++ * User space process size: 2GB for 31 bit, 4TB for 64 bit. + */ + #ifndef __s390x__ + +@@ -70,7 +70,8 @@ + + #else /* __s390x__ */ + +-#define TASK_SIZE_OF(tsk) ((tsk)->mm->context.asce_limit) ++#define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk,TIF_31BIT) ? \ ++ (1UL << 31) : (1UL << 53)) + #define TASK_UNMAPPED_BASE (test_thread_flag(TIF_31BIT) ? \ + (1UL << 30) : (1UL << 41)) + #define TASK_SIZE TASK_SIZE_OF(current) +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/setup.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/setup.h +--- linux-2.6.29.owrt/arch/s390/include/asm/setup.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/setup.h 2009-05-10 23:48:28.000000000 +0200 +@@ -43,8 +43,6 @@ + + extern struct mem_chunk memory_chunk[]; + extern unsigned long real_memory_size; +-extern int memory_end_set; +-extern unsigned long memory_end; + + void detect_memory_layout(struct mem_chunk chunk[]); + +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/include/asm/topology.h linux-2.6.29-rc3.owrt/arch/s390/include/asm/topology.h +--- linux-2.6.29.owrt/arch/s390/include/asm/topology.h 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/include/asm/topology.h 2009-05-10 23:48:28.000000000 +0200 +@@ -30,8 +30,6 @@ + }; + #endif + +-#define SD_MC_INIT SD_CPU_INIT +- + #include + + #endif /* _ASM_S390_TOPOLOGY_H */ +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/kernel/irq.c linux-2.6.29-rc3.owrt/arch/s390/kernel/irq.c +--- linux-2.6.29.owrt/arch/s390/kernel/irq.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/kernel/irq.c 2009-05-10 23:48:28.000000000 +0200 +@@ -95,7 +95,6 @@ + local_irq_restore(flags); + } + +-#ifdef CONFIG_PROC_FS + void init_irq_proc(void) + { + struct proc_dir_entry *root_irq_dir; +@@ -103,4 +102,3 @@ + root_irq_dir = proc_mkdir("irq", NULL); + create_prof_cpu_mask(root_irq_dir); + } +-#endif +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/kernel/mcount.S linux-2.6.29-rc3.owrt/arch/s390/kernel/mcount.S +--- linux-2.6.29.owrt/arch/s390/kernel/mcount.S 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/kernel/mcount.S 2009-05-10 23:48:28.000000000 +0200 +@@ -5,8 +5,6 @@ + * + */ + +-#include +- + #ifndef CONFIG_64BIT + .globl _mcount + _mcount: +@@ -16,7 +14,7 @@ + ahi %r15,-96 + l %r3,100(%r15) + la %r2,0(%r14) +- st %r1,__SF_BACKCHAIN(%r15) ++ st %r1,0(%r15) + la %r3,0(%r3) + bras %r14,0f + .long ftrace_trace_function +@@ -40,7 +38,7 @@ + stg %r14,112(%r15) + lgr %r1,%r15 + aghi %r15,-160 +- stg %r1,__SF_BACKCHAIN(%r15) ++ stg %r1,0(%r15) + lgr %r2,%r14 + lg %r3,168(%r15) + larl %r14,ftrace_trace_function +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/kernel/setup.c linux-2.6.29-rc3.owrt/arch/s390/kernel/setup.c +--- linux-2.6.29.owrt/arch/s390/kernel/setup.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/kernel/setup.c 2009-05-10 23:48:28.000000000 +0200 +@@ -82,9 +82,7 @@ + + struct mem_chunk __initdata memory_chunk[MEMORY_CHUNKS]; + volatile int __cpu_logical_map[NR_CPUS]; /* logical cpu to cpu address */ +- +-int __initdata memory_end_set; +-unsigned long __initdata memory_end; ++static unsigned long __initdata memory_end; + + /* + * This is set up by the setup-routine at boot-time +@@ -283,7 +281,6 @@ + static int __init early_parse_mem(char *p) + { + memory_end = memparse(p, &p); +- memory_end_set = 1; + return 0; + } + early_param("mem", early_parse_mem); +@@ -511,10 +508,8 @@ + int i; + + #if defined(CONFIG_ZFCPDUMP) || defined(CONFIG_ZFCPDUMP_MODULE) +- if (ipl_info.type == IPL_TYPE_FCP_DUMP) { ++ if (ipl_info.type == IPL_TYPE_FCP_DUMP) + memory_end = ZFCPDUMP_HSA_SIZE; +- memory_end_set = 1; +- } + #endif + memory_size = 0; + memory_end &= PAGE_MASK; +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/kvm/kvm-s390.c linux-2.6.29-rc3.owrt/arch/s390/kvm/kvm-s390.c +--- linux-2.6.29.owrt/arch/s390/kvm/kvm-s390.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/kvm/kvm-s390.c 2009-05-10 23:48:28.000000000 +0200 +@@ -212,10 +212,6 @@ + } + } + +-void kvm_arch_sync_events(struct kvm *kvm) +-{ +-} +- + void kvm_arch_destroy_vm(struct kvm *kvm) + { + kvm_free_vcpus(kvm); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/lib/div64.c linux-2.6.29-rc3.owrt/arch/s390/lib/div64.c +--- linux-2.6.29.owrt/arch/s390/lib/div64.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/lib/div64.c 2009-05-10 23:48:28.000000000 +0200 +@@ -61,7 +61,7 @@ + " clr %0,%3\n" + " jl 0f\n" + " slr %0,%3\n" +- " ahi %1,1\n" ++ " alr %1,%2\n" + "0:\n" + : "+d" (reg2), "+d" (reg3), "=d" (tmp) + : "d" (base), "2" (1UL) : "cc" ); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/lib/uaccess_pt.c linux-2.6.29-rc3.owrt/arch/s390/lib/uaccess_pt.c +--- linux-2.6.29.owrt/arch/s390/lib/uaccess_pt.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/lib/uaccess_pt.c 2009-05-10 23:48:28.000000000 +0200 +@@ -119,6 +119,8 @@ + goto fault; + + pfn = pte_pfn(*pte); ++ if (!pfn_valid(pfn)) ++ goto out; + + offset = uaddr & (PAGE_SIZE - 1); + size = min(n - done, PAGE_SIZE - offset); +@@ -133,6 +135,7 @@ + done += size; + uaddr += size; + } while (done < n); ++out: + spin_unlock(&mm->page_table_lock); + return n - done; + fault: +@@ -160,6 +163,9 @@ + goto fault; + + pfn = pte_pfn(*pte); ++ if (!pfn_valid(pfn)) ++ goto out; ++ + ret = (pfn << PAGE_SHIFT) + (uaddr & (PAGE_SIZE - 1)); + out: + return ret; +@@ -238,6 +244,11 @@ + goto fault; + + pfn = pte_pfn(*pte); ++ if (!pfn_valid(pfn)) { ++ done = -1; ++ goto out; ++ } ++ + offset = uaddr & (PAGE_SIZE-1); + addr = (char *)(pfn << PAGE_SHIFT) + offset; + len = min(count - done, PAGE_SIZE - offset); +@@ -245,6 +256,7 @@ + done += len_str; + uaddr += len_str; + } while ((len_str == len) && (done < count)); ++out: + spin_unlock(&mm->page_table_lock); + return done + 1; + fault: +@@ -313,7 +325,12 @@ + } + + pfn_from = pte_pfn(*pte_from); ++ if (!pfn_valid(pfn_from)) ++ goto out; + pfn_to = pte_pfn(*pte_to); ++ if (!pfn_valid(pfn_to)) ++ goto out; ++ + offset_from = uaddr_from & (PAGE_SIZE-1); + offset_to = uaddr_from & (PAGE_SIZE-1); + offset_max = max(offset_from, offset_to); +@@ -325,6 +342,7 @@ + uaddr_from += size; + uaddr_to += size; + } while (done < n); ++out: + spin_unlock(&mm->page_table_lock); + return n - done; + fault: +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/mm/mmap.c linux-2.6.29-rc3.owrt/arch/s390/mm/mmap.c +--- linux-2.6.29.owrt/arch/s390/mm/mmap.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/mm/mmap.c 2009-05-10 23:48:28.000000000 +0200 +@@ -35,7 +35,7 @@ + * Leave an at least ~128 MB hole. + */ + #define MIN_GAP (128*1024*1024) +-#define MAX_GAP (STACK_TOP/6*5) ++#define MAX_GAP (TASK_SIZE/6*5) + + static inline unsigned long mmap_base(void) + { +@@ -46,7 +46,7 @@ + else if (gap > MAX_GAP) + gap = MAX_GAP; + +- return STACK_TOP - (gap & PAGE_MASK); ++ return TASK_SIZE - (gap & PAGE_MASK); + } + + static inline int mmap_is_legacy(void) +@@ -89,58 +89,42 @@ + + #else + +-int s390_mmap_check(unsigned long addr, unsigned long len) +-{ +- if (!test_thread_flag(TIF_31BIT) && +- len >= TASK_SIZE && TASK_SIZE < (1UL << 53)) +- return crst_table_upgrade(current->mm, 1UL << 53); +- return 0; +-} +- + static unsigned long + s390_get_unmapped_area(struct file *filp, unsigned long addr, + unsigned long len, unsigned long pgoff, unsigned long flags) + { + struct mm_struct *mm = current->mm; +- unsigned long area; + int rc; + +- area = arch_get_unmapped_area(filp, addr, len, pgoff, flags); +- if (!(area & ~PAGE_MASK)) +- return area; +- if (area == -ENOMEM && +- !test_thread_flag(TIF_31BIT) && TASK_SIZE < (1UL << 53)) { +- /* Upgrade the page table to 4 levels and retry. */ +- rc = crst_table_upgrade(mm, 1UL << 53); ++ addr = arch_get_unmapped_area(filp, addr, len, pgoff, flags); ++ if (addr & ~PAGE_MASK) ++ return addr; ++ if (unlikely(mm->context.asce_limit < addr + len)) { ++ rc = crst_table_upgrade(mm, addr + len); + if (rc) + return (unsigned long) rc; +- area = arch_get_unmapped_area(filp, addr, len, pgoff, flags); + } +- return area; ++ return addr; + } + + static unsigned long +-s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr, ++s390_get_unmapped_area_topdown(struct file *filp, const unsigned long addr0, + const unsigned long len, const unsigned long pgoff, + const unsigned long flags) + { + struct mm_struct *mm = current->mm; +- unsigned long area; ++ unsigned long addr = addr0; + int rc; + +- area = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags); +- if (!(area & ~PAGE_MASK)) +- return area; +- if (area == -ENOMEM && +- !test_thread_flag(TIF_31BIT) && TASK_SIZE < (1UL << 53)) { +- /* Upgrade the page table to 4 levels and retry. */ +- rc = crst_table_upgrade(mm, 1UL << 53); ++ addr = arch_get_unmapped_area_topdown(filp, addr, len, pgoff, flags); ++ if (addr & ~PAGE_MASK) ++ return addr; ++ if (unlikely(mm->context.asce_limit < addr + len)) { ++ rc = crst_table_upgrade(mm, addr + len); + if (rc) + return (unsigned long) rc; +- area = arch_get_unmapped_area_topdown(filp, addr, len, +- pgoff, flags); + } +- return area; ++ return addr; + } + /* + * This function, called very early during the creation of a new +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/s390/mm/pgtable.c linux-2.6.29-rc3.owrt/arch/s390/mm/pgtable.c +--- linux-2.6.29.owrt/arch/s390/mm/pgtable.c 2009-05-10 22:04:39.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/s390/mm/pgtable.c 2009-05-10 23:48:28.000000000 +0200 +@@ -117,7 +117,6 @@ + crst_table_init(table, entry); + pgd_populate(mm, (pgd_t *) table, (pud_t *) pgd); + mm->pgd = (pgd_t *) table; +- mm->task_size = mm->context.asce_limit; + table = NULL; + } + spin_unlock(&mm->page_table_lock); +@@ -155,7 +154,6 @@ + BUG(); + } + mm->pgd = (pgd_t *) (pgd_val(*pgd) & _REGION_ENTRY_ORIGIN); +- mm->task_size = mm->context.asce_limit; + crst_table_free(mm, (unsigned long *) pgd); + } + update_mm(mm, current); +diff -ruN --exclude='*.rej' --exclude='*.orig' linux-2.6.29.owrt/arch/sh/boards/board-ap325rxa.c linux-2.6.29-rc3.owrt/arch/sh/boards/board-ap325rxa.c +--- linux-2.6.29.owrt/arch/sh/boards/board-ap325rxa.c 2009-05-10 22:04:41.000000000 +0200 ++++ linux-2.6.29-rc3.owrt/arch/sh/boards/board-ap325rxa.c 2009-05-10 23:48:28.000000000 +0200 +@@ -22,7 +22,6 @@ + #include + #include + #include +-#include + #include + #include + #include