On Fri, Jul 8, 2022 at 1:33 PM Cezary Rojewski <cezary.rojewski@xxxxxxxxx> wrote: > On 2022-07-08 12:22 PM, Andy Shevchenko wrote: > > On Thu, Jul 7, 2022 at 11:03 AM Cezary Rojewski > > <cezary.rojewski@xxxxxxxxx> wrote: > >> > >> Add strsplit_u32() and its __user variant to allow for splitting > >> specified string into array of u32 tokens. > > > > And I believe we have more of this done in old code. > > Since all callers use ',' as a delimiter, have you considered using > > get_options()? > > > Thanks for your input, Andy. > > When I'd written the very first version of this function many months > ago, get_options() looked as it does not fulfill our needs. It seems to > be true even today: caller needs to know the number of elements in an > array upfront. Have you read a kernel doc for it? It does return the number of elements at the first pass. > Also, kstrtox() takes into account '0x' and modifies the > base accordingly if that's the case. simple_strtoull() looks as not > capable of doing the same thing. How come?! It does parse all known prefixes: 0x, 0, +, -. > The goal is to be able to parse input such as: > > 0x1000003,0,0,0x1000004,0,0 > > into a sequence of 6 uints, filling the *tkns and *num_tkns for the caller. Yes. Have you checked the test cases for get_options()? > >> Originally this functionality was added for the SOF sound driver. As > >> more users are on the horizon, relocate it so it becomes a common good. > > > > Maybe it can be fixed just there. > > avs-driver, which is also part of the ASoC framework has very similar > debug-interface. I believe there's no need to duplicate the functions - > move them to common code instead. Taking the above into account, please try to use get_options() and then tell me what's not working with it. If so, we will add test cases to get_options() and fix it. -- With Best Regards, Andy Shevchenko