public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] spmi: Include OF based modalias in device uevent
@ 2017-06-28 23:44 Bjorn Andersson
  2017-06-29  1:50 ` Rob Clark
  2017-06-29 21:04 ` Stephen Boyd
  0 siblings, 2 replies; 4+ messages in thread
From: Bjorn Andersson @ 2017-06-28 23:44 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: Rob Clark, linux-kernel, linux-arm-msm

Include the OF-based modalias in the uevent sent when registering SPMI
devices, so that user space has a chance to autoload the kernel module
for the device.

Reported-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---

Based on the MODULE_ALIAS in the qcom-spmi-pmic it's likely that the original
author expected that the spmi-pmic-arb would create devices by the identifier
"pmic" and the spmi code would include a MODALIAS="spmi:pmic" in the uevent.

 drivers/spmi/spmi.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c
index 2b9b0941d9eb..6d23226e5f69 100644
--- a/drivers/spmi/spmi.c
+++ b/drivers/spmi/spmi.c
@@ -365,11 +365,23 @@ static int spmi_drv_remove(struct device *dev)
 	return 0;
 }
 
+static int spmi_drv_uevent(struct device *dev, struct kobj_uevent_env *env)
+{
+	int ret;
+
+	ret = of_device_uevent_modalias(dev, env);
+	if (ret != -ENODEV)
+		return ret;
+
+	return 0;
+}
+
 static struct bus_type spmi_bus_type = {
 	.name		= "spmi",
 	.match		= spmi_device_match,
 	.probe		= spmi_drv_probe,
 	.remove		= spmi_drv_remove,
+	.uevent		= spmi_drv_uevent,
 };
 
 /**
-- 
2.12.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-06-29 21:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-28 23:44 [PATCH] spmi: Include OF based modalias in device uevent Bjorn Andersson
2017-06-29  1:50 ` Rob Clark
2017-06-29 21:04 ` Stephen Boyd
2017-06-29 21:37   ` Bjorn Andersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox