Skip to content

Commit

Permalink
i2c: i801: Documentation update
Browse files Browse the repository at this point in the history
The i2c-i801 driver documentation needs some dusting:
* Mention disable_features flag 0x20.
* The i2c_ec driver has been removed from the kernel long ago. Driver
  i2c-scmi serves the same purpose for more recent hardware.
* Replace obsolete /proc paths with equivalent /sys paths.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
  • Loading branch information
Jean Delvare authored and Wolfram Sang committed Jul 5, 2019
1 parent 051d769 commit ed6182a
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions Documentation/i2c/busses/i2c-i801
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ question doesn't work as intended for whatever reason. Bit values:
0x02 disable the block buffer
0x08 disable the I2C block read functionality
0x10 don't use interrupts
0x20 disable SMBus Host Notify


Description
Expand Down Expand Up @@ -120,16 +121,15 @@ BIOS to enable it, it means it has been hidden by the BIOS code. Asus is
well known for first doing this on their P4B motherboard, and many other
boards after that. Some vendor machines are affected as well.

The first thing to try is the "i2c_ec" ACPI driver. It could be that the
The first thing to try is the "i2c-scmi" ACPI driver. It could be that the
SMBus was hidden on purpose because it'll be driven by ACPI. If the
i2c_ec driver works for you, just forget about the i2c-i801 driver and
don't try to unhide the ICH SMBus. Even if i2c_ec doesn't work, you
i2c-scmi driver works for you, just forget about the i2c-i801 driver and
don't try to unhide the ICH SMBus. Even if i2c-scmi doesn't work, you
better make sure that the SMBus isn't used by the ACPI code. Try loading
the "fan" and "thermal" drivers, and check in /proc/acpi/fan and
/proc/acpi/thermal_zone. If you find anything there, it's likely that
the ACPI is accessing the SMBus and it's safer not to unhide it. Only
once you are certain that ACPI isn't using the SMBus, you can attempt
to unhide it.
the "fan" and "thermal" drivers, and check in /sys/class/thermal. If you
find a thermal zone with type "acpitz", it's likely that the ACPI is
accessing the SMBus and it's safer not to unhide it. Only once you are
certain that ACPI isn't using the SMBus, you can attempt to unhide it.

In order to unhide the SMBus, we need to change the value of a PCI
register before the kernel enumerates the PCI devices. This is done in
Expand Down

0 comments on commit ed6182a

Please sign in to comment.