qcacld-3.0: Add shutdown/reinit support for PLD_CNSS_USB

Populate shutdown/reinit callback functions for PLD_CNSS_USB

Change-Id: If0ad6ca69a85778574d874d9a9b9f0df6146e89b
CRs-Fixed: 2279206
このコミットが含まれているのは:
Ajit Pal Singh
2018-07-13 14:05:59 +05:30
committed by nshrivas
コミット 594d400d3d

ファイルの表示

@@ -159,16 +159,56 @@ static int pld_usb_reset_resume(struct usb_interface *interface)
}
#ifdef CONFIG_PLD_USB_CNSS
/**
* pld_usb_reinit() - SSR re-initialize function for USB device
* @interface: Pointer to struct usb_interface
* @id: Pointer to USB device ID
*
* Return: int
*/
static int pld_usb_reinit(struct usb_interface *interface,
const struct usb_device_id *id)
{
struct pld_context *pld_context;
struct usb_device *pdev = interface_to_usbdev(interface);
pld_context = pld_get_global_context();
if (pld_context->ops->reinit)
return pld_context->ops->reinit(&pdev->dev, PLD_BUS_TYPE_USB,
interface, (void *)id);
return -ENODEV;
}
/**
* pld_usb_shutdown() - SSR shutdown function for USB device
* @interface: Pointer to struct usb_interface
*
* Return: void
*/
static void pld_usb_shutdown(struct usb_interface *interface)
{
struct pld_context *pld_context;
struct usb_device *pdev = interface_to_usbdev(interface);
pld_context = pld_get_global_context();
if (pld_context->ops->shutdown)
pld_context->ops->shutdown(&pdev->dev, PLD_BUS_TYPE_USB);
}
struct cnss_usb_wlan_driver pld_usb_ops = {
.name = "pld_usb_cnss",
.id_table = pld_usb_id_table,
.probe = pld_usb_probe,
.disconnect = pld_usb_remove,
.remove = pld_usb_remove,
.shutdown = pld_usb_shutdown,
.reinit = pld_usb_reinit,
#ifdef CONFIG_PM
.suspend = pld_usb_suspend,
.resume = pld_usb_resume,
.reset_resume = pld_usb_reset_resume,
#endif
};
/**
* pld_usb_register_driver() - registration routine for wlan usb drive
@@ -178,7 +218,7 @@ struct cnss_usb_wlan_driver pld_usb_ops = {
int pld_usb_register_driver(void)
{
pr_info("%s usb_register\n", __func__);
return cnss_wlan_register_driver(&pld_usb_ops);
return cnss_usb_wlan_register_driver(&pld_usb_ops);
}
/**
@@ -188,7 +228,7 @@ int pld_usb_register_driver(void)
*/
void pld_usb_unregister_driver(void)
{
cnss_wlan_register_driver(&pld_usb_ops);
cnss_usb_wlan_unregister_driver(&pld_usb_ops);
pr_info("%s usb_deregister done!\n", __func__);
}