Comment 20 for bug 1892547

Revision history for this message
Witold Buczak (wbu3ak) wrote :

The ICH chips have their GPIO pins organized in 2 or 3 independent
groups of 32 GPIO pins.

It can happen that the ACPI BIOS wants to make use of pins in one group, preventing the OS to access these.

This doesnot prevent the OS from accessing the other group(s).

This is the case for example on my Asus board.

The ACPI BIOS wants to control GPIO 18 (group 1), while I (the OS) need to control
GPIO 52 and 53 (group 2) for SMBus multiplexing.

So instead of checking for ACPI resource conflict on the whole I/O
range, check on a per-group basis, and consider it a success if at
least one of the groups is available for the OS to use.

lpc_ich: Resource conflict(s) found affecting gpio_ich

https://github.com/torvalds/linux/blame/master/drivers/mfd/lpc_ich.c
https://github.com/torvalds/linux/blob/master/drivers/gpio/gpio-ich.c
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4f600ada70beeb1dfe08e11e871bf31015aa0a3d