Message ID | 20200228210552.615672-16-seanga2@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | riscv: Add Sipeed Maix support | expand |
Hi Sean, On Sat, Feb 29, 2020 at 5:06 AM Sean Anderson <seanga2 at gmail.com> wrote: > > Explicitly cast fdt_addr_t to a void pointer, since we pass it to readl. Explicitly cast => Change? As what the patch does > > Signed-off-by: Sean Anderson <seanga2 at gmail.com> > --- > > Changes in v5: > - New > > drivers/gpio/dwapb_gpio.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > Reviewed-by: Bin Meng <bmeng.cn at gmail.com> Regards, Bin
On 3/1/20 9:27 PM, Bin Meng wrote: > Hi Sean, > > On Sat, Feb 29, 2020 at 5:06 AM Sean Anderson <seanga2 at gmail.com> wrote: >> >> Explicitly cast fdt_addr_t to a void pointer, since we pass it to readl. > > Explicitly cast => Change? > > As what the patch does The compiler was giving a warning since readl expects a pointer but fdt_addr_t is typedef to some numeric type. This patch doesn't change the variable we get from the fdt subsystem to a void pointer, but it does change the base address we store to one. --Sean
diff --git a/drivers/gpio/dwapb_gpio.c b/drivers/gpio/dwapb_gpio.c index e3439eebb5..56dcad36f0 100644 --- a/drivers/gpio/dwapb_gpio.c +++ b/drivers/gpio/dwapb_gpio.c @@ -38,7 +38,7 @@ struct gpio_dwapb_platdata { const char *name; int bank; int pins; - fdt_addr_t base; + void __iomem *base; }; static int dwapb_gpio_direction_input(struct udevice *dev, unsigned pin) @@ -174,7 +174,7 @@ static int gpio_dwapb_bind(struct udevice *dev) if (!plat) return -ENOMEM; - plat->base = base; + plat->base = (void *)base; plat->bank = bank; plat->pins = ofnode_read_u32_default(node, "snps,nr-gpios", 0);
Explicitly cast fdt_addr_t to a void pointer, since we pass it to readl. Signed-off-by: Sean Anderson <seanga2 at gmail.com> --- Changes in v5: - New drivers/gpio/dwapb_gpio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)