diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2019-10-14 04:48:43 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2019-10-14 04:48:42 -0700 |
| commit | c65b9585249986588b205fbed6eda20924423e72 (patch) | |
| tree | b87f3b9444b200d10fd08b2f29a6051cc7a68667 /include/net | |
| parent | 4b981b7bf74d71edaf1f666a10d4ae8ea2eadc9a (diff) | |
| parent | e5b2b112b3d9bc67afc37d1dd70d9bb0ac1b8b01 (diff) | |
Merge "cnss2: Add support for genoa sdio"
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/cnss2.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/include/net/cnss2.h b/include/net/cnss2.h index 69b9e5d607ef..5ed1b05277b1 100644 --- a/include/net/cnss2.h +++ b/include/net/cnss2.h @@ -15,6 +15,10 @@ #include <linux/pci.h> #include <linux/usb.h> +#include <linux/mmc/sdio_func.h> +#ifdef CONFIG_SDIO_QCN +#include <linux/qcn_sdio_al.h> +#endif #define CNSS_MAX_FILE_NAME 20 #define CNSS_MAX_TIMESTAMP_LEN 32 @@ -111,6 +115,21 @@ struct cnss_usb_wlan_driver { const struct usb_device_id *id_table; }; +#ifdef CONFIG_SDIO_QCN +struct cnss_sdio_wlan_driver { + const char *name; + 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 *); + void (*update_status)(struct sdio_func *, uint32_t status); +}; +#endif + enum cnss_driver_status { CNSS_UNINITIALIZED, CNSS_INITIALIZED, @@ -256,5 +275,42 @@ extern int cnss_usb_wlan_register_driver(struct cnss_usb_wlan_driver *driver); extern void cnss_usb_wlan_unregister_driver(struct cnss_usb_wlan_driver * driver); extern int cnss_usb_is_device_down(struct device *dev); +#ifdef CONFIG_SDIO_QCN +extern int cnss_sdio_wlan_register_driver(struct cnss_sdio_wlan_driver * + driver_ops); +extern void cnss_sdio_wlan_unregister_driver(struct cnss_sdio_wlan_driver * + driver_ops); +extern struct sdio_al_client_handle *cnss_sdio_wlan_get_sdio_al_client_handle( + struct sdio_func *func); +extern struct sdio_al_channel_handle *cnss_sdio_wlan_register_sdio_al_channel( + struct sdio_al_channel_data *channel_data); +extern void cnss_sdio_wlan_unregister_sdio_al_channel( + struct sdio_al_channel_handle *ch_handle); +#else +extern inline int cnss_sdio_wlan_register_driver(void *driver_ops) +{ + return 0; +} + +extern inline void cnss_sdio_wlan_unregister_driver(void *driver_ops) +{ + +} + +extern inline void *cnss_sdio_wlan_get_sdio_al_client_handle(void *func) +{ + return NULL; +} + +extern inline void *cnss_sdio_wlan_register_sdio_al_channel(void *channel_data) +{ + return NULL; +} + +extern inline void cnss_sdio_wlan_unregister_sdio_al_channel(void *ch_handle) +{ + +} +#endif #endif /* _NET_CNSS2_H */ |
