The private data, struct local_info_t, is not being used in the
driver. Remove it as well as the kzalloc/kfree.
Also, don't set the 'pcmcia_cur_dev' variable unless the pcmcia
probe is successful.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
free_irq(dev->irq, dev);
};
-struct local_info_t {
- struct pcmcia_device *link;
- struct bus_operations *bus;
-};
-
static int dio24_pcmcia_config_loop(struct pcmcia_device *p_dev,
void *priv_data)
{
static int dio24_cs_attach(struct pcmcia_device *link)
{
- struct local_info_t *local;
int ret;
- local = kzalloc(sizeof(*local), GFP_KERNEL);
- if (!local)
- return -ENOMEM;
- local->link = link;
- link->priv = local;
-
- pcmcia_cur_dev = link;
-
link->config_flags |= CONF_ENABLE_IRQ | CONF_AUTO_AUDIO |
CONF_AUTO_SET_IO;
if (ret)
goto failed;
+ pcmcia_cur_dev = link;
+
return 0;
failed:
static void dio24_cs_detach(struct pcmcia_device *link)
{
pcmcia_disable_device(link);
-
- /* This points to the parent local_info_t struct */
- kfree(link->priv);
}
static const struct pcmcia_device_id dio24_cs_ids[] = {