USB: serial: opticon: hook up suspend/resume callbacks
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 May 2012 21:35:21 +0000 (14:35 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 May 2012 21:35:21 +0000 (14:35 -0700)
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>
drivers/usb/serial/opticon.c

index 91f8904..02cb1b7 100644 (file)
@@ -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;
@@ -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,
@@ -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[] = {