PNP cleanups - Version 2 - Make use of pnp_{port,mem,irq,dma}_{start,end,flags} macros wherever possible
Subsystems (3)
PATCH 1/3 PNP cleanups - Version 2 - Make use of pnp_{port,mem,irq,dma}_{start,end,flags} macros wherever possible
Make use of pnp_{port,mem,irq,dma}_{start,end,flags} macros wherever possible
The macros to access the resource table in pnp sublayer was not used consequently.
This patch makes use of these macros instead of accessing the resource arrays directly.
For dma and irq also pnp_{dma,irq}_{start,end} macros have been introduced to unify the access to the different resource types.
The pnp_{irq,dma} macros has now the same functionality than the:
pnp_{irq,dma}_start macros. This will be cleaned up by the next patch.
Signed-off-by Thomas Renninger <[email protected]>
--- drivers/pnp/interface.c | 50 +++++++++++++--------------- drivers/pnp/isapnp/core.c | 6 +-- drivers/pnp/manager.c | 44 ++++++++++--------------- drivers/pnp/pnpacpi/core.c | 2 - drivers/pnp/pnpacpi/rsparser.c | 2 - drivers/pnp/pnpbios/rsparser.c | 6 +-- drivers/pnp/resource.c | 72 +++++++++++++++++++---------------------- drivers/pnp/support.c | 2 - include/linux/pnp.h | 2 + 9 files changed, 83 insertions(+), 103 deletions(-)
include/linux/pnp.h +2 -0
@@ -56,12 +56,14 @@ struct pnp_dev; pnp_mem_start((dev),(bar)) + 1))#define pnp_irq (dev,bar) ((dev)->res.irq_resource[(bar)].start) +#define pnp_irq_no (dev,bar) ((dev)->res.irq_resource[(bar)].start)#define pnp_irq_flags (dev,bar) ((dev)->res.irq_resource[(bar)].flags)#define pnp_irq_valid (dev,bar) \ ((pnp_irq_flags((dev),(bar)) & (IORESOURCE_IRQ | IORESOURCE_UNSET)) \ == IORESOURCE_IRQ)#define pnp_dma (dev,bar) ((dev)->res.dma_resource[(bar)].start) +#define pnp_dma_no (dev,bar) ((dev)->res.dma_resource[(bar)].start)#define pnp_dma_flags (dev,bar) ((dev)->res.dma_resource[(bar)].flags)#define pnp_dma_valid (dev,bar) \ ((pnp_dma_flags((dev),(bar)) & (IORESOURCE_DMA | IORESOURCE_UNSET)) \
drivers/pnp/manager.c +18 -26
128 lines not on this page · raw message
drivers/pnp/interface.c +23 -27
100 lines not on this page · raw message
drivers/pnp/resource.c +34 -38
156 lines not on this page · raw message
drivers/pnp/support.c +1 -1
@@ -18,7 +18,7 @@ int pnp_is_active(struct pnp_dev *dev) {if (!pnp_port_start (dev,0 ) &&pnp_port_len (dev,0 ) <=1 && !pnp_mem_start (dev,0 ) &&pnp_mem_len (dev,0 ) <=1 && -pnp_irq (dev,0 ) ==-1 &&pnp_dma (dev,0 ) ==-1 ) +pnp_irq_no (dev,0 ) ==-1 &&pnp_dma_no (dev,0 ) ==-1 )return 0 ;else return 1 ;
drivers/pnp/pnpacpi/core.c +1 -1
@@ -121,7 +121,7 @@ static int pnpacpi_disable_resources(str {acpi_status status; -/* acpi_unregister_gsi(pnp_irq(dev, 0)); */ +/* acpi_unregister_gsi(pnp_irq_no(dev, 0)); */ status =acpi_evaluate_object ((acpi_handle ) dev->data,"_DIS" ,NULL ,NULL );return ACPI_FAILURE (status) ? -ENODEV :0 ;
drivers/pnp/pnpacpi/rsparser.c +0 -2
@@ -107,7 +107,6 @@ static void pnpacpi_parse_allocated_irqr res->irq_resource[i].flags |=IORESOURCE_IRQ_SHAREABLE ; res->irq_resource[i].start = irq; - res->irq_resource[i].end = irq;pcibios_penalize_isa_irq (irq,1 ); }
@@ -172,7 +171,6 @@ static void pnpacpi_parse_allocated_dmarreturn ; } res->dma_resource[i].start = dma; - res->dma_resource[i].end = dma; } }
drivers/pnp/isapnp/core.c +2 -4
@@ -966,16 +966,14 @@ static int isapnp_read_resources(struct 8);if (!ret)continue ; - res->irq_resource[tmp].start = - res->irq_resource[tmp].end = ret; + res->irq_resource[tmp].start = ret; res->irq_resource[tmp].flags =IORESOURCE_IRQ ; }for (tmp =0 ; tmp <PNP_MAX_DMA ; tmp++) { ret =isapnp_read_byte (ISAPNP_CFG_DMA + tmp);if (ret ==4 )continue ; - res->dma_resource[tmp].start = - res->dma_resource[tmp].end = ret; + res->dma_resource[tmp].start = ret; res->dma_resource[tmp].flags =IORESOURCE_DMA ; } }
drivers/pnp/pnpbios/rsparser.c +2 -4
@@ -67,8 +67,7 @@ static void pnpbios_parse_allocated_irqr res->irq_resource[i].flags |=IORESOURCE_DISABLED ;return ; } - res->irq_resource[i].start = - res->irq_resource[i].end = (unsigned long )irq; + res->irq_resource[i].start = (unsigned long )irq;pcibios_penalize_isa_irq (irq,1 ); } }
@@ -87,8 +86,7 @@ static void pnpbios_parse_allocated_dmar res->dma_resource[i].flags |=IORESOURCE_DISABLED ;return ; } - res->dma_resource[i].start = - res->dma_resource[i].end = (unsigned long )dma; + res->dma_resource[i].start = (unsigned long )dma; } }