| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- From 39f1332c526cd9d6de59a72520e8334e54b62cda Mon Sep 17 00:00:00 2001
- From: Amitkumar Karwar <[email protected]>
- Date: Wed, 1 Nov 2017 17:42:44 +0530
- Subject: 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 <[email protected]>
- 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 <[email protected]>
- Signed-off-by: Kalle Valo <[email protected]>
- ---
- drivers/net/wireless/rsi/rsi_91x_sdio.c | 52 ++++++++++++++++-----------------
- drivers/net/wireless/rsi/rsi_sdio.h | 1 -
- 2 files changed, 26 insertions(+), 27 deletions(-)
- --- 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 *
- 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);
- --- 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
- 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
|