Search Linux Wireless

Re: [PATCH] libertas: make mesh code configurable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Especially for the mesh_dev thing, you should probably have a
> static inline that returns priv->mesh_dev (mesh case) and NULL
> (non-mesh case) and rely on the compiler to elide as much code
> as possible.
>
> E.g. this:
> > +#ifdef CONFIG_LIBERTAS_MESH
> >  	if (priv->mesh_dev && (priv->mesh_connect_status ==
> > LBS_CONNECTED)) netif_wake_queue(priv->mesh_dev);
> > +#endif
>
> wouldn't then need an ifdef.

Ah, I thought that the compiler would barf about the
priv->mesh_connect_status, because this is no longer in
struct lbs_private.

So I tried your suggestion and, yes, the compiler barfs:

static inline struct net_device *lbs_mesh_dev(struct lbs_private *priv)
{
#ifdef CONFIG_LIBERTAS_MESH
        return priv->mesh_dev;
#else
        return NULL;
#endif
}

        if (lbs_mesh_dev(priv) && dev == lbs_mesh_dev(priv)) {
                priv->mesh_open = 1;
                priv->mesh_connect_status = LBS_CONNECTED;
                netif_carrier_on(dev);
        } else {
                priv->infra_open = 1;

                if (priv->connect_status == LBS_CONNECTED)
                        netif_carrier_on(dev);
                else
                        netif_carrier_off(dev);
        }

drivers/net/wireless/libertas/main.c: In function 'lbs_dev_open':
drivers/net/wireless/libertas/main.c:414: error: 'struct lbs_private' has no member named 'mesh_open'
drivers/net/wireless/libertas/main.c:415: error: 'struct lbs_private' has no member named 'mesh_connect_status'
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux