Hello, I've run into a situation where I need to export driver-hidden information to sysfs. This information is specific to a transport (e.g., Parallel SCSI or Fiber Channel) and, in general, the kernel doesn't use this information so it is not available outside the HBA driver. Attached is a patch that attempts to provide a means to export this information to sysfs. It introduces a new class for the scsi_device's transport and provides facilities to export class_device_attributes. A few suggestions that James Bottomley has already given are below, but I thought that it was time that others saw this and could give their suggestions too. Thanks. mh. James' suggestions: - Separate the transports out into two separate .c files (so they can be loaded as modules). This also plays in to future work I'm thinking about: make the error handler more transport specific. - Then, the class register/unregister can be done in the module_init/exit routines - Probably move all the show/store routines in .h files so they can be used equally for fc and parallel - This switch on ttype (and the enum transport_type) in scsi_add_transport_attributes is not scaleable. I think a better solution might be to have a struct scsi_transport which has the class device and a pointer to the overridden attribute. Then, this is the thing pointed to in the scsi host structure (and it can contain the attributes, the class and a pointer to the default attributes, so most of the trying to find the defaults code goes away). -- Martin Hicks Wild Open Source Inc. mort@wildopensource.com 613-266-2296