Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b01eb21a authored by Meng Wang's avatar Meng Wang
Browse files

dsp: afe: update wakeup APIs



wakeup_source_init and wakeup_source_trash are removed in new kernel.
Update these two APIs to wakeup_source_register and wakeup_source_unregister.

Change-Id: I2415fac50d6370f205450d001e45696916f3c78c
Signed-off-by: default avatarMeng Wang <mengw@codeaurora.org>
parent d71ec81b
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ enum {
};

struct wlock {
	struct wakeup_source ws;
	struct wakeup_source *ws;
};

static struct wlock wl;
@@ -8525,7 +8525,7 @@ static int afe_set_cal_fb_spkr_prot(int32_t cal_type, size_t data_size,
		goto done;

	if (cal_data->cal_info.mode == MSM_SPKR_PROT_CALIBRATION_IN_PROGRESS)
		__pm_wakeup_event(&wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT));
		__pm_wakeup_event(wl.ws, jiffies_to_msecs(WAKELOCK_TIMEOUT));
	mutex_lock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock);
	memcpy(&this_afe.prot_cfg, &cal_data->cal_info,
		sizeof(this_afe.prot_cfg));
@@ -8731,7 +8731,7 @@ static int afe_get_cal_fb_spkr_prot(int32_t cal_type, size_t data_size,
	}
	this_afe.initial_cal = 0;
	mutex_unlock(&this_afe.cal_data[AFE_FB_SPKR_PROT_CAL]->lock);
	__pm_relax(&wl.ws);
	__pm_relax(wl.ws);
done:
	return ret;
}
@@ -9025,7 +9025,10 @@ int __init afe_init(void)
	}
	init_waitqueue_head(&this_afe.wait_wakeup);
	init_waitqueue_head(&this_afe.lpass_core_hw_wait);
	wakeup_source_init(&wl.ws, "spkr-prot");
	wl.ws = wakeup_source_register(NULL, "spkr-prot");
	if (!wl.ws)
		return -ENOMEM;

	ret = afe_init_cal_data();
	if (ret)
		pr_err("%s: could not init cal data! %d\n", __func__, ret);
@@ -9033,8 +9036,10 @@ int __init afe_init(void)
	config_debug_fs_init();

	this_afe.uevent_data = kzalloc(sizeof(*(this_afe.uevent_data)), GFP_KERNEL);
	if (!this_afe.uevent_data)
	if (!this_afe.uevent_data) {
		wakeup_source_unregister(wl.ws);
		return -ENOMEM;
	}

	/*
	 * Set release function to cleanup memory related to kobject
@@ -9069,7 +9074,7 @@ void afe_exit(void)
	config_debug_fs_exit();
	mutex_destroy(&this_afe.afe_cmd_lock);
	mutex_destroy(&this_afe.afe_apr_lock);
	wakeup_source_trash(&wl.ws);
	wakeup_source_unregister(wl.ws);
}

/*