Commit 1dc3bea7 authored by Stefan Richter's avatar Stefan Richter

firewire: refactor fw_unit reference counting

Add wrappers for getting and putting a unit.
Remove some line breaks.
Signed-off-by: default avatarStefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: default avatarJarod Wilson <jwilson@redhat.com>
parent 7c1fca33
...@@ -64,28 +64,24 @@ struct fw_device { ...@@ -64,28 +64,24 @@ struct fw_device {
struct fw_attribute_group attribute_group; struct fw_attribute_group attribute_group;
}; };
static inline struct fw_device * static inline struct fw_device *fw_device(struct device *dev)
fw_device(struct device *dev)
{ {
return container_of(dev, struct fw_device, device); return container_of(dev, struct fw_device, device);
} }
static inline int static inline int fw_device_is_shutdown(struct fw_device *device)
fw_device_is_shutdown(struct fw_device *device)
{ {
return atomic_read(&device->state) == FW_DEVICE_SHUTDOWN; return atomic_read(&device->state) == FW_DEVICE_SHUTDOWN;
} }
static inline struct fw_device * static inline struct fw_device *fw_device_get(struct fw_device *device)
fw_device_get(struct fw_device *device)
{ {
get_device(&device->device); get_device(&device->device);
return device; return device;
} }
static inline void static inline void fw_device_put(struct fw_device *device)
fw_device_put(struct fw_device *device)
{ {
put_device(&device->device); put_device(&device->device);
} }
...@@ -104,12 +100,23 @@ struct fw_unit { ...@@ -104,12 +100,23 @@ struct fw_unit {
struct fw_attribute_group attribute_group; struct fw_attribute_group attribute_group;
}; };
static inline struct fw_unit * static inline struct fw_unit *fw_unit(struct device *dev)
fw_unit(struct device *dev)
{ {
return container_of(dev, struct fw_unit, device); 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_OFFSET 0x40
#define CSR_LEAF 0x80 #define CSR_LEAF 0x80
#define CSR_DIRECTORY 0xc0 #define CSR_DIRECTORY 0xc0
......
...@@ -796,7 +796,7 @@ static void sbp2_release_target(struct kref *kref) ...@@ -796,7 +796,7 @@ static void sbp2_release_target(struct kref *kref)
scsi_remove_host(shost); scsi_remove_host(shost);
fw_notify("released %s\n", tgt->bus_id); fw_notify("released %s\n", tgt->bus_id);
put_device(&tgt->unit->device); fw_unit_put(tgt->unit);
scsi_host_put(shost); scsi_host_put(shost);
fw_device_put(device); fw_device_put(device);
} }
...@@ -1119,7 +1119,7 @@ static int sbp2_probe(struct device *dev) ...@@ -1119,7 +1119,7 @@ static int sbp2_probe(struct device *dev)
goto fail_shost_put; goto fail_shost_put;
fw_device_get(device); fw_device_get(device);
get_device(&unit->device); fw_unit_get(unit);
/* Initialize to values that won't match anything in our table. */ /* Initialize to values that won't match anything in our table. */
firmware_revision = 0xff000000; firmware_revision = 0xff000000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment