Re: [RFC] Staging:IIO: New ABI

From: Kay Sievers
Date: Wed Jan 20 2010 - 12:15:22 EST


On Wed, Jan 20, 2010 at 17:53, Jonathan Cameron
<kernel@xxxxxxxxxxxxxxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/