mirror of
https://github.com/torvalds/linux
synced 2024-09-21 03:28:37 +00:00
mtip32xx: Convert to new IDA API
Removes a use of ida_pre_get() and a personalised spinlock. Signed-off-by: Matthew Wilcox <willy@infradead.org> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
This commit is contained in:
parent
5ade60dda4
commit
3aed4bc1e5
|
@ -118,7 +118,6 @@ static struct dentry *dfs_device_status;
|
|||
|
||||
static u32 cpu_use[NR_CPUS];
|
||||
|
||||
static DEFINE_SPINLOCK(rssd_index_lock);
|
||||
static DEFINE_IDA(rssd_index_ida);
|
||||
|
||||
static int mtip_block_initialize(struct driver_data *dd);
|
||||
|
@ -3768,20 +3767,10 @@ static int mtip_block_initialize(struct driver_data *dd)
|
|||
goto alloc_disk_error;
|
||||
}
|
||||
|
||||
/* Generate the disk name, implemented same as in sd.c */
|
||||
do {
|
||||
if (!ida_pre_get(&rssd_index_ida, GFP_KERNEL)) {
|
||||
rv = -ENOMEM;
|
||||
goto ida_get_error;
|
||||
}
|
||||
|
||||
spin_lock(&rssd_index_lock);
|
||||
rv = ida_get_new(&rssd_index_ida, &index);
|
||||
spin_unlock(&rssd_index_lock);
|
||||
} while (rv == -EAGAIN);
|
||||
|
||||
if (rv)
|
||||
rv = ida_alloc(&rssd_index_ida, GFP_KERNEL);
|
||||
if (rv < 0)
|
||||
goto ida_get_error;
|
||||
index = rv;
|
||||
|
||||
rv = rssd_disk_name_format("rssd",
|
||||
index,
|
||||
|
@ -3923,9 +3912,7 @@ static int mtip_block_initialize(struct driver_data *dd)
|
|||
block_queue_alloc_tag_error:
|
||||
mtip_hw_debugfs_exit(dd);
|
||||
disk_index_error:
|
||||
spin_lock(&rssd_index_lock);
|
||||
ida_remove(&rssd_index_ida, index);
|
||||
spin_unlock(&rssd_index_lock);
|
||||
ida_free(&rssd_index_ida, index);
|
||||
|
||||
ida_get_error:
|
||||
put_disk(dd->disk);
|
||||
|
@ -4013,9 +4000,7 @@ static int mtip_block_remove(struct driver_data *dd)
|
|||
}
|
||||
dd->disk = NULL;
|
||||
|
||||
spin_lock(&rssd_index_lock);
|
||||
ida_remove(&rssd_index_ida, dd->index);
|
||||
spin_unlock(&rssd_index_lock);
|
||||
ida_free(&rssd_index_ida, dd->index);
|
||||
|
||||
/* De-initialize the protocol layer. */
|
||||
mtip_hw_exit(dd);
|
||||
|
@ -4055,9 +4040,7 @@ static int mtip_block_shutdown(struct driver_data *dd)
|
|||
dd->queue = NULL;
|
||||
}
|
||||
|
||||
spin_lock(&rssd_index_lock);
|
||||
ida_remove(&rssd_index_ida, dd->index);
|
||||
spin_unlock(&rssd_index_lock);
|
||||
ida_free(&rssd_index_ida, dd->index);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue