Skip to content

Commit

Permalink
USB: sa1111: add OHCI shutdown methods
Browse files Browse the repository at this point in the history
Add OHCI shutdown methods to cleanly shutdown the OHCI controller on
system shutdowns and reboots.  This avoids the controller continuing
to run should be soft-reboot the platform, potentially scribbling
over system memory.

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Russell King committed Mar 24, 2012
1 parent 132db99 commit 846a704
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/usb/host/ohci-sa1111.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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",
Expand All @@ -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,
};

0 comments on commit 846a704

Please sign in to comment.