diff options
author | Bjorn Helgaas <bjorn.helgaas@hp.com> | 2008-04-28 18:34:31 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-04-29 03:22:28 -0400 |
commit | 0a977f15469457d9a19eed992caf71995c674064 (patch) | |
tree | 8f20c1f93782908112dba5cf835bb0110eb1ffb1 /drivers/pnp/resource.c | |
parent | 784f01d5bdeae7d7005ede17305306b042ba2617 (diff) |
PNP: add pnp_get_pnp_resource()
In some places, we need to get the struct pnp_resource, not just
the struct resource, because ISAPNP needs to store the register
index in the pnp_resource.
I don't like pnp_get_pnp_resource() and hope that it is temporary,
but we need it for a little while.
Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp/resource.c')
-rw-r--r-- | drivers/pnp/resource.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/drivers/pnp/resource.c b/drivers/pnp/resource.c index 7e9f4300e5f6..c57cfe51d52a 100644 --- a/drivers/pnp/resource.c +++ b/drivers/pnp/resource.c | |||
@@ -499,8 +499,8 @@ int pnp_check_dma(struct pnp_dev *dev, struct resource *res) | |||
499 | #endif | 499 | #endif |
500 | } | 500 | } |
501 | 501 | ||
502 | struct resource *pnp_get_resource(struct pnp_dev *dev, | 502 | struct pnp_resource *pnp_get_pnp_resource(struct pnp_dev *dev, |
503 | unsigned int type, unsigned int num) | 503 | unsigned int type, unsigned int num) |
504 | { | 504 | { |
505 | struct pnp_resource_table *res = dev->res; | 505 | struct pnp_resource_table *res = dev->res; |
506 | 506 | ||
@@ -508,22 +508,34 @@ struct resource *pnp_get_resource(struct pnp_dev *dev, | |||
508 | case IORESOURCE_IO: | 508 | case IORESOURCE_IO: |
509 | if (num >= PNP_MAX_PORT) | 509 | if (num >= PNP_MAX_PORT) |
510 | return NULL; | 510 | return NULL; |
511 | return &res->port[num].res; | 511 | return &res->port[num]; |
512 | case IORESOURCE_MEM: | 512 | case IORESOURCE_MEM: |
513 | if (num >= PNP_MAX_MEM) | 513 | if (num >= PNP_MAX_MEM) |
514 | return NULL; | 514 | return NULL; |
515 | return &res->mem[num].res; | 515 | return &res->mem[num]; |
516 | case IORESOURCE_IRQ: | 516 | case IORESOURCE_IRQ: |
517 | if (num >= PNP_MAX_IRQ) | 517 | if (num >= PNP_MAX_IRQ) |
518 | return NULL; | 518 | return NULL; |
519 | return &res->irq[num].res; | 519 | return &res->irq[num]; |
520 | case IORESOURCE_DMA: | 520 | case IORESOURCE_DMA: |
521 | if (num >= PNP_MAX_DMA) | 521 | if (num >= PNP_MAX_DMA) |
522 | return NULL; | 522 | return NULL; |
523 | return &res->dma[num].res; | 523 | return &res->dma[num]; |
524 | } | 524 | } |
525 | return NULL; | 525 | return NULL; |
526 | } | 526 | } |
527 | |||
528 | struct resource *pnp_get_resource(struct pnp_dev *dev, | ||
529 | unsigned int type, unsigned int num) | ||
530 | { | ||
531 | struct pnp_resource *pnp_res; | ||
532 | |||
533 | pnp_res = pnp_get_pnp_resource(dev, type, num); | ||
534 | if (pnp_res) | ||
535 | return &pnp_res->res; | ||
536 | |||
537 | return NULL; | ||
538 | } | ||
527 | EXPORT_SYMBOL(pnp_get_resource); | 539 | EXPORT_SYMBOL(pnp_get_resource); |
528 | 540 | ||
529 | /* format is: pnp_reserve_irq=irq1[,irq2] .... */ | 541 | /* format is: pnp_reserve_irq=irq1[,irq2] .... */ |