@@ -743,7 +743,7 @@ static int chip_wakeup(struct wilc *wilc)
return chip_wakeup_wilc3000(wilc);
}
-static inline int acquire_bus(struct wilc *wilc, enum bus_acquire acquire)
+int acquire_bus(struct wilc *wilc, enum bus_acquire acquire)
{
int ret = 0;
@@ -757,12 +757,13 @@ static inline int acquire_bus(struct wilc *wilc, enum bus_acquire acquire)
return ret;
}
-static inline int release_bus(struct wilc *wilc, enum bus_release release)
+int release_bus(struct wilc *wilc, enum bus_release release)
{
int ret = 0;
if (release == WILC_BUS_RELEASE_ALLOW_SLEEP && wilc->power_save_mode)
ret = chip_allow_sleep(wilc);
+
mutex_unlock(&wilc->hif_cs);
return ret;
@@ -475,4 +475,7 @@ int wilc_wlan_init(struct net_device *dev);
int wilc_get_chipid(struct wilc *wilc);
int wilc_load_mac_from_nv(struct wilc *wilc);
+int acquire_bus(struct wilc *wilc, enum bus_acquire acquire);
+int release_bus(struct wilc *wilc, enum bus_release release);
+
#endif
acquire_bus/release_bus is currently used only in wlan.c when needing to access the main bus (SDIO or SPI). For wilc3000, the bluetooth part will also need to perform some operations on the main bus (eg: bluetooth firmware loading), so expose acquire/release_bus. Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> --- drivers/net/wireless/microchip/wilc1000/wlan.c | 5 +++-- drivers/net/wireless/microchip/wilc1000/wlan.h | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-)