hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_platdev.c
....@@ -47,7 +47,7 @@
4747 #include<linux/of_gpio.h>
4848 #endif /* CONFIG_DTS */
4949
50
-#if defined(CUSTOMER_HW)
50
+#if defined(CUSTOMER_HW) || defined(BCMDHD_PLATDEV)
5151 extern int dhd_wlan_init_plat_data(wifi_adapter_info_t *adapter);
5252 extern void dhd_wlan_deinit_plat_data(wifi_adapter_info_t *adapter);
5353 #endif /* CUSTOMER_HW */
....@@ -85,7 +85,7 @@
8585 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
8686 #endif
8787 struct resource dhd_wlan_resources = {0};
88
-struct wifi_platform_data dhd_wlan_control = {0};
88
+extern struct wifi_platform_data dhd_wlan_control;
8989 #if defined(STRICT_GCC_WARNINGS) && defined(__GNUC__)
9090 #pragma GCC diagnostic pop
9191 #endif
....@@ -378,6 +378,14 @@
378378 adapter->wifi_plat_data = (void *)&dhd_wlan_control;
379379 #endif
380380
381
+#ifdef BCMDHD_PLATDEV
382
+ adapter->pdev = pdev;
383
+ wifi_plat_dev_probe_ret = dhd_wlan_init_plat_data(adapter);
384
+ if (!wifi_plat_dev_probe_ret)
385
+ wifi_plat_dev_probe_ret = dhd_wifi_platform_load();
386
+ return wifi_plat_dev_probe_ret;
387
+#endif
388
+
381389 resource = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "bcmdhd_wlan_irq");
382390 if (resource == NULL)
383391 resource = platform_get_resource_byname(pdev, IORESOURCE_IRQ, "bcm4329_wlan_irq");
....@@ -449,6 +457,9 @@
449457 #ifdef CONFIG_DTS
450458 regulator_put(wifi_regulator);
451459 #endif /* CONFIG_DTS */
460
+#ifdef BCMDHD_PLATDEV
461
+ dhd_wlan_deinit_plat_data(adapter);
462
+#endif
452463 return 0;
453464 }
454465