diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2024-04-26 18:25:15 +0300 |
---|---|---|
committer | Lee Jones <lee@kernel.org> | 2024-05-02 20:06:30 +0300 |
commit | 3b29c7b9f701e5afbe6b536eb2744acb25cf5bfd (patch) | |
tree | 5c054f8b9c97e86c19b51b3076011ec21ec3a5e4 /drivers/leds | |
parent | 974afccd37947a6951a052ef8118c961e57eaf7b (diff) | |
download | linux-3b29c7b9f701e5afbe6b536eb2744acb25cf5bfd.tar.xz |
leds: sun50i-a100: Use match_string() helper to simplify the code
match_string() returns the array index of a matching string.
Use it instead of the open-coded implementation.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://lore.kernel.org/r/20240426152515.872917-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'drivers/leds')
-rw-r--r-- | drivers/leds/leds-sun50i-a100.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/leds/leds-sun50i-a100.c b/drivers/leds/leds-sun50i-a100.c index 62d21c3a3575..119eff9471f0 100644 --- a/drivers/leds/leds-sun50i-a100.c +++ b/drivers/leds/leds-sun50i-a100.c @@ -252,18 +252,16 @@ static int sun50i_a100_ledc_parse_format(struct device *dev, struct sun50i_a100_ledc *priv) { const char *format = "grb"; - u32 i; + int i; device_property_read_string(dev, "allwinner,pixel-format", &format); - for (i = 0; i < ARRAY_SIZE(sun50i_a100_ledc_formats); i++) { - if (!strcmp(format, sun50i_a100_ledc_formats[i])) { - priv->format = i; - return 0; - } - } + i = match_string(sun50i_a100_ledc_formats, ARRAY_SIZE(sun50i_a100_ledc_formats), format); + if (i < 0) + return dev_err_probe(dev, i, "Bad pixel format '%s'\n", format); - return dev_err_probe(dev, -EINVAL, "Bad pixel format '%s'\n", format); + priv->format = i; + return 0; } static void sun50i_a100_ledc_set_format(struct sun50i_a100_ledc *priv) |