Commit 29247de4 authored by Lidong Zhong's avatar Lidong Zhong Committed by Michael Ellerman
Browse files

powerpc/pseries/vio: Don't return ENODEV if node or compatible missing



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: default avatarLidong Zhong <lidong.zhong@suse.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240411020450.12725-1-lidong.zhong@suse.com
parent ff2e185c
Loading
Loading
Loading
Loading
+2 −6
Original line number Diff line number Diff line
@@ -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);

	return 0;
}