firewire: Use device->groups for adding device attributes.
We dynamically create an attribute group for the key present on the
device in hand and point device->group to it. This way the device
core adds the sysfs attributes for us as the device is added.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
diff --git a/drivers/firewire/fw-device.h b/drivers/firewire/fw-device.h
index ce47ab9..c167d59 100644
--- a/drivers/firewire/fw-device.h
+++ b/drivers/firewire/fw-device.h
@@ -32,6 +32,12 @@
FW_DEVICE_SHUTDOWN,
};
+struct fw_attribute_group {
+ struct attribute_group *groups[2];
+ struct attribute_group group;
+ struct attribute *attrs[11];
+};
+
struct fw_device {
atomic_t state;
struct fw_node *node;
@@ -45,6 +51,7 @@
size_t config_rom_length;
int config_rom_retries;
struct delayed_work work;
+ struct fw_attribute_group attribute_group;
};
static inline struct fw_device *
@@ -72,6 +79,7 @@
struct fw_unit {
struct device device;
u32 *directory;
+ struct fw_attribute_group attribute_group;
};
static inline struct fw_unit *