X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/14f5c350584f1b0f282cfe7724965fb44494b3eb..130f029a0cbe63cc7ccfb2bb4940382d9f8d20c4:/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c?ds=sidebyside diff --git a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c index 935016c3a..fb1752b63 100644 --- a/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c +++ b/target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c @@ -20,6 +20,8 @@ #include #include "adm5120sw.h" +#include "adm5120_info.h" + MODULE_AUTHOR("Jeroen Vreeken (pe1rxq@amsat.org)"); MODULE_DESCRIPTION("ADM5120 ethernet switch driver"); MODULE_LICENSE("GPL"); @@ -157,7 +159,7 @@ static inline void adm5120_tx(struct adm5120_dma *dma, struct sk_buff **skbl, } } -irqreturn_t adm5120_sw_irq(int irq, void *dev_id, struct pt_regs *regs) +static irqreturn_t adm5120_sw_irq(int irq, void *dev_id) { unsigned long intreg; @@ -316,7 +318,7 @@ static int adm5120_sw_set_mac_address(struct net_device *dev, void *p) static int adm5120_do_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) { int err; - struct adm5120_info info; + struct adm5120_sw_info info; struct adm5120_sw *priv = netdev_priv(dev); switch(cmd) { @@ -390,6 +392,9 @@ static int __init adm5120_sw_init(void) /* MII port? */ if (adm5120_get_reg(ADM5120_CODE) & ADM5120_CODE_PQFP) adm5120_nrdevs = 5; + /* CFE based devices only have two enet ports */ + else if (adm5120_info.boot_loader == BOOT_LOADER_CFE) + adm5120_nrdevs = 2; else adm5120_nrdevs = 6;