From 10e09923dee9f48fd8950044ee3022e7c5b1c805 Mon Sep 17 00:00:00 2001 From: Russell King Date: Thu, 26 Jan 2012 11:10:20 +0000 Subject: [PATCH] --- yaml --- r: 296311 b: refs/heads/master c: 846a70487e2a0e5045c6a428a0969d3e0490b359 h: refs/heads/master i: 296309: cd4786c17360560f2f47deb161837be6ddefe72f 296307: c86bd4a1c834e6b456f45204e07bfafb35a10773 296303: d1b2024f2a8aedba4c9fe9841ad4ce79959891dc v: v3 --- [refs] | 2 +- trunk/drivers/usb/host/ohci-sa1111.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 22d2bfc6e645..60a243014ad4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 132db99ae2c6f6a586fc932507fcf4484d90c8fa +refs/heads/master: 846a70487e2a0e5045c6a428a0969d3e0490b359 diff --git a/trunk/drivers/usb/host/ohci-sa1111.c b/trunk/drivers/usb/host/ohci-sa1111.c index 83f3a40db538..95c3f0fb48d3 100644 --- a/trunk/drivers/usb/host/ohci-sa1111.c +++ b/trunk/drivers/usb/host/ohci-sa1111.c @@ -89,6 +89,7 @@ static const struct hc_driver ohci_sa1111_hc_driver = { */ .start = ohci_sa1111_start, .stop = ohci_stop, + .shutdown = ohci_shutdown, /* * managing i/o requests and associated device resources @@ -232,6 +233,16 @@ static int ohci_hcd_sa1111_remove(struct sa1111_dev *dev) return 0; } +static void ohci_hcd_sa1111_shutdown(struct sa1111_dev *dev) +{ + struct usb_hcd *hcd = sa1111_get_drvdata(dev); + + if (test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags)) { + hcd->driver->shutdown(hcd); + sa1111_stop_hc(dev); + } +} + static struct sa1111_driver ohci_hcd_sa1111_driver = { .drv = { .name = "sa1111-ohci", @@ -240,4 +251,5 @@ static struct sa1111_driver ohci_hcd_sa1111_driver = { .devid = SA1111_DEVID_USB, .probe = ohci_hcd_sa1111_probe, .remove = ohci_hcd_sa1111_remove, + .shutdown = ohci_hcd_sa1111_shutdown, };