On Mon, Dec 25, 2017 at 09:50:45PM +0100, Hans de Goede wrote: > ACPI enumerated serdev-controllers do not have an ACPI companion, the ACPI > companion belongs to the serdev-device child of the serdev-controller, not > to the controller itself. This was causing serdev_uevent to always return > -ENODEV when called on a serdev-controller leading to errors like these: > > kernel: serial serial0: uevent: failed to send synthetic uevent > > being logged. This commit modifies serdev_uevent to directly return 0 > when called on an ACPI enumerated serdev-controller fixing this. > > Note: I do not think that setting a modalias on a devicetree enumerated > serdev-controller makes sense either. So perhaps the !dev->of_node part of > the check can be dropped too, but I'm not entirely sure that doing this > on devicetree too is correct. Yes, generating modaliases for controllers doesn't make any sense as they are not bound to any drivers. I've prepared a patch, on top of yours, which moves the modalias handling over to the device-type (rather than bus) code instead. Note that this includes the modalias attributes, which we shouldn't be creating for controllers either. > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> > --- > drivers/tty/serdev/core.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c > index 1bef39828ca7..571ce1f69d8d 100644 > --- a/drivers/tty/serdev/core.c > +++ b/drivers/tty/serdev/core.c > @@ -54,6 +54,11 @@ static int serdev_uevent(struct device *dev, struct kobj_uevent_env *env) > int rc; > > /* TODO: platform modalias */ > + > + /* ACPI enumerated controllers do not have a modalias */ > + if (!dev->of_node && dev->type == &serdev_ctrl_type) > + return 0; > + > rc = acpi_device_uevent_modalias(dev, env); > if (rc != -ENODEV) > return rc; Thanks, Johan -- To unsubscribe from this list: send the line "unsubscribe linux-serial" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html