On Wed, 2010-03-31 at 07:51 +0200, Kay Sievers wrote:
[...]
block vs class/block is arguable, but as for abstracting the difference
between bus and class... why?
Each bus defines a device interface covering enumeration,
identification, power management and various aspects of their connection
to the host. This interface is implemented by the bus driver.
Each class defines a device interface covering functionality provided to
user-space or higher level kernel components (block interface to
filesystems, net driver interface to the networking core, etc). This
interface is implemented by multiple device-specific drivers.
So while buses and classes both define device interfaces, they are
fundamentally different types of interface. And there are 'subsystems'
that don't have devices at all (time, RCU, perf, ...). If you're going
to expose the set of subsystems, don't they belong in there? But then,
what would you put in their directories?
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.