LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jean Delvare <khali@linux-fr.org>
To: Greg KH <gregkh@suse.de>
Cc: markus.rechberger@amd.com,
"Matt_Domsch@dell.com" <Matt_Domsch@dell.com>,
Jos?? Luis Tall??n <jltallon@adv-solutions.net>,
"Douglas_Warzecha@dell.com" <Douglas_Warzecha@dell.com>,
"Abhay_Salunke@dell.com" <Abhay_Salunke@dell.com>,
linux-kernel@vger.kernel.org,
Michael E Brown <Michael_E_Brown@dell.com>,
Kay Sievers <kay.sievers@vrfy.org>
Subject: Re: 2.6.24 breaks BIOS updates on all Dell machines
Date: Wed, 6 Feb 2008 14:20:23 +0100 [thread overview]
Message-ID: <20080206142023.743657c2@hyperion.delvare> (raw)
In-Reply-To: <20080205234413.GA9386@suse.de>
On Tue, 5 Feb 2008 15:44:13 -0800, Greg KH wrote:
> On Tue, Feb 05, 2008 at 09:16:42PM +0100, Jean Delvare wrote:
> > This is 2.6.24, CONFIG_SYSFS_DEPRECATED=y:
> >
> > # ls -l /sys/class/i2c-adapter/i2c-0
> > total 0
> > lrwxrwxrwx 1 root root 0 f?v 5 18:07 device -> ../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0
> > lrwxrwxrwx 1 root root 0 f?v 5 18:17 i2c-dev:i2c-0 -> ../../../class/i2c-dev/i2c-0
> > -r--r--r-- 1 root root 4096 f?v 5 18:07 name
> > drwxr-xr-x 2 root root 0 f?v 5 18:17 power
> > lrwxrwxrwx 1 root root 0 f?v 5 18:07 subsystem -> ../../../class/i2c-adapter
> > -rw-r--r-- 1 root root 4096 f?v 5 2008 uevent
> >
> > 2.6.24 rebuilt without CONFIG_SYSFS_DEPRECATED:
> >
> > # ls -l /sys/class/i2c-adapter/i2c-0/
> > total 0
> > lrwxrwxrwx 1 root root 0 f?v 5 18:42 device -> ../../../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0
> > drwxr-xr-x 3 root root 0 f?v 5 18:42 i2c-0
> > -r--r--r-- 1 root root 4096 f?v 5 18:31 name
> > drwxr-xr-x 2 root root 0 f?v 5 18:42 power
> > lrwxrwxrwx 1 root root 0 f?v 5 18:31 subsystem -> ../../../../../../class/i2c-adapter
> > -rw-r--r-- 1 root root 4096 f?v 5 2008 uevent
> >
> > The latter corresponds to what older kernels had ("i2c-0"). This means
> > that enabling CONFIG_SYSFS_DEPRECATED causes the i2c-dev class device
> > names to change.
>
> Yes. Well, no, not really. The class device names are the same, it's
> just that it is a symlink in the DEPRECATED=Y name and a real directory
> in the =N case.
>
> > Isn't it supposed to be exactly the other way around, i.e. enabling
> > CONFIG_SYSFS_DEPRECATED should preserve the names as they were in
> > older kernels?
>
> The real name is the same (look above, it's really called "i2c-0" in
> both cases, just that the symlink in the =Y case has to have a different
> name to handle the fact that there could be duplicate names in this
> format.
>
> Does that help?
Not really. Why is =Y supposed to be a factor for duplicate names? The
exact same collision can happen in the =N case. This is exactly the
problem Markus and myself tried to address with
109f0e93b6b728f03c1eb4af02bc25d71b646c59. The i2c-dev class names its
class devices i2c-%d, and the firmware class as well (for i2c devices).
If 109f0e93b6b728f03c1eb4af02bc25d71b646c59 is going to be reverted,
then we will see the same collision again, but only for DEPRECATED=N.
That's rather confusing.
To add to the confusion, it seems that, in some cases, the potential
name collision is addressed by inserting a directory (named after the
class name) between the parent device and the class device. For example:
/sys/bus/pci/devices/0000:00:11.0/i2c-adapter/i2c-0
0000:00:11.0 is the PCI device, i2c-0 is the class device and
i2c-adapter is the class name.
So why isn't it done in all cases? This would solve the problem, as the
colliding class devices would finally get their own namespace:
/sys/bus/pci/devices/0000:00:11.0/i2c-adapter/i2c-0/i2c-dev/i2c-0
/sys/bus/pci/devices/0000:00:11.0/i2c-adapter/i2c-0/firmware/i2c-0
> It's really to keep older programs still work properly. The =N case is
> what you should pay attention to for all modern distros.
Unfortunately the =N case is the one that will break when you revert
109f0e93b6b728f03c1eb4af02bc25d71b646c59.
--
Jean Delvare
next prev parent reply other threads:[~2008-02-06 13:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E9909A75A543064DB66E55B8E3BE41EC5FD218@ausx3mps307.aus.amer.dell.com>
2008-01-29 14:59 ` FW: " Markus Rechberger
2008-01-29 18:41 ` Greg KH
2008-01-29 22:15 ` Jean Delvare
2008-02-05 6:45 ` Greg KH
2008-02-05 20:16 ` Jean Delvare
2008-02-05 23:44 ` Greg KH
2008-02-06 13:20 ` Jean Delvare [this message]
2008-01-29 19:04 ` FW: " Sytse Wielinga
[not found] ` <20080129190924.GB8786@humbolt.us.dell.com>
2008-02-03 14:02 ` Jean Delvare
[not found] ` <20080204155834.GA32437@humbolt.us.dell.com>
2008-02-05 16:25 ` Jean Delvare
[not found] <20080129063244.GA19076@humbolt.us.dell.com>
2008-01-29 6:44 ` Greg KH
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=20080206142023.743657c2@hyperion.delvare \
--to=khali@linux-fr.org \
--cc=Abhay_Salunke@dell.com \
--cc=Douglas_Warzecha@dell.com \
--cc=Matt_Domsch@dell.com \
--cc=Michael_E_Brown@dell.com \
--cc=gregkh@suse.de \
--cc=jltallon@adv-solutions.net \
--cc=kay.sievers@vrfy.org \
--cc=linux-kernel@vger.kernel.org \
--cc=markus.rechberger@amd.com \
--subject='Re: 2.6.24 breaks BIOS updates on all Dell machines' \
/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
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).