| Age | Commit message (Collapse) | Author |
|
Remove the obviously unnecessary includes of <linux/spinlock.h> under the
include/linux/ directory, and fix the couple errors that are introduced as
a result of that.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
One of the changes in the attribute_container code in the scsi-misc tree
was to add a lock to protect the list of devices per container. This,
unfortunately, leads to potential scheduling while atomic problems if
there's a sleep in the function called by a trigger.
The correct solution is to use the kernel klist infrastructure instead
which allows lockless traversal of a list.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
|
attribute_container_classdev_to_container is an exported function of the
attribute_container.c file. However, there's no prototype for it. Now
I actually want to use it, so add one.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
|
I recently tried to construct a totally generic transport class and
found there were certain features missing from the current abstract
transport class. Most notable is that you have to hang the data on the
class_device but most of the API is framed in terms of the generic
device, not the class_device.
These changes are two fold
- Provide the class_device to all of the setup and configure APIs
- Provide and extra API to take the device and the attribute class and
return the corresponding class_device
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
|
This moves attribute addition (and removal) to where it
should have been in the first place, namely in the
attribute_container class.
Without this, the transport classes were leaving dangling
attributes when the devices were removed.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|
|
Attribute containers allows a single device to belong to an arbitrary
number of classes, each with an arbitrary number of attributes.
This will be used as the basis for a generic transport class
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
|