From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: Guenter Roeck <linux@roeck-us.net>,
Dustin Byford <dustin@cumulusnetworks.com>
Cc: Wolfram Sang <wsa@the-dreams.de>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
jdelvare@suse.com, lm-sensors@lm-sensors.org, rjw@rjwysocki.net,
linux-acpi@vger.kernel.org
Subject: Re: [RFC 0/1] i2c: acpi: revert setting a "stable" device name
Date: Mon, 17 Aug 2015 11:00:12 +0300 [thread overview]
Message-ID: <55D1948C.6080501@linux.intel.com> (raw)
In-Reply-To: <20150815151302.GA10020@roeck-us.net>
On 15.08.2015 18:13, Guenter Roeck wrote:
> On Fri, Aug 14, 2015 at 12:37:13PM -0700, Dustin Byford wrote:
>> 70762ab from 11/2014 (i2c: Use stable dev_name for ACPI enumerated I2C
>> slaves) modified the sysfs-visible dev_name() for ACPI enumerated I2C
>> devices. With that change, /sys/bus/i2c/devices/i2c-0-004a, for
>> example, became /sys/bus/i2c/devices/i2c-PNPXXXX:xx
>>
>> That causes problems for userspace code such as 'sensors' which does
>> this:
>>
>> lib/sysfs.c:665:
>> if ((!subsys || !strcmp(subsys, "i2c")) &&
>> sscanf(dev_name, "%hd-%x", &entry.chip.bus.nr,
>> &entry.chip.addr) == 2) {
>> ...
>>
>> Therefore, in theory, sensors that were previously visible by running
>> 'sensors' no longer show up. On the other hand, there are probably few,
>> if any, cases of this because ACPI enumerated I2C hwmon devices are not
>> common.
>>
>> I'm not defending the 'sensors' code, I'm sure there are better ways to
>> discover a hwmon I2C device from userspace. But, I'm also not sure
>
> Is it necessary to defend user space applications nowadays if a kernel change
> breaks a well established ABI ? WHat happened to "Thou Shalt Not Break
> Userspace" ?
>
> I absolutely agree that i2c bus renumbering across reboots is a problem.
> However, it seems to me that 70762ab doesn't solve that problem, it just
> paints it over. And, as you have noticed, it introduces new problems along
> the way.
>
This indeed is unwanted and needs to be fixed. Looking at the
lib/sysfs.c also SPI chip detection breaks because of commit
e13ac47bec20 ("spi: Use stable dev_name for ACPI enumerated SPI slaves").
However plain revert won't work as it breaks those ALSA SoC drivers that
depend on this. Good thing is that matching there is purely kernel space
and at quick look "git grep '"i2c-.*:[0-9]'" and "git grep
'"spi-.*:[0-9]'" don't find other in-kernel users.
>> 70762ab achieved its stated goal in a meaningful way. Won't
>> "i2c-<acpi_dev_name>" also vary with ACPI scan order, BIOS settings,
>> firmware upgrades, etc...?
>>
If I remember correctly ACPI ID should not ever change and instance id
:xy after INTABCD:xy should also be visible and keep the order even if
device is disabled or not plugged. But I'm not absolute sure about this.
At least on a test platform that allow disable devices will show those
devices off-line (/sys/bus/acpi/devices/INTABCD:xy/status == 0).
--
Jarkko
next prev parent reply other threads:[~2015-08-17 8:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-14 19:37 [RFC 0/1] i2c: acpi: revert setting a "stable" device name Dustin Byford
2015-08-14 19:37 ` [RFC 1/1] " Dustin Byford
2015-08-15 15:13 ` [RFC 0/1] " Guenter Roeck
2015-08-17 8:00 ` Jarkko Nikula [this message]
[not found] ` <55D1948C.6080501-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2015-08-25 5:03 ` Dustin Byford
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=55D1948C.6080501@linux.intel.com \
--to=jarkko.nikula@linux.intel.com \
--cc=dustin@cumulusnetworks.com \
--cc=jdelvare@suse.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=lm-sensors@lm-sensors.org \
--cc=rjw@rjwysocki.net \
--cc=wsa@the-dreams.de \
/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;
as well as URLs for NNTP newsgroup(s).