From: Thomas Renninger Date: Fri, 16 Jul 2010 11:11:33 +0000 (+0200) Subject: ACPI: Register EC io ports in /proc/ioports X-Git-Tag: v2.6.36-rc1~579^2~23 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=b52e04216fcd86968c01ad0cfdb249375f19134d;p=~emulex%2Finfiniband.git 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 CC: Alexey Starikovskiy CC: Len Brown CC: linux-kernel@vger.kernel.org CC: linux-acpi@vger.kernel.org CC: Bjorn Helgaas CC: platform-driver-x86@vger.kernel.org Signed-off-by: Matthew Garrett --- diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index a79e1b193e8..265a99c1eb1 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;