Re: Flaw in the driver-model implementation of attributes

From: Alan Stern (stern@rowland.harvard.edu)
Date: Mon Jun 16 2003 - 16:29:00 EST


On Mon, 16 Jun 2003, Patrick Mochel wrote:

> > This doesn't provide any really good place to put device attributes that
> > are owned by the driver. They can't go in
> > /sysfs/class/pcmcia_socket/pcmcia_socket0/device/...
> > because the driver doesn't own the device. They can't go in
> > /sysfs/class/pcmcia_socket/pcmcia_socket0/driver/...
> > because they aren't attributes of the _driver_, they're attributes of the
> > _device_. And they certainly aren't class attributes.
> >
> > So where would you put them? You'd have to create another subdirectory of
> > /sysfs/class/pcmcia_socket/pcmcia_socket0/
> > owned by the driver. No really good name for this subdirectory spings
> > to mind, and it's still kind of awkward. But doable.
>
> What is wrong with putting them in
>
> /sysfs/class/pcmcia_socket/pcmcia_socket0/
>
> ? The driver owns that object. And, if it is device-specific feature, then
> it is likely related to what class the device belongs to, and is therefore
> relevant for that directory.

Are you sure? Suppose a pcmcia disk drive is plugged in to that socket.
Why is a disk driver going to name its object "pcmcia_socket0"? It must
be the pcmcia socket driver that owns the object, not the disk driver. So
then where does the disk driver put the disk-related attributes? Don't
say in /sys/class/pcmcia_socket/pcmcia_socket0/device/, because the driver
doesn't own that object either.

Anyway, in my case it's a USB device. At the moment /sys/class/usb
doesn't contain anything AFAICT, although no doubt that can be changed.

Greg, what is the current organization of directories for USB buses and
devices? Would it make sense to let each driver register its devices as
/sys/class/usb/bus#/dev#/ ? Would that better be done under /sys/bus/usb
? Or is something else already there? Or should the usb-storage driver,
for example, create its own class?

Alan Stern

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jun 23 2003 - 22:00:19 EST