[PATCH V2 4/4] pinctrl: add one more "const" for generic function groups
Rafał Miłecki
zajec5 at gmail.com
Tue Jan 11 08:51:44 PST 2022
On 11.01.2022 16:34, Nathan Chancellor wrote:
> On Thu, Dec 16, 2021 at 05:22:06PM +0100, Rafał Miłecki wrote:
>> From: Rafał Miłecki <rafal at milecki.pl>
>>
>> Generic code doesn't modify those strings and .get_function_groups
>> callback has that extra "const" as well. This allows more flexibility in
>> GENERIC_PINMUX_FUNCTIONS users.
>>
>> Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
>> ---
>> drivers/pinctrl/pinmux.c | 2 +-
>> drivers/pinctrl/pinmux.h | 4 ++--
>> 2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/pinctrl/pinmux.c b/drivers/pinctrl/pinmux.c
>> index 6cdbd9ccf2f0..f94d43b082d9 100644
>> --- a/drivers/pinctrl/pinmux.c
>> +++ b/drivers/pinctrl/pinmux.c
>> @@ -875,7 +875,7 @@ EXPORT_SYMBOL_GPL(pinmux_generic_get_function);
>> */
>> int pinmux_generic_add_function(struct pinctrl_dev *pctldev,
>> const char *name,
>> - const char **groups,
>> + const char * const *groups,
>> const unsigned int num_groups,
>> void *data)
>> {
>> diff --git a/drivers/pinctrl/pinmux.h b/drivers/pinctrl/pinmux.h
>> index 78c3a31be882..72fcf03eaa43 100644
>> --- a/drivers/pinctrl/pinmux.h
>> +++ b/drivers/pinctrl/pinmux.h
>> @@ -129,7 +129,7 @@ static inline void pinmux_init_device_debugfs(struct dentry *devroot,
>> */
>> struct function_desc {
>> const char *name;
>> - const char **group_names;
>> + const char * const *group_names;
>> int num_group_names;
>> void *data;
>> };
>> @@ -150,7 +150,7 @@ struct function_desc *pinmux_generic_get_function(struct pinctrl_dev *pctldev,
>>
>> int pinmux_generic_add_function(struct pinctrl_dev *pctldev,
>> const char *name,
>> - const char **groups,
>> + const char * const *groups,
>> unsigned const num_groups,
>> void *data);
>>
>> --
>> 2.31.1
>>
>>
>
> I have not seen this reported yet, even though it has been broken for a
> couple of weeks now. I see the following error in -next:
>
> $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- allmodconfig drivers/pinctrl/pinctrl-thunderbay.o
> drivers/pinctrl/pinctrl-thunderbay.c: In function ‘thunderbay_add_functions’:
> drivers/pinctrl/pinctrl-thunderbay.c:815:29: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
> 815 | grp = func->group_names;
> | ^
> cc1: all warnings being treated as errors
>
> Looks like something like the third patch of the series is needed for
> the Thunderbay driver, which it appears was in development at the same
> time as this series.
Correct, this driver didn't exist in Linus's tree when I developed my changes.
Too bad thunderbay copies that old & complex logic that I just fixed in the keembay driver. I'll have to redo my changes for the thunderbay now.
I don't agree with the idea of reverting my patchset and working on V3 though. It's a relatively simple thing we need to fix, it just be just a follow-up commit.
More information about the linux-arm-kernel
mailing list