Skip to content

PNP resource_table cleanups

Bjorn Helgaas linux-acpi lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest37 patches 11 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/37ISAPNP: move config register addresses out of isapnp.hdrivers/pnp/isapnp/core.c include/linux/isapnp.h+8 -100 replies
2/37PNPACPI: continue after _CRS and _PRS errorsdrivers/pnp/pnpacpi/core.c+2 -60 replies
3/37PNP: make pnp_add_id() internal to PNP coredrivers/pnp/base.h drivers/pnp/pnpacpi/core.c drivers/pnp/pnpbios/core.c +1 more+3 -20 replies
4/37PNP: change pnp_add_id() to allocate its own pnp_id structuresdrivers/pnp/base.h drivers/pnp/driver.c drivers/pnp/isapnp/core.c +3 more+43 -530 replies
5/37ISAPNP: pull pnp_add_id() out of isapnp_parse_id()drivers/pnp/isapnp/core.c+9 -90 replies
6/37PNP: add pnp_alloc_dev()drivers/pnp/base.h drivers/pnp/core.c drivers/pnp/isapnp/core.c +2 more+37 -360 replies
7/37PNP: make pnp_add_card_id() internal to PNP coredrivers/pnp/base.h include/linux/pnp.h+1 -20 replies
8/37PNP: change pnp_add_card_id() to allocate its own pnp_id structuresdrivers/pnp/base.h drivers/pnp/card.c drivers/pnp/isapnp/core.c+33 -170 replies
9/37ISAPNP: pull pnp_add_card_id() out of isapnp_parse_card_id()drivers/pnp/isapnp/core.c+4 -220 replies
10/37PNP: add pnp_alloc_card()drivers/pnp/base.h drivers/pnp/card.c drivers/pnp/isapnp/core.c+30 -100 replies
11/37PNPACPI: pnpacpi_encode_ext_irq() wrongly set "irq" instead of "extended_irq"drivers/pnp/pnpacpi/rsparser.c+2 -20 replies
12/37PNPACPI: use temporaries to reduce repetitiondrivers/pnp/pnpacpi/rsparser.c+103 -730 replies
13/37PNPACPI: hoist dma_flags() out of pnpacpi_parse_allocated_dmaresource()drivers/pnp/pnpacpi/rsparser.c+4 -70 replies
14/37PNPACPI: extend irq_flags() to set IORESOURCE_IRQ_SHAREABLE when appropriatedrivers/pnp/pnpacpi/rsparser.c+15 -110 replies
15/37PNPACPI: pass pnp_dev instead of acpi_handledrivers/pnp/pnpacpi/core.c drivers/pnp/pnpacpi/pnpacpi.h drivers/pnp/pnpacpi/rsparser.c+5 -40 replies
16/37PNP: remove pnp_resource_table from internal get/set interfacesdrivers/pnp/interface.c drivers/pnp/isapnp/core.c drivers/pnp/manager.c +3 more+16 -210 replies
17/37PNP: remove more pnp_resource_table argumentsdrivers/pnp/isapnp/core.c drivers/pnp/pnpacpi/core.c drivers/pnp/pnpacpi/pnpacpi.h +4 more+73 -710 replies
18/37PNP: add pnp_init_resources(struct pnp_dev *) interfacedrivers/pnp/interface.c drivers/pnp/isapnp/core.c drivers/pnp/manager.c +5 more+16 -110 replies
19/37PNP: remove pnp_resource_table from internal pnp_clean_resource_table interfacedrivers/pnp/manager.c+5 -40 replies
20/37PNP: make generic pnp_add_irq_resource()drivers/pnp/base.h drivers/pnp/interface.c drivers/pnp/isapnp/core.c +3 more+40 -560 replies
21/37PNP: make generic pnp_add_dma_resource()drivers/pnp/base.h drivers/pnp/interface.c drivers/pnp/isapnp/core.c +3 more+34 -620 replies
22/37PNP: make generic pnp_add_io_resource()drivers/pnp/base.h drivers/pnp/interface.c drivers/pnp/isapnp/core.c +3 more+43 -750 replies
23/37PNP: make generic pnp_add_mem_resource()drivers/pnp/base.h drivers/pnp/interface.c drivers/pnp/isapnp/core.c +3 more+46 -760 replies
24/37PNP: use dev_printk when possibledrivers/pnp/isapnp/core.c drivers/pnp/pnpacpi/rsparser.c drivers/pnp/pnpbios/rsparser.c+44 -500 replies
25/37PNPACPI: remove redundant warnings about _CRS/_PRS failuresdrivers/pnp/pnpacpi/core.c+4 -150 replies
26/37PNPACPI: remove some pnp_dbg callsdrivers/pnp/pnpacpi/rsparser.c+0 -100 replies
27/37PNP: use conventional "i" for loop indicesdrivers/pnp/resource.c+46 -460 replies
28/37PNP: add pnp_get_resource() interfacedrivers/pnp/resource.c include/linux/pnp.h+27 -01 reply
29/37PNP: convert encoders to use pnp_get_resource(), not pnp_resource_tabledrivers/pnp/isapnp/core.c drivers/pnp/pnpacpi/rsparser.c drivers/pnp/pnpbios/rsparser.c+50 -520 replies
30/37PNP: convert resource accessors to use pnp_get_resource(), not pnp_resource_tableinclude/linux/pnp.h+64 -230 replies
31/37PNP: convert resource checks to use pnp_get_resource(), not pnp_resource_tabledrivers/pnp/resource.c+58 -380 replies
32/37PNP: convert resource assign functions to use pnp_get_resource(), not pnp_resource_tabledrivers/pnp/manager.c+28 -160 replies
33/37PNP: remove PNP_MAX_* usesdrivers/pnp/interface.c drivers/pnp/quirks.c drivers/pnp/resource.c +1 more+64 -550 replies
34/37PNP: remove unused interfaces using pnp_resource_tabledrivers/pnp/manager.c include/linux/pnp.h+3 -840 replies
35/37rtc: dont reference pnp_resource_table directlydrivers/rtc/rtc-cmos.c+4 -30 replies
36/37PNP: make pnp_resource_table private to PNP coredrivers/pnp/base.h drivers/pnp/core.c drivers/pnp/manager.c +2 more+29 -190 replies
37/37PNP: make interfaces private to the PNP coredrivers/pnp/base.h include/linux/pnp.h+23 -350 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [patch 00/37] PNP resource_table cleanups

This series of patches does some PNP housecleaning and consolidation.

PNP currently uses a fixed-size table (pnp_resource_table) to track the IO, MMIO, IRQ, and DMA resources used by a device. Some motherboard devices have many resources, so we've been plagued by table overflows and we've had to drastically increase the table size, which wastes a lot of memory.

The end goal is to replace that fixed-size table with something more dynamic. These patches don't go that far, but they do make pnp_resource_table private to the PNP core and centralize all references to it in a small set of shared functions.

In addition, this series contains a number of related cleanups, like centralized allocation of struct pnp_dev, conversion to dev_printk when possible, removing many PNP core internal functions from the public interface, and alignment of the ISAPNP, PNPBIOS, and PNPACPI backends.

Bjorn