Message ID | ed64cda456be840147ae1f04bec6a99733f41c24.1374643896.git.michal.simek@xilinx.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Wednesday, July 24, 2013 2:32 PM, Michal Simek wrote: > > regs_phys is phys_addr_t (u32 or u64). > Lets retype it to u64. > > Fixes compilation warning introduced by: > video: xilinxfb: Use drvdata->regs_phys instead of physaddr > (sha1: c88fafef0135e1e1c3e23c3e32ccbeeabc587f81) CC'ed Stepan Moskovchenko phys_addr_t is defined as below: #ifdef CONFIG_PHYS_ADDR_T_64BIT typedef u64 phys_addr_t; #else typedef u32 phys_addr_t; #endif According to 'Documentation/printk-formats.txt', Physical addresses: %pa 0x01234567 or 0x0123456789abcdef For printing a phys_addr_t type (and its derivatives, such as resource_size_t) which can vary based on build options, regardless of the width of the CPU data path. Passed by reference. Thus, '%pa' option looks proper, instead of casting (unsigned long long). dev_dbg(dev, "regs: phys=%pa, virt=%p\n", drvdata->regs_phys, drvdata->regs); Best regards, Jingoo Han > > Signed-off-by: Michal Simek <michal.simek@xilinx.com> > --- > ppc44x_defconfig > Fixes regressions in v3.11-rc2 > > --- > drivers/video/xilinxfb.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c > index f3d4a69..79175a6 100644 > --- a/drivers/video/xilinxfb.c > +++ b/drivers/video/xilinxfb.c > @@ -341,8 +341,8 @@ static int xilinxfb_assign(struct platform_device *pdev, > > if (drvdata->flags & BUS_ACCESS_FLAG) { > /* Put a banner in the log (for DEBUG) */ > - dev_dbg(dev, "regs: phys=%x, virt=%p\n", drvdata->regs_phys, > - drvdata->regs); > + dev_dbg(dev, "regs: phys=%llx, virt=%p\n", > + (unsigned long long)drvdata->regs_phys, drvdata->regs); > } > /* Put a banner in the log (for DEBUG) */ > dev_dbg(dev, "fb: phys=%llx, virt=%p, size=%x\n", > -- > 1.8.2.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 07/24/2013 08:05 AM, Vivek Subbarao wrote: > Why is there a necessity to type cast to unsigned long long ? Whats the > warning ? > Geerts: Build regressions/improvements in v3.11-rc2 + drivers/video/xilinxfb.c: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'phys_addr_t' [-Wformat]: => 344:3 Thanks, Michal
On 07/24/2013 08:00 AM, Jingoo Han wrote: > On Wednesday, July 24, 2013 2:32 PM, Michal Simek wrote: >> >> regs_phys is phys_addr_t (u32 or u64). >> Lets retype it to u64. >> >> Fixes compilation warning introduced by: >> video: xilinxfb: Use drvdata->regs_phys instead of physaddr >> (sha1: c88fafef0135e1e1c3e23c3e32ccbeeabc587f81) > > CC'ed Stepan Moskovchenko > > > phys_addr_t is defined as below: > > #ifdef CONFIG_PHYS_ADDR_T_64BIT > typedef u64 phys_addr_t; > #else > typedef u32 phys_addr_t; > #endif > > According to 'Documentation/printk-formats.txt', > Physical addresses: > %pa 0x01234567 or 0x0123456789abcdef > For printing a phys_addr_t type (and its derivatives, such as > resource_size_t) which can vary based on build options, regardless of > the width of the CPU data path. Passed by reference. > > Thus, '%pa' option looks proper, instead of casting (unsigned long long). > > dev_dbg(dev, "regs: phys=%pa, virt=%p\n", drvdata->regs_phys, > drvdata->regs); > Ah. Wasn't aware about that. Will retest. Thanks, Michal
diff --git a/drivers/video/xilinxfb.c b/drivers/video/xilinxfb.c index f3d4a69..79175a6 100644 --- a/drivers/video/xilinxfb.c +++ b/drivers/video/xilinxfb.c @@ -341,8 +341,8 @@ static int xilinxfb_assign(struct platform_device *pdev, if (drvdata->flags & BUS_ACCESS_FLAG) { /* Put a banner in the log (for DEBUG) */ - dev_dbg(dev, "regs: phys=%x, virt=%p\n", drvdata->regs_phys, - drvdata->regs); + dev_dbg(dev, "regs: phys=%llx, virt=%p\n", + (unsigned long long)drvdata->regs_phys, drvdata->regs); } /* Put a banner in the log (for DEBUG) */ dev_dbg(dev, "fb: phys=%llx, virt=%p, size=%x\n",
regs_phys is phys_addr_t (u32 or u64). Lets retype it to u64. Fixes compilation warning introduced by: video: xilinxfb: Use drvdata->regs_phys instead of physaddr (sha1: c88fafef0135e1e1c3e23c3e32ccbeeabc587f81) Signed-off-by: Michal Simek <michal.simek@xilinx.com> --- ppc44x_defconfig Fixes regressions in v3.11-rc2 --- drivers/video/xilinxfb.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 1.8.2.3