2020-01-21 08:51:21

by Alex Shi

[permalink] [raw]
Subject: [PATCH] pcmcia/cm4000: remove useless variable tmp

No one care the value of 'tmp' in func cmm_write. better to remove it.

Signed-off-by: Alex Shi <[email protected]>
Cc: Harald Welte <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: [email protected]
---
drivers/char/pcmcia/cm4000_cs.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index 15bf585af5d3..9be3917b6d6c 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -1048,7 +1048,6 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
struct cm4000_dev *dev = filp->private_data;
unsigned int iobase = dev->p_dev->resource[0]->start;
unsigned short s;
- unsigned char tmp;
unsigned char infolen;
unsigned char sendT0;
unsigned short nsend;
@@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
set_cardparameter(dev);

/* dummy read, reset flag procedure received */
- tmp = inb(REG_FLAGS1(iobase));
+ inb(REG_FLAGS1(iobase));

dev->flags1 = 0x20 /* T_Active */
| (sendT0)
--
1.8.3.1


2020-01-21 09:09:40

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] pcmcia/cm4000: remove useless variable tmp

On Tue, Jan 21, 2020 at 9:50 AM Alex Shi <[email protected]> wrote:
>
> No one care the value of 'tmp' in func cmm_write. better to remove it.

Hi Alex,

> @@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
> set_cardparameter(dev);
>
> /* dummy read, reset flag procedure received */
> - tmp = inb(REG_FLAGS1(iobase));
> + inb(REG_FLAGS1(iobase));

I think this may cause warnings on some architectures, when inb() is a macro
that just turns into a pointer dereference. You could write it as

(void)inb(REG_FLAGS1(iobase));

which would not warn anywhere.

Arnd

2020-01-21 09:56:54

by Alex Shi

[permalink] [raw]
Subject: Re: [PATCH] pcmcia/cm4000: remove useless variable tmp



在 2020/1/21 下午5:08, Arnd Bergmann 写道:
> On Tue, Jan 21, 2020 at 9:50 AM Alex Shi <[email protected]> wrote:
>>
>> No one care the value of 'tmp' in func cmm_write. better to remove it.
>
> Hi Alex,
>
>> @@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
>> set_cardparameter(dev);
>>
>> /* dummy read, reset flag procedure received */
>> - tmp = inb(REG_FLAGS1(iobase));
>> + inb(REG_FLAGS1(iobase));
>
> I think this may cause warnings on some architectures, when inb() is a macro
> that just turns into a pointer dereference. You could write it as
>
> (void)inb(REG_FLAGS1(iobase));
>
> which would not warn anywhere.
>
> Arnd
>

Thanks a lot Arnd!


From 9e54770c6911ae7da7d2f74774bbef019e459bc9 Mon Sep 17 00:00:00 2001
From: Alex Shi <[email protected]>
Date: Fri, 17 Jan 2020 09:10:47 +0800
Subject: [PATCH v2] pcmcia/cm4000: remove useless variable tmp

No one care the value of 'tmp' in func cmm_write. better to remove it.

Arnd Bergmann pointed just remove may cause warning in some arch where
inb is macro, and suggest add a cast '(void)' for this. Thanks!

Signed-off-by: Alex Shi <[email protected]>
Cc: Harald Welte <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: [email protected]
---
drivers/char/pcmcia/cm4000_cs.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
index 15bf585af5d3..0f55bed6c71f 100644
--- a/drivers/char/pcmcia/cm4000_cs.c
+++ b/drivers/char/pcmcia/cm4000_cs.c
@@ -1048,7 +1048,6 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
struct cm4000_dev *dev = filp->private_data;
unsigned int iobase = dev->p_dev->resource[0]->start;
unsigned short s;
- unsigned char tmp;
unsigned char infolen;
unsigned char sendT0;
unsigned short nsend;
@@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
set_cardparameter(dev);

/* dummy read, reset flag procedure received */
- tmp = inb(REG_FLAGS1(iobase));
+ (void)inb(REG_FLAGS1(iobase));

dev->flags1 = 0x20 /* T_Active */
| (sendT0)
--
1.8.3.1

2020-01-21 10:15:18

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH] pcmcia/cm4000: remove useless variable tmp

On Tue, Jan 21, 2020 at 10:55 AM Alex Shi <[email protected]> wrote:

>
> From 9e54770c6911ae7da7d2f74774bbef019e459bc9 Mon Sep 17 00:00:00 2001
> From: Alex Shi <[email protected]>
> Date: Fri, 17 Jan 2020 09:10:47 +0800
> Subject: [PATCH v2] pcmcia/cm4000: remove useless variable tmp
>
> No one care the value of 'tmp' in func cmm_write. better to remove it.
>
> Arnd Bergmann pointed just remove may cause warning in some arch where
> inb is macro, and suggest add a cast '(void)' for this. Thanks!
>
> Signed-off-by: Alex Shi <[email protected]>
> Cc: Harald Welte <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: [email protected]

Acked-by: Arnd Bergmann <[email protected]>

2020-01-21 16:26:13

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] pcmcia/cm4000: remove useless variable tmp

On Tue, Jan 21, 2020 at 05:53:53PM +0800, Alex Shi wrote:
>
>
> 在 2020/1/21 下午5:08, Arnd Bergmann 写道:
> > On Tue, Jan 21, 2020 at 9:50 AM Alex Shi <[email protected]> wrote:
> >>
> >> No one care the value of 'tmp' in func cmm_write. better to remove it.
> >
> > Hi Alex,
> >
> >> @@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
> >> set_cardparameter(dev);
> >>
> >> /* dummy read, reset flag procedure received */
> >> - tmp = inb(REG_FLAGS1(iobase));
> >> + inb(REG_FLAGS1(iobase));
> >
> > I think this may cause warnings on some architectures, when inb() is a macro
> > that just turns into a pointer dereference. You could write it as
> >
> > (void)inb(REG_FLAGS1(iobase));
> >
> > which would not warn anywhere.
> >
> > Arnd
> >
>
> Thanks a lot Arnd!
>
>
> >From 9e54770c6911ae7da7d2f74774bbef019e459bc9 Mon Sep 17 00:00:00 2001
> From: Alex Shi <[email protected]>
> Date: Fri, 17 Jan 2020 09:10:47 +0800
> Subject: [PATCH v2] pcmcia/cm4000: remove useless variable tmp
>
> No one care the value of 'tmp' in func cmm_write. better to remove it.
>
> Arnd Bergmann pointed just remove may cause warning in some arch where
> inb is macro, and suggest add a cast '(void)' for this. Thanks!
>
> Signed-off-by: Alex Shi <[email protected]>
> Cc: Harald Welte <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Greg Kroah-Hartman <[email protected]>
> Cc: [email protected]
> ---
> drivers/char/pcmcia/cm4000_cs.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/char/pcmcia/cm4000_cs.c b/drivers/char/pcmcia/cm4000_cs.c
> index 15bf585af5d3..0f55bed6c71f 100644
> --- a/drivers/char/pcmcia/cm4000_cs.c
> +++ b/drivers/char/pcmcia/cm4000_cs.c
> @@ -1048,7 +1048,6 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
> struct cm4000_dev *dev = filp->private_data;
> unsigned int iobase = dev->p_dev->resource[0]->start;
> unsigned short s;
> - unsigned char tmp;
> unsigned char infolen;
> unsigned char sendT0;
> unsigned short nsend;
> @@ -1146,7 +1145,7 @@ static ssize_t cmm_write(struct file *filp, const char __user *buf,
> set_cardparameter(dev);
>
> /* dummy read, reset flag procedure received */
> - tmp = inb(REG_FLAGS1(iobase));
> + (void)inb(REG_FLAGS1(iobase));

That's horrid, just keep tmp :)