diff mbox

[2/2] serial: 8250_gsc: fix printk format warning

Message ID 1242652291-1868-1-git-send-email-a.beregalov@gmail.com (mailing list archive)
State Accepted
Headers show

Commit Message

Alexander Beregalov May 18, 2009, 1:11 p.m. UTC
Fix this build warning:
drivers/serial/8250_gsc.c:44: warning: format '%lx' expects type
'long unsigned int', but argument 2 has type 'resource_size_t'

Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com>
---
 drivers/serial/8250_gsc.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Andrew Morton May 28, 2009, 5:51 a.m. UTC | #1
On Mon, 18 May 2009 17:11:31 +0400 Alexander Beregalov <a.beregalov@gmail.com> wrote:

> Fix this build warning:
> drivers/serial/8250_gsc.c:44: warning: format '%lx' expects type
> 'long unsigned int', but argument 2 has type 'resource_size_t'
> 

The patch does more than fix a "warning".  It fixes an actual error. 
The caller will prepare a 64-bit argument and the callee will print
only 32 bits of it.

> ---
>  drivers/serial/8250_gsc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c
> index 418b4fe..a7b02a5 100644
> --- a/drivers/serial/8250_gsc.c
> +++ b/drivers/serial/8250_gsc.c
> @@ -41,7 +41,7 @@ static int __init serial_init_chip(struct parisc_device *dev)
>  			printk(KERN_INFO
>  				"Serial: device 0x%lx not configured.\n"
>  				"Enable support for Wax, Lasi, Asp or Dino.\n",
> -				dev->hpa.start);
> +				(unsigned long)dev->hpa.start);

Nope.  hpa.start can be u32 or u64.  We need to cast that to the wider
type so that it will correctly print in all circumstances.

So I changed both patches to print with %ll and to cast to
unsigned long long.
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Grant Grundler May 29, 2009, 3:51 p.m. UTC | #2
On Wed, May 27, 2009 at 10:51:06PM -0700, Andrew Morton wrote:
> On Mon, 18 May 2009 17:11:31 +0400 Alexander Beregalov <a.beregalov@gmail.com> wrote:
> 
> > Fix this build warning:
> > drivers/serial/8250_gsc.c:44: warning: format '%lx' expects type
> > 'long unsigned int', but argument 2 has type 'resource_size_t'
> > 
> 
> The patch does more than fix a "warning".  It fixes an actual error. 
> The caller will prepare a 64-bit argument and the callee will print
> only 32 bits of it.

On parisc, AFAIK, GSC devices are always at a 32-bit addresses.
So whatever compiles clean is fine.

Please add "Reviewed by: Grant Grundler <grundler@parisc-linux.org>"

thanks,
grant

> > ---
> >  drivers/serial/8250_gsc.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c
> > index 418b4fe..a7b02a5 100644
> > --- a/drivers/serial/8250_gsc.c
> > +++ b/drivers/serial/8250_gsc.c
> > @@ -41,7 +41,7 @@ static int __init serial_init_chip(struct parisc_device *dev)
> >  			printk(KERN_INFO
> >  				"Serial: device 0x%lx not configured.\n"
> >  				"Enable support for Wax, Lasi, Asp or Dino.\n",
> > -				dev->hpa.start);
> > +				(unsigned long)dev->hpa.start);
> 
> Nope.  hpa.start can be u32 or u64.  We need to cast that to the wider
> type so that it will correctly print in all circumstances.
> 
> So I changed both patches to print with %ll and to cast to
> unsigned long long.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-parisc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c
index 418b4fe..a7b02a5 100644
--- a/drivers/serial/8250_gsc.c
+++ b/drivers/serial/8250_gsc.c
@@ -41,7 +41,7 @@  static int __init serial_init_chip(struct parisc_device *dev)
 			printk(KERN_INFO
 				"Serial: device 0x%lx not configured.\n"
 				"Enable support for Wax, Lasi, Asp or Dino.\n",
-				dev->hpa.start);
+				(unsigned long)dev->hpa.start);
 		return -ENODEV;
 	}