mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-23 17:30:02 +00:00
![Bjorn Andersson](/assets/img/avatar_default.png)
The tie between the main WCNSS driver and the IRIS driver causes a
circular dependency between the two modules. Neither part makes sense to
have on their own so lets merge them into one module.
For the sake of picking up the clock and regulator resources described
in the iris of_node we need an associated struct device. But, to keep
the size of the patch down we continue to represent the IRIS part as its
own platform_driver, within the same module, rather than setting up a
dummy device.
Fixes: aed361adca
("remoteproc: qcom: Introduce WCNSS peripheral image loader")
Reported-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
24 lines
465 B
C
24 lines
465 B
C
#ifndef __QCOM_WNCSS_H__
|
|
#define __QCOM_WNCSS_H__
|
|
|
|
struct qcom_iris;
|
|
struct qcom_wcnss;
|
|
|
|
extern struct platform_driver qcom_iris_driver;
|
|
|
|
struct wcnss_vreg_info {
|
|
const char * const name;
|
|
int min_voltage;
|
|
int max_voltage;
|
|
|
|
int load_uA;
|
|
|
|
bool super_turbo;
|
|
};
|
|
|
|
int qcom_iris_enable(struct qcom_iris *iris);
|
|
void qcom_iris_disable(struct qcom_iris *iris);
|
|
|
|
void qcom_wcnss_assign_iris(struct qcom_wcnss *wcnss, struct qcom_iris *iris, bool use_48mhz_xo);
|
|
|
|
#endif
|