mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
ACPI fixes for 6.9-rc4
- Modify the ACPI device enumeration code to avoid counting dependencies that have been met already as unmet (Hans de Goede). - Make _UID matching take the integer value of 0 into account as appropriate (Raag Jadav). -----BEGIN PGP SIGNATURE----- iQJGBAABCAAwFiEE4fcc61cGeeHD/fCwgsRv/nhiVHEFAmYYI2sSHHJqd0Byand5 c29ja2kubmV0AAoJEILEb/54YlRxPAYP/0tbALMVJFkigYEoMsAGPSJqa94T6ZTC UwtnmBl7/IgVAGFiPOqsaGEaJ2PIxNZCz/UBwfDbE98HR9Ow+kvl6V8U/PFLweEj 8JH1OSm5EpvpGzb+Iqmuq49kcewE3usabm5BPoXnJwchC939YSDMgTcKrNci9X3l az9CIeWMTxfSEMyCWP3N90Iaga1cDUJeuZJ344G29RPFLjiDBjZQNFUX4mQro5l8 NjdeTxYJXfr6P7D81OH944Agw43d6oyjw3hDRvOz2t7EPeEdg8nd8doHL4P31TMy 378hxzpwmKnK1Q/5d6DdDqUCaTXhxs5ztV/fgGMlLccBabgE7g/Wp+Pd6zEut0wO Rw1YrVv/ahuf3VB47kgVK77Q1ij7EXk9nE9ity2CMuLET2QfbFoFgIOlWCfSxVzs aoBtS2NmKmvKHxvSxEN7doe3ImVV2EeWMvWNw/03CcA6/SlILskQO/6MKfBhtSPO AUcTRKM2ia5PDzPfjFCYoiryLf6TEbNrRgwQ9Sq3bQuHimQAL8IqGaFeMd2VIaB8 WIsjV7LM+IebiPXf65DKRmVvq6uDe7uUTH8vsGnB9hXeTgrUcmhab9LZtZIdf2Ao UtCq024W01QBTz/erW0gDwOMalRYqlsUkuL/gz1QDffXbzKMirtoQqZvonCqYEZO iiH4PKpxxSRK =94Dn -----END PGP SIGNATURE----- Merge tag 'acpi-6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI fixes from Rafael Wysocki: "These fix the handling of dependencies between devices in the ACPI device enumeration code and address a _UID matching regression from the 6.8 development cycle. Specifics: - Modify the ACPI device enumeration code to avoid counting dependencies that have been met already as unmet (Hans de Goede) - Make _UID matching take the integer value of 0 into account as appropriate (Raag Jadav)" * tag 'acpi-6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: ACPI: bus: allow _UID matching for integer zero ACPI: scan: Do not increase dep_unmet for already met dependencies
This commit is contained in:
commit
00dcf5d862
@ -1843,7 +1843,8 @@ static void acpi_scan_dep_init(struct acpi_device *adev)
|
||||
if (dep->honor_dep)
|
||||
adev->flags.honor_deps = 1;
|
||||
|
||||
adev->dep_unmet++;
|
||||
if (!dep->met)
|
||||
adev->dep_unmet++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -911,17 +911,19 @@ static inline bool acpi_int_uid_match(struct acpi_device *adev, u64 uid2)
|
||||
* acpi_dev_hid_uid_match - Match device by supplied HID and UID
|
||||
* @adev: ACPI device to match.
|
||||
* @hid2: Hardware ID of the device.
|
||||
* @uid2: Unique ID of the device, pass 0 or NULL to not check _UID.
|
||||
* @uid2: Unique ID of the device, pass NULL to not check _UID.
|
||||
*
|
||||
* Matches HID and UID in @adev with given @hid2 and @uid2. Absence of @uid2
|
||||
* will be treated as a match. If user wants to validate @uid2, it should be
|
||||
* done before calling this function.
|
||||
*
|
||||
* Returns: %true if matches or @uid2 is 0 or NULL, %false otherwise.
|
||||
* Returns: %true if matches or @uid2 is NULL, %false otherwise.
|
||||
*/
|
||||
#define acpi_dev_hid_uid_match(adev, hid2, uid2) \
|
||||
(acpi_dev_hid_match(adev, hid2) && \
|
||||
(!(uid2) || acpi_dev_uid_match(adev, uid2)))
|
||||
/* Distinguish integer 0 from NULL @uid2 */ \
|
||||
(_Generic(uid2, ACPI_STR_TYPES(!(uid2)), default: 0) || \
|
||||
acpi_dev_uid_match(adev, uid2)))
|
||||
|
||||
void acpi_dev_clear_dependencies(struct acpi_device *supplier);
|
||||
bool acpi_dev_ready_for_enumeration(const struct acpi_device *device);
|
||||
|
Loading…
Reference in New Issue
Block a user