
Hi York,
On Tue, Mar 29, 2016 at 12:33:42AM +0000, york sun wrote:
On 03/15/2016 03:14 AM, Peng Fan wrote:
We can use phys_addr_to for esdhc_base to discard the #ifdef.
Signed-off-by: Peng Fan van.freenix@gmail.com Cc: York Sun york.sun@nxp.com Cc: Yangbo Lu yangbo.lu@nxp.com Cc: Eric Nelson eric@nelint.com Cc: Fabio Estevam fabio.estevam@nxp.com Cc: Pantelis Antoniou panto@antoniou-consulting.com Cc: Tom Rini trini@konsulko.com
V2: Split this patch from the V1 patch set.
include/fsl_esdhc.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/include/fsl_esdhc.h b/include/fsl_esdhc.h index 073048f..fa760a5 100644 --- a/include/fsl_esdhc.h +++ b/include/fsl_esdhc.h @@ -168,11 +168,7 @@ #define ESDHC_VENDORSPEC_VSELECT 0x00000002 /* Use 1.8V */
struct fsl_esdhc_cfg { -#ifdef CONFIG_FSL_LAYERSCAPE
- u64 esdhc_base;
-#else
- u32 esdhc_base;
-#endif
- phys_addr_t esdhc_base; u32 sdhc_clk; u8 max_bus_width; struct mmc_config cfg;
Peng,
I thought this change is trivial and should be OK. But it turns out this change brings comping warning to many PPC boards
drivers/mmc/fsl_esdhc.c:184:27: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
You can apply https://patchwork.ozlabs.org/patch/601919/ and retest. I think the reason is that to PPC 64bit, "typedef unsigned long long phys_addr_t" I think "esdhc_regs = (struct fsl_esdhc *)(unsigned long)(cfg->esdhc_base);" can fix it.
Do I need to send a single V3 patch to fix the warning, or you apply the driver model V3 patch, if the driver model V3 can fix it?
Regards, Peng.
For assignment like this
struct fsl_esdhc *regs = (struct fsl_esdhc *)cfg->esdhc_base;
The phys_addr is not u32 for many targets.
York