Skip to contentSkip to conversation

PNP cleanups - Version 2 - Make use of pnp_{port,mem,irq,dma}_{start,end,flags} macros wherever possible

PATCH In review Thomas Renninger 1 participant 1 message Nov 20, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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.

---
 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
Index: linux-2.6.24-rc2-mm1/include/linux/pnp.h
===================================================================
@@ -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
Index: linux-2.6.24-rc2-mm1/drivers/pnp/support.c
===================================================================
@@ -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
Index: linux-2.6.24-rc2-mm1/drivers/pnp/pnpacpi/core.c
===================================================================
@@ -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
Index: linux-2.6.24-rc2-mm1/drivers/pnp/pnpacpi/rsparser.c
===================================================================
@@ -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_dmar
 			return;
 		}
 		res->dma_resource[i].start = dma;
-		res->dma_resource[i].end = dma;
 	}
 }
 
drivers/pnp/isapnp/core.c +2 -4
Index: linux-2.6.24-rc2-mm1/drivers/pnp/isapnp/core.c
===================================================================
@@ -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
Index: linux-2.6.24-rc2-mm1/drivers/pnp/pnpbios/rsparser.c
===================================================================
@@ -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;
 	}
 }