diff options
| author | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-10-25 21:49:27 -0400 |
|---|---|---|
| committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-12-04 20:12:02 -0500 |
| commit | af2b3b503ad1b071b66e1531caae252b4b95c847 (patch) | |
| tree | 600785af3af4a79978f688fa35e19ab900db264b /drivers/char/pcmcia | |
| parent | a9606fd39083478bef313c0e3b77bc065e39e36e (diff) | |
[PATCH] pcmcia: conf.ConfigBase and conf.Present consolidation
struct pcmcia_device *p_dev->conf.ConfigBase and .Present are set in almost
all PCMICA driver right at the beginning, using the same calls but slightly
different implementations. Unfiy this in the PCMCIA core.
Includes a small bugfix ("drivers/net/pcmcia/xirc2ps_cs.c: remove unused
label") from and Signed-off-by Adrian Bunk <bunk@stusta.de>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/char/pcmcia')
| -rw-r--r-- | drivers/char/pcmcia/cm4000_cs.c | 20 | ||||
| -rw-r--r-- | drivers/char/pcmcia/cm4040_cs.c | 20 | ||||
| -rw-r--r-- | drivers/char/pcmcia/synclink_cs.c | 7 |
3 files changed, 0 insertions, 47 deletions
diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c index d9fdef227910..211c93fda6fc 100644 --- a/drivers/char/pcmcia/cm4000_cs.c +++ b/drivers/char/pcmcia/cm4000_cs.c | |||
| @@ -1764,29 +1764,11 @@ static int cm4000_config(struct pcmcia_device * link, int devno) | |||
| 1764 | int rc; | 1764 | int rc; |
| 1765 | 1765 | ||
| 1766 | /* read the config-tuples */ | 1766 | /* read the config-tuples */ |
| 1767 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
| 1768 | tuple.Attributes = 0; | 1767 | tuple.Attributes = 0; |
| 1769 | tuple.TupleData = buf; | 1768 | tuple.TupleData = buf; |
| 1770 | tuple.TupleDataMax = sizeof(buf); | 1769 | tuple.TupleDataMax = sizeof(buf); |
| 1771 | tuple.TupleOffset = 0; | 1770 | tuple.TupleOffset = 0; |
| 1772 | 1771 | ||
| 1773 | if ((fail_rc = pcmcia_get_first_tuple(link, &tuple)) != CS_SUCCESS) { | ||
| 1774 | fail_fn = GetFirstTuple; | ||
| 1775 | goto cs_failed; | ||
| 1776 | } | ||
| 1777 | if ((fail_rc = pcmcia_get_tuple_data(link, &tuple)) != CS_SUCCESS) { | ||
| 1778 | fail_fn = GetTupleData; | ||
| 1779 | goto cs_failed; | ||
| 1780 | } | ||
| 1781 | if ((fail_rc = | ||
| 1782 | pcmcia_parse_tuple(link, &tuple, &parse)) != CS_SUCCESS) { | ||
| 1783 | fail_fn = ParseTuple; | ||
| 1784 | goto cs_failed; | ||
| 1785 | } | ||
| 1786 | |||
| 1787 | link->conf.ConfigBase = parse.config.base; | ||
| 1788 | link->conf.Present = parse.config.rmask[0]; | ||
| 1789 | |||
| 1790 | link->io.BasePort2 = 0; | 1772 | link->io.BasePort2 = 0; |
| 1791 | link->io.NumPorts2 = 0; | 1773 | link->io.NumPorts2 = 0; |
| 1792 | link->io.Attributes2 = 0; | 1774 | link->io.Attributes2 = 0; |
| @@ -1841,8 +1823,6 @@ static int cm4000_config(struct pcmcia_device * link, int devno) | |||
| 1841 | 1823 | ||
| 1842 | return 0; | 1824 | return 0; |
| 1843 | 1825 | ||
| 1844 | cs_failed: | ||
| 1845 | cs_error(link, fail_fn, fail_rc); | ||
| 1846 | cs_release: | 1826 | cs_release: |
| 1847 | cm4000_release(link); | 1827 | cm4000_release(link); |
| 1848 | return -ENODEV; | 1828 | return -ENODEV; |
diff --git a/drivers/char/pcmcia/cm4040_cs.c b/drivers/char/pcmcia/cm4040_cs.c index 7368332c698c..9b1ff7e8f896 100644 --- a/drivers/char/pcmcia/cm4040_cs.c +++ b/drivers/char/pcmcia/cm4040_cs.c | |||
| @@ -523,29 +523,11 @@ static int reader_config(struct pcmcia_device *link, int devno) | |||
| 523 | int fail_fn, fail_rc; | 523 | int fail_fn, fail_rc; |
| 524 | int rc; | 524 | int rc; |
| 525 | 525 | ||
| 526 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
| 527 | tuple.Attributes = 0; | 526 | tuple.Attributes = 0; |
| 528 | tuple.TupleData = buf; | 527 | tuple.TupleData = buf; |
| 529 | tuple.TupleDataMax = sizeof(buf); | 528 | tuple.TupleDataMax = sizeof(buf); |
| 530 | tuple.TupleOffset = 0; | 529 | tuple.TupleOffset = 0; |
| 531 | 530 | ||
| 532 | if ((fail_rc = pcmcia_get_first_tuple(link, &tuple)) != CS_SUCCESS) { | ||
| 533 | fail_fn = GetFirstTuple; | ||
| 534 | goto cs_failed; | ||
| 535 | } | ||
| 536 | if ((fail_rc = pcmcia_get_tuple_data(link, &tuple)) != CS_SUCCESS) { | ||
| 537 | fail_fn = GetTupleData; | ||
| 538 | goto cs_failed; | ||
| 539 | } | ||
| 540 | if ((fail_rc = pcmcia_parse_tuple(link, &tuple, &parse)) | ||
| 541 | != CS_SUCCESS) { | ||
| 542 | fail_fn = ParseTuple; | ||
| 543 | goto cs_failed; | ||
| 544 | } | ||
| 545 | |||
| 546 | link->conf.ConfigBase = parse.config.base; | ||
| 547 | link->conf.Present = parse.config.rmask[0]; | ||
| 548 | |||
| 549 | link->io.BasePort2 = 0; | 531 | link->io.BasePort2 = 0; |
| 550 | link->io.NumPorts2 = 0; | 532 | link->io.NumPorts2 = 0; |
| 551 | link->io.Attributes2 = 0; | 533 | link->io.Attributes2 = 0; |
| @@ -609,8 +591,6 @@ static int reader_config(struct pcmcia_device *link, int devno) | |||
| 609 | 591 | ||
| 610 | return 0; | 592 | return 0; |
| 611 | 593 | ||
| 612 | cs_failed: | ||
| 613 | cs_error(link, fail_fn, fail_rc); | ||
| 614 | cs_release: | 594 | cs_release: |
| 615 | reader_release(link); | 595 | reader_release(link); |
| 616 | return -ENODEV; | 596 | return -ENODEV; |
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index 1a0bc30b79d1..f9f72500ea5d 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c | |||
| @@ -604,17 +604,10 @@ static int mgslpc_config(struct pcmcia_device *link) | |||
| 604 | if (debug_level >= DEBUG_LEVEL_INFO) | 604 | if (debug_level >= DEBUG_LEVEL_INFO) |
| 605 | printk("mgslpc_config(0x%p)\n", link); | 605 | printk("mgslpc_config(0x%p)\n", link); |
| 606 | 606 | ||
| 607 | /* read CONFIG tuple to find its configuration registers */ | ||
| 608 | tuple.DesiredTuple = CISTPL_CONFIG; | ||
| 609 | tuple.Attributes = 0; | 607 | tuple.Attributes = 0; |
| 610 | tuple.TupleData = buf; | 608 | tuple.TupleData = buf; |
| 611 | tuple.TupleDataMax = sizeof(buf); | 609 | tuple.TupleDataMax = sizeof(buf); |
| 612 | tuple.TupleOffset = 0; | 610 | tuple.TupleOffset = 0; |
| 613 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | ||
| 614 | CS_CHECK(GetTupleData, pcmcia_get_tuple_data(link, &tuple)); | ||
| 615 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse)); | ||
| 616 | link->conf.ConfigBase = parse.config.base; | ||
| 617 | link->conf.Present = parse.config.rmask[0]; | ||
| 618 | 611 | ||
| 619 | /* get CIS configuration entry */ | 612 | /* get CIS configuration entry */ |
| 620 | 613 | ||
