Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

power: supply: Use devm_mutex_init()

Use devm_mutex_init() instead of hand-writing it.

This saves some LoC, improves readability and saves some space in the
generated .o file.

As an example:
Before:
======
text data bss dec hex filename
35803 9352 384 45539 b1e3 drivers/power/supply/rt9467-charger.o

After:
=====
text data bss dec hex filename
34792 9008 384 44184 ac98 drivers/power/supply/rt9467-charger.o

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Christophe JAILLET and committed by
Sebastian Reichel
7d715345 3ec60021

+5 -50
+1 -10
drivers/power/supply/bq27xxx_battery.c
··· 2224 2224 mod_delayed_work(system_wq, &di->work, HZ / 2); 2225 2225 } 2226 2226 2227 - static void bq27xxx_battery_mutex_destroy(void *data) 2228 - { 2229 - struct mutex *lock = data; 2230 - 2231 - mutex_destroy(lock); 2232 - } 2233 - 2234 2227 int bq27xxx_battery_setup(struct bq27xxx_device_info *di) 2235 2228 { 2236 2229 struct power_supply_desc *psy_desc; ··· 2235 2242 int ret; 2236 2243 2237 2244 INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll); 2238 - mutex_init(&di->lock); 2239 - ret = devm_add_action_or_reset(di->dev, bq27xxx_battery_mutex_destroy, 2240 - &di->lock); 2245 + ret = devm_mutex_init(di->dev, &di->lock); 2241 2246 if (ret) 2242 2247 return ret; 2243 2248
+1 -10
drivers/power/supply/mt6370-charger.c
··· 761 761 return PTR_ERR_OR_ZERO(priv->psy); 762 762 } 763 763 764 - static void mt6370_chg_destroy_attach_lock(void *data) 765 - { 766 - struct mutex *attach_lock = data; 767 - 768 - mutex_destroy(attach_lock); 769 - } 770 - 771 764 static void mt6370_chg_destroy_wq(void *data) 772 765 { 773 766 struct workqueue_struct *wq = data; ··· 887 894 if (ret) 888 895 return dev_err_probe(dev, ret, "Failed to init psy\n"); 889 896 890 - mutex_init(&priv->attach_lock); 891 - ret = devm_add_action_or_reset(dev, mt6370_chg_destroy_attach_lock, 892 - &priv->attach_lock); 897 + ret = devm_mutex_init(dev, &priv->attach_lock); 893 898 if (ret) 894 899 return ret; 895 900
+3 -30
drivers/power/supply/rt9467-charger.c
··· 1147 1147 return regmap_field_write(data->rm_field[F_RST], 1); 1148 1148 } 1149 1149 1150 - static void rt9467_chg_destroy_adc_lock(void *data) 1151 - { 1152 - struct mutex *adc_lock = data; 1153 - 1154 - mutex_destroy(adc_lock); 1155 - } 1156 - 1157 - static void rt9467_chg_destroy_attach_lock(void *data) 1158 - { 1159 - struct mutex *attach_lock = data; 1160 - 1161 - mutex_destroy(attach_lock); 1162 - } 1163 - 1164 - static void rt9467_chg_destroy_ichg_ieoc_lock(void *data) 1165 - { 1166 - struct mutex *ichg_ieoc_lock = data; 1167 - 1168 - mutex_destroy(ichg_ieoc_lock); 1169 - } 1170 - 1171 1150 static void rt9467_chg_complete_aicl_done(void *data) 1172 1151 { 1173 1152 struct completion *aicl_done = data; ··· 1199 1220 if (ret) 1200 1221 return dev_err_probe(dev, ret, "Failed to add irq chip\n"); 1201 1222 1202 - mutex_init(&data->adc_lock); 1203 - ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_adc_lock, 1204 - &data->adc_lock); 1223 + ret = devm_mutex_init(dev, &data->adc_lock); 1205 1224 if (ret) 1206 1225 return ret; 1207 1226 1208 - mutex_init(&data->attach_lock); 1209 - ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_attach_lock, 1210 - &data->attach_lock); 1227 + ret = devm_mutex_init(dev, &data->attach_lock); 1211 1228 if (ret) 1212 1229 return ret; 1213 1230 1214 - mutex_init(&data->ichg_ieoc_lock); 1215 - ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_ichg_ieoc_lock, 1216 - &data->ichg_ieoc_lock); 1231 + ret = devm_mutex_init(dev, &data->ichg_ieoc_lock); 1217 1232 if (ret) 1218 1233 return ret; 1219 1234