diff options
Diffstat (limited to 'arch/arm/mach-imx/mx31moboard-marxbot.c')
| -rw-r--r-- | arch/arm/mach-imx/mx31moboard-marxbot.c | 24 | 
1 files changed, 15 insertions, 9 deletions
diff --git a/arch/arm/mach-imx/mx31moboard-marxbot.c b/arch/arm/mach-imx/mx31moboard-marxbot.c index bb639cbda4e..135c90e3a45 100644 --- a/arch/arm/mach-imx/mx31moboard-marxbot.c +++ b/arch/arm/mach-imx/mx31moboard-marxbot.c @@ -272,7 +272,7 @@ static int marxbot_usbh1_hw_init(struct platform_device *pdev)  #define USBH1_VBUSEN_B	IOMUX_TO_GPIO(MX31_PIN_NFRE_B)  #define USBH1_MODE	IOMUX_TO_GPIO(MX31_PIN_NFALE) -static int marxbot_isp1105_init(struct otg_transceiver *otg) +static int marxbot_isp1105_init(struct usb_phy *otg)  {  	int ret = gpio_request(USBH1_MODE, "usbh1-mode");  	if (ret) @@ -291,7 +291,7 @@ static int marxbot_isp1105_init(struct otg_transceiver *otg)  } -static int marxbot_isp1105_set_vbus(struct otg_transceiver *otg, bool on) +static int marxbot_isp1105_set_vbus(struct usb_otg *otg, bool on)  {  	if (on)  		gpio_set_value(USBH1_VBUSEN_B, 0); @@ -308,18 +308,24 @@ static struct mxc_usbh_platform_data usbh1_pdata __initdata = {  static int __init marxbot_usbh1_init(void)  { -	struct otg_transceiver *otg; +	struct usb_phy *phy;  	struct platform_device *pdev; -	otg = kzalloc(sizeof(*otg), GFP_KERNEL); -	if (!otg) +	phy = kzalloc(sizeof(*phy), GFP_KERNEL); +	if (!phy)  		return -ENOMEM; -	otg->label	= "ISP1105"; -	otg->init	= marxbot_isp1105_init; -	otg->set_vbus	= marxbot_isp1105_set_vbus; +	phy->otg = kzalloc(sizeof(struct usb_otg), GFP_KERNEL); +	if (!phy->otg) { +		kfree(phy); +		return -ENOMEM; +	} + +	phy->label	= "ISP1105"; +	phy->init	= marxbot_isp1105_init; +	phy->otg->set_vbus	= marxbot_isp1105_set_vbus; -	usbh1_pdata.otg = otg; +	usbh1_pdata.otg = phy;  	pdev = imx31_add_mxc_ehci_hs(1, &usbh1_pdata);  	if (IS_ERR(pdev))  |