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
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 /github. com/torvalds/ linux/blob/ master/ drivers/ gpio/gpio- ich.c /git.kernel. org/pub/ scm/linux/ kernel/ git/torvalds/ linux.git/ commit/ ?id=4f600ada70b eeb1dfe08e11e87 1bf31015aa0a3d
https:/
https:/