Re: [PATCH 3/4] auxdisplay: charlcd: fix x/y address commands

From: Andy Shevchenko
Date: Mon Feb 26 2018 - 12:56:18 EST


On Mon, Feb 26, 2018 at 7:26 PM, Miguel Ojeda
<miguel.ojeda.sandonis@xxxxxxxxx> wrote:
> On Mon, Feb 26, 2018 at 6:09 PM, Andy Shevchenko
> <andy.shevchenko@xxxxxxxxx> wrote:
>> On Mon, Feb 26, 2018 at 6:54 PM, Miguel Ojeda
>> <miguel.ojeda.sandonis@xxxxxxxxx> wrote:
>>> On Mon, Feb 26, 2018 at 12:44 PM, Andy Shevchenko
>>> <andy.shevchenko@xxxxxxxxx> wrote:
>>>> On Mon, Feb 26, 2018 at 1:54 AM, Robert Abel <rabel@xxxxxxxxxxxxx> wrote:
>>
>>>>> + if ('x' == cmd) {
>>>>> + if (kstrtoul(esc, 10, &tmp_addr.x) < 0)
>>>>> break;
>>>>
>>>>> + } else if ('y' == cmd) {
>>>>> + if (kstrtoul(esc, 10, &tmp_addr.y) < 0)
>>>>> break;
>>>>
>>>> Perhaps instead of dancing around kstrtox() better to switch to
>>>> simple_strtoul() ?
>>>
>>> It seems deprecated:
>>>
>>> /* Obsolete, do not use. Use kstrto<foo> instead */
>>> extern unsigned long simple_strtoul(const char *,char **,unsigned int);
>>
>> It has been discussed several times. The comment is simple wrong.
>>
>> Because of the requirement of kstrtox() to have a \0 or \n followed by
>> \0 as "end of field".
>> simple_strto*() is suitable to be run in place.
>
> I agree that in-place versions of these kind of string functions are
> very useful, don't get me wrong! But unless someone changes the
> "official" comment, we shouldn't add new code relying on them.

I don't know what you afraid of, but be my guest.

--
With Best Regards,
Andy Shevchenko