Create the sysfs uevent for modalias devices. This is required by newer
versions of udev for autoload modules.

Cc: Rob Herring <r...@kernel.org>
Cc: Johan Hovold <jo...@kernel.org>
Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
Cc: Jiri Slaby <jsl...@suse.com>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.riba...@gmail.com>
---
 drivers/tty/serdev/core.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
index b9bb0c0ee319..584cb994213a 100644
--- a/drivers/tty/serdev/core.c
+++ b/drivers/tty/serdev/core.c
@@ -46,6 +46,7 @@ ATTRIBUTE_GROUPS(serdev_device);
 static int serdev_device_uevent(struct device *dev, struct kobj_uevent_env 
*env)
 {
        int rc;
+       struct serdev_device *serdev = to_serdev_device(dev);
 
        /* TODO: platform modalias */
 
@@ -53,7 +54,11 @@ static int serdev_device_uevent(struct device *dev, struct 
kobj_uevent_env *env)
        if (rc != -ENODEV)
                return rc;
 
-       return of_device_uevent_modalias(dev, env);
+       if (rc != of_device_uevent_modalias(dev, env))
+               return rc;
+
+       return add_uevent_var(env, "MODALIAS=%s%s", SERDEV_MODULE_PREFIX,
+                                                   serdev->modalias);
 }
 
 static void serdev_device_release(struct device *dev)
-- 
2.17.1

Reply via email to