From: yangkai Date: Wed, 29 Jun 2011 09:30:12 +0000 (+0800) Subject: support usb gadget rndis X-Git-Tag: firefly_0821_release~10158 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=47fd8a0a644b2c9c58b4116e1a2f90d7dc6f9ebd;p=firefly-linux-kernel-4.4.55.git support usb gadget rndis --- diff --git a/arch/arm/mach-rk29/board-rk29sdk.c b/arch/arm/mach-rk29/board-rk29sdk.c index dda402b17a9a..5cb5c67cfd2a 100755 --- a/arch/arm/mach-rk29/board-rk29sdk.c +++ b/arch/arm/mach-rk29/board-rk29sdk.c @@ -1430,6 +1430,9 @@ static struct platform_device *devices[] __initdata = { &android_usb_device, &usb_mass_storage_device, #endif +#ifdef CONFIG_USB_ANDROID_RNDIS + &rk29_device_rndis, +#endif #ifdef CONFIG_RK29_IPP &rk29_device_ipp, #endif diff --git a/arch/arm/mach-rk29/devices.c b/arch/arm/mach-rk29/devices.c index 365faf78660e..5e6788919120 100755 --- a/arch/arm/mach-rk29/devices.c +++ b/arch/arm/mach-rk29/devices.c @@ -713,6 +713,23 @@ struct platform_device usb_mass_storage_device = { }, }; #endif + + +static struct usb_ether_platform_data rndis_pdata = { + /* ethaddr is filled by board_serialno_setup */ + .ethaddr = {0xf0, 0xde, 0xf1, 0x42, 0xe8, 0x10}, + .vendorID = 0x22b8,// moto xt701 //0x2207, + .vendorDescr = "RockChip", +}; + +struct platform_device rk29_device_rndis = { + .name = "rndis", + .id = -1, + .dev = { + .platform_data = &rndis_pdata, + }, +}; + #ifdef CONFIG_USB11_HOST static struct resource usb11_host_resource[] = { { diff --git a/arch/arm/mach-rk29/devices.h b/arch/arm/mach-rk29/devices.h index 2a27e72a2b4a..8cf367dbd4ab 100755 --- a/arch/arm/mach-rk29/devices.h +++ b/arch/arm/mach-rk29/devices.h @@ -72,6 +72,7 @@ extern struct platform_device rk29_device_usb11_host; extern struct platform_device android_usb_device; extern struct usb_mass_storage_platform_data mass_storage_pdata; extern struct platform_device usb_mass_storage_device; +extern struct platform_device rk29_device_rndis; extern struct platform_device rk29_device_vmac; extern struct rk29_vmac_platform_data rk29_vmac_pdata; extern struct platform_device rk29_device_ipp; diff --git a/drivers/usb/dwc_otg/dwc_otg_pcd.c b/drivers/usb/dwc_otg/dwc_otg_pcd.c index bc301ec51ad1..8eb9face9096 100755 --- a/drivers/usb/dwc_otg/dwc_otg_pcd.c +++ b/drivers/usb/dwc_otg/dwc_otg_pcd.c @@ -1826,6 +1826,7 @@ int dwc_otg_pcd_init(struct device *dev) pcd->gadget.dev.parent = dev; pcd->gadget.dev.release = dwc_otg_pcd_gadget_release; + pcd->gadget.dev.init_name= "gadget"; pcd->gadget.ops = &dwc_otg_pcd_ops; pcd->gadget.is_dualspeed = 0;