From 437de7d88cd6f9eea3ce0d9d9c7c52cb4e98fee6 Mon Sep 17 00:00:00 2001 From: Claudio Mignanti Date: Sun, 19 Apr 2009 15:36:30 +0000 Subject: etrax: dump to 2.6.29 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15260 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/etrax/Makefile | 4 +- target/linux/etrax/config-2.6.25 | 55 +---- target/linux/etrax/config-2.6.28 | 271 --------------------- target/linux/etrax/config-2.6.29 | 172 +++++++++++++ target/linux/etrax/image/Makefile | 4 +- .../etrax/patches-2.6.28/100-cris-makefiles.patch | 55 ----- .../etrax/patches-2.6.28/200-samsung_flash.patch | 13 - .../linux/etrax/patches-2.6.28/201-flashsize.patch | 92 ------- target/linux/etrax/patches-2.6.28/300-sysfs.patch | 43 ---- .../etrax/patches-2.6.28/400-Kconfig_source.patch | 17 -- .../linux/etrax/patches-2.6.28/500-i2c_gvc.patch | 45 ---- .../etrax/patches-2.6.28/600-fix_serial_cris.patch | 29 --- .../etrax/patches-2.6.29/100-cris-makefiles.patch | 55 +++++ .../etrax/patches-2.6.29/200-samsung_flash.patch | 13 + .../linux/etrax/patches-2.6.29/201-flashsize.patch | 92 +++++++ target/linux/etrax/patches-2.6.29/300-sysfs.patch | 43 ++++ .../etrax/patches-2.6.29/400-Kconfig_source.patch | 17 ++ .../linux/etrax/patches-2.6.29/500-i2c_gvc.patch | 45 ++++ .../etrax/patches-2.6.29/600-fix_serial_cris.patch | 265 ++++++++++++++++++++ 19 files changed, 708 insertions(+), 622 deletions(-) delete mode 100644 target/linux/etrax/config-2.6.28 create mode 100644 target/linux/etrax/config-2.6.29 delete mode 100644 target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch delete mode 100644 target/linux/etrax/patches-2.6.28/200-samsung_flash.patch delete mode 100644 target/linux/etrax/patches-2.6.28/201-flashsize.patch delete mode 100644 target/linux/etrax/patches-2.6.28/300-sysfs.patch delete mode 100644 target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch delete mode 100644 target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch delete mode 100644 target/linux/etrax/patches-2.6.28/600-fix_serial_cris.patch create mode 100644 target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch create mode 100644 target/linux/etrax/patches-2.6.29/200-samsung_flash.patch create mode 100644 target/linux/etrax/patches-2.6.29/201-flashsize.patch create mode 100644 target/linux/etrax/patches-2.6.29/300-sysfs.patch create mode 100644 target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch create mode 100644 target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch create mode 100644 target/linux/etrax/patches-2.6.29/600-fix_serial_cris.patch (limited to 'target') 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.28 deleted file mode 100644 index c9b464f9c2..0000000000 --- a/target/linux/etrax/config-2.6.28 +++ /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 index 0000000000..872a110d2b --- /dev/null +++ b/target/linux/etrax/config-2.6.29 @@ -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 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/100-cris-makefiles.patch b/target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch deleted file mode 100644 index 6495c4957f..0000000000 --- a/target/linux/etrax/patches-2.6.28/100-cris-makefiles.patch +++ /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 index 5df6590fa7..0000000000 --- a/target/linux/etrax/patches-2.6.28/200-samsung_flash.patch +++ /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 index e825acf1f7..0000000000 --- a/target/linux/etrax/patches-2.6.28/201-flashsize.patch +++ /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 index 9f415b4a82..0000000000 --- a/target/linux/etrax/patches-2.6.28/300-sysfs.patch +++ /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 - #include - #include -+#include - - #include - #include -@@ -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 index d0fdbf5897..0000000000 --- a/target/linux/etrax/patches-2.6.28/400-Kconfig_source.patch +++ /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 index 7eed8b2a71..0000000000 --- a/target/linux/etrax/patches-2.6.28/500-i2c_gvc.patch +++ /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 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 - #include - #include -+#include - - #include - #include -@@ -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 index 0000000000..6495c4957f --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/100-cris-makefiles.patch @@ -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 index 0000000000..5df6590fa7 --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/200-samsung_flash.patch @@ -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 index 0000000000..e825acf1f7 --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/201-flashsize.patch @@ -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 index 0000000000..9f415b4a82 --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/300-sysfs.patch @@ -0,0 +1,43 @@ +--- a/drivers/serial/crisv10.c ++++ b/drivers/serial/crisv10.c +@@ -27,6 +27,7 @@ static char *serial_version = "$Revision + #include + #include + #include ++#include + + #include + #include +@@ -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 index 0000000000..d0fdbf5897 --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/400-Kconfig_source.patch @@ -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 index 0000000000..7eed8b2a71 --- /dev/null +++ b/target/linux/etrax/patches-2.6.29/500-i2c_gvc.patch @@ -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 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 + #include + #include ++#include ++#include ++#include ++#include ++#include + +-#include + #include + #include + #include +-#include + + #include + +@@ -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; -- cgit v1.2.3