diff options
| -rw-r--r-- | drivers/slimbus/core.c | 14 |
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 | ||
| 80 | static 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 | |||
| 79 | struct bus_type slimbus_bus = { | 92 | struct 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 | }; |
| 85 | EXPORT_SYMBOL_GPL(slimbus_bus); | 99 | EXPORT_SYMBOL_GPL(slimbus_bus); |
| 86 | 100 | ||
