From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Igor Grinberg <grinberg@compulab.co.il>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
haojian.zhuang@gmail.com, linux-arm-kernel@lists.infradead.org,
linux-next@vger.kernel.org
Subject: Re: [PATCH] ARM: pxa: fix build failure for regulator consumer in em-x270.c
Date: Thu, 29 Mar 2012 10:55:07 -0400 [thread overview]
Message-ID: <4F7477CB.5070206@windriver.com> (raw)
In-Reply-To: <4F7471A0.6070208@compulab.co.il>
On 12-03-29 10:28 AM, Igor Grinberg wrote:
> On 03/28/12 18:59, Paul Gortmaker wrote:
>> On 12-03-28 12:13 PM, Mark Brown wrote:
>>> On Wed, Mar 28, 2012 at 11:59:41AM -0400, Paul Gortmaker wrote:
>>>> On 12-03-28 11:27 AM, Mark Brown wrote:
>>>
>>>> static struct platform_device em_x270_gps_userspace_consumer = {
>>>> .name = "reg-userspace-consumer",
>>>> .id = 0,
>>>
>>>> static struct platform_device em_x270_gprs_userspace_consumer = {
>>>> .name = "reg-userspace-consumer",
>>>> .id = 1,
>>>
>>>> Note that the existing names currently don't incorporate the .id
>>>> field as a suffix, and so never were unique.
>>>
>>> No, this is just a basic part of how platform devices work - the device
>>> name is always the same and if you've got more than one of them they get
>>> different .ids. dev_name() returns name.id, or just name if id is set
>>> to -1 indicating that there's onyl one device of a given type.
>>
>> OK, so Igor - can you simply retest the v2 patch, but make the
>> two trivial changes:
>>
>> -REGULATOR_CONSUMER(ldo3, "reg-userspace-consumer", "vcc gps");
>> +REGULATOR_CONSUMER(ldo3, "reg-userspace-consumer.0", "vcc gps");
>>
>> -REGULATOR_CONSUMER(ldo19, "reg-userspace-consumer", "vcc gprs");
>> +REGULATOR_CONSUMER(ldo19, "reg-userspace-consumer.1", "vcc gprs");
>
> Well, I thought of this solution, but I don't like it, as it makes
> the whole thing very fragile and sensitive to the reg-userspace-consumer
> platform device registration order and count, isn't it?
Why would it be order dependent? You can see in the above structs
that they explicitly call out an ID value -- it is _not_ chosen at
the time of registration. So it will always be:
reg-userspace-consumer.0 --> gps consumer
reg-userspace-consumer.1 --> gprs consumer
At least that is my (limited) understanding, based on what
Mark was saying.
Paul.
--
> (That's why I proposed to use NULL...).
>
> So, Mark, how do you think the above issues can be handled without
> putting NULL into the dev_name?
>
WARNING: multiple messages have this Message-ID (diff)
From: paul.gortmaker@windriver.com (Paul Gortmaker)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: pxa: fix build failure for regulator consumer in em-x270.c
Date: Thu, 29 Mar 2012 10:55:07 -0400 [thread overview]
Message-ID: <4F7477CB.5070206@windriver.com> (raw)
In-Reply-To: <4F7471A0.6070208@compulab.co.il>
On 12-03-29 10:28 AM, Igor Grinberg wrote:
> On 03/28/12 18:59, Paul Gortmaker wrote:
>> On 12-03-28 12:13 PM, Mark Brown wrote:
>>> On Wed, Mar 28, 2012 at 11:59:41AM -0400, Paul Gortmaker wrote:
>>>> On 12-03-28 11:27 AM, Mark Brown wrote:
>>>
>>>> static struct platform_device em_x270_gps_userspace_consumer = {
>>>> .name = "reg-userspace-consumer",
>>>> .id = 0,
>>>
>>>> static struct platform_device em_x270_gprs_userspace_consumer = {
>>>> .name = "reg-userspace-consumer",
>>>> .id = 1,
>>>
>>>> Note that the existing names currently don't incorporate the .id
>>>> field as a suffix, and so never were unique.
>>>
>>> No, this is just a basic part of how platform devices work - the device
>>> name is always the same and if you've got more than one of them they get
>>> different .ids. dev_name() returns name.id, or just name if id is set
>>> to -1 indicating that there's onyl one device of a given type.
>>
>> OK, so Igor - can you simply retest the v2 patch, but make the
>> two trivial changes:
>>
>> -REGULATOR_CONSUMER(ldo3, "reg-userspace-consumer", "vcc gps");
>> +REGULATOR_CONSUMER(ldo3, "reg-userspace-consumer.0", "vcc gps");
>>
>> -REGULATOR_CONSUMER(ldo19, "reg-userspace-consumer", "vcc gprs");
>> +REGULATOR_CONSUMER(ldo19, "reg-userspace-consumer.1", "vcc gprs");
>
> Well, I thought of this solution, but I don't like it, as it makes
> the whole thing very fragile and sensitive to the reg-userspace-consumer
> platform device registration order and count, isn't it?
Why would it be order dependent? You can see in the above structs
that they explicitly call out an ID value -- it is _not_ chosen at
the time of registration. So it will always be:
reg-userspace-consumer.0 --> gps consumer
reg-userspace-consumer.1 --> gprs consumer
At least that is my (limited) understanding, based on what
Mark was saying.
Paul.
--
> (That's why I proposed to use NULL...).
>
> So, Mark, how do you think the above issues can be handled without
> putting NULL into the dev_name?
>
next prev parent reply other threads:[~2012-03-29 14:55 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-05 23:12 [PATCH] ARM: pxa: fix build failure for regulator consumer in em-x270.c Paul Gortmaker
2012-03-05 23:12 ` Paul Gortmaker
2012-03-06 8:46 ` Igor Grinberg
2012-03-06 8:46 ` Igor Grinberg
2012-03-06 9:12 ` Haojian Zhuang
2012-03-06 9:12 ` Haojian Zhuang
2012-03-06 12:16 ` Mark Brown
2012-03-06 12:16 ` Mark Brown
2012-03-06 12:22 ` Haojian Zhuang
2012-03-06 12:22 ` Haojian Zhuang
2012-03-07 0:10 ` Paul Gortmaker
2012-03-07 0:10 ` Paul Gortmaker
2012-03-08 22:06 ` Paul Gortmaker
2012-03-08 22:06 ` Paul Gortmaker
2012-03-28 15:21 ` Igor Grinberg
2012-03-28 15:21 ` Igor Grinberg
2012-03-28 15:27 ` Mark Brown
2012-03-28 15:27 ` Mark Brown
2012-03-28 15:37 ` Haojian Zhuang
2012-03-28 15:37 ` Haojian Zhuang
2012-03-28 15:39 ` Mark Brown
2012-03-28 15:39 ` Mark Brown
2012-03-28 15:59 ` Paul Gortmaker
2012-03-28 15:59 ` Paul Gortmaker
2012-03-28 16:13 ` Mark Brown
2012-03-28 16:13 ` Mark Brown
2012-03-28 16:59 ` Paul Gortmaker
2012-03-28 16:59 ` Paul Gortmaker
2012-03-29 14:28 ` Igor Grinberg
2012-03-29 14:28 ` Igor Grinberg
2012-03-29 14:54 ` Mark Brown
2012-03-29 14:54 ` Mark Brown
2012-03-29 14:57 ` Paul Gortmaker
2012-03-29 14:57 ` Paul Gortmaker
2012-03-29 15:11 ` Mark Brown
2012-03-29 15:11 ` Mark Brown
2012-03-29 17:43 ` [PATCH v3] " Paul Gortmaker
2012-03-30 0:41 ` Haojian Zhuang
2012-03-30 12:24 ` Igor Grinberg
2012-03-29 14:55 ` Paul Gortmaker [this message]
2012-03-29 14:55 ` [PATCH] " Paul Gortmaker
2012-03-30 11:25 ` Igor Grinberg
2012-03-30 11:25 ` Igor Grinberg
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=4F7477CB.5070206@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=grinberg@compulab.co.il \
--cc=haojian.zhuang@gmail.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-next@vger.kernel.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.