firewire: refactor fw_unit reference counting
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Sun, 24 Feb 2008 18:01:21 +0000 (19:01 +0100)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Fri, 18 Apr 2008 15:55:32 +0000 (17:55 +0200)
Add wrappers for getting and putting a unit.
Remove some line breaks.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Jarod Wilson <jwilson@redhat.com>
drivers/firewire/fw-device.h
drivers/firewire/fw-sbp2.c

index 78ecd3991b7f230ac83aa07ac6ef47e98dbcf310..0d771fda86de76460005053b526d1264d9c15d26 100644 (file)
@@ -64,28 +64,24 @@ struct fw_device {
        struct fw_attribute_group attribute_group;
 };
 
-static inline struct fw_device *
-fw_device(struct device *dev)
+static inline struct fw_device *fw_device(struct device *dev)
 {
        return container_of(dev, struct fw_device, device);
 }
 
-static inline int
-fw_device_is_shutdown(struct fw_device *device)
+static inline int fw_device_is_shutdown(struct fw_device *device)
 {
        return atomic_read(&device->state) == FW_DEVICE_SHUTDOWN;
 }
 
-static inline struct fw_device *
-fw_device_get(struct fw_device *device)
+static inline struct fw_device *fw_device_get(struct fw_device *device)
 {
        get_device(&device->device);
 
        return device;
 }
 
-static inline void
-fw_device_put(struct fw_device *device)
+static inline void fw_device_put(struct fw_device *device)
 {
        put_device(&device->device);
 }
@@ -104,12 +100,23 @@ struct fw_unit {
        struct fw_attribute_group attribute_group;
 };
 
-static inline struct fw_unit *
-fw_unit(struct device *dev)
+static inline struct fw_unit *fw_unit(struct device *dev)
 {
        return container_of(dev, struct fw_unit, device);
 }
 
+static inline struct fw_unit *fw_unit_get(struct fw_unit *unit)
+{
+       get_device(&unit->device);
+
+       return unit;
+}
+
+static inline void fw_unit_put(struct fw_unit *unit)
+{
+       put_device(&unit->device);
+}
+
 #define CSR_OFFSET     0x40
 #define CSR_LEAF       0x80
 #define CSR_DIRECTORY  0xc0
index 8fff18e05000819bc9b4614bec90698b73506387..c7aba5cff5d28b759d0b7cf4653e322feab276b0 100644 (file)
@@ -796,7 +796,7 @@ static void sbp2_release_target(struct kref *kref)
        scsi_remove_host(shost);
        fw_notify("released %s\n", tgt->bus_id);
 
-       put_device(&tgt->unit->device);
+       fw_unit_put(tgt->unit);
        scsi_host_put(shost);
        fw_device_put(device);
 }
@@ -1119,7 +1119,7 @@ static int sbp2_probe(struct device *dev)
                goto fail_shost_put;
 
        fw_device_get(device);
-       get_device(&unit->device);
+       fw_unit_get(unit);
 
        /* Initialize to values that won't match anything in our table. */
        firmware_revision = 0xff000000;