Fix get_p_dev and rename it to pcmcia_get_dev; also rename pcmcia_put_dev. They aren't static any longer as "pcmcia_compat.c" or other parts of pcmcia.ko may use them in future. Signed-off-by: Dominik Brodowski drivers/pcmcia/ds.c | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 deletions(-) diff -ruN linux-original/drivers/pcmcia/ds.c linux/drivers/pcmcia/ds.c --- linux-original/drivers/pcmcia/ds.c 2004-11-06 17:18:10.935849904 +0100 +++ linux/drivers/pcmcia/ds.c 2004-11-06 17:16:54.031541136 +0100 @@ -339,12 +339,16 @@ /* pcmcia_device handling */ -static inline struct pcmcia_device *get_p_dev(struct pcmcia_device *p_dev) -{ /* FIXME: this is unsafe */ - return to_pcmcia_dev(get_device(&p_dev->dev)); +struct pcmcia_device *pcmcia_get_dev(struct pcmcia_device *p_dev) +{ + struct device *tmp_dev; + tmp_dev = get_device(&p_dev->dev); + if (!tmp_dev) + return NULL; + return to_pcmcia_dev(tmp_dev); } -static inline void put_p_dev(struct pcmcia_device *p_dev) +void pcmcia_put_dev(struct pcmcia_device *p_dev) { put_device(&p_dev->dev); } @@ -679,12 +683,12 @@ spin_lock_irqsave(&pcmcia_dev_list_lock, flags); list_for_each_entry(p_dev, &skt->devices_list, socket_device_list) { struct pcmcia_driver *p_drv; - p_dev = get_p_dev(p_dev); + p_dev = pcmcia_get_dev(p_dev); if (!p_dev) continue; if ((!p_dev->client.state & CLIENT_UNBOUND) || (!p_dev->dev.driver)) { - put_p_dev(p_dev); + pcmcia_put_dev(p_dev); continue; } p_drv = to_pcmcia_drv(p_dev->dev.driver); @@ -693,7 +697,7 @@ spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags); goto found; } - put_p_dev(p_dev); + pcmcia_put_dev(p_dev); } spin_unlock_irqrestore(&pcmcia_dev_list_lock, flags); pcmcia_put_bus_socket(skt); @@ -750,7 +754,7 @@ out_no_resource: up(&s->skt_sem); - put_p_dev(p_dev); + pcmcia_put_dev(p_dev); return CS_OUT_OF_RESOURCE; } /* register_client */ EXPORT_SYMBOL(pcmcia_register_client); @@ -806,7 +810,7 @@ spin_lock_irqsave(&pcmcia_dev_list_lock, flags); list_for_each_entry(p_dev, &s->devices_list, socket_device_list) { if (p_dev->func == bind_info->function) { - p_dev = get_p_dev(p_dev); + p_dev = pcmcia_get_dev(p_dev); if (!p_dev) continue; goto found; @@ -841,7 +845,7 @@ bind_info->next = node->next; err_put: - put_p_dev(p_dev); + pcmcia_put_dev(p_dev); return (ret); } /* get_device_info */ @@ -905,7 +909,7 @@ if (handle->state & CLIENT_STALE) { handle->client_magic = 0; handle->state &= ~CLIENT_STALE; - put_p_dev(p_dev); + pcmcia_put_dev(p_dev); } else { handle->state = CLIENT_UNBOUND; handle->event_handler = NULL;