diff options
author | Thomas Renninger <trenn@suse.de> | 2010-07-16 13:11:33 +0200 |
---|---|---|
committer | Matthew Garrett <mjg@redhat.com> | 2010-08-03 09:49:09 -0400 |
commit | b52e04216fcd86968c01ad0cfdb249375f19134d (patch) | |
tree | 270686f72430c698251613834416c0ce838f5d33 | |
parent | 9827886dce77c47c378ce3154689cea2c45c731d (diff) | |
download | blackbird-op-linux-b52e04216fcd86968c01ad0cfdb249375f19134d.tar.gz blackbird-op-linux-b52e04216fcd86968c01ad0cfdb249375f19134d.zip |
ACPI: Register EC io ports in /proc/ioports
Formerly these have been exposed through /proc/..
Better register them where all IO ports should get registered
and scream loud if someone else claims to use them.
EC data and command port typically should show up like this
then:
...
0060-0060 : keyboard
0062-0062 : EC data
0064-0064 : keyboard
0066-0066 : EC command
0070-0071 : rtc0
...
Signed-off-by: Thomas Renninger <trenn@suse.de>
CC: Alexey Starikovskiy <astarikovskiy@suse.de>
CC: Len Brown <lenb@kernel.org>
CC: linux-kernel@vger.kernel.org
CC: linux-acpi@vger.kernel.org
CC: Bjorn Helgaas <bjorn.helgaas@hp.com>
CC: platform-driver-x86@vger.kernel.org
Signed-off-by: Matthew Garrett <mjg@redhat.com>
-rw-r--r-- | drivers/acpi/ec.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index a79e1b193e85..265a99c1eb14 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -864,10 +864,18 @@ ec_parse_io_ports(struct acpi_resource *resource, void *context) * the second address region returned is the status/command * port. */ - if (ec->data_addr == 0) + if (ec->data_addr == 0) { ec->data_addr = resource->data.io.minimum; - else if (ec->command_addr == 0) + WARN(!request_region(ec->data_addr, 1, "EC data"), + "Could not request EC data io port %lu", + ec->data_addr); + } + else if (ec->command_addr == 0) { ec->command_addr = resource->data.io.minimum; + WARN(!request_region(ec->command_addr, 1, "EC command"), + "Could not request EC command io port %lu", + ec->command_addr); + } else return AE_CTRL_TERMINATE; |