From: "Andrew F. Davis" <afd@ti.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: "Pali Rohár" <pali.rohar@gmail.com>,
"Ivaylo Dimitrov" <ivo.g.dimitrov.75@gmail.com>,
"Sebastian Reichel" <sre@kernel.org>,
"Dmitry Eremin-Solenikov" <dbaryshkov@gmail.com>,
"David Woodhouse" <dwmw2@infradead.org>,
linux-pm@vger.kernel.org
Subject: Re: Should 9aafabc7fece be reverted?
Date: Mon, 23 May 2016 10:55:49 -0500 [thread overview]
Message-ID: <57432805.6000108@ti.com> (raw)
In-Reply-To: <20160520092927.GB4580@amd>
On 05/20/2016 04:29 AM, Pavel Machek wrote:
> Hi!
>
>>>>>>> No, it is not driver name, but device name. That is different.
>>>>>>
>>>>>> My bad, that's what I meant, device names should be dynamic,
>>>>>> right? Relying on them being static in software would then be
>>>>>> buggy (like relying on eth0 being the right NIC everytime)?
>>>>>>
>>>>>> I'm not familiar with the N900 software, but IDR can give out
>>>>>> different numbers and may not always give the first battery #0 (it
>>>>>> does now but is that a guarantee in IDR?) and if not then what is
>>>>>> the userspace response to this changing?
>>>>>
>>>>> In case N900 would have more bq27xxx batteries, then yes. But N900
>>>>> has exactly *one* bq27200 battery, so there is no IDR problem.
>>>>
>>>> Right, but if IDR returns 42 instead of 0 would this then break its
>>>> userspace software?
>>>
>>> I think it is insane to starts generating random numbers for IDR... Hard
>>> to decide what happen if such situation occur...
>>>
>>
>> That's kind of what I'm looking for though, if the userspace break is
>> caused by software relying on the battery to be named "bq27200-0", then
>> nothing short of hard-coding this exact name will 100% safely fix the
>> N900 userspace software. And so using IDR and hoping it gives 0 is just
>> a hacky work-around way of just naming the device "bq27200-0".
>
> N900 userspace is not intended to be portable. (And actually current
> kernel support does not allow writing portable userspace for a
> phone. It presents _3_ power supplies to userspace. How is userspace
> expected to deal with that?)
>
> And if you ever name the single battery bq27200-42 or bq27200-1337,
> you'll have a flock of angry penguins at your doorstep.
>
haha, wouldn't want that.
That's what I'm trying to prevent here. Right now n900 userspace looks
for "bq27200-0" and *only* that, but the 0 does not necessarily mean it
is the first battery, it doesn't mean anything, we could have it mean
the first bq27x battery if we keep a count, right now we though we
depend on IDR behavior, which does not make any order guarantee.
Really we are abusing IDR, which is meant to return a unique ID that we
can use to fetch an associated pointer, but we don't do that, we are
just using it as a number generator, and that number needs to be zero.
Looking at the code you posted it looks like "n900-battery" was renamed
to "rx51-battery", I think this would be the correct fix here for the
bq27x batteries, there is only one of each so just dropping the "-0" and
looking for "bq27200" should fix all this.
Or we could always call the battery "bq27200-0" and not use IDR to
generate the number zero for us :)
Thanks,
Andrew
> Best regards,
> Pavel
>
next prev parent reply other threads:[~2016-05-23 15:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-18 16:58 Should 9aafabc7fece be reverted? Andrew F. Davis
2016-05-19 6:44 ` Ivaylo Dimitrov
2016-05-19 9:17 ` Pali Rohár
2016-05-19 9:34 ` Ivaylo Dimitrov
2016-05-19 15:38 ` Andrew F. Davis
2016-05-19 15:44 ` Pali Rohár
2016-05-19 15:48 ` Andrew F. Davis
2016-05-19 15:51 ` Pali Rohár
2016-05-19 15:57 ` Andrew F. Davis
2016-05-19 16:06 ` Pali Rohár
2016-05-19 16:11 ` Andrew F. Davis
2016-05-19 16:18 ` Pali Rohár
2016-05-19 16:46 ` Andrew F. Davis
2016-05-20 9:29 ` Pavel Machek
2016-05-23 15:55 ` Andrew F. Davis [this message]
2016-05-23 16:10 ` Pali Rohár
2016-05-23 16:29 ` Andrew F. Davis
2016-05-20 9:34 ` Pavel Machek
2016-05-20 10:35 ` Pali Rohár
2016-05-23 16:05 ` Andrew F. Davis
2016-05-20 9:22 ` Pavel Machek
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=57432805.6000108@ti.com \
--to=afd@ti.com \
--cc=dbaryshkov@gmail.com \
--cc=dwmw2@infradead.org \
--cc=ivo.g.dimitrov.75@gmail.com \
--cc=linux-pm@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=pavel@ucw.cz \
--cc=sre@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.