diff options
-rw-r--r-- | target/linux/etrax/Makefile | 4 | ||||
-rw-r--r-- | target/linux/etrax/config-2.6.25 | 55 | ||||
-rw-r--r-- | target/linux/etrax/config-2.6.29 (renamed from target/linux/etrax/config-2.6.28) | 139 | ||||
-rw-r--r-- | target/linux/etrax/image/Makefile | 4 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch | 29 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch (renamed from target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/200-samsung_flash.patch (renamed from target/linux/etrax/patches-2.6.28/200-samsung_flash.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/201-flashsize.patch (renamed from target/linux/etrax/patches-2.6.28/201-flashsize.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/300-sysfs.patch (renamed from target/linux/etrax/patches-2.6.28/300-sysfs.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch (renamed from target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch (renamed from target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch) | 0 | ||||
-rw-r--r-- | target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch | 265 |
12 files changed, 291 insertions, 205 deletions
diff --git a/target/linux/etrax/Makefile b/target/linux/etrax/Makefile index fbb3ae41fb..40f04fa2e3 100644 --- a/target/linux/etrax/Makefile +++ b/target/linux/etrax/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2009 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,7 +10,7 @@ ARCH:=cris BOARD:=etrax BOARDNAME:=Foxboard (ETRAX 100LX) FEATURES:=squashfs jffs2 -LINUX_VERSION:=2.6.25.20 +LINUX_VERSION:=2.6.29.1 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/etrax/config-2.6.25 b/target/linux/etrax/config-2.6.25 index 9027479d60..e56a9cfc2a 100644 --- a/target/linux/etrax/config-2.6.25 +++ b/target/linux/etrax/config-2.6.25 @@ -2,42 +2,12 @@ # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_BASE_SMALL=0 CONFIG_BITREVERSE=y -# CONFIG_BLK_DEV_LOOP is not set -# CONFIG_BLK_DEV_NBD is not set CONFIG_BLK_DEV_SD=y -# CONFIG_BONDING is not set CONFIG_BOUNCE=y # CONFIG_BRIDGE is not set -# CONFIG_BT is not set -# CONFIG_CIFS is not set CONFIG_CLASSIC_RCU=y CONFIG_CRIS=y # CONFIG_CRIS_MACH_ARTPEC3 is not set -# CONFIG_CRYPTO_AEAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_AUTHENC 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_CCM is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CTR is not set -# CONFIG_CRYPTO_GCM is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_LZO is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_SALSA20 is not set -# CONFIG_CRYPTO_SEQIV is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_WP512 is not set # CONFIG_ETRAX100LX is not set CONFIG_ETRAX100LX_V2=y # CONFIG_ETRAXFS is not set @@ -68,6 +38,7 @@ CONFIG_ETRAX_FLASH1_SIZE=0 CONFIG_ETRAX_FLASH_BUSWIDTH=2 CONFIG_ETRAX_GPIO=y # CONFIG_ETRAX_I2C is not set +# CONFIG_ETRAX_I2C_GVC is not set # CONFIG_ETRAX_KMALLOCED_MODULES is not set CONFIG_ETRAX_LED1G=2 CONFIG_ETRAX_LED1R=2 @@ -165,7 +136,6 @@ CONFIG_ETRAX_USB_HOST_PORT2=y # CONFIG_ETRAX_VCS_SIM is not set # CONFIG_ETRAX_WATCHDOG is not set CONFIG_EXT2_FS=y -# CONFIG_EXT3_FS is not set CONFIG_FORCE_MAX_ZONEORDER=6 CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_GENERIC_IOMAP=y @@ -177,8 +147,6 @@ CONFIG_HAVE_IDE=y # CONFIG_HAVE_KPROBES is not set # CONFIG_HAVE_KRETPROBES is not set # CONFIG_HAVE_OPROFILE is not set -# CONFIG_HFSPLUS_FS is not set -# CONFIG_HFS_FS is not set # CONFIG_HW_RANDOM is not set # CONFIG_I2C is not set # CONFIG_IBM_NEW_EMAC_EMAC4 is not set @@ -186,14 +154,7 @@ CONFIG_HAVE_IDE=y # CONFIG_IBM_NEW_EMAC_TAH is not set # CONFIG_IBM_NEW_EMAC_ZMII is not set # CONFIG_IDE is not set -# CONFIG_IEEE80211 is not set -# CONFIG_IFB is not set -# CONFIG_IMQ is not set CONFIG_INITRAMFS_SOURCE="" -# CONFIG_ISO9660_FS is not set -# CONFIG_LLC is not set -# CONFIG_MINIX_FS is not set -# CONFIG_MSDOS_FS is not set CONFIG_MTD=y CONFIG_MTDRAM_ABS_POS=0x0 CONFIG_MTDRAM_ERASE_SIZE=128 @@ -244,19 +205,16 @@ CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_ROM is not set # CONFIG_MTD_SLRAM is not set # CONFIG_NETDEV_1000 is not set -# CONFIG_NFSD is not set -# CONFIG_NFS_FS is not set CONFIG_NLS=y CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_NO_IOPORT=y # CONFIG_OOM_REBOOT is not set -# CONFIG_PPP is not set # CONFIG_RTC is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_SCSI=y # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_WAIT_SCAN is not set +CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SERIAL_8250 is not set CONFIG_SLABINFO=y # CONFIG_SPARSEMEM_STATIC is not set @@ -264,21 +222,12 @@ CONFIG_SLABINFO=y # CONFIG_SVINTO_SIM is not set # CONFIG_SYSTEM_PROFILER is not set CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_TUN is not set -# CONFIG_UDF_FS is not set CONFIG_UID16=y CONFIG_USB=y -# CONFIG_USB_ACM is not set # CONFIG_USB_ARCH_HAS_EHCI is not set # CONFIG_USB_ARCH_HAS_HCD is not set # CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_R8A66597_HCD is not set -# CONFIG_USB_SERIAL is not set CONFIG_USB_STORAGE=y CONFIG_USB_SUPPORT=y -# CONFIG_VFAT_FS is not set -# CONFIG_VIDEO_V4L2_COMMON is not set # CONFIG_VLAN_8021Q is not set # CONFIG_WLAN_80211 is not set -# CONFIG_XFS_FS is not set diff --git a/target/linux/etrax/config-2.6.28 b/target/linux/etrax/config-2.6.29 index c9b464f9c2..872a110d2b 100644 --- a/target/linux/etrax/config-2.6.28 +++ b/target/linux/etrax/config-2.6.29 @@ -2,38 +2,17 @@ # CONFIG_ARCH_HAS_ILOG2_U64 is not set CONFIG_BASE_SMALL=0 CONFIG_BITREVERSE=y -# CONFIG_BLK_DEV_LOOP is not set -# CONFIG_BONDING is not set +# CONFIG_BLK_DEV_INITRD is not set CONFIG_BOUNCE=y # CONFIG_BRIDGE is not set -# CONFIG_BT is not set -# CONFIG_CIFS is not set -CONFIG_CLASSIC_RCU=y +# CONFIG_CFG80211 is not set +CONFIG_COMPAT_NET_DEV_OPS=y CONFIG_CRIS=y # CONFIG_CRIS_MACH_ARTPEC3 is not set -# CONFIG_CRYPTO_AEAD2 is not set -# CONFIG_CRYPTO_ALGAPI2 is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_BLKCIPHER2 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_CRC32C is not set -# CONFIG_CRYPTO_HASH2 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_MANAGER2 is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_RNG2 is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_WP512 is not set +# CONFIG_DCB is not set +CONFIG_DEFAULT_VEGAS=y +# CONFIG_DEFAULT_WESTWOOD is not set +# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set # CONFIG_ETRAX100LX is not set CONFIG_ETRAX100LX_V2=y # CONFIG_ETRAXFS is not set @@ -64,6 +43,7 @@ CONFIG_ETRAX_FLASH1_SIZE=0 CONFIG_ETRAX_FLASH_BUSWIDTH=2 CONFIG_ETRAX_GPIO=y # CONFIG_ETRAX_I2C is not set +# CONFIG_ETRAX_I2C_GVC is not set # CONFIG_ETRAX_KMALLOCED_MODULES is not set CONFIG_ETRAX_LED1G=2 CONFIG_ETRAX_LED1R=2 @@ -87,72 +67,8 @@ CONFIG_ETRAX_RESCUE_SER0=y # CONFIG_ETRAX_RESCUE_SER1 is not set # CONFIG_ETRAX_RESCUE_SER2 is not set # CONFIG_ETRAX_RESCUE_SER3 is not set -# CONFIG_ETRAX_RS485 is not set CONFIG_ETRAX_SDRAM=y -CONFIG_ETRAX_SER0_CD_ON_PA_BIT=-1 -CONFIG_ETRAX_SER0_CD_ON_PB_BIT=-1 -CONFIG_ETRAX_SER0_DSR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER0_DSR_ON_PB_BIT=-1 -CONFIG_ETRAX_SER0_DTR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER0_DTR_ON_PB_BIT=-1 -# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_MIXED is not set -CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE=y -# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PA is not set -# CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_PB is not set -CONFIG_ETRAX_SER0_RI_ON_PA_BIT=-1 -CONFIG_ETRAX_SER0_RI_ON_PB_BIT=-1 -CONFIG_ETRAX_SER2_CD_ON_PA_BIT=-1 -CONFIG_ETRAX_SER2_CD_ON_PB_BIT=-1 -CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER2_DSR_ON_PB_BIT=-1 -CONFIG_ETRAX_SER2_DTR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER2_DTR_ON_PB_BIT=-1 -# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_MIXED is not set -CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_NONE=y -# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PA is not set -# CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PB is not set -CONFIG_ETRAX_SER2_RI_ON_PA_BIT=-1 -CONFIG_ETRAX_SER2_RI_ON_PB_BIT=-1 -CONFIG_ETRAX_SER3_CD_ON_PA_BIT=-1 -CONFIG_ETRAX_SER3_CD_ON_PB_BIT=-1 -CONFIG_ETRAX_SER3_DSR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER3_DSR_ON_PB_BIT=-1 -CONFIG_ETRAX_SER3_DTR_ON_PA_BIT=-1 -CONFIG_ETRAX_SER3_DTR_ON_PB_BIT=-1 -# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_MIXED is not set -CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_NONE=y -# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PA is not set -# CONFIG_ETRAX_SER3_DTR_RI_DSR_CD_ON_PB is not set -CONFIG_ETRAX_SER3_RI_ON_PA_BIT=-1 -CONFIG_ETRAX_SER3_RI_ON_PB_BIT=-1 -CONFIG_ETRAX_SERIAL=y -# CONFIG_ETRAX_SERIAL_FAST_TIMER is not set -# CONFIG_ETRAX_SERIAL_FLUSH_DMA_FAST is not set -CONFIG_ETRAX_SERIAL_PORT0=y -# CONFIG_ETRAX_SERIAL_PORT0_DMA0_OUT is not set -# CONFIG_ETRAX_SERIAL_PORT0_DMA1_IN is not set -# CONFIG_ETRAX_SERIAL_PORT0_DMA6_OUT is not set -# CONFIG_ETRAX_SERIAL_PORT0_DMA7_IN is not set -CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_IN=y -CONFIG_ETRAX_SERIAL_PORT0_NO_DMA_OUT=y -# CONFIG_ETRAX_SERIAL_PORT1 is not set -CONFIG_ETRAX_SERIAL_PORT2=y -CONFIG_ETRAX_SERIAL_PORT2_DMA2_OUT=y -CONFIG_ETRAX_SERIAL_PORT2_DMA3_IN=y -# CONFIG_ETRAX_SERIAL_PORT2_DMA6_OUT is not set -# CONFIG_ETRAX_SERIAL_PORT2_DMA7_IN is not set -# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_IN is not set -# CONFIG_ETRAX_SERIAL_PORT2_NO_DMA_OUT is not set -CONFIG_ETRAX_SERIAL_PORT3=y -# CONFIG_ETRAX_SERIAL_PORT3_DMA2_OUT is not set -# CONFIG_ETRAX_SERIAL_PORT3_DMA3_IN is not set -CONFIG_ETRAX_SERIAL_PORT3_DMA4_OUT=y -CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y -# CONFIG_ETRAX_SERIAL_PORT3_DMA8_OUT is not set -# CONFIG_ETRAX_SERIAL_PORT3_DMA9_IN is not set -# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_IN is not set -# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_OUT is not set -CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=1 +# CONFIG_ETRAX_SERIAL is not set # CONFIG_ETRAX_SOFT_SHUTDOWN is not set # CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set CONFIG_ETRAX_USB_HOST=y @@ -161,9 +77,9 @@ CONFIG_ETRAX_USB_HOST_PORT2=y # CONFIG_ETRAX_VCS_SIM is not set # CONFIG_ETRAX_WATCHDOG is not set CONFIG_EXT2_FS=y -# CONFIG_EXT3_FS is not set CONFIG_FORCE_MAX_ZONEORDER=6 # CONFIG_FREEZER is not set +CONFIG_GENERIC_FIND_LAST_BIT=y CONFIG_GENERIC_FIND_NEXT_BIT=y CONFIG_GENERIC_IOMAP=y # CONFIG_GEN_RTC is not set @@ -173,22 +89,11 @@ CONFIG_HAS_IOMEM=y # CONFIG_HAVE_AOUT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set CONFIG_HAVE_IDE=y -# CONFIG_HFSPLUS_FS is not set -# CONFIG_HFS_FS is not set # CONFIG_HW_RANDOM is not set # CONFIG_I2C is not set -# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set -# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set -# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set -# CONFIG_IDE is not set -# CONFIG_IEEE80211 is not set -# CONFIG_IFB is not set -CONFIG_INITRAMFS_SOURCE="" -# CONFIG_ISO9660_FS is not set -CONFIG_KMOD=y -# CONFIG_LLC is not set -# CONFIG_MINIX_FS is not set -# CONFIG_MSDOS_FS is not set +# CONFIG_LIB80211 is not set +# CONFIG_MAC80211 is not set +CONFIG_MISC_FILESYSTEMS=y CONFIG_MTD=y CONFIG_MTDRAM_ABS_POS=0x0 CONFIG_MTDRAM_ERASE_SIZE=128 @@ -217,6 +122,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y CONFIG_MTD_CONCAT=y CONFIG_MTD_GEN_PROBE=y CONFIG_MTD_JEDECPROBE=y +# CONFIG_MTD_LPDDR is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set CONFIG_MTD_MAP_BANK_WIDTH_2=y @@ -234,10 +140,9 @@ CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_TESTS is not set # CONFIG_NETDEV_1000 is not set -# CONFIG_NFSD is not set -# CONFIG_NFS_FS is not set -CONFIG_NF_CT_ACCT=y +# CONFIG_NET_SCH_DRR is not set # CONFIG_NF_DEFRAG_IPV4 is not set CONFIG_NLS=y CONFIG_NLS_CODEPAGE_437=y @@ -246,26 +151,22 @@ CONFIG_NO_IOPORT=y # CONFIG_OOM_REBOOT is not set CONFIG_PAGEFLAGS_EXTENDED=y # CONFIG_PHYS_ADDR_T_64BIT is not set -# CONFIG_PPP is not set CONFIG_ROMFS_FS=y # CONFIG_RTC is not set CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_SCSI_DMA is not set # CONFIG_SERIAL_8250 is not set -# CONFIG_STP is not set # CONFIG_SVINTO_SIM is not set # CONFIG_SYSTEM_PROFILER is not set CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_TUN is not set -# CONFIG_UDF_FS is not set CONFIG_UID16=y CONFIG_USB=y -# CONFIG_USB_ACM is not set # CONFIG_USB_ARCH_HAS_EHCI is not set # CONFIG_USB_ARCH_HAS_HCD is not set # CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_SERIAL is not set +# CONFIG_USB_OXU210HP_HCD is not set CONFIG_USB_SUPPORT=y -# CONFIG_VFAT_FS is not set # CONFIG_VLAN_8021Q is not set +# CONFIG_WIRELESS_EXT_SYSFS is not set +# CONFIG_WIRELESS_OLD_REGULATORY is not set # CONFIG_WLAN_80211 is not set diff --git a/target/linux/etrax/image/Makefile b/target/linux/etrax/image/Makefile index 9f716202c3..44856ca4d9 100644 --- a/target/linux/etrax/image/Makefile +++ b/target/linux/etrax/image/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2006-2009 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -13,7 +13,7 @@ define Image/BuildKernel endef define Image/Prepare - cp $(LINUX_DIR)/arch/cris/boot/zImage $(KDIR)/vmlinuz + cp $(LINUX_DIR)/arch/cris/arch-v10/boot/zImage $(KDIR)/vmlinuz $(MAKE) -C e100boot compile $(MAKE) -C mkfimage compile $(INSTALL_BIN) ./boot_linux $(BIN_DIR) diff --git a/target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch b/target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch deleted file mode 100644 index 0c54b7b886..0000000000 --- a/target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: linux-2.6.28.9/drivers/serial/crisv10.c -=================================================================== ---- linux-2.6.28.9.orig/drivers/serial/crisv10.c 2009-04-08 16:47:06.000000000 +0200 -+++ linux-2.6.28.9/drivers/serial/crisv10.c 2009-04-08 16:47:27.000000000 +0200 -@@ -28,6 +28,7 @@ - #include <linux/mutex.h> - #include <linux/bitops.h> - #include <linux/device.h> -+#include <linux/proc_fs.h> - - #include <asm/io.h> - #include <asm/irq.h> -@@ -4389,7 +4390,6 @@ - .break_ctl = rs_break, - .send_xchar = rs_send_xchar, - .wait_until_sent = rs_wait_until_sent, -- .read_proc = rs_read_proc, - .tiocmget = rs_tiocmget, - .tiocmset = rs_tiocmset - }; -@@ -4455,7 +4455,7 @@ - if (tty_register_driver(driver)) - panic("Couldn't register serial driver\n"); - /* do some initializing for the separate ports */ -- -+ driver->proc_entry->read_proc = rs_read_proc; - for (i = 0, info = rs_table; i < NR_PORTS; i++,info++) { - if (info->enabled) { - if (cris_request_io_interface(info->io_if, diff --git a/target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch b/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch index 6495c4957f..6495c4957f 100644 --- a/target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch +++ b/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch diff --git a/target/linux/etrax/patches-2.6.28/200-samsung_flash.patch b/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch index 5df6590fa7..5df6590fa7 100644 --- a/target/linux/etrax/patches-2.6.28/200-samsung_flash.patch +++ b/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch diff --git a/target/linux/etrax/patches-2.6.28/201-flashsize.patch b/target/linux/etrax/patches-2.6.29/201-flashsize.patch index e825acf1f7..e825acf1f7 100644 --- a/target/linux/etrax/patches-2.6.28/201-flashsize.patch +++ b/target/linux/etrax/patches-2.6.29/201-flashsize.patch diff --git a/target/linux/etrax/patches-2.6.28/300-sysfs.patch b/target/linux/etrax/patches-2.6.29/300-sysfs.patch index 9f415b4a82..9f415b4a82 100644 --- a/target/linux/etrax/patches-2.6.28/300-sysfs.patch +++ b/target/linux/etrax/patches-2.6.29/300-sysfs.patch diff --git a/target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch b/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch index d0fdbf5897..d0fdbf5897 100644 --- a/target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch +++ b/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch diff --git a/target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch b/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch index 7eed8b2a71..7eed8b2a71 100644 --- a/target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch +++ b/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch diff --git a/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch b/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch new file mode 100644 index 0000000000..7ac24a474b --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch @@ -0,0 +1,265 @@ +Index: linux-2.6.28.9/drivers/serial/crisv10.c +=================================================================== +--- linux-2.6.28.9.orig/drivers/serial/crisv10.c 2009-04-10 12:58:18.000000000 +0200 ++++ linux-2.6.28.9/drivers/serial/crisv10.c 2009-04-10 12:58:22.000000000 +0200 +@@ -28,12 +28,15 @@ + #include <linux/mutex.h> + #include <linux/bitops.h> + #include <linux/device.h> ++#include <linux/seq_file.h> ++#include <linux/delay.h> ++#include <linux/module.h> ++#include <linux/uaccess.h> ++#include <linux/io.h> + +-#include <asm/io.h> + #include <asm/irq.h> + #include <asm/dma.h> + #include <asm/system.h> +-#include <linux/delay.h> + + #include <arch/svinto.h> + +@@ -457,7 +460,6 @@ + + #define NR_PORTS (sizeof(rs_table)/sizeof(struct e100_serial)) + +-static struct ktermios *serial_termios[NR_PORTS]; + #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER + static struct fast_timer fast_timers[NR_PORTS]; + #endif +@@ -4221,151 +4223,132 @@ + return 0; + } + ++#ifdef CONFIG_PROC_FS + /* + * /proc fs routines.... + */ + +-static int line_info(char *buf, struct e100_serial *info) ++static void seq_line_info(struct seq_file *m, struct e100_serial *info) + { +- char stat_buf[30]; +- int ret; + unsigned long tmp; + +- ret = sprintf(buf, "%d: uart:E100 port:%lX irq:%d", +- info->line, (unsigned long)info->ioport, info->irq); ++ seq_printf(m, "%d: uart:E100 port:%lX irq:%d", ++ info->line, (unsigned long)info->ioport, info->irq); + + if (!info->ioport || (info->type == PORT_UNKNOWN)) { +- ret += sprintf(buf+ret, "\n"); +- return ret; ++ seq_printf(m, "\n"); ++ return; + } + +- stat_buf[0] = 0; +- stat_buf[1] = 0; +- if (!E100_RTS_GET(info)) +- strcat(stat_buf, "|RTS"); +- if (!E100_CTS_GET(info)) +- strcat(stat_buf, "|CTS"); +- if (!E100_DTR_GET(info)) +- strcat(stat_buf, "|DTR"); +- if (!E100_DSR_GET(info)) +- strcat(stat_buf, "|DSR"); +- if (!E100_CD_GET(info)) +- strcat(stat_buf, "|CD"); +- if (!E100_RI_GET(info)) +- strcat(stat_buf, "|RI"); +- +- ret += sprintf(buf+ret, " baud:%d", info->baud); +- +- ret += sprintf(buf+ret, " tx:%lu rx:%lu", ++ seq_printf(m, " baud:%d", info->baud); ++ seq_printf(m, " tx:%lu rx:%lu", + (unsigned long)info->icount.tx, + (unsigned long)info->icount.rx); + tmp = CIRC_CNT(info->xmit.head, info->xmit.tail, SERIAL_XMIT_SIZE); +- if (tmp) { +- ret += sprintf(buf+ret, " tx_pend:%lu/%lu", +- (unsigned long)tmp, +- (unsigned long)SERIAL_XMIT_SIZE); +- } +- +- ret += sprintf(buf+ret, " rx_pend:%lu/%lu", +- (unsigned long)info->recv_cnt, +- (unsigned long)info->max_recv_cnt); ++ if (tmp) ++ seq_printf(m, " tx_pend:%lu/%lu", ++ (unsigned long)tmp, ++ (unsigned long)SERIAL_XMIT_SIZE); ++ ++ seq_printf(m, " rx_pend:%lu/%lu", ++ (unsigned long)info->recv_cnt, ++ (unsigned long)info->max_recv_cnt); + + #if 1 + if (info->port.tty) { +- + if (info->port.tty->stopped) +- ret += sprintf(buf+ret, " stopped:%i", +- (int)info->port.tty->stopped); ++ seq_printf(m, " stopped:%i", ++ (int)info->port.tty->stopped); + if (info->port.tty->hw_stopped) +- ret += sprintf(buf+ret, " hw_stopped:%i", +- (int)info->port.tty->hw_stopped); ++ seq_printf(m, " hw_stopped:%i", ++ (int)info->port.tty->hw_stopped); + } + + { + unsigned char rstat = info->ioport[REG_STATUS]; +- if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect) ) +- ret += sprintf(buf+ret, " xoff_detect:1"); ++ if (rstat & IO_MASK(R_SERIAL0_STATUS, xoff_detect)) ++ seq_printf(m, " xoff_detect:1"); + } + + #endif + +- +- +- + if (info->icount.frame) +- ret += sprintf(buf+ret, " fe:%lu", +- (unsigned long)info->icount.frame); ++ seq_printf(m, " fe:%lu", (unsigned long)info->icount.frame); + + if (info->icount.parity) +- ret += sprintf(buf+ret, " pe:%lu", +- (unsigned long)info->icount.parity); ++ seq_printf(m, " pe:%lu", (unsigned long)info->icount.parity); + + if (info->icount.brk) +- ret += sprintf(buf+ret, " brk:%lu", +- (unsigned long)info->icount.brk); ++ seq_printf(m, " brk:%lu", (unsigned long)info->icount.brk); + + if (info->icount.overrun) +- ret += sprintf(buf+ret, " oe:%lu", +- (unsigned long)info->icount.overrun); ++ seq_printf(m, " oe:%lu", (unsigned long)info->icount.overrun); + + /* + * Last thing is the RS-232 status lines + */ +- ret += sprintf(buf+ret, " %s\n", stat_buf+1); +- return ret; ++ if (!E100_RTS_GET(info)) ++ seq_puts(m, "|RTS"); ++ if (!E100_CTS_GET(info)) ++ seq_puts(m, "|CTS"); ++ if (!E100_DTR_GET(info)) ++ seq_puts(m, "|DTR"); ++ if (!E100_DSR_GET(info)) ++ seq_puts(m, "|DSR"); ++ if (!E100_CD_GET(info)) ++ seq_puts(m, "|CD"); ++ if (!E100_RI_GET(info)) ++ seq_puts(m, "|RI"); ++ seq_puts(m, "\n"); + } + +-int rs_read_proc(char *page, char **start, off_t off, int count, +- int *eof, void *data) ++ ++static int crisv10_proc_show(struct seq_file *m, void *v) + { +- int i, len = 0, l; +- off_t begin = 0; ++ int i; ++ ++ seq_printf(m, "serinfo:1.0 driver:%s\n", serial_version); + +- len += sprintf(page, "serinfo:1.0 driver:%s\n", +- serial_version); +- for (i = 0; i < NR_PORTS && len < 4000; i++) { ++ for (i = 0; i < NR_PORTS; i++) { + if (!rs_table[i].enabled) + continue; +- l = line_info(page + len, &rs_table[i]); +- len += l; +- if (len+begin > off+count) +- goto done; +- if (len+begin < off) { +- begin += len; +- len = 0; +- } ++ seq_line_info(m, &rs_table[i]); + } + #ifdef DEBUG_LOG_INCLUDED + for (i = 0; i < debug_log_pos; i++) { +- len += sprintf(page + len, "%-4i %lu.%lu ", i, debug_log[i].time, timer_data_to_ns(debug_log[i].timer_data)); +- len += sprintf(page + len, debug_log[i].string, debug_log[i].value); +- if (len+begin > off+count) +- goto done; +- if (len+begin < off) { +- begin += len; +- len = 0; +- } ++ seq_printf(m, "%-4i %lu.%lu ", ++ i, debug_log[i].time, ++ timer_data_to_ns(debug_log[i].timer_data)); ++ seq_printf(m, debug_log[i].string, debug_log[i].value); + } +- len += sprintf(page + len, "debug_log %i/%i %li bytes\n", +- i, DEBUG_LOG_SIZE, begin+len); ++ seq_printf(m, "debug_log %i/%i\n", i, DEBUG_LOG_SIZE); + debug_log_pos = 0; + #endif ++ return 0; ++} + +- *eof = 1; +-done: +- if (off >= len+begin) +- return 0; +- *start = page + (off-begin); +- return ((count < begin+len-off) ? count : begin+len-off); ++static int crisv10_proc_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, crisv10_proc_show, NULL); + } + ++static const struct file_operations crisv10_proc_fops = { ++ .owner = THIS_MODULE, ++ .open = crisv10_proc_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = single_release, ++}; ++#endif ++ ++ + /* Finally, routines used to initialize the serial driver. */ + +-static void +-show_serial_version(void) ++static void show_serial_version(void) + { + printk(KERN_INFO +- "ETRAX 100LX serial-driver %s, (c) 2000-2004 Axis Communications AB\r\n", ++ "ETRAX 100LX serial-driver %s, " ++ "(c) 2000-2004 Axis Communications AB\r\n", + &serial_version[11]); /* "$Revision: x.yy" */ + } + +@@ -4389,9 +4372,11 @@ + .break_ctl = rs_break, + .send_xchar = rs_send_xchar, + .wait_until_sent = rs_wait_until_sent, +- .read_proc = rs_read_proc, + .tiocmget = rs_tiocmget, +- .tiocmset = rs_tiocmset ++ .tiocmset = rs_tiocmset, ++#ifdef CONFIG_PROC_FS ++ .proc_fops = &crisv10_proc_fops, ++#endif + }; + + static struct class *rs_class; |