On 10/24/2014 12:12 PM, Mika Westerberg wrote:
Commit 6ab3430129e2 ("mfd: Add ACPI support") made the MFD subdevices to share the parent MFD ACPI companion device if no _HID/_CID is specified for the subdevice in mfd_cell description. However, since all the subdevices share the ACPI companion, the match and modalias generation logic started to use the ACPI companion as well resulting this: # cat /sys/bus/platform/devices/HID-SENSOR-200041.6.auto/modalias acpi:INT33D1:PNP0C50: instead of the expected one # cat /sys/bus/platform/devices/HID-SENSOR-200041.6.auto/modalias platform:HID-SENSOR-200041 In other words the subdevice modalias is overwritten by the one taken from ACPI companion. This causes udev not to load the driver anymore. It is useful to be able to share the ACPI companion so that MFD subdevices (and possibly other devices as well) can access the ACPI resources even if they do not have ACPI representation in the namespace themselves. An example where this is used is Minnowboard LPC driver that creates GPIO as a subdevice among other things. Without the ACPI companion gpiolib is not is not able to lookup the corresponding GPIO controller from ACPI GpioIo resource. To fix this we restrict the match and modalias logic to be limited to the first physical device. The secondary devices will still be able to access the ACPI companion but they will be matched using traditional way. Reported-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> --- Hi, This is a regression in v3.18-rc1+ and prevents udev from loading the modules in question. Alternative to this we can revert 6ab3430129e2 but then Minnowboard GPIOs do not work anymore. drivers/acpi/scan.c | 71 +++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 55 insertions(+), 16 deletions(-)
Tested-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html