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
このコミットが含まれているのは:
@@ -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__);
|
||||
}
|
||||
|
||||
|
新しいイシューから参照
ユーザーをブロックする