[RFC 17/17] usb/ehci: use ehci_hcd_plat_probe_init() in au1xxx

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Sebastian Andrzej Siewior <sebastian@xxxxxxxxxxxxx>
---
 drivers/usb/host/ehci-au1xxx.c |   55 ++-------------------------------------
 1 files changed, 3 insertions(+), 52 deletions(-)

diff --git a/drivers/usb/host/ehci-au1xxx.c b/drivers/usb/host/ehci-au1xxx.c
index 36769aa..37609af 100644
--- a/drivers/usb/host/ehci-au1xxx.c
+++ b/drivers/usb/host/ehci-au1xxx.c
@@ -38,8 +38,6 @@
 
 #define USBH_DISABLE      (USB_MCFG_EBMEN | USB_MCFG_EMEMEN)
 
-extern int usb_disabled(void);
-
 static void au1xxx_start_ehc(void)
 {
 	/* enable clock to EHCI block and HS PHY PLL*/
@@ -70,7 +68,7 @@ static void au1xxx_stop_ehc(void)
 	au_sync();
 }
 
-static int au1xxx_ehci_setup(struct usb_hcd *hcd)
+static int au1xxx_ehci_setup(struct usb_hcd *hcd, void *priv)
 {
 	struct ehci_hcd *ehci = hcd_to_ehci(hcd);
 	int ret;
@@ -92,54 +90,6 @@ static int au1xxx_ehci_setup(struct usb_hcd *hcd)
 	return ret;
 }
 
-static const struct hc_driver ehci_au1xxx_hc_driver = {
-	.description		= hcd_name,
-	.product_desc		= "Au1xxx EHCI",
-	.hcd_priv_size		= sizeof(struct ehci_hcd),
-
-	/*
-	 * generic hardware linkage
-	 */
-	.irq			= ehci_irq,
-	.flags			= HCD_MEMORY | HCD_USB2,
-
-	/*
-	 * basic lifecycle operations
-	 *
-	 * FIXME -- ehci_init() doesn't do enough here.
-	 * See ehci-ppc-soc for a complete implementation.
-	 */
-	.reset			= au1xxx_ehci_setup,
-	.start			= ehci_run,
-	.stop			= ehci_stop,
-	.shutdown		= ehci_shutdown,
-
-	/*
-	 * managing i/o requests and associated device resources
-	 */
-	.urb_enqueue		= ehci_urb_enqueue,
-	.urb_dequeue		= ehci_urb_dequeue,
-	.endpoint_disable	= ehci_endpoint_disable,
-	.endpoint_reset		= ehci_endpoint_reset,
-
-	/*
-	 * scheduling support
-	 */
-	.get_frame_number	= ehci_get_frame,
-
-	/*
-	 * root hub support
-	 */
-	.hub_status_data	= ehci_hub_status_data,
-	.hub_control		= ehci_hub_control,
-	.bus_suspend		= ehci_bus_suspend,
-	.bus_resume		= ehci_bus_resume,
-	.relinquish_port	= ehci_relinquish_port,
-	.port_handed_over	= ehci_port_handed_over,
-
-	.clear_tt_buffer_complete	= ehci_clear_tt_buffer_complete,
-};
-
 static int ehci_hcd_au1xxx_drv_probe(struct platform_device *pdev)
 {
 	struct usb_hcd *hcd;
@@ -157,7 +107,8 @@ static int ehci_hcd_au1xxx_drv_probe(struct platform_device *pdev)
 	}
 #endif
 
-	hcd = ehci_hcd_plat_add(pdev, ehci_au1xxx_hc_driver);
+	hcd = ehci_hcd_plat_add_init(pdev, ehci_au1xxx_hc_driver,
+			au1xxx_ehci_setup, NULL);
 	if (IS_ERR(hcd)) {
 		ret = PTR_ERR(hcd);
 		goto err_add_hcd;
-- 
1.7.5.4

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux