• Zhang Rui's avatar
    ACPI / PNP: do ACPI binding directly · f1b1dc84
    Zhang Rui authored
    PNPACPI uses acpi_bus_type to do ACPI binding for the PNPACPI devices.
    
    This is overkill because PNPACPI code already knows which ACPI
    device object to bind during PNPACPI device enumeration.
    
    This patch removes acpi_pnp_bus and does the binding by invoking
    acpi_bind_one() directly after device enumerated.
    
    This also fixes a bug in the previous code that some PNPACPI devices failed
    to be bound because
     1. the ACPI device _HID is not pnpid, e.g. "MSFT0001", but its _CID is,
        e.g. "PNP0303", thus ACPI _CID is used as the pnp device device id.
     2. device is bound only if the pnp device id matches the ACPI device _HID.
    Tested-by: default avatarPrigent Christophe <christophe.prigent@intel.com>
    Signed-off-by: default avatarZhang Rui <rui.zhang@intel.com>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    f1b1dc84
acpi_bus.h 16.3 KB