cw1200: Fix compile with CONFIG_PM=n
authorSolomon Peachy <pizza@shaftnet.org>
Thu, 30 May 2013 02:22:05 +0000 (22:22 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 30 May 2013 18:42:47 +0000 (14:42 -0400)
Intel's 0-day kernel build tester caught this build failure.  This patch
properly wraps everything that depends on CONFIG_PM.

Signed-off-by: Solomon Peachy <pizza@shaftnet.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/cw1200/Makefile
drivers/net/wireless/cw1200/cw1200_sdio.c
drivers/net/wireless/cw1200/cw1200_spi.c
drivers/net/wireless/cw1200/main.c
drivers/net/wireless/cw1200/pm.h

index c19737276be2387670005ab93b5b361a0b9406e3..1aa3682066e0411a0b7778f8cf4216324f065b42 100644 (file)
@@ -8,9 +8,9 @@ cw1200_core-y := \
                wsm.o \
                sta.o \
                scan.o \
-               pm.o \
                debug.o
 cw1200_core-$(CONFIG_CW1200_ITP)       += itp.o
+cw1200_core-$(CONFIG_PM)       += pm.o
 
 # CFLAGS_sta.o += -DDEBUG
 
index f6e22192d80a18f75b5241f24ef076622e27fe94..2059a31815f3560df8153731929a47bed5c76c31 100644 (file)
@@ -334,6 +334,7 @@ static void cw1200_sdio_disconnect(struct sdio_func *func)
        }
 }
 
+#ifdef CONFIG_PM
 static int cw1200_sdio_suspend(struct device *dev)
 {
        int ret;
@@ -360,15 +361,18 @@ static const struct dev_pm_ops cw1200_pm_ops = {
        .suspend = cw1200_sdio_suspend,
        .resume = cw1200_sdio_resume,
 };
+#endif
 
 static struct sdio_driver sdio_driver = {
        .name           = "cw1200_wlan_sdio",
        .id_table       = cw1200_sdio_ids,
        .probe          = cw1200_sdio_probe,
        .remove         = cw1200_sdio_disconnect,
+#ifdef CONFIG_PM
        .drv = {
                .pm = &cw1200_pm_ops,
        }
+#endif
 };
 
 /* Init Module function -> Called by insmod */
index 04af68534854be79bdb8bd4e69e476d18c9ab6a3..b957d4a01c525a9392a0f0231e58864fbc15e301 100644 (file)
@@ -436,6 +436,7 @@ static int cw1200_spi_disconnect(struct spi_device *func)
        return 0;
 }
 
+#ifdef CONFIG_PM
 static int cw1200_spi_suspend(struct device *dev, pm_message_t state)
 {
        struct sbus_priv *self = spi_get_drvdata(to_spi_device(dev));
@@ -451,6 +452,7 @@ static int cw1200_spi_resume(struct device *dev)
 {
        return 0;
 }
+#endif
 
 static struct spi_driver spi_driver = {
        .probe          = cw1200_spi_probe,
@@ -459,8 +461,10 @@ static struct spi_driver spi_driver = {
                .name           = "cw1200_wlan_spi",
                .bus            = &spi_bus_type,
                .owner          = THIS_MODULE,
+#ifdef CONFIG_PM
                .suspend        = cw1200_spi_suspend,
                .resume         = cw1200_spi_resume,
+#endif
        },
 };
 
index 8426d3d7607eb7ca3305f644c34c622ffe327c44..ef4b0b915f8743c85b7b692cf0b2e32705337fd6 100644 (file)
@@ -234,8 +234,10 @@ static const struct ieee80211_ops cw1200_ops = {
        .get_stats              = cw1200_get_stats,
        .ampdu_action           = cw1200_ampdu_action,
        .flush                  = cw1200_flush,
+#ifdef CONFIG_PM
        .suspend                = cw1200_wow_suspend,
        .resume                 = cw1200_wow_resume,
+#endif
        /* Intentionally not offloaded:                                 */
        /*.channel_switch       = cw1200_channel_switch,                */
        /*.remain_on_channel    = cw1200_remain_on_channel,             */
@@ -292,10 +294,12 @@ static struct ieee80211_hw *cw1200_init_common(const u8 *macaddr,
                                          BIT(NL80211_IFTYPE_P2P_CLIENT) |
                                          BIT(NL80211_IFTYPE_P2P_GO);
 
+#ifdef CONFIG_PM
        /* Support only for limited wowlan functionalities */
        hw->wiphy->wowlan.flags = WIPHY_WOWLAN_ANY |
                WIPHY_WOWLAN_DISCONNECT;
        hw->wiphy->wowlan.n_patterns = 0;
+#endif
 
        hw->wiphy->flags |= WIPHY_FLAG_AP_UAPSD;
 
@@ -419,18 +423,22 @@ static int cw1200_register_common(struct ieee80211_hw *dev)
                goto done;
 #endif
 
+#ifdef CONFIG_PM
        err = cw1200_pm_init(&priv->pm_state, priv);
        if (err) {
                pr_err("Cannot init PM. (%d).\n",
                       err);
                return err;
        }
+#endif
 
        err = ieee80211_register_hw(dev);
        if (err) {
                pr_err("Cannot register device (%d).\n",
                       err);
+#ifdef CONFIG_PM
                cw1200_pm_deinit(&priv->pm_state);
+#endif
                return err;
        }
 
@@ -482,7 +490,9 @@ static void cw1200_unregister_common(struct ieee80211_hw *dev)
                cw1200_queue_deinit(&priv->tx_queue[i]);
 
        cw1200_queue_stats_deinit(&priv->tx_queue_stats);
+#ifdef CONFIG_PM
        cw1200_pm_deinit(&priv->pm_state);
+#endif
 }
 
 /* Clock is in KHz */
index 516d9671dd1e8dcee0a5d9212a90994ed17973b9..3ed90ff22bb852312a59db1b326cdd2ecbfcd2bb 100644 (file)
@@ -25,14 +25,19 @@ struct cw1200_pm_state {
        spinlock_t lock; /* Protect access */
 };
 
+#ifdef CONFIG_PM
 int cw1200_pm_init(struct cw1200_pm_state *pm,
                    struct cw1200_common *priv);
 void cw1200_pm_deinit(struct cw1200_pm_state *pm);
-void cw1200_pm_stay_awake(struct cw1200_pm_state *pm,
-                         unsigned long tmo);
 int cw1200_wow_suspend(struct ieee80211_hw *hw,
                       struct cfg80211_wowlan *wowlan);
 int cw1200_wow_resume(struct ieee80211_hw *hw);
 int cw1200_can_suspend(struct cw1200_common *priv);
-
+void cw1200_pm_stay_awake(struct cw1200_pm_state *pm,
+                         unsigned long tmo);
+#else
+static inline void cw1200_pm_stay_awake(struct cw1200_pm_state *pm,
+                                       unsigned long tmo) {
+}
+#endif
 #endif