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

From: Jesper Juhl
Date: Thu Aug 30 2007 - 18:53:23 EST


On 31/08/2007, Satyam Sharma <satyam@xxxxxxxxxxxxx> 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 <jesper.juhl@xxxxxxxxx>
---

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


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/