[PATCH] allow struct bin_attributes in class devices

From: Jesse Barnes
Date: Tue Dec 21 2004 - 19:23:22 EST


This small patch adds routines to create and remove bin_attribute files for
class devices. One intended use is for binary files corresponding to PCI
busses, like bus legacy I/O ports or ISA memory.

drivers/base/class.c | 16 ++++++++++++++++
include/linux/device.h | 5 ++++-
2 files changed, 20 insertions(+), 1 deletion(-)

Signed-off-by: Jesse Barnes <jbarnes@xxxxxxx>

Thanks,
Jesse
===== drivers/base/class.c 1.56 vs edited =====
--- 1.56/drivers/base/class.c 2004-11-12 03:45:39 -08:00
+++ edited/drivers/base/class.c 2004-12-21 13:59:00 -08:00
@@ -179,6 +179,22 @@
sysfs_remove_file(&class_dev->kobj, &attr->attr);
}

+int class_device_create_bin_file(struct class_device *class_dev,
+ struct bin_attribute *attr)
+{
+ int error = -EINVAL;
+ if (class_dev)
+ error = sysfs_create_bin_file(&class_dev->kobj, attr);
+ return error;
+}
+
+void class_device_remove_bin_file(struct class_device *class_dev,
+ struct bin_attribute *attr)
+{
+ if (class_dev)
+ sysfs_remove_bin_file(&class_dev->kobj, attr);
+}
+
static int class_device_dev_link(struct class_device * class_dev)
{
if (class_dev->dev)
===== include/linux/device.h 1.133 vs edited =====
--- 1.133/include/linux/device.h 2004-12-08 15:22:36 -08:00
+++ edited/include/linux/device.h 2004-12-21 16:16:06 -08:00
@@ -228,7 +228,10 @@
const struct class_device_attribute *);
extern void class_device_remove_file(struct class_device *,
const struct class_device_attribute *);
-
+extern int class_device_create_bin_file(struct class_device *,
+ struct bin_attribute *);
+extern void class_device_remove_bin_file(struct class_device *,
+ struct bin_attribute *);

struct class_interface {
struct list_head node;