1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-25 03:13:20 +02:00

[etrax] add patches for 2.6.30, remove config-default

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15743 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
claudio 2009-05-09 13:15:16 +00:00
parent c40cdb09d0
commit 0a359982df
9 changed files with 42 additions and 498 deletions

View File

@ -1,132 +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_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_MTDRAM_ABS_POS=0x0
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTDRAM_TOTAL_SIZE=0
CONFIG_MTD_CFI_ADV_OPTIONS=y
# CONFIG_MTD_CFI_GEOMETRY is not set
# CONFIG_MTD_CFI_INTELEXT is not set
CONFIG_MTD_CONCAT=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_MTDRAM=y
# 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_SCSI_DMA is not set
# CONFIG_SERIAL_8250 is not set
# CONFIG_SVINTO_SIM is not set
# CONFIG_SYSTEM_PROFILER is not set
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

View File

@ -1,19 +1,17 @@
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_BASE_SMALL=0
# CONFIG_BINARY_PRINTF is not set
CONFIG_BITREVERSE=y
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_BOUNCE=y
CONFIG_CLASSIC_RCU=y
# CONFIG_BRIDGE is not set
# CONFIG_CFG80211 is not set
CONFIG_CRIS=y
# CONFIG_CRIS_MACH_ARTPEC3 is not set
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_MANAGER=y
# CONFIG_CRYPTO is not set
CONFIG_DEFAULT_VEGAS=y
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_ETRAX100LX is not set
CONFIG_ETRAX100LX_V2=y
# CONFIG_ETRAXFS is not set
@ -22,11 +20,11 @@ CONFIG_ETRAX_ARCH_V10=y
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_PORT0=y
# 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_DEBUG_PORT_NULL is not set
CONFIG_ETRAX_DEF_R_BUS_CONFIG=0x4
CONFIG_ETRAX_DEF_R_PORT_PA_DATA=0xf0
CONFIG_ETRAX_DEF_R_PORT_PA_DIR=0x1c
@ -38,22 +36,13 @@ 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_DS1302=y
CONFIG_ETRAX_DS1302_RSTBIT=2
CONFIG_ETRAX_DS1302_RST_ON_GENERIC_PORT=y
CONFIG_ETRAX_DS1302_SCLBIT=1
CONFIG_ETRAX_DS1302_SDABIT=0
CONFIG_ETRAX_DS1302_TRICKLE_CHARGE=0
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=y
CONFIG_ETRAX_I2C_CLK_PORT=1
CONFIG_ETRAX_I2C_DATA_PORT=0
# CONFIG_ETRAX_I2C_EEPROM is not set
CONFIG_ETRAX_I2C_USES_PB_NOT_PB_I2C=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
@ -72,14 +61,12 @@ 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_PCF8563 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_RTC=y
CONFIG_ETRAX_SDRAM=y
CONFIG_ETRAX_SER0_CD_ON_PA_BIT=-1
CONFIG_ETRAX_SER0_CD_ON_PB_BIT=-1
@ -93,17 +80,17 @@ CONFIG_ETRAX_SER0_DTR_RI_DSR_CD_ON_NONE=y
# 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=7
CONFIG_ETRAX_SER2_CD_ON_PA_BIT=-1
CONFIG_ETRAX_SER2_CD_ON_PB_BIT=-1
CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=6
CONFIG_ETRAX_SER2_DSR_ON_PA_BIT=-1
CONFIG_ETRAX_SER2_DSR_ON_PB_BIT=-1
CONFIG_ETRAX_SER2_DTR_ON_PA_BIT=4
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 is not set
CONFIG_ETRAX_SER2_DTR_RI_DSR_CD_ON_PA=y
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=5
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
@ -144,7 +131,7 @@ CONFIG_ETRAX_SERIAL_PORT3_DMA5_IN=y
# CONFIG_ETRAX_SERIAL_PORT3_DMA9_IN is not set
# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_IN is not set
# CONFIG_ETRAX_SERIAL_PORT3_NO_DMA_OUT is not set
CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=1
CONFIG_ETRAX_SERIAL_RX_TIMEOUT_TICKS=5
# CONFIG_ETRAX_SOFT_SHUTDOWN is not set
# CONFIG_ETRAX_SYNCHRONOUS_SERIAL is not set
CONFIG_ETRAX_USB_HOST=y
@ -152,37 +139,24 @@ 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_FAT_FS=y
# CONFIG_FILE_LOCKING is not set
CONFIG_FORCE_MAX_ZONEORDER=6
CONFIG_FS_POSIX_ACL=y
# 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_HAVE_KPROBES is not set
# CONFIG_HAVE_KRETPROBES is not set
# CONFIG_HAVE_OPROFILE is not set
# CONFIG_HOSTAP is not set
CONFIG_HAVE_MLOCK=y
# CONFIG_HW_RANDOM is not set
# CONFIG_I2C is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IDE is not set
CONFIG_IEEE80211=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_DEBUG=y
CONFIG_IEEE80211_SOFTMAC=m
CONFIG_IEEE80211_SOFTMAC_DEBUG=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_LZO_COMPRESS=m
CONFIG_LZO_DECOMPRESS=m
CONFIG_MSDOS_FS=y
# CONFIG_LIB80211 is not set
# CONFIG_MAC80211 is not set
CONFIG_MTDRAM_ABS_POS=0x0
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTDRAM_TOTAL_SIZE=0
@ -192,15 +166,22 @@ CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CONCAT=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_MTDRAM=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NF_DEFRAG_IPV4 is not set
CONFIG_NLATTR=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_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
# CONFIG_ROMFS_BACKED_BY_MTD is not set
CONFIG_ROMFS_FS=y
CONFIG_ROMFS_ON_BLOCK=y
# CONFIG_RTC is not set
# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
# CONFIG_SCSI_DMA is not set
# CONFIG_SERIAL_8250 is not set
CONFIG_SLABINFO=y
# CONFIG_SLOW_WORK is not set
# CONFIG_SVINTO_SIM is not set
# CONFIG_SYSTEM_PROFILER is not set
CONFIG_UID16=y
@ -208,7 +189,8 @@ 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_R8A66597_HCD is not set
CONFIG_USB_SUPPORT=y
CONFIG_VFAT_FS=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

View File

@ -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>
@@ -4393,6 +4394,7 @@ static const struct tty_operations rs_op
.tiocmset = rs_tiocmset
};
+static struct class *rs_class;
static int __init
rs_init(void)
{
@@ -4527,6 +4529,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;
}

View File

@ -1,263 +0,0 @@
--- a/drivers/serial/crisv10.c
+++ b/drivers/serial/crisv10.c
@@ -28,12 +28,15 @@ static char *serial_version = "$Revision
#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 @@ static struct e100_serial rs_table[] = {
#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 @@ rs_open(struct tty_struct *tty, struct f
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 @@ static const struct tty_operations rs_op
.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;