Messages in this thread |  | | Subject | Re: [PATCH] pinctrl: artpec6: fix __iomem on reg in set | | From | Ben Dooks <> | | Date | Wed, 18 Dec 2019 17:32:36 +0000 |
| |
On 18/12/2019 16:26, Jesper Nilsson wrote: > On Wed, Dec 18, 2019 at 11:16:02AM +0100, Ben Dooks (Codethink) wrote: >> The artpec6_pconf_set should have marked reg as __iomem, >> which ends up making sparse complain about address >> space conversions. Add the __iomem to silence the >> following warnings: >> >> drivers/pinctrl/pinctrl-artpec6.c:814:13: warning: incorrect type in assignment (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:814:13: expected unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:814:13: got void [noderef] <asn:2> * >> drivers/pinctrl/pinctrl-artpec6.c:825:34: warning: incorrect type in argument 1 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:825:34: expected void const volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:825:34: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:827:25: warning: incorrect type in argument 2 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:827:25: expected void volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:827:25: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:837:34: warning: incorrect type in argument 1 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:837:34: expected void const volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:837:34: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:840:25: warning: incorrect type in argument 2 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:840:25: expected void volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:840:25: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:850:34: warning: incorrect type in argument 1 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:850:34: expected void const volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:850:34: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:853:25: warning: incorrect type in argument 2 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:853:25: expected void volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:853:25: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:864:34: warning: incorrect type in argument 1 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:864:34: expected void const volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:864:34: got unsigned int *reg >> drivers/pinctrl/pinctrl-artpec6.c:867:25: warning: incorrect type in argument 2 (different address spaces) >> drivers/pinctrl/pinctrl-artpec6.c:867:25: expected void volatile [noderef] <asn:2> *addr >> drivers/pinctrl/pinctrl-artpec6.c:867:25: got unsigned int *reg >> >> Signed-off-by: Ben Dooks (Codethink) <ben.dooks@codethink.co.uk> >> --- > > > > >> Cc: Lars Persson <lars.persson@axis.com> >> Cc: Linus Walleij <linus.walleij@linaro.org> >> Cc: linux-arm-kernel@axis.com >> Cc: linux-gpio@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> --- >> drivers/pinctrl/pinctrl-artpec6.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/pinctrl/pinctrl-artpec6.c b/drivers/pinctrl/pinctrl-artpec6.c >> index 986e04ac6b5b..439a997b6bdb 100644 >> --- a/drivers/pinctrl/pinctrl-artpec6.c >> +++ b/drivers/pinctrl/pinctrl-artpec6.c >> @@ -798,7 +798,7 @@ static int artpec6_pconf_set(struct pinctrl_dev *pctldev, unsigned int pin, >> enum pin_config_param param; >> unsigned int arg; >> unsigned int regval; >> - unsigned int *reg; >> + unsigned int __iomem *reg; > > void __iomem *reg; > > We're using as an argument to readl()?
yes, readl() shoud take an __iomem attributed pointer.
>> int i; >> >> /* Check for valid pin */ >> -- >> 2.24.0 >> > > /^JN - Jesper Nilsson >
-- Ben Dooks http://www.codethink.co.uk/ Senior Engineer Codethink - Providing Genius
https://www.codethink.co.uk/privacy.html
|  |