From: Matthew Wilcox Date: Mon, 18 Feb 2019 21:13:37 +0000 (-0500) Subject: power: Convert bq2415x_charger to IDA X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=339c1a9629e9a68980e74207ca92a49781748afd;p=users%2Fwilly%2Fxarray.git power: Convert bq2415x_charger to IDA Signed-off-by: Matthew Wilcox --- diff --git a/drivers/power/supply/bq2415x_charger.c b/drivers/power/supply/bq2415x_charger.c index 532f6e4fcafb..83a72eab0f7a 100644 --- a/drivers/power/supply/bq2415x_charger.c +++ b/drivers/power/supply/bq2415x_charger.c @@ -175,9 +175,8 @@ struct bq2415x_device { }; /* each registered chip must have unique id */ -static DEFINE_IDR(bq2415x_id); +static DEFINE_IDA(bq2415x_ids); -static DEFINE_MUTEX(bq2415x_id_mutex); static DEFINE_MUTEX(bq2415x_timer_mutex); static DEFINE_MUTEX(bq2415x_i2c_mutex); @@ -1539,9 +1538,7 @@ static int bq2415x_probe(struct i2c_client *client, } /* Get new ID for the new device */ - mutex_lock(&bq2415x_id_mutex); - num = idr_alloc(&bq2415x_id, client, 0, 0, GFP_KERNEL); - mutex_unlock(&bq2415x_id_mutex); + num = ida_alloc(&bq2415x_ids, GFP_KERNEL); if (num < 0) return num; @@ -1687,9 +1684,7 @@ error_2: of_node_put(bq->notify_node); kfree(name); error_1: - mutex_lock(&bq2415x_id_mutex); - idr_remove(&bq2415x_id, num); - mutex_unlock(&bq2415x_id_mutex); + ida_free(&bq2415x_ids, num); return ret; } @@ -1708,9 +1703,7 @@ static int bq2415x_remove(struct i2c_client *client) bq2415x_reset_chip(bq); - mutex_lock(&bq2415x_id_mutex); - idr_remove(&bq2415x_id, bq->id); - mutex_unlock(&bq2415x_id_mutex); + ida_free(&bq2415x_ids, bq->id); dev_info(bq->dev, "driver unregistered\n");