Re: [PATCH] spmi: Include OF based modalias in device uevent

From: Rob Clark
Date: Wed Jun 28 2017 - 21:52:36 EST


On Wed, Jun 28, 2017 at 7:44 PM, Bjorn Andersson
<bjorn.andersson@xxxxxxxxxx> wrote:
> 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@xxxxxxxxx>
> Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>

Tested-by: Rob Clark <robdclark@xxxxxxxxx>

> ---
>
> 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
>