After the last discussions on uclinux-dev about this I have
a patch virtualy identical to this prepared for inclusion
in the 2.6.26 merge window.
Regards
Greg
quoted text > Signed-off-by: Sebastian Siewior <sebastian@linutronix.de>
> --- a/drivers/net/fec.c
> +++ b/drivers/net/fec.c
> @@ -1257,12 +1257,15 @@ static void fec_request_intrs(struct net
> unsigned short irq;
> irq_handler_t handler;
> } *idp, id[] = {
> - {
> - "fec(RX)", 86, fec_enet_interrupt}, {
> - "fec(TX)", 87, fec_enet_interrupt}, {
> - "fec(OTHER)", 88, fec_enet_interrupt}, {
> - "fec(MII)", 66, mii_link_interrupt}, {
> - NULL},};
> + /*
> + * Available but not allocated because not handled:
> + * fec(OTHER) 88
> + */
> + { "fec(RX)", 86, fec_enet_interrupt},
> + { "fec(TX)", 87, fec_enet_interrupt},
> + { "fec(MII)", 66, mii_link_interrupt},
> + { NULL, 0 },
> + };
>
> /* Setup interrupt handlers. */
> for (idp = id; idp->name; idp++) {
> @@ -1381,21 +1384,17 @@ static void fec_request_intrs(struct net
> char *name;
> unsigned short irq;
> } *idp, id[] = {
> - {
> - "fec(TXF)", 23}, {
> - "fec(TXB)", 24}, {
> - "fec(TXFIFO)", 25}, {
> - "fec(TXCR)", 26}, {
> - "fec(RXF)", 27}, {
> - "fec(RXB)", 28}, {
> - "fec(MII)", 29}, {
> - "fec(LC)", 30}, {
> - "fec(HBERR)", 31}, {
> - "fec(GRA)", 32}, {
> - "fec(EBERR)", 33}, {
> - "fec(BABT)", 34}, {
> - "fec(BABR)", 35}, {
> - NULL},};
> + /*
> + * Available but not allocated because not handled:
> + * fec(TXB) 24, fec(TXFIFO) 25, fec(TXCR) 26, fec(RXB) 28,
> + * fec(LC) 30, fec(HBERR) 31, fec(GRA) 32, fec(EBERR) 33,
> + * fec(BABT) 34, fec(BABR), 35
> + */
> + { "fec(TXF)", 23},
> + { "fec(RXF)", 27},
> + { "fec(MII)", 29},
> + { NULL, 0},
> + };
>
> fep = netdev_priv(dev);
> b = (fep->index) ? 128 : 64;
> @@ -1559,21 +1558,17 @@ static void fec_request_intrs(struct net
> char *name;
> unsigned short irq;
> } *idp, id[] = {
> - {
> - "fec(TXF)", 23}, {
> - "fec(TXB)", 24}, {
> - "fec(TXFIFO)", 25}, {
> - "fec(TXCR)", 26}, {
> - "fec(RXF)", 27}, {
> - "fec(RXB)", 28}, {
> - "fec(MII)", 29}, {
> - "fec(LC)", 30}, {
> - "fec(HBERR)", 31}, {
> - "fec(GRA)", 32}, {
> - "fec(EBERR)", 33}, {
> - "fec(BABT)", 34}, {
> - "fec(BABR)", 35}, {
> - NULL},};
> + /*
> + * Available but not allocated because not handled:
> + * fec(TXB) 24, fec(TXFIFO) 25, fec(TXCR) 26, fec(RXB) 28,
> + * fec(LC) 30, fec(HBERR) 31, fec(GRA) 32, fec(EBERR) 33,
> + * fec(BABT) 34, fec(BABR) 35
> + */
> + { "fec(TXF)", 23},
> + { "fec(RXF)", 27},
> + { "fec(MII)", 29},
> + { NULL, 0},
> + };
>
> fep = netdev_priv(dev);
> b = 64 + 13;
> @@ -1693,21 +1688,17 @@ static void fec_request_intrs(struct net
> char *name;
> unsigned short irq;
> } *idp, id[] = {
> - {
> - "fec(TXF)", 36}, {
> - "fec(TXB)", 37}, {
> - "fec(TXFIFO)", 38}, {
> - "fec(TXCR)", 39}, {
> - "fec(RXF)", 40}, {
> - "fec(RXB)", 41}, {
> - "fec(MII)", 42}, {
> - "fec(LC)", 43}, {
> - "fec(HBERR)", 44}, {
> - "fec(GRA)", 45}, {
> - "fec(EBERR)", 46}, {
> - "fec(BABT)", 47}, {
> - "fec(BABR)", 48}, {
> - NULL},};
> + /*
> + * Available but not allocated because not handled:
> + * fec(TXB) 37, fec(TXFIFO) 38, fec(TXCR) 39, fec(RXB) 41,
> + * fec(LC) 43, fec(HBERR) 44, fec(GRA) 45, fec(EBERR) 46,
> + * fec(BABT) 47, fec(BABR) 48
> + */
> + { "fec(TXF)", 36},
> + { "fec(RXF)", 40},
> + { "fec(MII)", 42},
> + { NULL, 0},
> + };
>
> fep = netdev_priv(dev);
> b = (fep->index) ? 128 : 64;
> @@ -2503,8 +2494,7 @@ int __init fec_enet_init(struct net_devi
>
> /* Clear and enable interrupts */
> fecp->fec_ievent = 0xffc00000;
> - fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_TXB |
> - FEC_ENET_RXF | FEC_ENET_RXB | FEC_ENET_MII);
> + fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII);
>
> /* Queue up command to detect the PHY and initialize the
> * remainder of the interface.
> @@ -2630,8 +2620,7 @@ static void fec_restart(struct net_devic
>
> /* Enable interrupts we wish to service.
> */
> - fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_TXB |
> - FEC_ENET_RXF | FEC_ENET_RXB | FEC_ENET_MII);
> + fecp->fec_imask = (FEC_ENET_TXF | FEC_ENET_RXF | FEC_ENET_MII);
> }
>
> static void fec_stop(struct net_device *dev)
>
--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL:
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB:
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to