PCI: acpiphp: Allow built-in drivers for Attention Indicators
authorD Scott Phillips <scott@os.amperecomputing.com>
Sat, 30 Sep 2023 00:20:35 +0000 (17:20 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 25 Oct 2023 18:05:37 +0000 (13:05 -0500)
Since the introduction of the attention callback in acpiphp, a non-zero
struct module *owner has been required in acpiphp_register_attention(). The
intent seemed to be that the core code could hold a refcount on the module
while invoking a callback.

This check accidentally precludes the possibility of attention callbacks to
built-in drivers.

Remove the check on `struct module *owner` in acpiphp_register_attention()
so attention callbacks can also be registered from built-in drivers.

Link: https://lore.kernel.org/r/20230930002036.6491-1-scott@os.amperecomputing.com
Signed-off-by: D Scott Phillips <scott@os.amperecomputing.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
drivers/pci/hotplug/acpiphp_core.c

index c02257f4b61c41ec2b813c1abca16a4f9c104304..9dad14e80bcf2246187158d01f7329b870691c9d 100644 (file)
@@ -78,8 +78,7 @@ int acpiphp_register_attention(struct acpiphp_attention_info *info)
 {
        int retval = -EINVAL;
 
-       if (info && info->owner && info->set_attn &&
-                       info->get_attn && !attention_info) {
+       if (info && info->set_attn && info->get_attn && !attention_info) {
                retval = 0;
                attention_info = info;
        }