All of lore.kernel.org
 help / color / mirror / Atom feed
From: stefan.bruens@rwth-aachen.de (Stefan Brüns)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] sunxi-rsb: Include OF based modalias in device uevent
Date: Mon, 27 Nov 2017 18:19:13 +0100	[thread overview]
Message-ID: <2479565.qdx1IVDIGC@pebbles> (raw)
In-Reply-To: <20171127153502.4wcqtimppgpfklmr@flea.home>

On Monday, November 27, 2017 4:35:02 PM CET Maxime Ripard wrote:
> Hi,
> 
> On Mon, Nov 27, 2017 at 01:17:25PM +0100, Stefan Br?ns wrote:
> > Include the OF-based modalias in the uevent sent when registering devices
> > on the sunxi RSB bus, so that user space has a chance to autoload the
> > kernel module for the device.
> > 
> > Fixes a regression caused by commit 3f241bfa60bd ("arm64: allwinner: a64:
> > pine64: Use dcdc1 regulator for mmc0"). When the axp20x-rsb module for
> > the AXP803 PMIC is built as a module, it is not loaded and the system
> > ends up with an disfunctional MMC controller.
> > 
> > Cc: stable <stable@vger.kernel.org>
> > Signed-off-by: Stefan Br?ns <stefan.bruens@rwth-aachen.de>
> > ---
> > 
> >  drivers/bus/sunxi-rsb.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c
> > index 328ca93781cf..37cb57244cbe 100644
> > --- a/drivers/bus/sunxi-rsb.c
> > +++ b/drivers/bus/sunxi-rsb.c
> > @@ -173,11 +173,24 @@ static int sunxi_rsb_device_remove(struct device
> > *dev)> 
> >  	return drv->remove(to_sunxi_rsb_device(dev));
> >  
> >  }
> > 
> > +static int sunxi_rsb_device_uevent(struct device *dev,
> > +				   struct kobj_uevent_env *env)
> > +{
> > +	int ret;
> > +
> > +	ret = of_device_uevent_modalias(dev, env);
> > +	if (ret != -ENODEV)
> > +		return ret;
> 
> A comment explaining why we need to ignore the ENODEV error code would
> be great here.

Lazy answer - everyone else is doing the same, and nobody cared to add an 
explanation.

For *some* drivers, this is likely because the same device may be enumerated 
from e.g ACPI or OF, and for an ACPI device -ENODEV will be returned, as
dev->of_node is NULL.

For devices which are only usable in an OF context, this is bogus. Not sure 
about sunxi-rsb.

> > +	return 0;
> > +}
> > +
> > 
> >  static struct bus_type sunxi_rsb_bus = {
> >  
> >  	.name		= RSB_CTRL_NAME,
> >  	.match		= sunxi_rsb_device_match,
> >  	.probe		= sunxi_rsb_device_probe,
> >  	.remove		= sunxi_rsb_device_remove,
> > 
> > +	.uevent		= sunxi_rsb_device_uevent,
> 
> Any reason to not use of_device_uevent_modalias directly here?

*If* sunxi-rsb can be used without OF, then yes, otherwise no.

Regards,

Stefan

-- 
Stefan Br?ns  /  Bergstra?e 21  /  52062 Aachen
home: +49 241 53809034     mobile: +49 151 50412019
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20171127/807caf5a/attachment-0001.sig>

WARNING: multiple messages have this Message-ID (diff)
From: "Stefan Brüns" <stefan.bruens@rwth-aachen.de>
To: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: <linux-arm-kernel@lists.infradead.org>,
	<linux-kernel@vger.kernel.org>, Rob Herring <robh@kernel.org>,
	Arnd Bergmann <arnd@arndb.de>, Chen-Yu Tsai <wens@csie.org>,
	stable <stable@vger.kernel.org>
Subject: Re: [PATCH] sunxi-rsb: Include OF based modalias in device uevent
Date: Mon, 27 Nov 2017 18:19:13 +0100	[thread overview]
Message-ID: <2479565.qdx1IVDIGC@pebbles> (raw)
In-Reply-To: <20171127153502.4wcqtimppgpfklmr@flea.home>

[-- Attachment #1: Type: text/plain, Size: 2443 bytes --]

On Monday, November 27, 2017 4:35:02 PM CET Maxime Ripard wrote:
> Hi,
> 
> On Mon, Nov 27, 2017 at 01:17:25PM +0100, Stefan Brüns wrote:
> > Include the OF-based modalias in the uevent sent when registering devices
> > on the sunxi RSB bus, so that user space has a chance to autoload the
> > kernel module for the device.
> > 
> > Fixes a regression caused by commit 3f241bfa60bd ("arm64: allwinner: a64:
> > pine64: Use dcdc1 regulator for mmc0"). When the axp20x-rsb module for
> > the AXP803 PMIC is built as a module, it is not loaded and the system
> > ends up with an disfunctional MMC controller.
> > 
> > Cc: stable <stable@vger.kernel.org>
> > Signed-off-by: Stefan Brüns <stefan.bruens@rwth-aachen.de>
> > ---
> > 
> >  drivers/bus/sunxi-rsb.c | 13 +++++++++++++
> >  1 file changed, 13 insertions(+)
> > 
> > diff --git a/drivers/bus/sunxi-rsb.c b/drivers/bus/sunxi-rsb.c
> > index 328ca93781cf..37cb57244cbe 100644
> > --- a/drivers/bus/sunxi-rsb.c
> > +++ b/drivers/bus/sunxi-rsb.c
> > @@ -173,11 +173,24 @@ static int sunxi_rsb_device_remove(struct device
> > *dev)> 
> >  	return drv->remove(to_sunxi_rsb_device(dev));
> >  
> >  }
> > 
> > +static int sunxi_rsb_device_uevent(struct device *dev,
> > +				   struct kobj_uevent_env *env)
> > +{
> > +	int ret;
> > +
> > +	ret = of_device_uevent_modalias(dev, env);
> > +	if (ret != -ENODEV)
> > +		return ret;
> 
> A comment explaining why we need to ignore the ENODEV error code would
> be great here.

Lazy answer - everyone else is doing the same, and nobody cared to add an 
explanation.

For *some* drivers, this is likely because the same device may be enumerated 
from e.g ACPI or OF, and for an ACPI device -ENODEV will be returned, as
dev->of_node is NULL.

For devices which are only usable in an OF context, this is bogus. Not sure 
about sunxi-rsb.

> > +	return 0;
> > +}
> > +
> > 
> >  static struct bus_type sunxi_rsb_bus = {
> >  
> >  	.name		= RSB_CTRL_NAME,
> >  	.match		= sunxi_rsb_device_match,
> >  	.probe		= sunxi_rsb_device_probe,
> >  	.remove		= sunxi_rsb_device_remove,
> > 
> > +	.uevent		= sunxi_rsb_device_uevent,
> 
> Any reason to not use of_device_uevent_modalias directly here?

*If* sunxi-rsb can be used without OF, then yes, otherwise no.

Regards,

Stefan

-- 
Stefan Brüns  /  Bergstraße 21  /  52062 Aachen
home: +49 241 53809034     mobile: +49 151 50412019

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2017-11-27 17:19 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27 12:17 [PATCH] sunxi-rsb: Include OF based modalias in device uevent Stefan Brüns
2017-11-27 12:17 ` Stefan Brüns
2017-11-27 15:35 ` Maxime Ripard
2017-11-27 15:35   ` Maxime Ripard
2017-11-27 17:19   ` Stefan Brüns [this message]
2017-11-27 17:19     ` Stefan Brüns
2017-11-27 17:30     ` Chen-Yu Tsai
2017-11-27 17:30       ` Chen-Yu Tsai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2479565.qdx1IVDIGC@pebbles \
    --to=stefan.bruens@rwth-aachen.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.