summaryrefslogtreecommitdiff
path: root/include/linux/attribute_container.h
AgeCommit message (Collapse)Author
2008-01-23[SCSI] attribute_container: update to use the group interfaceJames Bottomley
This patch is the beginning of moving the attribute_containers to use attribute groups exclusively. The attr element is now deprecated and will eventually be removed (along with all the hand rolled code for doing exactly what attribute groups do) when all the consumers are converted to attribute groups. Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-07-16Remove unnecessary includes of spinlock.h under include/linuxRobert P. J. Day
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>
2005-08-30[SCSI] correct attribute_container list usageJames Bottomley
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>
2005-08-28[SCSI] add missing attribute container function prototypeJames Bottomley
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>
2005-08-14[SCSI] correct transport class abstraction to work outside SCSIJames Bottomley
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>
2005-01-31Fix missed class_remove_file in attribute_containerJames Bottomley
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>
2005-01-17Add attribute container to generic device modelJames Bottomley
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>