diff mbox

video: xilinxfb: Fix compilation warning

Message ID ed64cda456be840147ae1f04bec6a99733f41c24.1374643896.git.michal.simek@xilinx.com (mailing list archive)
State New, archived
Headers show

Commit Message

Michal Simek July 24, 2013, 5:31 a.m. UTC
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

Comments

Jingoo Han July 24, 2013, 6 a.m. UTC | #1
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
Michal Simek July 24, 2013, 7:17 a.m. UTC | #2
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
Michal Simek July 24, 2013, 7:18 a.m. UTC | #3
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 mbox

Patch

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",