[PATCH] ARM: imx: clk-imx6sl: Suppress duplicate const sparse warning
Bill Pringlemeir
bpringlemeir at nbsps.com
Thu Jan 16 12:06:36 EST 2014
> On Wed, Jan 15, 2014 at 02:19:34PM +0800, Liu Ying wrote:
>> There should be no duplicate const specifiers for those static
>> constant character string arrays defined for clock mux options.
>> Also, the arrays are only taken as the 5th argument for the
>> imx_clk_mux() function, which is in the type of 'const char
>> **parents'. So, let's remove the 2nd const specifier right
>> after 'char'.
>>
>> This patch fixes these sparse warnings:
>> arch/arm/mach-imx/clk-imx6sl.c:21:25: warning: duplicate const
[snip]
>> Signed-off-by: Liu Ying <Ying.Liu at freescale.com>
>> ---
>> arch/arm/mach-imx/clk-imx6sl.c | 42 ++++++++++++++++++++--------------------
>> 1 file changed, 21 insertions(+), 21 deletions(-)
>>
>> diff --git a/arch/arm/mach-imx/clk-imx6sl.c b/arch/arm/mach-imx/clk-imx6sl.c
>> index c0c4ef5..9fad29a9 100644
>> --- a/arch/arm/mach-imx/clk-imx6sl.c
>> +++ b/arch/arm/mach-imx/clk-imx6sl.c
>>>> -18,27 +18,27 @@
>> #include "clk.h"
>> #include "common.h"
>>
>> -static const char const *step_sels[] = { "osc", "pll2_pfd2", };
> ...
>> +static const char *step_sels[] = { "osc", "pll2_pfd2", };
On 15 Jan 2014, shawn.guo at linaro.org wrote:
> So now we're getting the following checkpatch warning:
>
> WARNING: static const char * array should probably be static const char *
> const
>
> It was added into checkpatch.pl by commit cb710ec (scripts/checkpatch.pl:
> add warnings for static char that could be static const char). I'm not
> sure which warning we should ignore, the sparse or the checkpatch one.
I think both scripts/programs are right. There is a difference.
static const char const * step_sels[] = { "osc", "pll2_pfd2", }; /* dup */
static const char * const step_sels[] = { "osc", "pll2_pfd2", }; /* ok */
static char const * const step_sels[] = { "osc", "pll2_pfd2", }; /* ok */
I think that 'type const * const' is a const pointer to const data, but
'const type const *' is just a const pointer (with duplicate). The
patches have made the data non-const?
Fwiw,
Bill Pringlemeir.
More information about the linux-arm-kernel
mailing list