cnss2: Add cnss usb API to check the target status

Add new cnss usb API to check to check whether the target
is up or down. Remove invoking pld_remove callback function
in usb disconnect.

Change-Id: I0e873737a27f9941db1dae54636ef55ba4d05288
Signed-off-by: Jayachandran Sreekumaran <jsreekum@codeaurora.org>
This commit is contained in:
Jayachandran Sreekumaran 2018-12-19 13:19:03 +05:30
parent 1030466da5
commit 2bf8ef1af3
2 changed files with 21 additions and 4 deletions

View file

@ -71,6 +71,25 @@ void cnss_usb_wlan_unregister_driver(struct cnss_usb_wlan_driver *driver_ops)
}
EXPORT_SYMBOL(cnss_usb_wlan_unregister_driver);
int cnss_usb_is_device_down(struct device *dev)
{
struct cnss_plat_data *plat_priv = cnss_bus_dev_to_plat_priv(dev);
struct cnss_usb_data *usb_priv;
if (!plat_priv) {
cnss_pr_err("plat_priv is NULL\n");
return -ENODEV;
}
usb_priv = plat_priv->bus_priv;
if (!usb_priv) {
cnss_pr_err("usb_priv is NULL\n");
return -ENODEV;
}
return 0;
}
EXPORT_SYMBOL(cnss_usb_is_device_down);
int cnss_usb_register_driver_hdlr(struct cnss_usb_data *usb_priv,
void *data)
{
@ -262,10 +281,6 @@ static void cnss_usb_remove(struct usb_interface *interface)
struct cnss_usb_data *usb_priv = plat_priv->bus_priv;
cnss_pr_dbg("driver state %lu\n", plat_priv->driver_state);
if (usb_priv->driver_ops) {
cnss_pr_dbg("driver_op remove called for USB\n");
usb_priv->driver_ops->remove(usb_priv->usb_intf);
}
cnss_unregister_ramdump(plat_priv);
cnss_unregister_subsys(plat_priv);
usb_priv->plat_priv = NULL;

View file

@ -234,4 +234,6 @@ extern int cnss_set_fw_log_mode(struct device *dev, uint8_t fw_log_mode);
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);
#endif /* _NET_CNSS2_H */