Commit 1e9e258d authored by Alexis Lothoré's avatar Alexis Lothoré Committed by Kalle Valo
Browse files

wifi: wilc1000: remove suspend/resume from cfg80211 part



WILC1000 suspend/resume implementation is currently composed of two parts:
suspend/resume ops implemented in cfg80211 ops, which merely sets a
flag, and suspend/resume ops in sdio/spi driver which, based on this flag,
execute or not the suspend/resume mechanism. This dual set of ops is not
really needed , so keep only the sdio part to implement suspend/resume.

While doing so, remove the now unused suspend_event flag.

Signed-off-by: default avatarAlexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240613-wilc_suspend-v1-5-c2f766d0988c@bootlin.com
parent a814112e
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -1617,23 +1617,6 @@ static int del_virtual_intf(struct wiphy *wiphy, struct wireless_dev *wdev)
	return 0;
}

static int wilc_suspend(struct wiphy *wiphy, struct cfg80211_wowlan *wow)
{
	struct wilc *wl = wiphy_priv(wiphy);

	if (!wow && wilc_wlan_get_num_conn_ifcs(wl))
		wl->suspend_event = true;
	else
		wl->suspend_event = false;

	return 0;
}

static int wilc_resume(struct wiphy *wiphy)
{
	return 0;
}

static void wilc_set_wakeup(struct wiphy *wiphy, bool enabled)
{
	struct wilc *wl = wiphy_priv(wiphy);
@@ -1739,8 +1722,6 @@ static const struct cfg80211_ops wilc_cfg80211_ops = {
	.set_power_mgmt = set_power_mgmt,
	.set_cqm_rssi_config = set_cqm_rssi_config,

	.suspend = wilc_suspend,
	.resume = wilc_resume,
	.set_wakeup = wilc_set_wakeup,
	.set_tx_power = set_tx_power,
	.get_tx_power = get_tx_power,
+0 −1
Original line number Diff line number Diff line
@@ -272,7 +272,6 @@ struct wilc {
	const struct firmware *firmware;

	struct device *dev;
	bool suspend_event;

	struct workqueue_struct *hif_workqueue;
	struct wilc_cfg cfg;
+2 −4
Original line number Diff line number Diff line
@@ -980,7 +980,6 @@ static int wilc_sdio_suspend(struct device *dev)
	if (!IS_ERR(wilc->rtc_clk))
		clk_disable_unprepare(wilc->rtc_clk);

	if (wilc->suspend_event)
	host_sleep_notify(wilc);

	ret = wilc_sdio_reset(wilc);
@@ -1000,7 +999,6 @@ static int wilc_sdio_resume(struct device *dev)
	dev_info(dev, "sdio resume\n");
	wilc_sdio_init(wilc, true);

	if (wilc->suspend_event)
	host_wakeup_notify(wilc);

	return 0;