cnss2: Add device pointer to all external APIs
Add device pointer to all external APIs so that platform driver is able to support multiple devices/instances at the same time. Change-Id: I09dfb146da30d3fd6514dc79dc31cd239a03afa8 Signed-off-by: Yue Ma <yuem@codeaurora.org>
This commit is contained in:
parent
f76f50c672
commit
c10f99af82
3 changed files with 46 additions and 35 deletions
|
@ -189,19 +189,20 @@ static void cnss_pm_relax(struct cnss_plat_data *plat_priv)
|
|||
pm_relax(&plat_priv->plat_dev->dev);
|
||||
}
|
||||
|
||||
void cnss_lock_pm_sem(void)
|
||||
void cnss_lock_pm_sem(struct device *dev)
|
||||
{
|
||||
down_read(&cnss_pm_sem);
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_lock_pm_sem);
|
||||
|
||||
void cnss_release_pm_sem(void)
|
||||
void cnss_release_pm_sem(struct device *dev)
|
||||
{
|
||||
up_read(&cnss_pm_sem);
|
||||
}
|
||||
EXPORT_SYMBOL(cnss_release_pm_sem);
|
||||
|
||||
int cnss_get_fw_files_for_target(struct cnss_fw_files *pfw_files,
|
||||
int cnss_get_fw_files_for_target(struct device *dev,
|
||||
struct cnss_fw_files *pfw_files,
|
||||
u32 target_type, u32 target_version)
|
||||
{
|
||||
if (!pfw_files)
|
||||
|
@ -223,10 +224,10 @@ int cnss_get_fw_files_for_target(struct cnss_fw_files *pfw_files,
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_get_fw_files_for_target);
|
||||
|
||||
int cnss_request_bus_bandwidth(int bandwidth)
|
||||
int cnss_request_bus_bandwidth(struct device *dev, int bandwidth)
|
||||
{
|
||||
int ret = 0;
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct cnss_bus_bw_info *bus_bw_info;
|
||||
|
||||
if (!plat_priv)
|
||||
|
@ -258,9 +259,9 @@ int cnss_request_bus_bandwidth(int bandwidth)
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_request_bus_bandwidth);
|
||||
|
||||
int cnss_get_platform_cap(struct cnss_platform_cap *cap)
|
||||
int cnss_get_platform_cap(struct device *dev, struct cnss_platform_cap *cap)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
|
||||
if (!plat_priv)
|
||||
return -ENODEV;
|
||||
|
@ -289,9 +290,9 @@ int cnss_get_soc_info(struct device *dev, struct cnss_soc_info *info)
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_get_soc_info);
|
||||
|
||||
void cnss_request_pm_qos(u32 qos_val)
|
||||
void cnss_request_pm_qos(struct device *dev, u32 qos_val)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
|
||||
if (!plat_priv)
|
||||
return;
|
||||
|
@ -301,9 +302,9 @@ void cnss_request_pm_qos(u32 qos_val)
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_request_pm_qos);
|
||||
|
||||
void cnss_remove_pm_qos(void)
|
||||
void cnss_remove_pm_qos(struct device *dev)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
|
||||
if (!plat_priv)
|
||||
return;
|
||||
|
@ -1037,7 +1038,8 @@ static int cnss_qca6174_shutdown(struct cnss_plat_data *plat_priv)
|
|||
|
||||
cnss_driver_call_remove(plat_priv);
|
||||
|
||||
cnss_request_bus_bandwidth(CNSS_BUS_WIDTH_NONE);
|
||||
cnss_request_bus_bandwidth(&plat_priv->plat_dev->dev,
|
||||
CNSS_BUS_WIDTH_NONE);
|
||||
cnss_pci_set_monitor_wake_intr(pci_priv, false);
|
||||
cnss_pci_set_auto_suspended(pci_priv, 0);
|
||||
|
||||
|
@ -1143,7 +1145,8 @@ static int cnss_qca6290_shutdown(struct cnss_plat_data *plat_priv)
|
|||
|
||||
cnss_driver_call_remove(plat_priv);
|
||||
|
||||
cnss_request_bus_bandwidth(CNSS_BUS_WIDTH_NONE);
|
||||
cnss_request_bus_bandwidth(&plat_priv->plat_dev->dev,
|
||||
CNSS_BUS_WIDTH_NONE);
|
||||
cnss_pci_set_monitor_wake_intr(pci_priv, false);
|
||||
cnss_pci_set_auto_suspended(pci_priv, 0);
|
||||
|
||||
|
@ -1340,9 +1343,9 @@ static int cnss_ramdump(int enable, const struct subsys_desc *subsys_desc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
void *cnss_get_virt_ramdump_mem(unsigned long *size)
|
||||
void *cnss_get_virt_ramdump_mem(struct device *dev, unsigned long *size)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct cnss_ramdump_info *ramdump_info;
|
||||
|
||||
if (!plat_priv)
|
||||
|
@ -1355,9 +1358,9 @@ void *cnss_get_virt_ramdump_mem(unsigned long *size)
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_get_virt_ramdump_mem);
|
||||
|
||||
void cnss_device_crashed(void)
|
||||
void cnss_device_crashed(struct device *dev)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct cnss_subsys_info *subsys_info;
|
||||
|
||||
if (!plat_priv)
|
||||
|
|
|
@ -568,9 +568,9 @@ static int cnss_pci_runtime_idle(struct device *dev)
|
|||
return -EBUSY;
|
||||
}
|
||||
|
||||
int cnss_wlan_pm_control(bool vote)
|
||||
int cnss_wlan_pm_control(struct device *dev, bool vote)
|
||||
{
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct cnss_pci_data *pci_priv;
|
||||
struct pci_dev *pci_dev;
|
||||
|
||||
|
@ -590,10 +590,10 @@ int cnss_wlan_pm_control(bool vote)
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_wlan_pm_control);
|
||||
|
||||
int cnss_auto_suspend(void)
|
||||
int cnss_auto_suspend(struct device *dev)
|
||||
{
|
||||
int ret = 0;
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct pci_dev *pci_dev;
|
||||
struct cnss_pci_data *pci_priv;
|
||||
struct cnss_bus_bw_info *bus_bw_info;
|
||||
|
@ -648,10 +648,10 @@ out:
|
|||
}
|
||||
EXPORT_SYMBOL(cnss_auto_suspend);
|
||||
|
||||
int cnss_auto_resume(void)
|
||||
int cnss_auto_resume(struct device *dev)
|
||||
{
|
||||
int ret = 0;
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(NULL);
|
||||
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
|
||||
struct pci_dev *pci_dev;
|
||||
struct cnss_pci_data *pci_priv;
|
||||
struct cnss_bus_bw_info *bus_bw_info;
|
||||
|
|
|
@ -18,6 +18,12 @@
|
|||
#define CNSS_MAX_FILE_NAME 20
|
||||
#define CNSS_MAX_TIMESTAMP_LEN 32
|
||||
|
||||
/*
|
||||
* Temporary change for compilation, will be removed
|
||||
* after WLAN host driver switched to use new APIs
|
||||
*/
|
||||
#define CNSS_API_WITH_DEV
|
||||
|
||||
enum cnss_bus_width_type {
|
||||
CNSS_BUS_WIDTH_NONE,
|
||||
CNSS_BUS_WIDTH_LOW,
|
||||
|
@ -139,28 +145,30 @@ enum cnss_recovery_reason {
|
|||
|
||||
extern int cnss_wlan_register_driver(struct cnss_wlan_driver *driver);
|
||||
extern void cnss_wlan_unregister_driver(struct cnss_wlan_driver *driver);
|
||||
extern void cnss_device_crashed(void);
|
||||
extern void cnss_device_crashed(struct device *dev);
|
||||
extern int cnss_pci_link_down(struct device *dev);
|
||||
extern void cnss_schedule_recovery(struct device *dev,
|
||||
enum cnss_recovery_reason reason);
|
||||
extern int cnss_self_recovery(struct device *dev,
|
||||
enum cnss_recovery_reason reason);
|
||||
extern int cnss_force_fw_assert(struct device *dev);
|
||||
extern void *cnss_get_virt_ramdump_mem(unsigned long *size);
|
||||
extern int cnss_get_fw_files_for_target(struct cnss_fw_files *pfw_files,
|
||||
extern void *cnss_get_virt_ramdump_mem(struct device *dev, unsigned long *size);
|
||||
extern int cnss_get_fw_files_for_target(struct device *dev,
|
||||
struct cnss_fw_files *pfw_files,
|
||||
u32 target_type, u32 target_version);
|
||||
extern int cnss_get_platform_cap(struct cnss_platform_cap *cap);
|
||||
extern int cnss_get_platform_cap(struct device *dev,
|
||||
struct cnss_platform_cap *cap);
|
||||
extern int cnss_get_soc_info(struct device *dev, struct cnss_soc_info *info);
|
||||
extern int cnss_request_bus_bandwidth(int bandwidth);
|
||||
extern int cnss_request_bus_bandwidth(struct device *dev, int bandwidth);
|
||||
extern int cnss_power_up(struct device *dev);
|
||||
extern int cnss_power_down(struct device *dev);
|
||||
extern void cnss_request_pm_qos(u32 qos_val);
|
||||
extern void cnss_remove_pm_qos(void);
|
||||
extern void cnss_lock_pm_sem(void);
|
||||
extern void cnss_release_pm_sem(void);
|
||||
extern int cnss_wlan_pm_control(bool vote);
|
||||
extern int cnss_auto_suspend(void);
|
||||
extern int cnss_auto_resume(void);
|
||||
extern void cnss_request_pm_qos(struct device *dev, u32 qos_val);
|
||||
extern void cnss_remove_pm_qos(struct device *dev);
|
||||
extern void cnss_lock_pm_sem(struct device *dev);
|
||||
extern void cnss_release_pm_sem(struct device *dev);
|
||||
extern int cnss_wlan_pm_control(struct device *dev, bool vote);
|
||||
extern int cnss_auto_suspend(struct device *dev);
|
||||
extern int cnss_auto_resume(struct device *dev);
|
||||
extern int cnss_get_user_msi_assignment(struct device *dev, char *user_name,
|
||||
int *num_vectors,
|
||||
uint32_t *user_base_data,
|
||||
|
|
Loading…
Add table
Reference in a new issue