Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] smc91x: fix unused flags warnings on UP systems

0 views
Skip to first unread message

Mike Frysinger

unread,
Dec 9, 2009, 8:50:02 AM12/9/09
to
Local flags variables will be declared whenever these functions get used,
but obviously on UP systems the flags parameter won't be touched. So add
some dummy ops that get optimized away anyways to satisfy gcc's warnings.

Signed-off-by: Mike Frysinger <vap...@gentoo.org>
---
drivers/net/smc91x.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index ae4983a..b0c92b6 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -534,9 +534,9 @@ static inline void smc_rcv(struct net_device *dev)
#define smc_special_lock(lock, flags) spin_lock_irqsave(lock, flags)
#define smc_special_unlock(lock, flags) spin_unlock_irqrestore(lock, flags)
#else
-#define smc_special_trylock(lock, flags) (1)
-#define smc_special_lock(lock, flags) do { } while (0)
-#define smc_special_unlock(lock, flags) do { } while (0)
+#define smc_special_trylock(lock, flags) (flags == flags)
+#define smc_special_lock(lock, flags) do { flags = 0; } while (0)
+#define smc_special_unlock(lock, flags) do { flags = 0; } while (0)
#endif

/*
--
1.6.5.5

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

Nicolas Pitre

unread,
Dec 9, 2009, 10:00:03 AM12/9/09
to
On Wed, 9 Dec 2009, Mike Frysinger wrote:

> Local flags variables will be declared whenever these functions get used,
> but obviously on UP systems the flags parameter won't be touched. So add
> some dummy ops that get optimized away anyways to satisfy gcc's warnings.
>
> Signed-off-by: Mike Frysinger <vap...@gentoo.org>

Acked-by: Nicolas Pitre <ni...@fluxnic.net>

David Miller

unread,
Dec 11, 2009, 6:20:02 PM12/11/09
to
From: Mike Frysinger <vap...@gentoo.org>
Date: Wed, 9 Dec 2009 08:40:04 -0500

> Local flags variables will be declared whenever these functions get used,
> but obviously on UP systems the flags parameter won't be touched. So add
> some dummy ops that get optimized away anyways to satisfy gcc's warnings.
>
> Signed-off-by: Mike Frysinger <vap...@gentoo.org>

Applied, although I thought we had a standard macro to handle this
kind of case.

In any case, for future reference, the usual way to handle this is
usually "(void) var;"

Andrew Morton

unread,
Dec 12, 2009, 9:50:01 PM12/12/09
to
On Fri, 11 Dec 2009 15:15:02 -0800 (PST) David Miller <da...@davemloft.net> wrote:

> From: Mike Frysinger <vap...@gentoo.org>
> Date: Wed, 9 Dec 2009 08:40:04 -0500
>
> > Local flags variables will be declared whenever these functions get used,
> > but obviously on UP systems the flags parameter won't be touched. So add
> > some dummy ops that get optimized away anyways to satisfy gcc's warnings.
> >
> > Signed-off-by: Mike Frysinger <vap...@gentoo.org>
>
> Applied, although I thought we had a standard macro to handle this
> kind of case.

Nope.

Coverting them to real C functions fixes the warning, and provides
previously-absent typechecking. ie, (untested):

--- a/drivers/net/smc91x.c~a
+++ a/drivers/net/smc91x.c
@@ -534,9 +534,18 @@ static inline void smc_rcv(struct net_d


#define smc_special_lock(lock, flags) spin_lock_irqsave(lock, flags)
#define smc_special_unlock(lock, flags) spin_unlock_irqrestore(lock, flags)
#else
-#define smc_special_trylock(lock, flags) (1)
-#define smc_special_lock(lock, flags) do { } while (0)
-#define smc_special_unlock(lock, flags) do { } while (0)

+static inline int smc_special_trylock(spinlock_t *lock, unsigned long flags)
+{
+ return 1;
+}
+
+static inline void smc_special_lock(spinlock_t *lock, unsigned long flags)
+{
+}
+
+static inline void smc_special_unlock(spinlock_t *lock, unsigned long flags)
+{
+}
#endif

/*
_

0 new messages