summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLiangwei Dong <liangwei@codeaurora.org>2015-12-22 02:03:26 -0500
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:16:03 -0700
commitd362e25309d571f42950855410a2ce81312eddcb (patch)
treed547d4ff0cf638e88777cbda50b74cb8cee764ac /include
parentd7749d7f8e2fc65c07d712a5b6340a5682d61b1d (diff)
Net: CNSS_SDIO: Add SSR support for QCA WIFI Devices
Register subsystem device for SSR recovery. Create ramdump device for cnss fw dump collection. Implement cnss SSR API to wlan sdio driver. CRs-Fixed: 944010 Change-Id: If81fd84bb6080df73b12f235a2aa0eff6f717ce1 Signed-off-by: Liangwei Dong <liangwei@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/net/cnss.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/include/net/cnss.h b/include/net/cnss.h
index 9fd505d38685..eb766f2d993b 100644
--- a/include/net/cnss.h
+++ b/include/net/cnss.h
@@ -115,11 +115,6 @@ enum cnss_runtime_request {
extern int cnss_get_fw_image(struct image_desc_info *image_desc_info);
extern void cnss_runtime_init(struct device *dev, int auto_delay);
extern void cnss_runtime_exit(struct device *dev);
-extern void cnss_device_crashed(void);
-extern void cnss_device_self_recovery(void);
-extern int cnss_get_ramdump_mem(unsigned long *address, unsigned long *size);
-extern void *cnss_get_virt_ramdump_mem(unsigned long *size);
-extern void cnss_schedule_recovery_work(void);
extern void cnss_wlan_pci_link_down(void);
extern int cnss_pcie_shadow_control(struct pci_dev *dev, bool enable);
extern int cnss_wlan_register_driver(struct cnss_wlan_driver *driver);
@@ -188,6 +183,11 @@ extern int cnss_get_wlan_unsafe_channel(u16 *unsafe_ch_list,
u16 *ch_count, u16 buf_len);
extern int cnss_wlan_set_dfs_nol(const void *info, u16 info_len);
extern int cnss_wlan_get_dfs_nol(void *info, u16 info_len);
+extern void cnss_device_crashed(void);
+extern void cnss_device_self_recovery(void);
+extern int cnss_get_ramdump_mem(unsigned long *address, unsigned long *size);
+extern void *cnss_get_virt_ramdump_mem(unsigned long *size);
+extern void cnss_schedule_recovery_work(void);
#ifdef CONFIG_CNSS_SDIO
struct cnss_sdio_wlan_driver {
@@ -195,6 +195,9 @@ struct cnss_sdio_wlan_driver {
const struct sdio_device_id *id_table;
int (*probe)(struct sdio_func *, const struct sdio_device_id *);
void (*remove)(struct sdio_func *);
+ int (*reinit)(struct sdio_func *, const struct sdio_device_id *);
+ void (*shutdown)(struct sdio_func *);
+ void (*crash_shutdown)(struct sdio_func *);
int (*suspend)(struct device *);
int (*resume)(struct device *);
};