Browse Source

cw1200: Fix compile with CONFIG_PM=n

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>
Solomon Peachy 12 years ago
parent
commit
4e17b87e79

+ 1 - 1
drivers/net/wireless/cw1200/Makefile

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

+ 4 - 0
drivers/net/wireless/cw1200/cw1200_sdio.c

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

+ 4 - 0
drivers/net/wireless/cw1200/cw1200_spi.c

@@ -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
 	},
 };
 

+ 10 - 0
drivers/net/wireless/cw1200/main.c

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

+ 8 - 3
drivers/net/wireless/cw1200/pm.h

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