PNP: Allow PNP resources to be disabled (interface)
Hi Len and Bjorn,
is there anything that needs to be done in order for the patch series to be included in either 3.6 or 3.7? Except for the (viable) question as to whether or not a sysfs interface should accept complex inputs (as it currently does and which is not introduced by this patch series), there have been no comments since March, when I made some changes due to Bjorn's well made observations.
The patches extend Linux's PNP capabilities and are required for some hardware, like the IBM ThinkPad 600E (and similar machines).
All other users of the ABI should not see any regressions (the ABI stays the same).
--- Witold
Quoted 77 lines
Hello everybody,
this simple patch series continues the work begun in commit
18fd470a48396c8795ba7256c5973e92ffa25cb3where ACPI PNP resource templates with empty/disabled resources are handled.The aim of this patch series is to allow to set resources as "disabled" using
the "/sys/bus/pnp/devices/*/resources" interface. Such "disabled" resources
are needed by some vintage IBM ThinkPads like the 600E where some devices need
to have their IRQs disabled in order to support all the devices the 600E has.To better understand the motivation, let's look at an excerpt from the 600E's
DSDT:Name (PLPT, ResourceTemplate () { StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {7} } /* Some entries deleted */ StartDependentFnNoPri () { IO (Decode16, 0x03BC, 0x03BC, 0x01, 0x04) IRQNoFlags () {} } EndDependentFn () })As one can see, the IRQ line for the last option is empty/disabled. Also, both
options share the same priority, meaning they are equal alternatives. In order
to be able to use the IRQ 7 for some other device, it is necessary to select
the second option, which can be done with the patch series applied.To this end, some preparatory work is done, simplifying the code, and fixing a
potential issue when explicitely assigning resources.Here is a brief description of these patches.
[1/3] - Factor out common some code
[2/3] - Perform the actual setting
[3/3] - HandleIORESOURCE_BITSin resource allocationThe patches are applied against Linux 3.5.x.
Comments are, as always, welcome. If the patches should be sent to someone
else, please let me know.--- Witold
Changes from previous versions:
V3 -> V2: Added Bjorn Helgaas as "Reviewed by"
No changes in the code itself
Based on Linux 3.5.xV1 -> V2: Split [V1 2/3] into [V2 2/3] and [V2 3/3]
Removed [V1 3/3], will be submitted separately Wrote more comments in response to the previous version Sent to a broader audience
(https://lkml.org/lkml/2012/4/11/442)V1: Initial version
(https://lkml.org/lkml/2012/3/20/358)
Hi all,
the original mail should have been sent out as a reply to
https://lkml.org/lkml/2012/7/29/85, but it seems as if I clicked the wrong button.
Apologies for any inconvenience.
--- Witold