From: Greg Kroah-Hartman <[email protected]> Makes it easier for devices to create and remove binary attribute files so they don't have to call directly into sysfs. This is needed to help with the conversion from struct class_device to struct device. Signed-off-by: Greg Kroah-Hartman <[email protected]> --- drivers/base/core.c | 26 ++++++++++++++++++++++++++ include/linux/device.h | 4 ++++ 2 files changed, 30 insertions(+), 0 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c index 1d3d358..bc9f35c 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -319,6 +319,32 @@ void device_remove_file(struct device * } } +/** + * device_create_bin_file - create sysfs binary attribute file for device. + * @dev: device. + * @attr: device binary attribute descriptor. + */ +int device_create_bin_file(struct device *dev, struct bin_attribute *attr) +{ + int error = -EINVAL; + if (dev) + error = sysfs_create_bin_file(&dev->kobj, attr); + return error; +} +EXPORT_SYMBOL_GPL(device_create_bin_file); + +/** + * device_remove_bin_file - remove sysfs binary attribute file + * @dev: device. + * @attr: device binary attribute descriptor. + */ +void device_remove_bin_file(struct device *dev, struct bin_attribute *attr) +{ + if (dev) + sysfs_remove_bin_file(&dev->kobj, attr); +} +EXPORT_SYMBOL_GPL(device_remove_bin_file); + static void klist_children_get(struct klist_node *n) { struct device *dev = container_of(n, struct device, knode_parent); diff --git a/include/linux/device.h b/include/linux/device.h index e0fae0e..7d447d7 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -309,6 +309,10 @@ struct device_attribute dev_attr_##_name extern int device_create_file(struct device *device, struct device_attribute * entry); extern void device_remove_file(struct device * dev, struct device_attribute * attr); +extern int __must_check device_create_bin_file(struct device *dev, + struct bin_attribute *attr); +extern void device_remove_bin_file(struct device *dev, + struct bin_attribute *attr); struct device { struct klist klist_children; struct klist_node knode_parent; /* node in sibling list */ -- 1.4.2.1 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Follow-Ups:
- [PATCH 33/47] kobject: must_check fixes
- From: Greg KH <[email protected]>
- [PATCH 33/47] kobject: must_check fixes
- References:
- [GIT PATCH] Driver Core patches for 2.6.18
- From: Greg KH <[email protected]>
- [PATCH 1/47] Documentation/ABI: devfs is not obsolete, but removed!
- From: Greg KH <[email protected]>
- [PATCH 2/47] deprecate PHYSDEV* keys
- From: Greg KH <[email protected]>
- [PATCH 3/47] class_device_create(): make fmt argument 'const char *'
- From: Greg KH <[email protected]>
- [PATCH 4/47] device_create(): make fmt argument 'const char *'
- From: Greg KH <[email protected]>
- [PATCH 5/47] Driver core: add const to class_create
- From: Greg KH <[email protected]>
- [PATCH 6/47] sysfs: Make poll behaviour consistent
- From: Greg KH <[email protected]>
- [PATCH 7/47] Debugfs: kernel-doc fixes for debugfs
- From: Greg KH <[email protected]>
- [PATCH 8/47] SYSFS: allow sysfs_create_link to create symlinks in the root of sysfs
- From: Greg KH <[email protected]>
- [PATCH 9/47] Suspend infrastructure cleanup and extension
- From: Greg KH <[email protected]>
- [PATCH 10/47] Suspend changes for PCI core
- From: Greg KH <[email protected]>
- [PATCH 11/47] make suspend quieter
- From: Greg KH <[email protected]>
- [PATCH 12/47] fix broken/dubious driver suspend() methods
- From: Greg KH <[email protected]>
- [PATCH 13/47] PM: define PM_EVENT_PRETHAW
- From: Greg KH <[email protected]>
- [PATCH 14/47] PM: PCI and IDE handle PM_EVENT_PRETHAW
- From: Greg KH <[email protected]>
- [PATCH 15/47] PM: video drivers and PM_EVENT_PRETHAW
- From: Greg KH <[email protected]>
- [PATCH 16/47] PM: USB HCDs use PM_EVENT_PRETHAW
- From: Greg KH <[email protected]>
- [PATCH 17/47] PM: issue PM_EVENT_PRETHAW
- From: Greg KH <[email protected]>
- [PATCH 18/47] updated Documentation/power/devices.txt
- From: Greg KH <[email protected]>
- [PATCH 19/47] PM: update docs for writing .../power/state
- From: Greg KH <[email protected]>
- [PATCH 20/47] PM: add kconfig option for deprecated .../power/state files
- From: Greg KH <[email protected]>
- [PATCH 22/47] PM: no suspend_prepare() phase
- From: Greg KH <[email protected]>
- [PATCH 23/47] PM: add /sys/power documentation to Documentation/ABI
- From: Greg KH <[email protected]>
- [PATCH 24/47] PM: device_suspend/resume may sleep
- From: Greg KH <[email protected]>
- [PATCH 25/47] PM: platform_bus and late_suspend/early_resume
- From: Greg KH <[email protected]>
- [PATCH 26/47] Driver core: add groups support to struct device
- From: Greg KH <[email protected]>
- [PATCH 27/47] Driver core: allow devices in classes to have no parent
- From: Greg KH <[email protected]>
- [PATCH 28/47] Driver core: add ability for classes to handle devices properly
- From: Greg KH <[email protected]>
- [PATCH 29/47] Driver core: add device_rename function
- From: Greg KH <[email protected]>
- [PATCH 30/47] Driver core: create devices/virtual/ tree
- From: Greg KH <[email protected]>
- [PATCH 31/47] Class: add support for class interfaces for devices
- From: Greg KH <[email protected]>
- [GIT PATCH] Driver Core patches for 2.6.18
- Prev by Date: [PATCH 39/47] v4l-dev2: handle __must_check
- Next by Date: [PATCH 15/47] PM: video drivers and PM_EVENT_PRETHAW
- Previous by thread: [PATCH 31/47] Class: add support for class interfaces for devices
- Next by thread: [PATCH 33/47] kobject: must_check fixes
- Index(es):