Skip to content

Commit

Permalink
USB: serial: opticon: hook up suspend/resume callbacks
Browse files Browse the repository at this point in the history
With a previous patch, the usb_driver suspend/resume callbacks got
overridden and were never called if a usb_serial driver defined them.
This patch fixes the opticon driver to move the suspend/resume callbacks
into the usb_serial_driver structure where they will be properly called.

It then removes the unused usb_driver structure.

Cc: Johan Hovold <jhovold@gmail.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: Julia Lawall <julia@diku.dk>
Cc: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Greg Kroah-Hartman committed May 10, 2012
1 parent 08dfa5c commit d530296
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions drivers/usb/serial/opticon.c
Original file line number Diff line number Diff line change
Expand Up @@ -557,18 +557,16 @@ static void opticon_release(struct usb_serial *serial)
kfree(priv);
}

static int opticon_suspend(struct usb_interface *intf, pm_message_t message)
static int opticon_suspend(struct usb_serial *serial, pm_message_t message)
{
struct usb_serial *serial = usb_get_intfdata(intf);
struct opticon_private *priv = usb_get_serial_data(serial);

usb_kill_urb(priv->bulk_read_urb);
return 0;
}

static int opticon_resume(struct usb_interface *intf)
static int opticon_resume(struct usb_serial *serial)
{
struct usb_serial *serial = usb_get_intfdata(intf);
struct opticon_private *priv = usb_get_serial_data(serial);
struct usb_serial_port *port = serial->port[0];
int result;
Expand All @@ -583,13 +581,6 @@ static int opticon_resume(struct usb_interface *intf)
return result;
}

static struct usb_driver opticon_driver = {
.name = "opticon",
.suspend = opticon_suspend,
.resume = opticon_resume,
.id_table = id_table,
};

static struct usb_serial_driver opticon_device = {
.driver = {
.owner = THIS_MODULE,
Expand All @@ -609,6 +600,8 @@ static struct usb_serial_driver opticon_device = {
.ioctl = opticon_ioctl,
.tiocmget = opticon_tiocmget,
.tiocmset = opticon_tiocmset,
.suspend = opticon_suspend,
.resume = opticon_resume,
};

static struct usb_serial_driver * const serial_drivers[] = {
Expand Down

0 comments on commit d530296

Please sign in to comment.