Commit b52e04216fcd86968c01ad0cfdb249375f19134d

Authored by Thomas Renninger
Committed by Matthew Garrett
1 parent 9827886dce

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>

Showing 1 changed file with 10 additions and 2 deletions Side-by-side Diff

... ... @@ -864,10 +864,18 @@
864 864 * the second address region returned is the status/command
865 865 * port.
866 866 */
867   - if (ec->data_addr == 0)
  867 + if (ec->data_addr == 0) {
868 868 ec->data_addr = resource->data.io.minimum;
869   - else if (ec->command_addr == 0)
  869 + WARN(!request_region(ec->data_addr, 1, "EC data"),
  870 + "Could not request EC data io port %lu",
  871 + ec->data_addr);
  872 + }
  873 + else if (ec->command_addr == 0) {
870 874 ec->command_addr = resource->data.io.minimum;
  875 + WARN(!request_region(ec->command_addr, 1, "EC command"),
  876 + "Could not request EC command io port %lu",
  877 + ec->command_addr);
  878 + }
871 879 else
872 880 return AE_CTRL_TERMINATE;
873 881