Commit 2533beea authored by Felipe Balbi's avatar Felipe Balbi
Browse files

usb: gadget: at91_udc: let udc-core manage gadget->dev



By simply setting a flag, we can remove some
boilerplate code.

Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 12ad0fca
Loading
Loading
Loading
Loading
+2 −11
Original line number Diff line number Diff line
@@ -1726,6 +1726,7 @@ static int at91udc_probe(struct platform_device *pdev)

	/* init software state */
	udc = &controller;
	udc->gadget.register_my_device = true;
	udc->gadget.dev.parent = dev;
	if (pdev->dev.of_node)
		at91udc_of_init(udc, pdev->dev.of_node);
@@ -1780,13 +1781,7 @@ static int at91udc_probe(struct platform_device *pdev)
		DBG("clocks missing\n");
		retval = -ENODEV;
		/* NOTE: we "know" here that refcounts on these are NOPs */
		goto fail0b;
	}

	retval = device_register(&udc->gadget.dev);
	if (retval < 0) {
		put_device(&udc->gadget.dev);
		goto fail0b;
		goto fail1;
	}

	/* don't do anything until we have both gadget driver and VBUS */
@@ -1857,8 +1852,6 @@ fail3:
fail2:
	free_irq(udc->udp_irq, udc);
fail1:
	device_unregister(&udc->gadget.dev);
fail0b:
	iounmap(udc->udp_baseaddr);
fail0a:
	if (cpu_is_at91rm9200())
@@ -1892,8 +1885,6 @@ static int __exit at91udc_remove(struct platform_device *pdev)
		gpio_free(udc->board.vbus_pin);
	}
	free_irq(udc->udp_irq, udc);
	device_unregister(&udc->gadget.dev);

	iounmap(udc->udp_baseaddr);

	if (cpu_is_at91rm9200())