CS89x0: Finish transition to CS89x0_NONISA_IRQ
Subsystems (2)
A message that is not in the archive (sent off-list or not yet received): [email protected]
PATCH v2 1/2 CS89x0: Finish transition to CS89x0_NONISA_IRQ
From: Domenico Andreoli <[email protected]>
CS89x0_NONISA_IRQ is selected by all those non-ISA boards which use CS89x0. This patch only cleans the last bits left after its introduction.
drivers/net/cs89x0.c +4 -4
@@ -943,10 +943,10 @@static void __init reset_chip (struct net_device *dev) {#if !defined(CONFIG_MACH_MX31ADS ) -#if !defined(CONFIG_MACH_IXDP2351 ) && !defined(CONFIG_ARCH_IXDP2X01 ) +#if !defined(CS89x0_NONISA_IRQ)struct net_local *lp =netdev_priv (dev);int ioaddr = dev->base_addr; -#endif +#endif /* CS89x0_NONISA_IRQ */ int reset_start_time;writereg (dev, PP_SelfCTL,readreg (dev, PP_SelfCTL) |POWER_ON_RESET );
@@ -954,7 +954,7 @@/* wait 30 ms */ msleep (30 ); -#if !defined(CONFIG_MACH_IXDP2351 ) && !defined(CONFIG_ARCH_IXDP2X01 ) +#if !defined(CS89x0_NONISA_IRQ)if (lp->chip_type !=CS8900 ) {/* Hardware problem requires PNP registers to be reconfigured after a reset */ writeword (ioaddr,ADD_PORT ,PP_CS8920_ISAINT );
@@ -965,7 +965,7 @@outb ((dev->mem_start >>16 ) &0xff , ioaddr +DATA_PORT ); outb((dev->mem_start >> 8) & 0xff, ioaddr + DATA_PORT + 1); } -#endif /* IXDP2x01 */ +#endif /* CS89x0_NONISA_IRQ */ /* Wait until the chip is reset */ reset_start_time = jiffies;
PATCH v2 2/2 CS89x0: Add networking support for QQ2440
In reply to a message not in the archiveFrom: Domenico Andreoli <[email protected]>
QQ2440 is only another non-ISA board using CS89x0. This patch adds the minimum bits required to make QQ2440 work with CS89x0.
---
I'm working on another series that brings CS89x0 to the third millenium, it properly uses the modern ISA and platform drivers model. That series is a little more invasive and will require more testing than this one.
arch/arm/mach-s3c2440/include/mach/qq2440.h | 22 ++++++++++++ arch/arm/mach-s3c2440/mach-qq2440.c | 16 ++++++++ drivers/net/Kconfig | 4 +- drivers/net/cs89x0.c | 33 ++++++++++++------ 4 files changed, 61 insertions(+), 14 deletions(-)
drivers/net/cs89x0.c +11 -0
@@ -95,6 +95,9 @@Dmitry Pervushin : [email protected] : PNX010X platform support +Domenico Andreoli : [email protected] +: QQ2440 platform support +*/ /* Always include 'config.h' first in case the user wants to turn on
@@ -176,6 +179,10 @@#elif defined(CONFIG_ARCH_IXDP2X01 )static unsigned int netcard_portlist[]__used __initdata = {IXDP2X01_CS8900_VIRT_BASE ,0 };static unsigned int cs8900_irq_map[] = {IRQ_IXDP2X01_CS8900 ,0 ,0 ,0 }; +#elif defined(CONFIG_MACH_QQ2440 ) +#include <mach/qq2440.h> +static unsigned int netcard_portlist[]__used __initdata = {QQ2440_CS8900_VIRT_BASE +0x300 ,0 }; +static unsigned int cs8900_irq_map[] = {QQ2440_CS8900_IRQ ,0 ,0 ,0 };#elif defined(CONFIG_MACH_MX31ADS )#include <mach/board-mx31ads.h> static unsigned int netcard_portlist[] __used __initdata = {
@@ -521,6 +528,10 @@#endif lp->force = g_cs89x0_media__force;#endif + +#if defined(CONFIG_MACH_QQ2440 ) + lp->force |=FORCE_RJ45 |FORCE_FULL ; +#endif }/* Grab the region so we can find another board if autoIRQ fails. */
drivers/net/Kconfig +2 -2
@@ -1498,7 +1498,7 @@ config CS89x0 tristate "CS89x0 support" depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \ - || ARCH_IXDP2X01 || MACH_MX31ADS) + || ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440) ---help--- Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the
@@ -1512,7 +1512,7 @@ config CS89x0_NONISA_IRQ def_bool y depends on CS89x0 != n - depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS + depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440 config TC35815 tristate "TOSHIBA TC35815 Ethernet support"