aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/slimbus/core.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/slimbus/core.c b/drivers/slimbus/core.c
index 1888fafc0e73..55eda5863a6b 100644
--- a/drivers/slimbus/core.c
+++ b/drivers/slimbus/core.c
@@ -9,6 +9,7 @@
9#include <linux/init.h> 9#include <linux/init.h>
10#include <linux/idr.h> 10#include <linux/idr.h>
11#include <linux/of.h> 11#include <linux/of.h>
12#include <linux/of_device.h>
12#include <linux/pm_runtime.h> 13#include <linux/pm_runtime.h>
13#include <linux/slimbus.h> 14#include <linux/slimbus.h>
14#include "slimbus.h" 15#include "slimbus.h"
@@ -76,11 +77,24 @@ static int slim_device_remove(struct device *dev)
76 return 0; 77 return 0;
77} 78}
78 79
80static int slim_device_uevent(struct device *dev, struct kobj_uevent_env *env)
81{
82 struct slim_device *sbdev = to_slim_device(dev);
83 int ret;
84
85 ret = of_device_uevent_modalias(dev, env);
86 if (ret != -ENODEV)
87 return ret;
88
89 return add_uevent_var(env, "MODALIAS=slim:%s", dev_name(&sbdev->dev));
90}
91
79struct bus_type slimbus_bus = { 92struct bus_type slimbus_bus = {
80 .name = "slimbus", 93 .name = "slimbus",
81 .match = slim_device_match, 94 .match = slim_device_match,
82 .probe = slim_device_probe, 95 .probe = slim_device_probe,
83 .remove = slim_device_remove, 96 .remove = slim_device_remove,
97 .uevent = slim_device_uevent,
84}; 98};
85EXPORT_SYMBOL_GPL(slimbus_bus); 99EXPORT_SYMBOL_GPL(slimbus_bus);
86 100