• Rafael J. Wysocki's avatar
    ACPI / scan: Change the meaning of missing .attach() in scan handlers · d34afa9d
    Rafael J. Wysocki authored
    Currently, some scan handlers can be compiled out entirely, which
    leaves the device objects they normally attach to without a scan
    handler.  This isn't a problem as long as we don't have any default
    enumeration mechanism that applies to all devices without a scan
    handler.  However, if such a default enumeration is added, it still
    should not be applied to devices that are normally attached to by
    scan handlers, because that may result in creating "physical" device
    objects of a wrong type for them.
    
    Since we are going to create platform device objects for all ACPI
    device objects with pnp.type.platform_id set by default, clear
    pnp.type.platform_id where there is a matching scan handler without
    an .attach() callback and otherwise simply treat that scan handler
    as though the .attach() callback was present but always returned 0.
    
    This will allow us to compile out scan handler callbacks and leave
    the device ID lists used by them so as to prevent creating platform
    device objects for the matching ACPI devices.
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    Reviewed-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
    d34afa9d
scan.c 57.5 KB