Mercurial > ecos-v3_0-branch
diff packages/devs/eth/arm/edb7xxx/current/src/if_edb7xxx.c @ 121:6bd9d475ed4b ecos-sw-2000-09-04
Merge from eCos master repository on 2000-09-04-20:50:20-BST
| author | jlarmour |
|---|---|
| date | Mon, 04 Sep 2000 20:24:12 +0000 |
| parents | bd1a71e3e476 |
| children | 518f42066aba |
line wrap: on
line diff
--- a/packages/devs/eth/arm/edb7xxx/current/src/if_edb7xxx.c +++ b/packages/devs/eth/arm/edb7xxx/current/src/if_edb7xxx.c @@ -114,7 +114,8 @@ ETH_DRV_SC(edb7xxx_sc, cs8900_can_send, cs8900_send, cs8900_recv, - cs8900_int, + cs8900_deliver, // "pseudoDSR" called from fast net thread + cs8900_int, // poll function, encapsulates ISR and DSR cs8900_int_vector); NETDEVTAB_ENTRY(edb7xxx_netdev, @@ -140,11 +141,11 @@ cs8900_isr(cyg_vector_t vector, cyg_addr return (CYG_ISR_HANDLED|CYG_ISR_CALL_DSR); // Run the DSR } -// This DSR handles the ethernet [logical] processing +// The deliver function (ex-DSR) handles the ethernet [logical] processing static void -cs8900_dsr(cyg_vector_t vector, cyg_ucount32 count, cyg_addrword_t data) +cs8900_deliver(struct eth_drv_sc *sc) { - cs8900_int((struct eth_drv_sc *)data); + cs8900_int(sc); // Allow interrupts to happen again cyg_drv_interrupt_acknowledge(CYGNUM_HAL_INTERRUPT_EINT3); cyg_drv_interrupt_unmask(CYGNUM_HAL_INTERRUPT_EINT3); @@ -168,7 +169,7 @@ edb7xxx_cs8900_init(struct cyg_netdevtab 99, // Priority - what goes here? (cyg_addrword_t)sc, // Data item passed to interrupt handler (cyg_ISR_t *)cs8900_isr, - (cyg_DSR_t *)cs8900_dsr, + (cyg_DSR_t *)eth_drv_dsr, // The logical driver DSR &cs8900_interrupt_handle, &cs8900_interrupt); cyg_drv_interrupt_attach(cs8900_interrupt_handle);
