Re: BUG(?): class_device_driver_link()

From: James Bottomley
Date: Fri Jun 18 2004 - 22:32:37 EST


On Fri, 2004-06-18 at 19:03, Greg KH wrote:
> Again, the driver owns the class device. scsi has something wrong
> again. Time to stop avoiding everyone at work...

Well, the SCSI model for using these things isn't exactly the same as a
more standard entity like a PCI device.

For every SCSI device the mid-layer scans, we allocate a generic device.

We have various drivers in the driver model corresponding to our Upper
Layer Drivers (disc[sd] tape[st] etc), although there are SCSI devices
(like processors) that will get no driver at all bound.

We then use classes to export *device* interfaces, like one class of all
devices, another for Parallel interface devices, another for Fibre
Channel devices and so on.

We expect the class interface to work whether or not a driver is
present, because the class as we've implemented it is an interface to a
device property, not a driver property (and we also expect the class
interface to span multiple drivers...tapes and discs may all be attached
to a parallel bus, etc).

It sounds like the mismatch is interface on device rather than interface
on driver, but I don't see a way we could make the interface on driver
work for us because we need the interface even if a driver isn't bound.

James


-
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/