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

From: Andrew Morton
Date: Sat Dec 12 2009 - 21:49:50 EST


On Fri, 11 Dec 2009 15:15:02 -0800 (PST) David Miller <davem@xxxxxxxxxxxxx> wrote:

> From: Mike Frysinger <vapier@xxxxxxxxxx>
> 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 <vapier@xxxxxxxxxx>
>
> 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

/*
_


--
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/