Re: [Orinoco-devel] [2.6 patch] drivers/net/wireless/orinoco.h: "extern inline" -> "static inline"

From: David Gibson
Date: Thu Nov 17 2005 - 22:52:30 EST


On Fri, Nov 18, 2005 at 04:33:29AM +0100, Adrian Bunk wrote:
> "extern inline" doesn't make much sense.

Yes it does. "extern inline" tells gcc not to fall back to out of
line version if it can't inline the function. These functions *must*
by inlined, or they'll break horribly on Sparc, at least.

> --- linux-2.6.15-rc1-mm1-full/drivers/net/wireless/orinoco.h.old 2005-11-18 02:38:43.000000000 +0100
> +++ linux-2.6.15-rc1-mm1-full/drivers/net/wireless/orinoco.h 2005-11-18 02:38:47.000000000 +0100
> @@ -155,7 +155,7 @@
> * SPARC, due to its weird semantics for save/restore flags. extern
> * inline should prevent the kernel from linking or module from
> * loading if they are not inlined. */
> -extern inline int orinoco_lock(struct orinoco_private *priv,
> +static inline int orinoco_lock(struct orinoco_private *priv,
> unsigned long *flags)
> {
> spin_lock_irqsave(&priv->lock, *flags);
> @@ -168,7 +168,7 @@
> return 0;
> }
>
> -extern inline void orinoco_unlock(struct orinoco_private *priv,
> +static inline void orinoco_unlock(struct orinoco_private *priv,
> unsigned long *flags)
> {
> spin_unlock_irqrestore(&priv->lock, *flags);
>

--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
-
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/