aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pcmcia
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2006-03-01 18:09:29 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2006-03-31 10:26:33 -0500
commite2d4096365e06b9a3799afbadc28b4519c0b3526 (patch)
tree90ec691d71f9c0309048714e359b8ba351b533f7 /sound/pcmcia
parentf6fbe01ac976f3ec618cd5fb71ad9ce2cfa7ab2b (diff)
[PATCH] pcmcia: use bitfield instead of p_state and state
Instead of the two status values struct pcmcia_device->p_state and state, use descriptive bitfields. Most value-checking in drivers was invalid, as the core now only calls the ->remove() (a.k.a. detach) function in case the attachement _and_ configuration was successful. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'sound/pcmcia')
-rw-r--r--sound/pcmcia/pdaudiocf/pdaudiocf.c4
-rw-r--r--sound/pcmcia/vx/vxpocket.c5
2 files changed, 0 insertions, 9 deletions
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c
index 923b1d0c2f1b..a1333fa236ac 100644
--- a/sound/pcmcia/pdaudiocf/pdaudiocf.c
+++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c
@@ -243,9 +243,6 @@ static int pdacf_config(struct pcmcia_device *link)
243 link->conf.ConfigIndex = 0x5; 243 link->conf.ConfigIndex = 0x5;
244 kfree(parse); 244 kfree(parse);
245 245
246 /* Configure card */
247 link->state |= DEV_CONFIG;
248
249 CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); 246 CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
250 CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); 247 CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq));
251 CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); 248 CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf));
@@ -254,7 +251,6 @@ static int pdacf_config(struct pcmcia_device *link)
254 goto failed; 251 goto failed;
255 252
256 link->dev_node = &pdacf->node; 253 link->dev_node = &pdacf->node;
257 link->state &= ~DEV_CONFIG_PENDING;
258 return 0; 254 return 0;
259 255
260cs_failed: 256cs_failed:
diff --git a/sound/pcmcia/vx/vxpocket.c b/sound/pcmcia/vx/vxpocket.c
index 4004b35e8af5..f5f4a577a441 100644
--- a/sound/pcmcia/vx/vxpocket.c
+++ b/sound/pcmcia/vx/vxpocket.c
@@ -249,9 +249,6 @@ static int vxpocket_config(struct pcmcia_device *link)
249 strcpy(chip->card->driver, vxp440_hw.name); 249 strcpy(chip->card->driver, vxp440_hw.name);
250 } 250 }
251 251
252 /* Configure card */
253 link->state |= DEV_CONFIG;
254
255 CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); 252 CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io));
256 CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); 253 CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq));
257 CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); 254 CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf));
@@ -263,7 +260,6 @@ static int vxpocket_config(struct pcmcia_device *link)
263 goto failed; 260 goto failed;
264 261
265 link->dev_node = &vxp->node; 262 link->dev_node = &vxp->node;
266 link->state &= ~DEV_CONFIG_PENDING;
267 kfree(parse); 263 kfree(parse);
268 return 9; 264 return 9;
269 265
@@ -348,7 +344,6 @@ static int vxpocket_probe(struct pcmcia_device *p_dev)
348 card_alloc |= 1 << i; 344 card_alloc |= 1 << i;
349 345
350 vxp->p_dev = p_dev; 346 vxp->p_dev = p_dev;
351 vxp->p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
352 347
353 return vxpocket_config(p_dev); 348 return vxpocket_config(p_dev);
354} 349}