Hi York, > -----Original Message----- > From: york sun > Sent: Thursday, January 21, 2016 4:23 AM > To: Qianyu Gong <qianyu.g...@nxp.com>; u-boot@lists.denx.de > Cc: Mingkai Hu <mingkai...@nxp.com>; jt...@openedev.com; Yao Yuan > <yao.y...@nxp.com>; r58...@freescale.com; Gong Qianyu > <qianyu.g...@freescale.com> > Subject: Re: [Patch V4 1/4] spi: fsl_qspi: fix compile warning for 64-bit > platform > > On 01/19/2016 08:03 PM, Qianyu Gong wrote: > > > >> -----Original Message----- > >> From: york sun > >> Sent: Wednesday, January 20, 2016 2:42 AM > >> To: Qianyu Gong <qianyu.g...@nxp.com>; u-boot@lists.denx.de > >> Cc: Mingkai Hu <mingkai...@nxp.com>; jt...@openedev.com; Yao Yuan > >> <yao.y...@nxp.com>; r58...@freescale.com; Gong Qianyu > >> <qianyu.g...@freescale.com> > >> Subject: Re: [Patch V4 1/4] spi: fsl_qspi: fix compile warning for > >> 64-bit platform > >> > >> On 01/10/2016 06:14 PM, Gong Qianyu wrote: > >>> From: Gong Qianyu <qianyu.g...@freescale.com> > >>> > >>> This patch fixes the following compile warning: > >>> drivers/spi/fsl_qspi.c: In function 'fsl_qspi_probe': > >>> drivers/spi/fsl_qspi.c:937:15: > >>> warning: cast to pointer from integer of different size > >>> [-Wint-to-pointer-cast] > >>> priv->regs = (struct fsl_qspi_regs *)plat->reg_base; > >>> ^ > >>> Just make the cast explict. > >>> > >>> Signed-off-by: Gong Qianyu <qianyu.g...@freescale.com> > >>> --- > >>> V4: > >>> - Revise the commit message. > >>> V2-V3: > >>> - No change. > >>> > >>> drivers/spi/fsl_qspi.c | 2 +- > >>> 1 file changed, 1 insertion(+), 1 deletion(-) > >>> > >>> diff --git a/drivers/spi/fsl_qspi.c b/drivers/spi/fsl_qspi.c index > >>> feec3e8..9f23c10 100644 > >>> --- a/drivers/spi/fsl_qspi.c > >>> +++ b/drivers/spi/fsl_qspi.c > >>> @@ -936,7 +936,7 @@ static int fsl_qspi_probe(struct udevice *bus) > >>> > >>> dm_spi_bus->max_hz = plat->speed_hz; > >>> > >>> - priv->regs = (struct fsl_qspi_regs *)plat->reg_base; > >> > >> The reg_base is u32. Is it always correct on 64-bit SoC? > >> > > > > So far it's always a u32 type of CCSR address. > > > >>> + priv->regs = (struct fsl_qspi_regs *)(unsigned > >>> +long)plat->reg_base; > >> > >> How about (struct fsl_qspi_regs *)(uintptr_t)plat->reg_base? > >> > >> York > >> > > > > The size of ''unsigned long'' depends on compilers. It works well with GCC. > > > > Looks the same. But not sure what is defining CONFIG_USE_STDIN for. > > > > #ifdef CONFIG_USE_STDIN > > /* Provided by gcc. */ > > #include <stdint.h> > > #else > > /* Type for `void *' pointers. */ > > typedef unsigned long int uintptr_t; > > #endif > > > > uintptr_t is specifically defined for this type of use. You can grep it in > u-boot to see > examples. > > York >
Thanks! I've sent out a new version of the patch set. Regards, Qianyu _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot