match_string() returns the index of an array for a matching string, which can be used intead of open coded variant.
Cc: Sebastian Reichel <s...@kernel.org> Cc: linux...@vger.kernel.org Signed-off-by: Yisheng Xie <xieyishe...@huawei.com> --- drivers/power/supply/power_supply_core.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/power/supply/power_supply_core.c b/drivers/power/supply/power_supply_core.c index feac7b0..84da3a2 100644 --- a/drivers/power/supply/power_supply_core.c +++ b/drivers/power/supply/power_supply_core.c @@ -36,8 +36,6 @@ static bool __power_supply_is_supplied_by(struct power_supply *supplier, struct power_supply *supply) { - int i; - if (!supply->supplied_from && !supplier->supplied_to) return false; @@ -45,18 +43,16 @@ static bool __power_supply_is_supplied_by(struct power_supply *supplier, if (supply->supplied_from) { if (!supplier->desc->name) return false; - for (i = 0; i < supply->num_supplies; i++) - if (!strcmp(supplier->desc->name, supply->supplied_from[i])) - return true; + return match_string((const char **)supply->supplied_from, + supply->num_supplies, + supplier->desc->name) >= 0; } else { if (!supply->desc->name) return false; - for (i = 0; i < supplier->num_supplicants; i++) - if (!strcmp(supplier->supplied_to[i], supply->desc->name)) - return true; + return match_string((const char **)supplier->supplied_to, + supplier->num_supplicants, + supply->desc->name) >= 0; } - - return false; } static int __power_supply_changed_work(struct device *dev, void *data) -- 1.7.12.4