On Fri, Aug 23, 2024 at 03:50:55PM +0800, Chen-Yu Tsai wrote: > On Thu, Aug 22, 2024 at 10:37 PM Andy Shevchenko > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > > On Thu, Aug 22, 2024 at 05:19:58PM +0800, Chen-Yu Tsai wrote: ... > > > + len = strlen(str); > > > > If it has a thousands characters...? > > Shouldn't matter much? I suppose using strrchr() as you suggested > requires one less pass. Yes, this is the point. ... > > This can be combined with the above > > > > for (const char *const *p = gpio_suffixes; *p; p++) { > > /* > > * Find right-most '-' and check if remainder matches suffix. > > * If no separator found, check for no-name cases. > > */ > > dash = strrchr(propname, '-'); > > I believe this line could be moved out of the for-loop. Otherwise it > looks much more concise compared to my version. I'll omit the comment > though, as it is just rehashing the kerneldoc description, and now > that the function is so short, it shouldn't be hard to read. Agree. And I put comment inside the loop, while it should be outside. But then, as you said, the function becomes so little that kernel-doc above does the job, hence no comment in the code needed. > I'll add you as "Suggested-by". Fine with me. > > if (!strcmp(dash ? dash + 1 : propname, *p)) > > return i; > > } -- With Best Regards, Andy Shevchenko