aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pcmcia/pcmcia_resource.c
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-07-29 09:54:54 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2010-09-29 11:20:21 -0400
commit1a4a046030ade0f57b8f3b476d61c7c35d894b66 (patch)
tree07496ee2340444c87740745b140957347b4da1c3 /drivers/pcmcia/pcmcia_resource.c
parente8405f0f617856de0ceb7d04e65b663051451544 (diff)
pcmcia: remove Pin, Copy configuration register access
The "Pin" and "Copy" configuration registers (CISREG_SCR, CISREG_PPR) do not seem to be utilized anywhere. If a device would request a write to these registers, "0" would be written. Continue to do so, but warn of unexpected behavior -- and remove the "Pin" and "Copy" entries from config_req_t. Tested-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/pcmcia/pcmcia_resource.c')
-rw-r--r--drivers/pcmcia/pcmcia_resource.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/pcmcia/pcmcia_resource.c b/drivers/pcmcia/pcmcia_resource.c
index 817d00adfc89..28717eea7c57 100644
--- a/drivers/pcmcia/pcmcia_resource.c
+++ b/drivers/pcmcia/pcmcia_resource.c
@@ -489,8 +489,14 @@ int pcmcia_request_configuration(struct pcmcia_device *p_dev,
489 base = c->ConfigBase = req->ConfigBase; 489 base = c->ConfigBase = req->ConfigBase;
490 c->CardValues = req->Present; 490 c->CardValues = req->Present;
491 if (req->Present & PRESENT_COPY) { 491 if (req->Present & PRESENT_COPY) {
492 c->Copy = req->Copy; 492 u16 tmp = 0;
493 pcmcia_write_cis_mem(s, 1, (base + CISREG_SCR)>>1, 1, &c->Copy); 493 dev_dbg(&p_dev->dev, "clearing CISREG_SCR\n");
494 pcmcia_write_cis_mem(s, 1, (base + CISREG_SCR)>>1, 1, &tmp);
495 }
496 if (req->Present & PRESENT_PIN_REPLACE) {
497 u16 tmp = 0;
498 dev_dbg(&p_dev->dev, "clearing CISREG_PRR\n");
499 pcmcia_write_cis_mem(s, 1, (base + CISREG_PRR)>>1, 1, &tmp);
494 } 500 }
495 if (req->Present & PRESENT_OPTION) { 501 if (req->Present & PRESENT_OPTION) {
496 if (s->functions == 1) { 502 if (s->functions == 1) {
@@ -511,10 +517,6 @@ int pcmcia_request_configuration(struct pcmcia_device *p_dev,
511 c->Status = req->Status; 517 c->Status = req->Status;
512 pcmcia_write_cis_mem(s, 1, (base + CISREG_CCSR)>>1, 1, &c->Status); 518 pcmcia_write_cis_mem(s, 1, (base + CISREG_CCSR)>>1, 1, &c->Status);
513 } 519 }
514 if (req->Present & PRESENT_PIN_REPLACE) {
515 c->Pin = req->Pin;
516 pcmcia_write_cis_mem(s, 1, (base + CISREG_PRR)>>1, 1, &c->Pin);
517 }
518 if (req->Present & PRESENT_EXT_STATUS) { 520 if (req->Present & PRESENT_EXT_STATUS) {
519 c->ExtStatus = req->ExtStatus; 521 c->ExtStatus = req->ExtStatus;
520 pcmcia_write_cis_mem(s, 1, (base + CISREG_ESR)>>1, 1, &c->ExtStatus); 522 pcmcia_write_cis_mem(s, 1, (base + CISREG_ESR)>>1, 1, &c->ExtStatus);