Re: [PATHCv10 1/2] usb: USB Type-C connector class

From: Heikki Krogerus
Date: Thu Nov 17 2016 - 03:29:09 EST


On Wed, Nov 16, 2016 at 04:31:07PM +0100, Greg KH wrote:
> On Wed, Nov 16, 2016 at 05:20:24PM +0200, Heikki Krogerus wrote:
> > Hi Greg,
> >
> > On Mon, Nov 14, 2016 at 10:51:48AM +0100, Greg KH wrote:
> > > > +static int sysfs_strmatch(const char * const *array, size_t n, const char *str)
> > > > +{
> > > > + const char *item;
> > > > + int index;
> > > > +
> > > > + for (index = 0; index < n; index++) {
> > > > + item = array[index];
> > > > + if (!item)
> > > > + break;
> > > > + if (sysfs_streq(item, str))
> > > > + return index;
> > > > + }
> > > > +
> > > > + return -EINVAL;
> > > > +}
> > >
> > > should we make this a core sysfs function?
> >
> > Last question before I send v11. Is the following (the helper) OK?
> >
> >
> > diff --git a/include/linux/string.h b/include/linux/string.h
> > index 26b6f6a..5606810 100644
> > --- a/include/linux/string.h
> > +++ b/include/linux/string.h
> > @@ -135,6 +135,16 @@ static inline int strtobool(const char *s, bool *res)
> > }
> >
> > int match_string(const char * const *array, size_t n, const char *string);
> > +int __sysfs_strmatch(const char * const *array, size_t n, const char *string);
> > +
> > +/**
> > + * sysfs_strmatch - matches given string in an array
> > + * @a: array of strings
> > + * @s: string to match with
> > + *
> > + * Helper for __sysfs_strmatch(). Calculates the size of @a automatically.
> > + */
> > +#define sysfs_strmatch(a, s) __sysfs_strmatch(a, ARRAY_SIZE(a), s)
>
> People will bikeshed the name. Why not just use sysfs_match_string() as
> this does the same as match_string, but calls sysfs_string instead of
> strcmp().

Makes sense. I'll change the name.

Thanks,

--
heikki