]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
powerpc/pseries/vio: Don't return ENODEV if node or compatible missing
authorLidong Zhong <lidong.zhong@suse.com>
Thu, 11 Apr 2024 02:04:50 +0000 (10:04 +0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 29 Apr 2024 13:51:16 +0000 (23:51 +1000)
We noticed the following nuisance messages during boot process:

  vio vio: uevent: failed to send synthetic uevent
  vio 4000: uevent: failed to send synthetic uevent
  vio 4001: uevent: failed to send synthetic uevent
  vio 4002: uevent: failedto send synthetic uevent
  vio 4004: uevent: failed to send synthetic uevent

It's caused by either vio_register_device_node() failing to set
dev->of_node or the node is missing a "compatible" property. To match
the definition of modalias in modalias_show(), remove the return of
ENODEV in such cases. The failure messages is also suppressed with this
change.

Signed-off-by: Lidong Zhong <lidong.zhong@suse.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240411020450.12725-1-lidong.zhong@suse.com
arch/powerpc/platforms/pseries/vio.c

index 90ff85c879bfe9bbc602fbc146a50fa5d933424a..b2babfdbc40bf0eb97651ba608c0dab792562485 100644 (file)
@@ -1592,13 +1592,9 @@ static int vio_hotplug(const struct device *dev, struct kobj_uevent_env *env)
        const char *cp;
 
        dn = dev->of_node;
-       if (!dn)
-               return -ENODEV;
-       cp = of_get_property(dn, "compatible", NULL);
-       if (!cp)
-               return -ENODEV;
+       if (dn && (cp = of_get_property(dn, "compatible", NULL)))
+               add_uevent_var(env, "MODALIAS=vio:T%sS%s", vio_dev->type, cp);
 
-       add_uevent_var(env, "MODALIAS=vio:T%sS%s", vio_dev->type, cp);
        return 0;
 }