_基于S3C2440的嵌入式LINUX操作系统内核研究
可以参考:
CONFIG_ARCH_PNX010X: net_open(struct net_device *dev) {
struct net_local *lp = netdev_priv(dev); int result = 0; int i; int ret;
#if !defined(CONFIG_MACH_IXDP2351) && !defined(CONFIG_ARCH_IXDP2X01) && !defined(CONFIG_ARCH_PNX010X) && !defined(CONFIG_ARCH_S3C2410)
if (((1 irq) & lp->irq_map) == 0) {
printk(KERN_ERR "%s: IRQ %d is not in our map of allowable IRQs, which is %x\n",dev->name, dev->irq, lp->irq_map);
ret = -EAGAIN; goto bad_out; } #endif
#if defined(CONFIG_ARCH_PNX010X) || defined(CONFIG_ARCH_S3C2410) result = A_CNF_10B_T; #endif
内核配置文件修改,修改drivers/net/kconfig中的描述: config CS89x0
tristate "CS89x0 support"
depends on NET_ETHERNET && (ISA || EISA || MACH_IXDP2351 \
|| ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440) ||ARCH_S3C2410 ---help---
Support for CS89x0 chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO,
config CS89x0_NONISA_IRQ def_bool y
depends on CS89x0 != n
depends on MACH_IXDP2351 || ARCH_IXDP2X01 || MACH_MX31ADS || MACH_QQ2440 ||ARCH_S3C2410
/*必须添加ARCH_S3C2410,否则出现eth0: IRQ 53 is not in our map of allowable