Re: [PATCH v1 1/8] lib/string: introduce match_string() helper

From: Andy Shevchenko
Date: Thu Jan 07 2016 - 08:11:41 EST


On Thu, 2016-01-07 at 15:07 +0200, Heikki Krogerus wrote:
> On Thu, Jan 07, 2016 at 02:06:01PM +0200, Andy Shevchenko wrote:
> > > From time to time we have to match a string in an array. Make a
> > > simple helper
> > for that purpose.
>
> Cool! If you make v2 out of these, could you patch the following
> while
> at it:

Yes, please, format as a usual patch and share with me. I will include
in v3 (actually I missed the numbering here, it should be v2 already).

>
> diff --git a/drivers/usb/common/common.c
> b/drivers/usb/common/common.c
> index e6ec125..a391c81 100644
> --- a/drivers/usb/common/common.c
> +++ b/drivers/usb/common/common.c
> @@ -64,18 +64,15 @@ EXPORT_SYMBOL_GPL(usb_speed_string);
> Âenum usb_device_speed usb_get_maximum_speed(struct device *dev)
> Â{
> ÂÂÂÂÂÂÂÂconst char *maximum_speed;
> -ÂÂÂÂÂÂÂint err;
> -ÂÂÂÂÂÂÂint i;
> +ÂÂÂÂÂÂÂint ret;
> Â
> -ÂÂÂÂÂÂÂerr = device_property_read_string(dev, "maximum-speed",
> &maximum_speed);
> -ÂÂÂÂÂÂÂif (err < 0)
> +ÂÂÂÂÂÂÂret = device_property_read_string(dev, "maximum-speed",
> &maximum_speed);
> +ÂÂÂÂÂÂÂif (ret < 0)
> ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn USB_SPEED_UNKNOWN;
> Â
> -ÂÂÂÂÂÂÂfor (i = 0; i < ARRAY_SIZE(speed_names); i++)
> -ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (strcmp(maximum_speed, speed_names[i]) == 0)
> -ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn i;
> +ÂÂÂÂÂÂÂret = match_string(speed_names, ARRAY_SIZE(speed_names),
> maximum_speed);
> Â
> -ÂÂÂÂÂÂÂreturn USB_SPEED_UNKNOWN;
> +ÂÂÂÂÂÂÂreturn (ret < 0) ? USB_SPEED_UNKNOWN : ret;
> Â}
> ÂEXPORT_SYMBOL_GPL(usb_get_maximum_speed);
> Â
> @@ -109,13 +106,11 @@ static const char *const usb_dr_modes[] = {
> Â
> Âstatic enum usb_dr_mode usb_get_dr_mode_from_string(const char *str)
> Â{
> -ÂÂÂÂÂÂÂint i;
> +ÂÂÂÂÂÂÂint ret;
> Â
> -ÂÂÂÂÂÂÂfor (i = 0; i < ARRAY_SIZE(usb_dr_modes); i++)
> -ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂif (!strcmp(usb_dr_modes[i], str))
> -ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂreturn i;
> +ÂÂÂÂÂÂÂret = match_string(usb_dr_modes, ARRAY_SIZE(usb_dr_modes),
> str);
> Â
> -ÂÂÂÂÂÂÂreturn USB_DR_MODE_UNKNOWN;
> +ÂÂÂÂÂÂÂreturn (ret < 0) ? USB_DR_MODE_UNKNOWN : ret;
> Â}
> Â
> Âenum usb_dr_mode usb_get_dr_mode(struct device *dev)
>
>
> Thanks,
>

--
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/