Browse Source

staging: comedi: ni_labpc_cs: remove pcmcia_device private data

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
configuration 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>
H Hartley Sweeten 12 years ago
parent
commit
b2e1be03ac
1 changed files with 2 additions and 17 deletions
  1. 2 17
      drivers/staging/comedi/drivers/ni_labpc_cs.c

+ 2 - 17
drivers/staging/comedi/drivers/ni_labpc_cs.c

@@ -154,11 +154,6 @@ static int labpc_attach(struct comedi_device *dev, struct comedi_devconfig *it)
 	return labpc_common_attach(dev, iobase, irq, 0);
 }
 
-struct local_info_t {
-	struct pcmcia_device *link;
-	struct bus_operations *bus;
-};
-
 static int labpc_pcmcia_config_loop(struct pcmcia_device *p_dev,
 				void *priv_data)
 {
@@ -170,17 +165,8 @@ static int labpc_pcmcia_config_loop(struct pcmcia_device *p_dev,
 
 static int labpc_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_ENABLE_PULSE_IRQ |
 		CONF_AUTO_AUDIO | CONF_AUTO_SET_IO;
 
@@ -197,6 +183,8 @@ static int labpc_cs_attach(struct pcmcia_device *link)
 	if (ret)
 		goto failed;
 
+	pcmcia_cur_dev = link;
+
 	return 0;
 
 failed:
@@ -207,9 +195,6 @@ failed:
 static void labpc_cs_detach(struct pcmcia_device *link)
 {
 	pcmcia_disable_device(link);
-
-	/* This points to the parent local_info_t struct (may be null) */
-	kfree(link->priv);
 }
 
 static const struct pcmcia_device_id labpc_cs_ids[] = {