Re: [PATCH 1/2] lib/string_helpers: Introduce strsplit_u32()

From: Cezary Rojewski
Date: Fri Jul 08 2022 - 07:33:13 EST


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. 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.

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.

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.


Regards,
Czarek