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

  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).