struct usb_xpad {
struct input_dev *dev; /* input device interface */
struct usb_device *udev; /* usb device */
+ struct usb_interface *intf; /* usb interface */
int pad_present;
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;
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:
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;
}
xpad->udev = udev;
+ xpad->intf = intf;
xpad->mapping = xpad_device[i].mapping;
xpad->xtype = xpad_device[i].xtype;