Re: [RFC] Staging:IIO: New ABI

Kay Sievers
2010-01-20T17:15:15Z

On Wed, Jan 20, 2010 at 17:53, Jonathan Cameron
<kernel@jic23.retrosnub.co.uk> wrote:
>>> What:                /sys/.../ring_buffer[m]/ring_event[o]/dev
>>> Description:
>>>              Ring buffer m event character device o major:minor numbers.
>>
>> Again, don't bury devices.  Or if you are, use a bus, not a class,
>> that's the wrong classification.
> Cool, I'll look into making the change.  What we really have here
> is a single conceptual device using a pair or character interfaces.  Is a bus
> the right way to handle that?

"bus" and "class" are almost the same regarding the driver core, it
should not make any difference for you. The "class" implementation is
only a very simple case of a "bus" -- just with a pretty much broken
userspace interface. :)

Today, if we would start from scratch, there would be only something
like /sys/subsystem in the layout of today's /sys/bus, and /sys/class,
/sys/bus and /sys/block would not event exist. Tools like udev
intentionally make no difference between them, and do not allow to
distinguish between "class" or "bus". It's just called "susbsystem"
there from the early days on.

The "class" has only a single flat directory in /sys so it can never
be extended with anything custom. No new subsystem should use the
class interface anymore, all should use a "bus". I guess it's time to
document that somewhere. :)

Thanks,
Kay