[PATCH] input: Silence 'unused variable' warning in iforce joystick driver

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE6914d

4 messages, 3 authors, 2007-08-31 · open the first message on its own page

[PATCH] input: Silence 'unused variable' warning in iforce joystick driver

From: Jesper Juhl <hidden>
Date: 2007-08-30 22:16:26

In the iforce driver we currently get this warning

 drivers/input/joystick/iforce/iforce-packets.c: In function 'iforce_get_id_packet':
 drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable 'status'

if CONFIG_JOYSTICK_IFORCE_USB is not defined.

The warning is easy to avoid by simply moving the variable inside 
the only case in the switch that actually use it.


Signed-off-by: Jesper Juhl <redacted>
---
diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c
index 3154ccd..48d4a86 100644
--- a/drivers/input/joystick/iforce/iforce-packets.c
+++ b/drivers/input/joystick/iforce/iforce-packets.c
@@ -246,13 +246,12 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data)
 
 int iforce_get_id_packet(struct iforce *iforce, char *packet)
 {
-	int status;
-
 	switch (iforce->bus) {
 
 	case IFORCE_USB:
-
 #ifdef CONFIG_JOYSTICK_IFORCE_USB
+		int status;
+
 		iforce->cr.bRequest = packet[0];
 		iforce->ctrl->dev = iforce->usbdev;
 

Re: [PATCH] input: Silence 'unused variable' warning in iforce joystick driver

From: Satyam Sharma <hidden>
Date: 2007-08-30 22:44:53

Hi,


On Fri, 31 Aug 2007, Jesper Juhl wrote:
quoted hunk
In the iforce driver we currently get this warning

 drivers/input/joystick/iforce/iforce-packets.c: In function 'iforce_get_id_packet':
 drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable 'status'

if CONFIG_JOYSTICK_IFORCE_USB is not defined.

The warning is easy to avoid by simply moving the variable inside 
the only case in the switch that actually use it.


Signed-off-by: Jesper Juhl <redacted>
---
diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c
index 3154ccd..48d4a86 100644
--- a/drivers/input/joystick/iforce/iforce-packets.c
+++ b/drivers/input/joystick/iforce/iforce-packets.c
@@ -246,13 +246,12 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data)
 
 int iforce_get_id_packet(struct iforce *iforce, char *packet)
 {
-	int status;
-
 	switch (iforce->bus) {
 
 	case IFORCE_USB:
-
 #ifdef CONFIG_JOYSTICK_IFORCE_USB
+		int status;
+
 		iforce->cr.bRequest = packet[0];
 		iforce->ctrl->dev = iforce->usbdev;
Hmm, would this not still give a warning when JOYSTICK_IFORCE_USB=y?
[ I didn't know mixing code and declarations (not at top of statement
  block) was accepted style in the kernel ... ]

IMHO either you should at least wrap that case inside a {} of its
own (so that the int status; is at top of a statement block), or else,
preferably, just add "__maybe_unused" to the first declaration that you
removed just now.


Satyam

Re: [PATCH] input: Silence 'unused variable' warning in iforce joystick driver

From: Jesper Juhl <hidden>
Date: 2007-08-30 22:53:23

On 31/08/2007, Satyam Sharma [off-list ref] wrote:
...
Hmm, would this not still give a warning when JOYSTICK_IFORCE_USB=y?
Arrgh, I messed that one up real good...  Thank you for your keen eye Satyam :-)

[ I didn't know mixing code and declarations (not at top of statement
  block) was accepted style in the kernel ... ]
It's not the common case, but this is certainly not the only place in the kernel where we do it.

IMHO either you should at least wrap that case inside a {} of its
own (so that the int status; is at top of a statement block), or else,
Yeah, I should...
preferably, just add "__maybe_unused" to the first declaration that you
removed just now.
Here's an updated patch that actually works as intended.



In the iforce driver we currently get this warning

  drivers/input/joystick/iforce/iforce-packets.c: In function 'iforce_get_id_packet':
  drivers/input/joystick/iforce/iforce-packets.c:249: warning: unused variable 'status'

if CONFIG_JOYSTICK_IFORCE_USB is not defined.

The warning is easy to avoid by simply moving the variable inside
the only case in the switch that actually use it.


Signed-off-by: Jesper Juhl <redacted>
---
diff --git a/drivers/input/joystick/iforce/iforce-packets.c b/drivers/input/joystick/iforce/iforce-packets.c
index 3154ccd..2731057 100644
--- a/drivers/input/joystick/iforce/iforce-packets.c
+++ b/drivers/input/joystick/iforce/iforce-packets.c
@@ -246,13 +246,12 @@ void iforce_process_packet(struct iforce *iforce, u16 cmd, unsigned char *data)
 
 int iforce_get_id_packet(struct iforce *iforce, char *packet)
 {
-	int status;
-
 	switch (iforce->bus) {
 
-	case IFORCE_USB:
-
+	case IFORCE_USB: {
 #ifdef CONFIG_JOYSTICK_IFORCE_USB
+		int status;
+
 		iforce->cr.bRequest = packet[0];
 		iforce->ctrl->dev = iforce->usbdev;
 
@@ -270,6 +269,7 @@ int iforce_get_id_packet(struct iforce *iforce, char *packet)
 			usb_unlink_urb(iforce->ctrl);
 			return -1;
 		}
+	}
 #else
 		dbg("iforce_get_id_packet: iforce->bus = USB!");
 #endif

Re: [PATCH] input: Silence 'unused variable' warning in iforce joystick driver

From: "Dmitry Torokhov" <dmitry.torokhov@gmail.com>
Date: 2007-08-31 15:26:53

Hi Jesper,

On 8/30/07, Jesper Juhl [off-list ref] wrote:
On 31/08/2007, Satyam Sharma [off-list ref] wrote:
...
quoted
Hmm, would this not still give a warning when JOYSTICK_IFORCE_USB=y?
Arrgh, I messed that one up real good...  Thank you for your keen eye Satyam :-)

quoted
[ I didn't know mixing code and declarations (not at top of statement
  block) was accepted style in the kernel ... ]
It's not the common case, but this is certainly not the only place in the kernel where we do it.

quoted
IMHO either you should at least wrap that case inside a {} of its
own (so that the int status; is at top of a statement block), or else,
Yeah, I should...
quoted
preferably, just add "__maybe_unused" to the first declaration that you
removed just now.
Here's an updated patch that actually works as intended.
I had a similar patch from Andrew Morton in my queue and it just got
merged. There should be no warning anymore.

-- 
Dmitry
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help