Loading drivers/net/wireless/cnss2/main.c +35 −17 Original line number Diff line number Diff line Loading @@ -1548,6 +1548,36 @@ static void cnss_event_work_deinit(struct cnss_plat_data *plat_priv) destroy_workqueue(plat_priv->event_wq); } static int cnss_misc_init(struct cnss_plat_data *plat_priv) { int ret; setup_timer(&plat_priv->fw_boot_timer, cnss_bus_fw_boot_timeout_hdlr, (unsigned long)plat_priv); register_pm_notifier(&cnss_pm_notifier); ret = device_init_wakeup(&plat_priv->plat_dev->dev, true); if (ret) cnss_pr_err("Failed to init platform device wakeup source, err = %d\n", ret); init_completion(&plat_priv->power_up_complete); init_completion(&plat_priv->cal_complete); mutex_init(&plat_priv->dev_lock); return 0; } static void cnss_misc_deinit(struct cnss_plat_data *plat_priv) { complete_all(&plat_priv->cal_complete); complete_all(&plat_priv->power_up_complete); device_init_wakeup(&plat_priv->plat_dev->dev, false); unregister_pm_notifier(&cnss_pm_notifier); del_timer(&plat_priv->fw_boot_timer); } static const struct platform_device_id cnss_platform_id_table[] = { { .name = "qca6174", .driver_data = QCA6174_DEVICE_ID, }, { .name = "qca6290", .driver_data = QCA6290_DEVICE_ID, }, Loading Loading @@ -1641,24 +1671,16 @@ static int cnss_probe(struct platform_device *plat_dev) if (ret) goto deinit_qmi; setup_timer(&plat_priv->fw_boot_timer, cnss_bus_fw_boot_timeout_hdlr, (unsigned long)plat_priv); register_pm_notifier(&cnss_pm_notifier); ret = device_init_wakeup(&plat_dev->dev, true); ret = cnss_misc_init(plat_priv); if (ret) cnss_pr_err("Failed to init platform device wakeup source, err = %d\n", ret); init_completion(&plat_priv->power_up_complete); init_completion(&plat_priv->cal_complete); mutex_init(&plat_priv->dev_lock); goto destroy_debugfs; cnss_pr_info("Platform driver probed successfully.\n"); return 0; destroy_debugfs: cnss_debugfs_destroy(plat_priv); deinit_qmi: cnss_qmi_deinit(plat_priv); deinit_event_work: Loading Loading @@ -1688,11 +1710,7 @@ static int cnss_remove(struct platform_device *plat_dev) { struct cnss_plat_data *plat_priv = platform_get_drvdata(plat_dev); complete_all(&plat_priv->cal_complete); complete_all(&plat_priv->power_up_complete); device_init_wakeup(&plat_dev->dev, false); unregister_pm_notifier(&cnss_pm_notifier); del_timer(&plat_priv->fw_boot_timer); cnss_misc_deinit(plat_priv); cnss_debugfs_destroy(plat_priv); cnss_qmi_deinit(plat_priv); cnss_event_work_deinit(plat_priv); Loading Loading
drivers/net/wireless/cnss2/main.c +35 −17 Original line number Diff line number Diff line Loading @@ -1548,6 +1548,36 @@ static void cnss_event_work_deinit(struct cnss_plat_data *plat_priv) destroy_workqueue(plat_priv->event_wq); } static int cnss_misc_init(struct cnss_plat_data *plat_priv) { int ret; setup_timer(&plat_priv->fw_boot_timer, cnss_bus_fw_boot_timeout_hdlr, (unsigned long)plat_priv); register_pm_notifier(&cnss_pm_notifier); ret = device_init_wakeup(&plat_priv->plat_dev->dev, true); if (ret) cnss_pr_err("Failed to init platform device wakeup source, err = %d\n", ret); init_completion(&plat_priv->power_up_complete); init_completion(&plat_priv->cal_complete); mutex_init(&plat_priv->dev_lock); return 0; } static void cnss_misc_deinit(struct cnss_plat_data *plat_priv) { complete_all(&plat_priv->cal_complete); complete_all(&plat_priv->power_up_complete); device_init_wakeup(&plat_priv->plat_dev->dev, false); unregister_pm_notifier(&cnss_pm_notifier); del_timer(&plat_priv->fw_boot_timer); } static const struct platform_device_id cnss_platform_id_table[] = { { .name = "qca6174", .driver_data = QCA6174_DEVICE_ID, }, { .name = "qca6290", .driver_data = QCA6290_DEVICE_ID, }, Loading Loading @@ -1641,24 +1671,16 @@ static int cnss_probe(struct platform_device *plat_dev) if (ret) goto deinit_qmi; setup_timer(&plat_priv->fw_boot_timer, cnss_bus_fw_boot_timeout_hdlr, (unsigned long)plat_priv); register_pm_notifier(&cnss_pm_notifier); ret = device_init_wakeup(&plat_dev->dev, true); ret = cnss_misc_init(plat_priv); if (ret) cnss_pr_err("Failed to init platform device wakeup source, err = %d\n", ret); init_completion(&plat_priv->power_up_complete); init_completion(&plat_priv->cal_complete); mutex_init(&plat_priv->dev_lock); goto destroy_debugfs; cnss_pr_info("Platform driver probed successfully.\n"); return 0; destroy_debugfs: cnss_debugfs_destroy(plat_priv); deinit_qmi: cnss_qmi_deinit(plat_priv); deinit_event_work: Loading Loading @@ -1688,11 +1710,7 @@ static int cnss_remove(struct platform_device *plat_dev) { struct cnss_plat_data *plat_priv = platform_get_drvdata(plat_dev); complete_all(&plat_priv->cal_complete); complete_all(&plat_priv->power_up_complete); device_init_wakeup(&plat_dev->dev, false); unregister_pm_notifier(&cnss_pm_notifier); del_timer(&plat_priv->fw_boot_timer); cnss_misc_deinit(plat_priv); cnss_debugfs_destroy(plat_priv); cnss_qmi_deinit(plat_priv); cnss_event_work_deinit(plat_priv); Loading