summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmitkumar Karwar <amit.karwar@redpinesignals.com>2017-11-01 17:42:44 +0530
committerKalle Valo <kvalo@codeaurora.org>2017-11-02 19:38:14 +0200
commit39f1332c526cd9d6de59a72520e8334e54b62cda (patch)
tree84c9cad297b63566476a8f8acc7fd8fece012937
parentdb5c6d4a9b92f0bc64cedb667043af23a81dae7c (diff)
rsi: move rsi_sdio_reinit_device() out of CONFIG_PM
This function is generic. It doesn't contain wowlan specific code. It should not be under CONFIG_PM. This patch resolves compilation errors observed when CONFIG_PM flag is disabled. Reported-by: kbuild test robot <fengguang.wu@intel.com> Fixes: ef71ed0608c ("rsi: sdio: Add WOWLAN support for S5 shutdown state") Fixes: a24e35fcee0 ("rsi: sdio: Add WOWLAN support for S4 hibernate state") Fixes: e1ced6422a3 ("rsi: sdio: add WOWLAN support for S3 suspend state") Signed-off-by: Amitkumar Karwar <amit.karwar@redpinesignals.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
-rw-r--r--drivers/net/wireless/rsi/rsi_91x_sdio.c52
-rw-r--r--drivers/net/wireless/rsi/rsi_sdio.h1
2 files changed, 26 insertions, 27 deletions
diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c
index 3288fb6888b9..b0cf41195051 100644
--- a/drivers/net/wireless/rsi/rsi_91x_sdio.c
+++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c
@@ -871,6 +871,32 @@ fail:
return status;
}
+static int rsi_sdio_reinit_device(struct rsi_hw *adapter)
+{
+ struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
+ struct sdio_func *pfunction = sdev->pfunction;
+ int ii;
+
+ for (ii = 0; ii < NUM_SOFT_QUEUES; ii++)
+ skb_queue_purge(&adapter->priv->tx_queue[ii]);
+
+ /* Initialize device again */
+ sdio_claim_host(pfunction);
+
+ sdio_release_irq(pfunction);
+ rsi_reset_card(pfunction);
+
+ sdio_enable_func(pfunction);
+ rsi_setupcard(adapter);
+ rsi_init_sdio_slave_regs(adapter);
+ sdio_claim_irq(pfunction, rsi_handle_interrupt);
+ rsi_hal_device_init(adapter);
+
+ sdio_release_host(pfunction);
+
+ return 0;
+}
+
static struct rsi_host_intf_ops sdio_host_intf_ops = {
.write_pkt = rsi_sdio_host_intf_write_pkt,
.read_pkt = rsi_sdio_host_intf_read_pkt,
@@ -1281,32 +1307,6 @@ static void rsi_shutdown(struct device *dev)
rsi_dbg(INFO_ZONE, "***** RSI module shut down *****\n");
}
-int rsi_sdio_reinit_device(struct rsi_hw *adapter)
-{
- struct rsi_91x_sdiodev *sdev = adapter->rsi_dev;
- struct sdio_func *pfunction = sdev->pfunction;
- int ii;
-
- for (ii = 0; ii < NUM_SOFT_QUEUES; ii++)
- skb_queue_purge(&adapter->priv->tx_queue[ii]);
-
- /* Initialize device again */
- sdio_claim_host(pfunction);
-
- sdio_release_irq(pfunction);
- rsi_reset_card(pfunction);
-
- sdio_enable_func(pfunction);
- rsi_setupcard(adapter);
- rsi_init_sdio_slave_regs(adapter);
- sdio_claim_irq(pfunction, rsi_handle_interrupt);
- rsi_hal_device_init(adapter);
-
- sdio_release_host(pfunction);
-
- return 0;
-}
-
static int rsi_restore(struct device *dev)
{
struct sdio_func *pfunction = dev_to_sdio_func(dev);
diff --git a/drivers/net/wireless/rsi/rsi_sdio.h b/drivers/net/wireless/rsi/rsi_sdio.h
index 8fbf90eb7b42..49c549ba6682 100644
--- a/drivers/net/wireless/rsi/rsi_sdio.h
+++ b/drivers/net/wireless/rsi/rsi_sdio.h
@@ -131,5 +131,4 @@ int rsi_sdio_master_access_msword(struct rsi_hw *adapter, u16 ms_word);
void rsi_sdio_ack_intr(struct rsi_hw *adapter, u8 int_bit);
int rsi_sdio_determine_event_timeout(struct rsi_hw *adapter);
int rsi_sdio_check_buffer_status(struct rsi_hw *adapter, u8 q_num);
-int rsi_sdio_reinit_device(struct rsi_hw *adapter);
#endif