mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
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>
This commit is contained in:
parent
784f01d5bd
commit
0a977f1546
2 changed files with 21 additions and 6 deletions
|
@ -21,6 +21,9 @@ void dbg_pnp_show_resources(struct pnp_dev *dev, char *desc);
|
|||
|
||||
void pnp_init_resource(struct resource *res);
|
||||
|
||||
struct pnp_resource *pnp_get_pnp_resource(struct pnp_dev *dev,
|
||||
unsigned int type, unsigned int num);
|
||||
|
||||
#define PNP_MAX_PORT 40
|
||||
#define PNP_MAX_MEM 24
|
||||
#define PNP_MAX_IRQ 2
|
||||
|
|
|
@ -499,8 +499,8 @@ int pnp_check_dma(struct pnp_dev *dev, struct resource *res)
|
|||
#endif
|
||||
}
|
||||
|
||||
struct resource *pnp_get_resource(struct pnp_dev *dev,
|
||||
unsigned int type, unsigned int num)
|
||||
struct pnp_resource *pnp_get_pnp_resource(struct pnp_dev *dev,
|
||||
unsigned int type, unsigned int num)
|
||||
{
|
||||
struct pnp_resource_table *res = dev->res;
|
||||
|
||||
|
@ -508,22 +508,34 @@ struct resource *pnp_get_resource(struct pnp_dev *dev,
|
|||
case IORESOURCE_IO:
|
||||
if (num >= PNP_MAX_PORT)
|
||||
return NULL;
|
||||
return &res->port[num].res;
|
||||
return &res->port[num];
|
||||
case IORESOURCE_MEM:
|
||||
if (num >= PNP_MAX_MEM)
|
||||
return NULL;
|
||||
return &res->mem[num].res;
|
||||
return &res->mem[num];
|
||||
case IORESOURCE_IRQ:
|
||||
if (num >= PNP_MAX_IRQ)
|
||||
return NULL;
|
||||
return &res->irq[num].res;
|
||||
return &res->irq[num];
|
||||
case IORESOURCE_DMA:
|
||||
if (num >= PNP_MAX_DMA)
|
||||
return NULL;
|
||||
return &res->dma[num].res;
|
||||
return &res->dma[num];
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct resource *pnp_get_resource(struct pnp_dev *dev,
|
||||
unsigned int type, unsigned int num)
|
||||
{
|
||||
struct pnp_resource *pnp_res;
|
||||
|
||||
pnp_res = pnp_get_pnp_resource(dev, type, num);
|
||||
if (pnp_res)
|
||||
return &pnp_res->res;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
EXPORT_SYMBOL(pnp_get_resource);
|
||||
|
||||
/* format is: pnp_reserve_irq=irq1[,irq2] .... */
|
||||
|
|
Loading…
Reference in a new issue