diff options
author | Kristian Høgsberg <krh@redhat.com> | 2007-02-06 14:49:38 -0500 |
---|---|---|
committer | Stefan Richter <stefanr@s5r6.in-berlin.de> | 2007-03-09 22:02:54 +0100 |
commit | bbf19db37e8be3fa6d6fe3e26e50da068b44a0e8 (patch) | |
tree | d324cb9e52aeea485ce1c6293c51800bb4e4deeb | |
parent | 362c2c8ca4a2f33f6e23a85c3b4caf64f1ce4bf9 (diff) |
firewire: Use atomic_t's for serial numbers.
Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Use atomic_inc_return.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
-rw-r--r-- | drivers/firewire/fw-card.c | 4 | ||||
-rw-r--r-- | drivers/firewire/fw-device.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/drivers/firewire/fw-card.c b/drivers/firewire/fw-card.c index f785b100528..3f8661a52ac 100644 --- a/drivers/firewire/fw-card.c +++ b/drivers/firewire/fw-card.c @@ -367,9 +367,9 @@ void fw_card_initialize(struct fw_card *card, const struct fw_card_driver *driver, struct device *device) { - static int index; + static atomic_t index = ATOMIC_INIT(-1); - card->index = index++; + card->index = atomic_inc_return(&index); card->driver = driver; card->device = device; card->current_tlabel = 0; diff --git a/drivers/firewire/fw-device.c b/drivers/firewire/fw-device.c index db7556c4876..df2e9296ad5 100644 --- a/drivers/firewire/fw-device.c +++ b/drivers/firewire/fw-device.c @@ -434,7 +434,7 @@ static void fw_device_shutdown(struct work_struct *work) static void fw_device_init(struct work_struct *work) { - static int serial; + static atomic_t serial = ATOMIC_INIT(-1); struct fw_device *device = container_of(work, struct fw_device, work.work); @@ -460,7 +460,7 @@ static void fw_device_init(struct work_struct *work) device->device.release = fw_device_release; device->device.parent = device->card->device; snprintf(device->device.bus_id, sizeof device->device.bus_id, - "fw%d", serial++); + "fw%d", atomic_inc_return(&serial)); if (alloc_chrdev_region(&device->device.devt, 0, 1, "fw")) { fw_error("Failed to register char device region.\n"); |