pinctrl: loongson2: Fix some const correctness

The kernel robot using sparse is complaining like this:

drivers/pinctrl/pinctrl-loongson2.c:212:21: sparse:
 sparse: incorrect type in argument 1 (different address spaces) @@
 expected void const volatile [noderef] __iomem *addr @@
 got void *[noderef] __iomem reg @@
(...)

I think the problem is simply that the register base is defined
as void * __iomem instead of void __iomem * and this is because
of the way const correctness works with pointer infix order.

Fix it up. I think.

Reported-by: kernel test robot <lkp@intel.com>
Cc: zhanghongchen <zhanghongchen@loongson.cn>
Cc: Yinbo Zhu <zhuyinbo@loongson.cn>
Fixes: f73f88acbc ("pinctrl: pinctrl-loongson2: add pinctrl driver support")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Linus Walleij 2022-11-25 11:34:35 +01:00
parent 5ead932898
commit 7ebfe10ec3
1 changed files with 2 additions and 2 deletions

View File

@ -45,7 +45,7 @@ struct loongson2_pinctrl {
struct pinctrl_desc desc;
struct device_node *of_node;
spinlock_t lock;
void * __iomem reg_base;
void __iomem *reg_base;
};
struct loongson2_pmx_group {
@ -202,7 +202,7 @@ static int loongson2_pmx_set_mux(struct pinctrl_dev *pcdev, unsigned int func_nu
unsigned int group_num)
{
struct loongson2_pinctrl *pctrl = pinctrl_dev_get_drvdata(pcdev);
void * __iomem reg = pctrl->reg_base +
void __iomem *reg = pctrl->reg_base +
loongson2_pmx_groups[group_num].reg;
unsigned int mux_bit = loongson2_pmx_groups[group_num].bit;
unsigned int val;