From 6e8e9d8023445b441fbccbe6852a393eb3e47b89 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Sun, 17 Aug 2003 21:25:38 +0100 Subject: [PATCH] [PCMCIA] kill off last remains of the release timer update the previously missed atmel_cs driver and kill the struct member. --- drivers/net/wireless/atmel_cs.c | 24 ++++++++---------------- include/pcmcia/ds.h | 1 - 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c index b245484f17f76..ff4b30d22db8b 100644 --- a/drivers/net/wireless/atmel_cs.c +++ b/drivers/net/wireless/atmel_cs.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include @@ -108,7 +107,7 @@ void stop_atmel_card( struct net_device *, int ); int reset_atmel_card( struct net_device * ); static void atmel_config(dev_link_t *link); -static void atmel_release(u_long arg); +static void atmel_release(dev_link_t *link); static int atmel_event(event_t event, int priority, event_callback_args_t *args); @@ -222,9 +221,6 @@ static dev_link_t *atmel_attach(void) return NULL; } memset(link, 0, sizeof(struct dev_link_t)); - init_timer(&link->release); - link->release.function = &atmel_release; - link->release.data = (u_long)link; /* Interrupt setup */ link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; @@ -300,9 +296,8 @@ static void atmel_detach(dev_link_t *link) if (*linkp == NULL) return; - del_timer(&link->release); if ( link->state & DEV_CONFIG ) { - atmel_release( (int)link ); + atmel_release(link); if ( link->state & DEV_STALE_CONFIG ) { link->state |= DEV_STALE_LINK; return; @@ -606,9 +601,8 @@ static void atmel_config(dev_link_t *link) cs_failed: cs_error(link->handle, last_fn, last_ret); - atmel_release((u_long)link); - -} /* atmel_config */ + atmel_release(link); +} /*====================================================================== @@ -618,9 +612,8 @@ static void atmel_config(dev_link_t *link) ======================================================================*/ -static void atmel_release(u_long arg) +static void atmel_release(dev_link_t *link) { - dev_link_t *link = (dev_link_t *)arg; struct net_device *dev = ((local_info_t*)link->priv)->eth_dev; DEBUG(0, "atmel_release(0x%p)\n", link); @@ -639,8 +632,7 @@ static void atmel_release(u_long arg) if (link->irq.AssignedIRQ) CardServices(ReleaseIRQ, link->handle, &link->irq); link->state &= ~DEV_CONFIG; - -} /* atmel_release */ +} /*====================================================================== @@ -667,7 +659,7 @@ static int atmel_event(event_t event, int priority, link->state &= ~DEV_PRESENT; if (link->state & DEV_CONFIG) { netif_device_detach(local->eth_dev); - mod_timer(&link->release, jiffies + HZ/20); + atmel_release(link); } break; case CS_EVENT_CARD_INSERTION: @@ -719,7 +711,7 @@ static void atmel_cs_cleanup(void) /* XXX: this really needs to move into generic code.. */ while (dev_list != NULL) { if (dev_list->state & DEV_CONFIG) - atmel_release((u_long)dev_list); + atmel_release(dev_list); atmel_detach(dev_list); } } diff --git a/include/pcmcia/ds.h b/include/pcmcia/ds.h index 4ecffb778a622..8a22fecf1cbd7 100644 --- a/include/pcmcia/ds.h +++ b/include/pcmcia/ds.h @@ -118,7 +118,6 @@ typedef struct dev_link_t { dev_node_t *dev; u_int state, open; wait_queue_head_t pending; - struct timer_list release; client_handle_t handle; io_req_t io; irq_req_t irq; -- 2.53.0