From: Marijn Suijten <marijn.suijten@somainline.org>
To: Jonathan Cameron <jic23@kernel.org>
Cc: phone-devel@vger.kernel.org,
~postmarketos/upstreaming@lists.sr.ht,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@somainline.org>,
"Konrad Dybcio" <konrad.dybcio@somainline.org>,
"Martin Botka" <martin.botka@somainline.org>,
"Jami Kettunen" <jami.kettunen@somainline.org>,
"Andy Gross" <agross@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
"Lars-Peter Clausen" <lars@metafoo.de>,
"Nuno Sá" <nuno.sa@analog.com>, "Luca Weiss" <luca@z3ntu.xyz>,
linux-arm-msm@vger.kernel.org, linux-iio@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>
Subject: Re: [RFC PATCH] iio: adc: qcom-spmi-vadc: Propagate fw node name/label to extend_name
Date: Mon, 16 Jan 2023 22:18:46 +0100 [thread overview]
Message-ID: <20230116211846.qe52ysw53qswvogw@SoMainline.org> (raw)
In-Reply-To: <20221223174445.7c607ebc@jic23-huawei>
On 2022-12-23 17:44:45, Jonathan Cameron wrote:
<snip>
> > As in, as long as we don't touch extend_name which would affect sysfs
> > names, changing the label returned by read_label is fine?
>
> Sticky corner, but I think we should be fine doing so on basis of changing
> ABI we don't think anyone will notice. In lots of cases the label is effected
> by DTS files that may change under the kernel anyway so hopefully no one is
> relying on the value too much *crossed fingers*
Not sure I'd go as far as implementing read_label in adc5 (just queued
that up locally for vadc though and it's simple) only to get around
extend_name, but we could do so. That still leaves @xx in the filename
and makes for general inconsistency when read_label (returned label name
from sysfs) and extend_name (filename in sysfs) use different codepaths
to determine their value.
> > And changing
> > datasheet_name to only ever use the datasheet_name provided by the
> > driver and never the name provided in DTS is also okay?
>
> datasheet_name is internal to kernel only so can definitely change that
> as long as we don't have any upstream users (I'm fairly sure there aren't any)
Ack, queued up for RFC v2.
> > I am unfortunately completely unfamiliar with iio_map, and hope it
> > doesn't distract too much from trying to add label files to QCom's SPMI
> > VADC driver :)
>
> Just think of it as the board file way of doing equivalent of what we have
> to set up IIO consumers in DT. It's also used in driver that hard code
> relationships with their consumers - not including this one so we should
> be fine.
Guess QCOM is all DT, so this shouldn't matter.
<snip>
> > > Ok. May make sense to use the datasheet name if noting better provided
> > > for the label. Assuming the datasheet names are them selves somewhat
> > > useful information for a user.
> >
> > They're generated from the macro (hence capitalized) in VADC, manually
> > written in ADC5. Would it make sense to add handwritten string
> > literals for this?
>
> Not sure. I've rather lost track of where we are on this.
I'll send a v2 RFC shortly with what we've accumulated thus far, and
will make sure to mention this. In short, in qcom-spmi-vadc.c there is:
.datasheet_name = __stringify(_dname),
Which gives us a full-caps DIE_TEMP, for example, instead of a more
friendly "die_temp" string literal in qcom-spmi-adc5.c. Not a
requirement for my patches, this should all go in separate bits.
<snip>
> > Feed into read_label when no label was otherwise provided in DTS, but
> > always feed into iio_chan_spec::datasheet_name since we discussed that
> > this should represent the name of the part (e.g. PMIC), not the board
> > and way in which it consumes the channel.
>
> Should be the name of the pin on the part, but otherwise agreed.
Ack, I think that's what we have in the qcom-spmi-vadc/adc5 drivers
currently.
<snip>
> I hate it when we break ABI and don't notice, precisely because it then
> becomes guessing game on which one people might be relying on.
>
> Let's take the view it is the older one without the @xx?
> So strip that off as a fix that we backport.
I was intending to send a patch that falls back to
adc5_channels::datasheet_name when no label is supplied (and ignoring
fwnode_name for use in extend_name altogether) but that's breaking ABI
in a slightly different way... and depends on my "arm64: dts: qcom: Use
labels with generic node names for ADC channels" [1] RFC being resent
and actually landing.
[1]: https://lore.kernel.org/linux-arm-msm/20221209215308.1781047-1-marijn.suijten@somainline.org/
Will probably be shot down but I'll give it a try anyway.
<snip>
> I agree that a cross reference for that 'other' use of extend_name
> would make sense and that it can be overridden. Though the override is
> kind of the common case, if you are looking at extend_name docs you
> are presumably in the case where such docs would help.
> Patches for docs welcome :)
I'll see what I can add :)
> > Regardless of that VADC/ADC5 do some _really confusing_ things, passing
> > strings around in various weird ways (or not), and it took some time to
> > keep the various similar structs apart :)
>
> I'm feeling a bit guilty I never noticed this insanity at the time.
> I blame my younger self.
Don't worry, we live and learn; just ABI (for something I doubt anyone
uses / cares about...) biting us every once in a while.
> Have a good break if you are having one.
Hope you had a good one; mine was filled with hardly any free time for
hobbies like the mainline kernel :)
- Marijn
prev parent reply other threads:[~2023-01-16 21:18 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-06 19:30 [RFC PATCH] iio: adc: qcom-spmi-vadc: Propagate fw node name/label to extend_name Marijn Suijten
2022-11-06 20:24 ` Marijn Suijten
2022-11-12 16:27 ` Jonathan Cameron
2022-11-30 20:54 ` Marijn Suijten
2022-12-03 17:06 ` Jonathan Cameron
2022-12-21 22:34 ` Marijn Suijten
2022-12-23 17:44 ` Jonathan Cameron
2023-01-16 21:18 ` Marijn Suijten [this message]
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=20230116211846.qe52ysw53qswvogw@SoMainline.org \
--to=marijn.suijten@somainline.org \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=angelogioacchino.delregno@somainline.org \
--cc=jami.kettunen@somainline.org \
--cc=jic23@kernel.org \
--cc=konrad.dybcio@somainline.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=lars@metafoo.de \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luca@z3ntu.xyz \
--cc=martin.botka@somainline.org \
--cc=nuno.sa@analog.com \
--cc=phone-devel@vger.kernel.org \
--cc=~postmarketos/upstreaming@lists.sr.ht \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox