Previously I had made the struct device point to the input device, but
after talking with Dmitry, he said that the USB device would make more
sense for this driver to point to. So converted it to use that instead.
CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
CC: "Magnus Hörlin" <magnus@alefors.se>
CC: Rusty Russell <rusty@rustcorp.com.au>
CC: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
struct usb_xpad {
struct input_dev *dev; /* input device interface */
struct usb_device *udev; /* usb device */
struct usb_xpad {
struct input_dev *dev; /* input device interface */
struct usb_device *udev; /* usb device */
+ struct usb_interface *intf; /* usb interface */
static void xpad_irq_in(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
static void xpad_irq_in(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
- struct device *dev = &xpad->dev->dev;
+ struct device *dev = &xpad->intf->dev;
int retval, status;
status = urb->status;
int retval, status;
status = urb->status;
static void xpad_bulk_out(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
static void xpad_bulk_out(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
- struct device *dev = &xpad->dev->dev;
+ struct device *dev = &xpad->intf->dev;
switch (urb->status) {
case 0:
switch (urb->status) {
case 0:
static void xpad_irq_out(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
static void xpad_irq_out(struct urb *urb)
{
struct usb_xpad *xpad = urb->context;
- struct device *dev = &xpad->dev->dev;
+ struct device *dev = &xpad->intf->dev;
int retval, status;
status = urb->status;
int retval, status;
status = urb->status;
xpad->mapping = xpad_device[i].mapping;
xpad->xtype = xpad_device[i].xtype;
xpad->mapping = xpad_device[i].mapping;
xpad->xtype = xpad_device[i].xtype;