etrax: dump to 2.6.29
authorClaudio Mignanti <c.mignanti@gmail.com>
Sun, 19 Apr 2009 15:36:30 +0000 (15:36 +0000)
committerClaudio Mignanti <c.mignanti@gmail.com>
Sun, 19 Apr 2009 15:36:30 +0000 (15:36 +0000)
SVN-Revision: 15260

19 files changed:
target/linux/etrax/Makefile
target/linux/etrax/config-2.6.25
target/linux/etrax/config-2.6.28 [deleted file]
target/linux/etrax/config-2.6.29 [new file with mode: 0644]
target/linux/etrax/image/Makefile
target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch [deleted file]
target/linux/etrax/patches-2.6.28/200-samsung_flash.patch [deleted file]
target/linux/etrax/patches-2.6.28/201-flashsize.patch [deleted file]
target/linux/etrax/patches-2.6.28/300-sysfs.patch [deleted file]
target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch [deleted file]
target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch [deleted file]
target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch [deleted file]
target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/200-samsung_flash.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/201-flashsize.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/300-sysfs.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch [new file with mode: 0644]
target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch [new file with mode: 0644]

index fbb3ae4..40f04fa 100644 (file)
@@ -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
 
index 9027479..e56a9cf 100644 (file)
@@ -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.28
deleted file mode 100644 (file)
index c9b464f..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-# CONFIG_ARCH_HAS_ILOG2_U32 is not set
-# 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_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_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_ETRAX100LX is not set
-CONFIG_ETRAX100LX_V2=y
-# CONFIG_ETRAXFS is not set
-CONFIG_ETRAX_ARCH_V10=y
-# CONFIG_ETRAX_ARCH_V32 is not set
-CONFIG_ETRAX_AXISFLASHMAP=y
-CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
-# CONFIG_ETRAX_CSP0_LEDS is not set
-# CONFIG_ETRAX_DEBUG_PORT0 is not set
-# CONFIG_ETRAX_DEBUG_PORT1 is not set
-# CONFIG_ETRAX_DEBUG_PORT2 is not set
-# CONFIG_ETRAX_DEBUG_PORT3 is not set
-CONFIG_ETRAX_DEBUG_PORT_NULL=y
-CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4
-CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0
-CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c
-CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG=0x00
-CONFIG_ETRAX_DEF_R_PORT_PB_DATA=0x03
-CONFIG_ETRAX_DEF_R_PORT_PB_DIR=0xce
-CONFIG_ETRAX_DEF_R_SDRAM_CONFIG=0x09603737
-CONFIG_ETRAX_DEF_R_SDRAM_TIMING=0x80008002
-CONFIG_ETRAX_DEF_R_WAITSTATES=0x95f8
-CONFIG_ETRAX_DRAM_SIZE=32
-CONFIG_ETRAX_DRAM_VIRTUAL_BASE=c0000000
-CONFIG_ETRAX_ETHERNET=y
-CONFIG_ETRAX_FAST_TIMER=y
-CONFIG_ETRAX_FLASH1_SIZE=0
-CONFIG_ETRAX_FLASH_BUSWIDTH=2
-CONFIG_ETRAX_GPIO=y
-# CONFIG_ETRAX_I2C is not set
-# CONFIG_ETRAX_KMALLOCED_MODULES is not set
-CONFIG_ETRAX_LED1G=2
-CONFIG_ETRAX_LED1R=2
-CONFIG_ETRAX_LED2G=3
-CONFIG_ETRAX_LED2R=3
-CONFIG_ETRAX_LED3G=2
-CONFIG_ETRAX_LED3R=2
-CONFIG_ETRAX_NANDFLASH_BUSWIDTH=1
-CONFIG_ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY=y
-# CONFIG_ETRAX_NETWORK_LED_ON_WHEN_LINK is not set
-# CONFIG_ETRAX_NO_LEDS is not set
-CONFIG_ETRAX_PA_BUTTON_BITMASK=02
-CONFIG_ETRAX_PA_CHANGEABLE_BITS=0xFF
-CONFIG_ETRAX_PA_CHANGEABLE_DIR=0xFF
-CONFIG_ETRAX_PA_LEDS=y
-CONFIG_ETRAX_PB_CHANGEABLE_BITS=0xFF
-CONFIG_ETRAX_PB_CHANGEABLE_DIR=0xFF
-# CONFIG_ETRAX_PB_LEDS is not set
-CONFIG_ETRAX_PTABLE_SECTOR=0
-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_SOFT_SHUTDOWN is not set
-# CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set
-CONFIG_ETRAX_USB_HOST=y
-CONFIG_ETRAX_USB_HOST_PORT1=y
-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_NEXT_BIT=y
-CONFIG_GENERIC_IOMAP=y
-# CONFIG_GEN_RTC is not set
-# CONFIG_HAMRADIO is not set
-CONFIG_HAS_DMA=y
-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_MTD=y
-CONFIG_MTDRAM_ABS_POS=0x0
-CONFIG_MTDRAM_ERASE_SIZE=128
-CONFIG_MTDRAM_TOTAL_SIZE=0
-# CONFIG_MTD_ABSENT is not set
-CONFIG_MTD_BLKDEVS=y
-CONFIG_MTD_BLOCK=y
-# CONFIG_MTD_BLOCK2MTD is not set
-CONFIG_MTD_CFI=y
-CONFIG_MTD_CFI_ADV_OPTIONS=y
-CONFIG_MTD_CFI_AMDSTD=y
-# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
-# CONFIG_MTD_CFI_GEOMETRY 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_LE_BYTE_SWAP is not set
-CONFIG_MTD_CFI_NOSWAP=y
-# CONFIG_MTD_CFI_STAA is not set
-CONFIG_MTD_CFI_UTIL=y
-CONFIG_MTD_CHAR=y
-# CONFIG_MTD_CMDLINE_PARTS is not set
-CONFIG_MTD_COMPLEX_MAPPINGS=y
-CONFIG_MTD_CONCAT=y
-CONFIG_MTD_GEN_PROBE=y
-CONFIG_MTD_JEDECPROBE=y
-CONFIG_MTD_MAP_BANK_WIDTH_1=y
-# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_2=y
-# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
-CONFIG_MTD_MAP_BANK_WIDTH_4=y
-# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
-CONFIG_MTD_MTDRAM=y
-# CONFIG_MTD_ONENAND is not set
-# CONFIG_MTD_OTP is not set
-CONFIG_MTD_PARTITIONS=y
-# CONFIG_MTD_PHRAM is not set
-# CONFIG_MTD_PHYSMAP is not set
-# CONFIG_MTD_PLATRAM is not set
-# CONFIG_MTD_RAM is not set
-# CONFIG_MTD_REDBOOT_PARTS is not set
-# 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_NF_CT_ACCT=y
-# CONFIG_NF_DEFRAG_IPV4 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_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_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_SUPPORT=y
-# CONFIG_VFAT_FS is not set
-# CONFIG_VLAN_8021Q is not set
-# CONFIG_WLAN_80211 is not set
diff --git a/target/linux/etrax/config-2.6.29 b/target/linux/etrax/config-2.6.29
new file mode 100644 (file)
index 0000000..872a110
--- /dev/null
@@ -0,0 +1,172 @@
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_BASE_SMALL=0
+CONFIG_BITREVERSE=y
+# CONFIG_BLK_DEV_INITRD is not set
+CONFIG_BOUNCE=y
+# CONFIG_BRIDGE is not set
+# CONFIG_CFG80211 is not set
+CONFIG_COMPAT_NET_DEV_OPS=y
+CONFIG_CRIS=y
+# CONFIG_CRIS_MACH_ARTPEC3 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
+CONFIG_ETRAX_ARCH_V10=y
+# CONFIG_ETRAX_ARCH_V32 is not set
+CONFIG_ETRAX_AXISFLASHMAP=y
+CONFIG_ETRAX_CMDLINE="root=/dev/mtdblock1 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
+# CONFIG_ETRAX_CSP0_LEDS is not set
+# CONFIG_ETRAX_DEBUG_PORT0 is not set
+# CONFIG_ETRAX_DEBUG_PORT1 is not set
+# CONFIG_ETRAX_DEBUG_PORT2 is not set
+# CONFIG_ETRAX_DEBUG_PORT3 is not set
+CONFIG_ETRAX_DEBUG_PORT_NULL=y
+CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4
+CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0
+CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c
+CONFIG_ETRAX_DEF_R_PORT_PB_CONFIG=0x00
+CONFIG_ETRAX_DEF_R_PORT_PB_DATA=0x03
+CONFIG_ETRAX_DEF_R_PORT_PB_DIR=0xce
+CONFIG_ETRAX_DEF_R_SDRAM_CONFIG=0x09603737
+CONFIG_ETRAX_DEF_R_SDRAM_TIMING=0x80008002
+CONFIG_ETRAX_DEF_R_WAITSTATES=0x95f8
+CONFIG_ETRAX_DRAM_SIZE=32
+CONFIG_ETRAX_DRAM_VIRTUAL_BASE=c0000000
+CONFIG_ETRAX_ETHERNET=y
+CONFIG_ETRAX_FAST_TIMER=y
+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
+CONFIG_ETRAX_LED2G=3
+CONFIG_ETRAX_LED2R=3
+CONFIG_ETRAX_LED3G=2
+CONFIG_ETRAX_LED3R=2
+CONFIG_ETRAX_NANDFLASH_BUSWIDTH=1
+CONFIG_ETRAX_NETWORK_LED_ON_WHEN_ACTIVITY=y
+# CONFIG_ETRAX_NETWORK_LED_ON_WHEN_LINK is not set
+# CONFIG_ETRAX_NO_LEDS is not set
+CONFIG_ETRAX_PA_BUTTON_BITMASK=02
+CONFIG_ETRAX_PA_CHANGEABLE_BITS=0xFF
+CONFIG_ETRAX_PA_CHANGEABLE_DIR=0xFF
+CONFIG_ETRAX_PA_LEDS=y
+CONFIG_ETRAX_PB_CHANGEABLE_BITS=0xFF
+CONFIG_ETRAX_PB_CHANGEABLE_DIR=0xFF
+# CONFIG_ETRAX_PB_LEDS is not set
+CONFIG_ETRAX_PTABLE_SECTOR=0
+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_SDRAM=y
+# 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
+CONFIG_ETRAX_USB_HOST_PORT1=y
+CONFIG_ETRAX_USB_HOST_PORT2=y
+# CONFIG_ETRAX_VCS_SIM is not set
+# CONFIG_ETRAX_WATCHDOG is not set
+CONFIG_EXT2_FS=y
+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
+# CONFIG_HAMRADIO is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+# CONFIG_HAVE_AOUT is not set
+# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
+CONFIG_HAVE_IDE=y
+# CONFIG_HW_RANDOM is not set
+# CONFIG_I2C 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
+CONFIG_MTDRAM_TOTAL_SIZE=0
+# CONFIG_MTD_ABSENT is not set
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK2MTD is not set
+CONFIG_MTD_CFI=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_AMDSTD=y
+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
+# CONFIG_MTD_CFI_GEOMETRY 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_LE_BYTE_SWAP is not set
+CONFIG_MTD_CFI_NOSWAP=y
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_CHAR=y
+# CONFIG_MTD_CMDLINE_PARTS is not set
+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
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+CONFIG_MTD_MTDRAM=y
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_OTP is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+# CONFIG_MTD_RAM is not set
+# 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_NET_SCH_DRR is not set
+# CONFIG_NF_DEFRAG_IPV4 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_PAGEFLAGS_EXTENDED=y
+# CONFIG_PHYS_ADDR_T_64BIT 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_SVINTO_SIM is not set
+# CONFIG_SYSTEM_PROFILER is not set
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_UID16=y
+CONFIG_USB=y
+# 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_OXU210HP_HCD is not set
+CONFIG_USB_SUPPORT=y
+# 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
index 9f71620..44856ca 100644 (file)
@@ -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/100-cris-makefiles.patch b/target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch
deleted file mode 100644 (file)
index 6495c49..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-diff -urN linux-2.6.28.clean/arch/cris/Makefile linux-2.6.28.mod/arch/cris/Makefile
---- linux-2.6.28.clean/arch/cris/Makefile      2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28.mod/arch/cris/Makefile        2009-04-07 11:52:30.000000000 +0200
-@@ -40,7 +40,7 @@
- LD = $(CROSS_COMPILE)ld -mcrislinux
--OBJCOPYFLAGS := -O binary -R .note -R .comment -S
-+OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
- CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
-diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/Makefile
---- linux-2.6.28.clean/arch/cris/arch-v10/boot/Makefile        2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28.mod/arch/cris/arch-v10/boot/Makefile  2009-04-07 11:55:01.000000000 +0200
-@@ -2,8 +2,6 @@
- # arch/cris/arch-v10/boot/Makefile
- #
--OBJCOPYFLAGS = -O binary --remove-section=.bss
--
- subdir- := compressed rescue
- targets := Image
-@@ -13,7 +11,7 @@
- $(obj)/compressed/vmlinux: $(obj)/Image FORCE
-       $(Q)$(MAKE) $(build)=$(obj)/compressed $@
--      $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
-+#     $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
- $(obj)/zImage:  $(obj)/compressed/vmlinux
-       @cp $< $@
-diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/compressed/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/compressed/Makefile
---- linux-2.6.28.clean/arch/cris/arch-v10/boot/compressed/Makefile     2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28.mod/arch/cris/arch-v10/boot/compressed/Makefile       2009-04-07 11:53:02.000000000 +0200
-@@ -6,7 +6,6 @@
- ccflags-y += -O2 $(LINUXINCLUDE)
- ldflags-y += -T $(srctree)/$(src)/decompress.lds
- OBJECTS = $(obj)/head.o $(obj)/misc.o
--OBJCOPYFLAGS = -O binary --remove-section=.bss
- quiet_cmd_image = BUILD   $@
- cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
-diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/rescue/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/rescue/Makefile
---- linux-2.6.28.clean/arch/cris/arch-v10/boot/rescue/Makefile 2008-12-25 00:26:37.000000000 +0100
-+++ linux-2.6.28.mod/arch/cris/arch-v10/boot/rescue/Makefile   2009-04-07 11:53:09.000000000 +0200
-@@ -5,7 +5,6 @@
- ccflags-y += -O2 $(LINUXINCLUDE)
- asflags-y += $(LINUXINCLUDE)
- ldflags-y += -T $(srctree)/$(src)/rescue.lds
--OBJCOPYFLAGS = -O binary --remove-section=.bss
- obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o
- OBJECT := $(obj)/head.o
diff --git a/target/linux/etrax/patches-2.6.28/200-samsung_flash.patch b/target/linux/etrax/patches-2.6.28/200-samsung_flash.patch
deleted file mode 100644 (file)
index 5df6590..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: linux-2.6.28.2/drivers/mtd/chips/cfi_cmdset_0002.c
-===================================================================
---- linux-2.6.28.2.orig/drivers/mtd/chips/cfi_cmdset_0002.c    2009-02-04 13:42:19.000000000 +0100
-+++ linux-2.6.28.2/drivers/mtd/chips/cfi_cmdset_0002.c 2009-02-04 13:44:11.000000000 +0100
-@@ -364,7 +364,7 @@
-                       return NULL;
-               }
--              if (extp->MajorVersion != '1' ||
-+              if (extp->MajorVersion < '1' || extp->MajorVersion > '3' ||
-                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
-                       if (cfi->mfr == MANUFACTURER_SAMSUNG &&
-                           (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
diff --git a/target/linux/etrax/patches-2.6.28/201-flashsize.patch b/target/linux/etrax/patches-2.6.28/201-flashsize.patch
deleted file mode 100644 (file)
index e825acf..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-Index: linux-2.6.28.2/arch/cris/arch-v10/drivers/axisflashmap.c
-===================================================================
---- linux-2.6.28.2.orig/arch/cris/arch-v10/drivers/axisflashmap.c      2009-02-04 13:49:34.000000000 +0100
-+++ linux-2.6.28.2/arch/cris/arch-v10/drivers/axisflashmap.c   2009-02-04 13:55:30.000000000 +0100
-@@ -113,7 +113,7 @@
- /* If no partition-table was found, we use this default-set. */
- #define MAX_PARTITIONS         7
--#define NUM_DEFAULT_PARTITIONS 3
-+#define NUM_DEFAULT_PARTITIONS 2
- /*
-  * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
-@@ -122,19 +122,14 @@
-  */
- static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
-       {
--              .name = "boot firmware",
--              .size = CONFIG_ETRAX_PTABLE_SECTOR,
--              .offset = 0
--      },
--      {
-               .name = "kernel",
--              .size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR),
--              .offset = CONFIG_ETRAX_PTABLE_SECTOR
-+              .size = 0x00,
-+              .offset = 0
-       },
-       {
--              .name = "filesystem",
--              .size = 5 * CONFIG_ETRAX_PTABLE_SECTOR,
--              .offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR)
-+              .name = "rootfs",
-+              .size = 0x200000,
-+              .offset = 0x200000
-       }
- };
-@@ -281,6 +276,11 @@
-       struct partitiontable_entry *ptable;
-       int use_default_ptable = 1; /* Until proven otherwise. */
-       const char pmsg[] = "  /dev/flash%d at 0x%08x, size 0x%08x\n";
-+      unsigned int kernel_part_size = 0;
-+      unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR);
-+      unsigned int flash_scan_count = 0;
-+      const char *part_magic = "ACME_PART_MAGIC";
-+      unsigned int magic_len = strlen(part_magic);
-       if (!(mymtd = flash_probe())) {
-               /* There's no reason to use this module if no flash chip can
-@@ -293,6 +293,31 @@
-               axisflash_mtd = mymtd;
-       }
-+      /* scan flash to findout where out partition starts */
-+      
-+      printk(KERN_INFO "Scanning flash for end of kernel magic\n");
-+      for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++) {
-+              if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0) {
-+                      kernel_part_size = flash_mem[flash_scan_count + magic_len ];
-+                      kernel_part_size <<= 8;
-+                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 2];
-+                      kernel_part_size <<= 8;
-+                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 1];
-+                      kernel_part_size <<= 8;
-+                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 3];
-+                      printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size);
-+                      flash_scan_count = 1100000;
-+              }
-+      }
-+      
-+      
-+      if(kernel_part_size){
-+              kernel_part_size = (kernel_part_size & 0xffff0000);
-+              axis_default_partitions[0].size = kernel_part_size;
-+              axis_default_partitions[1].size =  mymtd->size - axis_default_partitions[0].size;
-+              axis_default_partitions[1].offset = axis_default_partitions[0].size;
-+      }
-+
-       if (mymtd) {
-               mymtd->owner = THIS_MODULE;
-               ptable_head = (struct partitiontable_head *)(FLASH_CACHED_ADDR +
-Index: linux-2.6.28.2/arch/cris/arch-v10/lib/hw_settings.S
-===================================================================
---- linux-2.6.28.2.orig/arch/cris/arch-v10/lib/hw_settings.S   2009-02-04 13:48:25.000000000 +0100
-+++ linux-2.6.28.2/arch/cris/arch-v10/lib/hw_settings.S        2009-02-04 13:49:04.000000000 +0100
-@@ -60,3 +60,5 @@
-       .dword R_PORT_PB_SET
-       .dword PB_SET_VALUE
-       .dword 0 ; No more register values
-+      .ascii "ACME_PART_MAGIC" 
-+      .dword 0xdeadc0de
diff --git a/target/linux/etrax/patches-2.6.28/300-sysfs.patch b/target/linux/etrax/patches-2.6.28/300-sysfs.patch
deleted file mode 100644 (file)
index 9f415b4..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/drivers/serial/crisv10.c
-+++ b/drivers/serial/crisv10.c
-@@ -27,6 +27,7 @@ static char *serial_version = "$Revision
- #include <linux/kernel.h>
- #include <linux/mutex.h>
- #include <linux/bitops.h>
-+#include <linux/device.h>
- #include <asm/io.h>
- #include <asm/irq.h>
-@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op
-       .tiocmset = rs_tiocmset
- };
-+static struct class *rs_class;
- static int __init
- rs_init(void)
- {
-@@ -4518,6 +4520,24 @@ rs_init(void)
- #endif
- #endif /* CONFIG_SVINTO_SIM */
-+      rs_class = class_create(THIS_MODULE, "rs_tty");
-+#ifdef CONFIG_ETRAX_SERIAL_PORT0 
-+      device_create(rs_class, NULL,
-+              MKDEV(TTY_MAJOR, 64), NULL, "ttyS0");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT1 
-+      device_create(rs_class, NULL,
-+              MKDEV(TTY_MAJOR, 65), NULL, "ttyS1");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT2 
-+      device_create(rs_class, NULL,
-+              MKDEV(TTY_MAJOR, 66), NULL, "ttyS2");
-+#endif
-+#ifdef CONFIG_ETRAX_SERIAL_PORT3 
-+      device_create(rs_class, NULL,
-+              MKDEV(TTY_MAJOR, 67), NULL, "ttyS3");
-+#endif
-+
-       return 0;
- }
diff --git a/target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch b/target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch
deleted file mode 100644 (file)
index d0fdbf5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: linux-2.6.28.9/arch/cris/Kconfig
-===================================================================
---- linux-2.6.28.9.orig/arch/cris/Kconfig      2009-03-23 22:55:52.000000000 +0100
-+++ linux-2.6.28.9/arch/cris/Kconfig   2009-04-08 16:53:30.000000000 +0200
-@@ -662,6 +662,12 @@
- source "drivers/ide/Kconfig"
-+source "drivers/scsi/Kconfig"
-+
-+source "drivers/media/Kconfig"
-+
-+source "sound/Kconfig"
-+
- source "drivers/net/Kconfig"
- source "drivers/i2c/Kconfig"
diff --git a/target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch b/target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch
deleted file mode 100644 (file)
index 7eed8b2..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig
-===================================================================
---- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Kconfig    2009-02-09 09:30:40.000000000 +0100
-+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig 2009-02-09 21:23:12.000000000 +0100
-@@ -450,11 +450,18 @@
-         i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
-         val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
-+config ETRAX_I2C_GVC
-+      bool "I2C GVC support"
-+      depends on ETRAX_ARCH_V10 && !ETRAX_I2C
-+      select ETRAX_I2C_USES_PB_NOT_PB_I2C
-+      help
-+        Enables an I2C driver with Geert Vancompernolle improvement.
-+
- # this is true for most products since PB-I2C seems to be somewhat
- # flawed..
- config ETRAX_I2C_USES_PB_NOT_PB_I2C
-       bool "I2C uses PB not PB-I2C"
--      depends on ETRAX_I2C
-+      depends on ETRAX_I2C || ETRAX_I2C_GVC
-       help
-         Select whether to use the special I2C mode in the PB I/O register or
-         not.  This option needs to be selected in order to use some drivers
-@@ -478,7 +485,7 @@
- config ETRAX_I2C_EEPROM
-       bool "I2C EEPROM (non-volatile RAM) support"
--      depends on ETRAX_I2C
-+      depends on ETRAX_I2C || ETRAX_I2C_GVC
-       help
-         Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
-         driver.  Select size option: Probed, 2k, 8k, 16k.
-Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile
-===================================================================
---- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Makefile   2009-02-09 09:30:41.000000000 +0100
-+++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile        2009-02-09 09:35:39.000000000 +0100
-@@ -4,6 +4,7 @@
- obj-$(CONFIG_ETRAX_AXISFLASHMAP)      += axisflashmap.o
- obj-$(CONFIG_ETRAX_I2C)                       += i2c.o
-+obj-$(CONFIG_ETRAX_I2C_GVC)           += i2c_gvc.o
- obj-$(CONFIG_ETRAX_I2C_EEPROM)                += eeprom.o
- obj-$(CONFIG_ETRAX_GPIO)              += gpio.o
- obj-$(CONFIG_ETRAX_DS1302)            += ds1302.o
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 (file)
index 0c54b7b..0000000
+++ /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.29/100-cris-makefiles.patch b/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch
new file mode 100644 (file)
index 0000000..6495c49
--- /dev/null
@@ -0,0 +1,55 @@
+diff -urN linux-2.6.28.clean/arch/cris/Makefile linux-2.6.28.mod/arch/cris/Makefile
+--- linux-2.6.28.clean/arch/cris/Makefile      2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.mod/arch/cris/Makefile        2009-04-07 11:52:30.000000000 +0200
+@@ -40,7 +40,7 @@
+ LD = $(CROSS_COMPILE)ld -mcrislinux
+-OBJCOPYFLAGS := -O binary -R .note -R .comment -S
++OBJCOPYFLAGS := -O binary -R .bss -R .note -R .note.gnu.build-id -R .comment -S
+ CPPFLAGS_vmlinux.lds = -DDRAM_VIRTUAL_BASE=0x$(CONFIG_ETRAX_DRAM_VIRTUAL_BASE)
+diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/Makefile
+--- linux-2.6.28.clean/arch/cris/arch-v10/boot/Makefile        2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.mod/arch/cris/arch-v10/boot/Makefile  2009-04-07 11:55:01.000000000 +0200
+@@ -2,8 +2,6 @@
+ # arch/cris/arch-v10/boot/Makefile
+ #
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+-
+ subdir- := compressed rescue
+ targets := Image
+@@ -13,7 +11,7 @@
+ $(obj)/compressed/vmlinux: $(obj)/Image FORCE
+       $(Q)$(MAKE) $(build)=$(obj)/compressed $@
+-      $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
++#     $(Q)$(MAKE) $(build)=$(obj)/rescue $(obj)/rescue/rescue.bin
+ $(obj)/zImage:  $(obj)/compressed/vmlinux
+       @cp $< $@
+diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/compressed/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/compressed/Makefile
+--- linux-2.6.28.clean/arch/cris/arch-v10/boot/compressed/Makefile     2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.mod/arch/cris/arch-v10/boot/compressed/Makefile       2009-04-07 11:53:02.000000000 +0200
+@@ -6,7 +6,6 @@
+ ccflags-y += -O2 $(LINUXINCLUDE)
+ ldflags-y += -T $(srctree)/$(src)/decompress.lds
+ OBJECTS = $(obj)/head.o $(obj)/misc.o
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+ quiet_cmd_image = BUILD   $@
+ cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@
+diff -urN linux-2.6.28.clean/arch/cris/arch-v10/boot/rescue/Makefile linux-2.6.28.mod/arch/cris/arch-v10/boot/rescue/Makefile
+--- linux-2.6.28.clean/arch/cris/arch-v10/boot/rescue/Makefile 2008-12-25 00:26:37.000000000 +0100
++++ linux-2.6.28.mod/arch/cris/arch-v10/boot/rescue/Makefile   2009-04-07 11:53:09.000000000 +0200
+@@ -5,7 +5,6 @@
+ ccflags-y += -O2 $(LINUXINCLUDE)
+ asflags-y += $(LINUXINCLUDE)
+ ldflags-y += -T $(srctree)/$(src)/rescue.lds
+-OBJCOPYFLAGS = -O binary --remove-section=.bss
+ obj-$(CONFIG_ETRAX_AXISFLASHMAP) = head.o
+ OBJECT := $(obj)/head.o
diff --git a/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch b/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch
new file mode 100644 (file)
index 0000000..5df6590
--- /dev/null
@@ -0,0 +1,13 @@
+Index: linux-2.6.28.2/drivers/mtd/chips/cfi_cmdset_0002.c
+===================================================================
+--- linux-2.6.28.2.orig/drivers/mtd/chips/cfi_cmdset_0002.c    2009-02-04 13:42:19.000000000 +0100
++++ linux-2.6.28.2/drivers/mtd/chips/cfi_cmdset_0002.c 2009-02-04 13:44:11.000000000 +0100
+@@ -364,7 +364,7 @@
+                       return NULL;
+               }
+-              if (extp->MajorVersion != '1' ||
++              if (extp->MajorVersion < '1' || extp->MajorVersion > '3' ||
+                   (extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
+                       if (cfi->mfr == MANUFACTURER_SAMSUNG &&
+                           (extp->MajorVersion == '3' && extp->MinorVersion == '3')) {
diff --git a/target/linux/etrax/patches-2.6.29/201-flashsize.patch b/target/linux/etrax/patches-2.6.29/201-flashsize.patch
new file mode 100644 (file)
index 0000000..e825acf
--- /dev/null
@@ -0,0 +1,92 @@
+Index: linux-2.6.28.2/arch/cris/arch-v10/drivers/axisflashmap.c
+===================================================================
+--- linux-2.6.28.2.orig/arch/cris/arch-v10/drivers/axisflashmap.c      2009-02-04 13:49:34.000000000 +0100
++++ linux-2.6.28.2/arch/cris/arch-v10/drivers/axisflashmap.c   2009-02-04 13:55:30.000000000 +0100
+@@ -113,7 +113,7 @@
+ /* If no partition-table was found, we use this default-set. */
+ #define MAX_PARTITIONS         7
+-#define NUM_DEFAULT_PARTITIONS 3
++#define NUM_DEFAULT_PARTITIONS 2
+ /*
+  * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the
+@@ -122,19 +122,14 @@
+  */
+ static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = {
+       {
+-              .name = "boot firmware",
+-              .size = CONFIG_ETRAX_PTABLE_SECTOR,
+-              .offset = 0
+-      },
+-      {
+               .name = "kernel",
+-              .size = 0x200000 - (6 * CONFIG_ETRAX_PTABLE_SECTOR),
+-              .offset = CONFIG_ETRAX_PTABLE_SECTOR
++              .size = 0x00,
++              .offset = 0
+       },
+       {
+-              .name = "filesystem",
+-              .size = 5 * CONFIG_ETRAX_PTABLE_SECTOR,
+-              .offset = 0x200000 - (5 * CONFIG_ETRAX_PTABLE_SECTOR)
++              .name = "rootfs",
++              .size = 0x200000,
++              .offset = 0x200000
+       }
+ };
+@@ -281,6 +276,11 @@
+       struct partitiontable_entry *ptable;
+       int use_default_ptable = 1; /* Until proven otherwise. */
+       const char pmsg[] = "  /dev/flash%d at 0x%08x, size 0x%08x\n";
++      unsigned int kernel_part_size = 0;
++      unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR);
++      unsigned int flash_scan_count = 0;
++      const char *part_magic = "ACME_PART_MAGIC";
++      unsigned int magic_len = strlen(part_magic);
+       if (!(mymtd = flash_probe())) {
+               /* There's no reason to use this module if no flash chip can
+@@ -293,6 +293,31 @@
+               axisflash_mtd = mymtd;
+       }
++      /* scan flash to findout where out partition starts */
++      
++      printk(KERN_INFO "Scanning flash for end of kernel magic\n");
++      for(flash_scan_count = 0; flash_scan_count < 100000; flash_scan_count++) {
++              if(strncmp(&flash_mem[flash_scan_count], part_magic, magic_len - 1) == 0) {
++                      kernel_part_size = flash_mem[flash_scan_count + magic_len ];
++                      kernel_part_size <<= 8;
++                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 2];
++                      kernel_part_size <<= 8;
++                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 1];
++                      kernel_part_size <<= 8;
++                      kernel_part_size += flash_mem[flash_scan_count + magic_len + 3];
++                      printk(KERN_INFO "Kernel ends at 0x%.08X\n", kernel_part_size);
++                      flash_scan_count = 1100000;
++              }
++      }
++      
++      
++      if(kernel_part_size){
++              kernel_part_size = (kernel_part_size & 0xffff0000);
++              axis_default_partitions[0].size = kernel_part_size;
++              axis_default_partitions[1].size =  mymtd->size - axis_default_partitions[0].size;
++              axis_default_partitions[1].offset = axis_default_partitions[0].size;
++      }
++
+       if (mymtd) {
+               mymtd->owner = THIS_MODULE;
+               ptable_head = (struct partitiontable_head *)(FLASH_CACHED_ADDR +
+Index: linux-2.6.28.2/arch/cris/arch-v10/lib/hw_settings.S
+===================================================================
+--- linux-2.6.28.2.orig/arch/cris/arch-v10/lib/hw_settings.S   2009-02-04 13:48:25.000000000 +0100
++++ linux-2.6.28.2/arch/cris/arch-v10/lib/hw_settings.S        2009-02-04 13:49:04.000000000 +0100
+@@ -60,3 +60,5 @@
+       .dword R_PORT_PB_SET
+       .dword PB_SET_VALUE
+       .dword 0 ; No more register values
++      .ascii "ACME_PART_MAGIC" 
++      .dword 0xdeadc0de
diff --git a/target/linux/etrax/patches-2.6.29/300-sysfs.patch b/target/linux/etrax/patches-2.6.29/300-sysfs.patch
new file mode 100644 (file)
index 0000000..9f415b4
--- /dev/null
@@ -0,0 +1,43 @@
+--- a/drivers/serial/crisv10.c
++++ b/drivers/serial/crisv10.c
+@@ -27,6 +27,7 @@ static char *serial_version = "$Revision
+ #include <linux/kernel.h>
+ #include <linux/mutex.h>
+ #include <linux/bitops.h>
++#include <linux/device.h>
+ #include <asm/io.h>
+ #include <asm/irq.h>
+@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op
+       .tiocmset = rs_tiocmset
+ };
++static struct class *rs_class;
+ static int __init
+ rs_init(void)
+ {
+@@ -4518,6 +4520,24 @@ rs_init(void)
+ #endif
+ #endif /* CONFIG_SVINTO_SIM */
++      rs_class = class_create(THIS_MODULE, "rs_tty");
++#ifdef CONFIG_ETRAX_SERIAL_PORT0 
++      device_create(rs_class, NULL,
++              MKDEV(TTY_MAJOR, 64), NULL, "ttyS0");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT1 
++      device_create(rs_class, NULL,
++              MKDEV(TTY_MAJOR, 65), NULL, "ttyS1");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT2 
++      device_create(rs_class, NULL,
++              MKDEV(TTY_MAJOR, 66), NULL, "ttyS2");
++#endif
++#ifdef CONFIG_ETRAX_SERIAL_PORT3 
++      device_create(rs_class, NULL,
++              MKDEV(TTY_MAJOR, 67), NULL, "ttyS3");
++#endif
++
+       return 0;
+ }
diff --git a/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch b/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch
new file mode 100644 (file)
index 0000000..d0fdbf5
--- /dev/null
@@ -0,0 +1,17 @@
+Index: linux-2.6.28.9/arch/cris/Kconfig
+===================================================================
+--- linux-2.6.28.9.orig/arch/cris/Kconfig      2009-03-23 22:55:52.000000000 +0100
++++ linux-2.6.28.9/arch/cris/Kconfig   2009-04-08 16:53:30.000000000 +0200
+@@ -662,6 +662,12 @@
+ source "drivers/ide/Kconfig"
++source "drivers/scsi/Kconfig"
++
++source "drivers/media/Kconfig"
++
++source "sound/Kconfig"
++
+ source "drivers/net/Kconfig"
+ source "drivers/i2c/Kconfig"
diff --git a/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch b/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch
new file mode 100644 (file)
index 0000000..7eed8b2
--- /dev/null
@@ -0,0 +1,45 @@
+Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig
+===================================================================
+--- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Kconfig    2009-02-09 09:30:40.000000000 +0100
++++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Kconfig 2009-02-09 21:23:12.000000000 +0100
+@@ -450,11 +450,18 @@
+         i2c_arg = I2C_READARG(STA013_READ_ADDR, reg);
+         val = ioctl(fd, _IO(ETRAXI2C_IOCTYPE, I2C_READREG), i2c_arg);
++config ETRAX_I2C_GVC
++      bool "I2C GVC support"
++      depends on ETRAX_ARCH_V10 && !ETRAX_I2C
++      select ETRAX_I2C_USES_PB_NOT_PB_I2C
++      help
++        Enables an I2C driver with Geert Vancompernolle improvement.
++
+ # this is true for most products since PB-I2C seems to be somewhat
+ # flawed..
+ config ETRAX_I2C_USES_PB_NOT_PB_I2C
+       bool "I2C uses PB not PB-I2C"
+-      depends on ETRAX_I2C
++      depends on ETRAX_I2C || ETRAX_I2C_GVC
+       help
+         Select whether to use the special I2C mode in the PB I/O register or
+         not.  This option needs to be selected in order to use some drivers
+@@ -478,7 +485,7 @@
+ config ETRAX_I2C_EEPROM
+       bool "I2C EEPROM (non-volatile RAM) support"
+-      depends on ETRAX_I2C
++      depends on ETRAX_I2C || ETRAX_I2C_GVC
+       help
+         Enables I2C EEPROM (non-volatile RAM) on PB0 and PB1 using the I2C
+         driver.  Select size option: Probed, 2k, 8k, 16k.
+Index: linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile
+===================================================================
+--- linux-2.6.25.20.orig/arch/cris/arch-v10/drivers/Makefile   2009-02-09 09:30:41.000000000 +0100
++++ linux-2.6.25.20/arch/cris/arch-v10/drivers/Makefile        2009-02-09 09:35:39.000000000 +0100
+@@ -4,6 +4,7 @@
+ obj-$(CONFIG_ETRAX_AXISFLASHMAP)      += axisflashmap.o
+ obj-$(CONFIG_ETRAX_I2C)                       += i2c.o
++obj-$(CONFIG_ETRAX_I2C_GVC)           += i2c_gvc.o
+ obj-$(CONFIG_ETRAX_I2C_EEPROM)                += eeprom.o
+ obj-$(CONFIG_ETRAX_GPIO)              += gpio.o
+ obj-$(CONFIG_ETRAX_DS1302)            += ds1302.o
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 (file)
index 0000000..7ac24a4
--- /dev/null
@@ -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;