All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren@wwwdotorg.org>
To: Roland Stigge <stigge@antcom.de>
Cc: cjb@laptop.org, grant.likely@secretlab.ca,
	rob.herring@calxeda.com, rmk+kernel@arm.linux.org.uk,
	ulf.hansson@stericsson.com, linus.walleij@linaro.org,
	linux-mmc@vger.kernel.org, linux-kernel@vger.kernel.org,
	aletes.xgr@gmail.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
Date: Mon, 18 Jun 2012 09:12:03 -0600	[thread overview]
Message-ID: <4FDF4543.6090009@wwwdotorg.org> (raw)
In-Reply-To: <4FDF4461.60707@antcom.de>

On 06/18/2012 09:08 AM, Roland Stigge wrote:
> On 06/18/2012 04:50 PM, Stephen Warren wrote:
>>> Can you please tell in which way the patch breaks those drivers?
>>> However, I can see that those drivers solved the same problem in a
>>> different way (deferring of_get_named_gpio(), via the sound init()). So
>>> they could be adjusted to take advantage of new -EPROBE_DEFER.
>>
>> The drivers I mentioned test the return code of of_get_named_gpio() to
>> see if it's -ENODEV, which means that DT property for that GPIO exists
>> but the driver for it isn't available yet, so the property can't be
>> parsed. In this case, the sound drivers defer their own probe. If
>> of_get_named_gpio() is modified to return -EPROBE_DEFER directly, then
>> it won't be returning -ENODEV, and hence the sound drivers' check for
>> -ENODEV won't fire, and hence the sound drivers will just continue their
>> probe assuming that the particular GPIOs are not present on the board
>> (since they are all optional, so anything other than an explicit
>> deferral error from of_get_named_gpio() is not treated as an error).
>> This will break sound on those platforms.
> 
> Thanks for the hint! I previously also suspected sth. like this but
> didn't find it in v3.5-rc3. In broonie's sound.git for-next, I now
> finally found it.
> 
> Should be easy to fix (replacing the if (... == -ENODEV) to -EPROBE_DEFER.
> 
> Will you provide patches as signalled, of should I? Which branch would
> be the correct one to build on top?

I'm happy either way. It'd probably be best to roll the change into your
patch/series so you can manage all the dependencies in one series, but
if you can't for some reason, I'm happy to provide a patch for this.

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available
Date: Mon, 18 Jun 2012 09:12:03 -0600	[thread overview]
Message-ID: <4FDF4543.6090009@wwwdotorg.org> (raw)
In-Reply-To: <4FDF4461.60707@antcom.de>

On 06/18/2012 09:08 AM, Roland Stigge wrote:
> On 06/18/2012 04:50 PM, Stephen Warren wrote:
>>> Can you please tell in which way the patch breaks those drivers?
>>> However, I can see that those drivers solved the same problem in a
>>> different way (deferring of_get_named_gpio(), via the sound init()). So
>>> they could be adjusted to take advantage of new -EPROBE_DEFER.
>>
>> The drivers I mentioned test the return code of of_get_named_gpio() to
>> see if it's -ENODEV, which means that DT property for that GPIO exists
>> but the driver for it isn't available yet, so the property can't be
>> parsed. In this case, the sound drivers defer their own probe. If
>> of_get_named_gpio() is modified to return -EPROBE_DEFER directly, then
>> it won't be returning -ENODEV, and hence the sound drivers' check for
>> -ENODEV won't fire, and hence the sound drivers will just continue their
>> probe assuming that the particular GPIOs are not present on the board
>> (since they are all optional, so anything other than an explicit
>> deferral error from of_get_named_gpio() is not treated as an error).
>> This will break sound on those platforms.
> 
> Thanks for the hint! I previously also suspected sth. like this but
> didn't find it in v3.5-rc3. In broonie's sound.git for-next, I now
> finally found it.
> 
> Should be easy to fix (replacing the if (... == -ENODEV) to -EPROBE_DEFER.
> 
> Will you provide patches as signalled, of should I? Which branch would
> be the correct one to build on top?

I'm happy either way. It'd probably be best to roll the change into your
patch/series so you can manage all the dependencies in one series, but
if you can't for some reason, I'm happy to provide a patch for this.

  reply	other threads:[~2012-06-18 15:12 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-17 10:11 [PATCH] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available Roland Stigge
2012-06-17 10:11 ` Roland Stigge
2012-06-17 10:11 ` [PATCH v3 1/2] mmc: mmci.c: Defer probe() in case of yet uninitialized GPIOs Roland Stigge
2012-06-17 10:11   ` Roland Stigge
2012-06-17 16:21   ` Russell King - ARM Linux
2012-06-17 16:21     ` Russell King - ARM Linux
2012-06-17 18:01   ` Linus Walleij
2012-06-17 18:01     ` Linus Walleij
2012-06-17 10:11 ` [PATCH v3 2/2] mmc: mmci.c: Remove wrong error handling of gpio 0 Roland Stigge
2012-06-17 10:11   ` Roland Stigge
2012-06-17 18:06   ` Linus Walleij
2012-06-17 18:06     ` Linus Walleij
2012-06-17 18:04 ` [PATCH] gpio: of_get_named_gpio_flags() return -EPROBE_DEFER if GPIO not yet available Linus Walleij
2012-06-17 18:04   ` Linus Walleij
2012-06-18  2:06 ` Stephen Warren
2012-06-18  2:06   ` Stephen Warren
2012-06-18  2:06   ` Stephen Warren
2012-06-18  9:19   ` Roland Stigge
2012-06-18  9:19     ` Roland Stigge
2012-06-18 11:24     ` Roland Stigge
2012-06-18 11:24       ` Roland Stigge
2012-06-18 14:50     ` Stephen Warren
2012-06-18 14:50       ` Stephen Warren
2012-06-18 15:08       ` Roland Stigge
2012-06-18 15:08         ` Roland Stigge
2012-06-18 15:12         ` Stephen Warren [this message]
2012-06-18 15:12           ` Stephen Warren
2012-06-18 15:23           ` Roland Stigge
2012-06-18 15:23             ` Roland Stigge
2012-06-18 15:45             ` Stephen Warren
2012-06-18 15:45               ` Stephen Warren
2012-06-18 16:40               ` Roland Stigge
2012-06-18 16:40                 ` Roland Stigge

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=4FDF4543.6090009@wwwdotorg.org \
    --to=swarren@wwwdotorg.org \
    --cc=aletes.xgr@gmail.com \
    --cc=cjb@laptop.org \
    --cc=grant.likely@secretlab.ca \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=rob.herring@calxeda.com \
    --cc=stigge@antcom.de \
    --cc=ulf.hansson@stericsson.com \
    /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.