diff --git a/dde_linux/lib/mk/platform_rpi/usb.mk b/dde_linux/lib/mk/platform_rpi/usb.mk index 9a060862d0..782d12cecf 100644 --- a/dde_linux/lib/mk/platform_rpi/usb.mk +++ b/dde_linux/lib/mk/platform_rpi/usb.mk @@ -1,4 +1,3 @@ - SRC_C += \ usb/host/dwc_otg/dwc_otg/dwc_otg_adp.c \ usb/host/dwc_otg/dwc_otg/dwc_otg_attr.c \ @@ -21,6 +20,8 @@ SRC_C += \ usb/host/dwc_otg/dwc_common_port/dwc_modpow.c \ usb/host/dwc_otg/dwc_common_port/dwc_notifier.c +SRC_C += usbnet.c smsc95xx.c + include $(REP_DIR)/lib/mk/usb.inc include $(REP_DIR)/lib/mk/arm/usb.inc diff --git a/dde_linux/src/lib/usb/arm/platform_rpi/platform.cc b/dde_linux/src/lib/usb/arm/platform_rpi/platform.cc index f8e466a1e0..1a4da80ca8 100644 --- a/dde_linux/src/lib/usb/arm/platform_rpi/platform.cc +++ b/dde_linux/src/lib/usb/arm/platform_rpi/platform.cc @@ -17,6 +17,7 @@ /* emulation */ #include +#include #include /* dwc-otg */ @@ -180,11 +181,17 @@ struct tvec_base boot_tvec_bases; *******************/ extern "C" void module_dwc_otg_driver_init(); +extern "C" int module_usbnet_init(); +extern "C" int module_smsc95xx_driver_init(); -struct Services; - -void platform_hcd_init(Services *) +void platform_hcd_init(Services *services) { + /* register network */ + if (services->nic) { + module_usbnet_init(); + module_smsc95xx_driver_init(); + } + /* disable split-enable fix, otherwise, fiq_fix will be implied */ fiq_split_enable = false;