spi: zynq: Use variable to remove u32 to u64 conversions
Current code generates warning when it is compiled for arm64:
Warnings:
In file included from drivers/spi/zynq_spi.c:14:0:
drivers/spi/zynq_spi.c: In function ‘zynq_spi_init_hw’:
drivers/spi/zynq_spi.c:95:9: warning: large integer implicitly truncated
to unsigned type [-Woverflow]
writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, ®s->enr);
^
./arch/arm/include/asm/io.h:146:34: note: in definition of macro
‘writel’
#define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v;
})
^
drivers/spi/zynq_spi.c: In function ‘zynq_spi_release_bus’:
drivers/spi/zynq_spi.c:177:9: warning: large integer implicitly
truncated to unsigned type [-Woverflow]
writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, ®s->enr);
^
./arch/arm/include/asm/io.h:146:34: note: in definition of macro
‘writel’
#define writel(v,c) ({ u32 __v = v; __iowmb(); __arch_putl(__v,c); __v;
})
^
This patch is using one variable to do conversion via u32 variable.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
This commit is contained in:
@@ -92,7 +92,8 @@ static void zynq_spi_init_hw(struct zynq_spi_priv *priv)
|
||||
u32 confr;
|
||||
|
||||
/* Disable SPI */
|
||||
writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, ®s->enr);
|
||||
confr = ZYNQ_SPI_ENR_SPI_EN_MASK;
|
||||
writel(~confr, ®s->enr);
|
||||
|
||||
/* Disable Interrupts */
|
||||
writel(ZYNQ_SPI_IXR_ALL_MASK, ®s->idr);
|
||||
@@ -173,8 +174,10 @@ static int zynq_spi_release_bus(struct udevice *dev)
|
||||
struct udevice *bus = dev->parent;
|
||||
struct zynq_spi_priv *priv = dev_get_priv(bus);
|
||||
struct zynq_spi_regs *regs = priv->regs;
|
||||
u32 confr;
|
||||
|
||||
writel(~ZYNQ_SPI_ENR_SPI_EN_MASK, ®s->enr);
|
||||
confr = ZYNQ_SPI_ENR_SPI_EN_MASK;
|
||||
writel(~confr, ®s->enr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user