From: Matthew Wilcox Date: Mon, 18 Feb 2019 21:15:02 +0000 (-0500) Subject: power: Convert bq27xxx_battery to IDA X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=21076e97822fd8b3cba27d531ad0da5b294a5e6e;p=users%2Fwilly%2Fxarray.git power: Convert bq27xxx_battery to IDA Signed-off-by: Matthew Wilcox --- diff --git a/drivers/power/supply/bq27xxx_battery_i2c.c b/drivers/power/supply/bq27xxx_battery_i2c.c index 2677c38a8a42..e5e768e12ace 100644 --- a/drivers/power/supply/bq27xxx_battery_i2c.c +++ b/drivers/power/supply/bq27xxx_battery_i2c.c @@ -15,14 +15,14 @@ */ #include +#include #include #include #include #include -static DEFINE_IDR(battery_id); -static DEFINE_MUTEX(battery_mutex); +static DEFINE_IDA(battery_ids); static irqreturn_t bq27xxx_battery_irq_handler_thread(int irq, void *data) { @@ -153,9 +153,7 @@ static int bq27xxx_battery_i2c_probe(struct i2c_client *client, int num; /* Get new ID for the new battery device */ - mutex_lock(&battery_mutex); - num = idr_alloc(&battery_id, client, 0, 0, GFP_KERNEL); - mutex_unlock(&battery_mutex); + num = ida_alloc(&battery_ids, GFP_KERNEL); if (num < 0) return num; @@ -205,9 +203,7 @@ err_mem: ret = -ENOMEM; err_failed: - mutex_lock(&battery_mutex); - idr_remove(&battery_id, num); - mutex_unlock(&battery_mutex); + ida_free(&battery_ids, num); return ret; } @@ -218,9 +214,7 @@ static int bq27xxx_battery_i2c_remove(struct i2c_client *client) bq27xxx_battery_teardown(di); - mutex_lock(&battery_mutex); - idr_remove(&battery_id, di->id); - mutex_unlock(&battery_mutex); + ida_free(&battery_ids, di->id); return 0; }