[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0eb48f06-2046-0b5e-4f16-4ebf3bd056b2@huawei.com>
Date: Tue, 5 Jun 2018 17:05:27 +0800
From: Yisheng Xie <xieyisheng1@...wei.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
CC: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"David S. Miller" <davem@...emloft.net>,
Anthony Yznaga <anthony.yznaga@...cle.com>,
Pavel Tatashin <pasha.tatashin@...cle.com>,
<sparclinux@...r.kernel.org>
Subject: Re: [PATCH v2 21/21] sparc64: use match_string() helper
Hi Andy,
On 2018/6/4 18:06, Andy Shevchenko wrote:
> On Mon, Jun 4, 2018 at 4:06 AM, Yisheng Xie <xieyisheng1@...wei.com> wrote:
>> Hi Andy,
>>
>> On 2018/6/1 19:34, Andy Shevchenko wrote:
>>> On Thu, May 31, 2018 at 2:11 PM, Yisheng Xie <xieyisheng1@...wei.com> wrote:
>>>> match_string() returns the index of an array for a matching string,
>>>> which can be used instead of open coded variant.
>>>
>>>> @@ -512,10 +512,9 @@ static unsigned long __init mdesc_cpu_hwcap_list(void)
>>>> break;
>>>> }
>>>> }
>>>
>>> It seems previous loop also can be replaced.
>>
>> No, because the there is an NULL in the middle of the array hwcaps:
>> static const char *hwcaps[] = {
>> "flush", "stbar", "swap", "muldiv", "v9",
>> "ultra3", "blkinit", "n2",
>>
>> /* These strings are as they appear in the machine description
>> * 'hwcap-list' property for cpu nodes.
>> */
>> "mul32", "div32", "fsmuld", "v8plus", "popc", "vis", "vis2",
>> "ASIBlkInit", "fmaf", "vis3", "hpc", "random", "trans", "fjfmau",
>> "ima", "cspare", "pause", "cbcond", NULL /*reserved for crypto */,
>> "adp",
>> };
>
> Actually you can.
> What you need is to add string literal instead of NULL and make an
> additional condition after match_string() in all users (not to many),
> something like
>
> i = match_string();
> if (i < 0)
> ...
> if (BIT(i) == HWCAP_SPARC_CRYPTO) // or !=
OK, I get your point.
Thanks
Yisheng
> ...
>
Powered by blists - more mailing lists