diff options
Diffstat (limited to 'drivers/media/usb/em28xx/em28xx-input.c')
-rw-r--r-- | drivers/media/usb/em28xx/em28xx-input.c | 65 |
1 files changed, 36 insertions, 29 deletions
diff --git a/drivers/media/usb/em28xx/em28xx-input.c b/drivers/media/usb/em28xx/em28xx-input.c index 4007356d991d..782ce095c8c5 100644 --- a/drivers/media/usb/em28xx/em28xx-input.c +++ b/drivers/media/usb/em28xx/em28xx-input.c @@ -21,6 +21,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "em28xx.h" + #include <linux/module.h> #include <linux/init.h> #include <linux/delay.h> @@ -29,8 +31,6 @@ #include <linux/slab.h> #include <linux/bitrev.h> -#include "em28xx.h" - #define EM28XX_SNAPSHOT_KEY KEY_CAMERA #define EM28XX_BUTTONS_DEBOUNCED_QUERY_INTERVAL 500 /* [ms] */ #define EM28XX_BUTTONS_VOLATILE_QUERY_INTERVAL 100 /* [ms] */ @@ -41,10 +41,11 @@ MODULE_PARM_DESC(ir_debug, "enable debug messages [IR]"); #define MODULE_NAME "em28xx" -#define dprintk(fmt, arg...) \ - if (ir_debug) { \ - printk(KERN_DEBUG "%s/ir: " fmt, ir->name , ## arg); \ - } +#define dprintk( fmt, arg...) do { \ + if (ir_debug) \ + dev_printk(KERN_DEBUG, &ir->dev->intf->dev, \ + "input: %s: " fmt, __func__, ## arg); \ +} while (0) /********************************************************** Polling structure used by em28xx IR's @@ -458,8 +459,9 @@ static int em28xx_ir_change_protocol(struct rc_dev *rc_dev, u64 *rc_type) case CHIP_ID_EM28178: return em2874_ir_change_protocol(rc_dev, rc_type); default: - printk("Unrecognized em28xx chip id 0x%02x: IR not supported\n", - dev->chip_id); + dev_err(&ir->dev->intf->dev, + "Unrecognized em28xx chip id 0x%02x: IR not supported\n", + dev->chip_id); return -EINVAL; } } @@ -564,15 +566,16 @@ static void em28xx_query_buttons(struct work_struct *work) static int em28xx_register_snapshot_button(struct em28xx *dev) { + struct usb_device *udev = interface_to_usbdev(dev->intf); struct input_dev *input_dev; int err; - em28xx_info("Registering snapshot button...\n"); + dev_info(&dev->intf->dev, "Registering snapshot button...\n"); input_dev = input_allocate_device(); if (!input_dev) return -ENOMEM; - usb_make_path(dev->udev, dev->snapshot_button_path, + usb_make_path(udev, dev->snapshot_button_path, sizeof(dev->snapshot_button_path)); strlcat(dev->snapshot_button_path, "/sbutton", sizeof(dev->snapshot_button_path)); @@ -584,14 +587,14 @@ static int em28xx_register_snapshot_button(struct em28xx *dev) input_dev->keycodesize = 0; input_dev->keycodemax = 0; input_dev->id.bustype = BUS_USB; - input_dev->id.vendor = le16_to_cpu(dev->udev->descriptor.idVendor); - input_dev->id.product = le16_to_cpu(dev->udev->descriptor.idProduct); + input_dev->id.vendor = le16_to_cpu(udev->descriptor.idVendor); + input_dev->id.product = le16_to_cpu(udev->descriptor.idProduct); input_dev->id.version = 1; - input_dev->dev.parent = &dev->udev->dev; + input_dev->dev.parent = &dev->intf->dev; err = input_register_device(input_dev); if (err) { - em28xx_errdev("input_register_device failed\n"); + dev_err(&dev->intf->dev, "input_register_device failed\n"); input_free_device(input_dev); return err; } @@ -631,7 +634,8 @@ static void em28xx_init_buttons(struct em28xx *dev) } else if (button->role == EM28XX_BUTTON_ILLUMINATION) { /* Check sanity */ if (!em28xx_find_led(dev, EM28XX_LED_ILLUMINATION)) { - em28xx_errdev("BUG: illumination button defined, but no illumination LED.\n"); + dev_err(&dev->intf->dev, + "BUG: illumination button defined, but no illumination LED.\n"); goto next_button; } } @@ -667,7 +671,7 @@ static void em28xx_shutdown_buttons(struct em28xx *dev) dev->num_button_polling_addresses = 0; /* Deregister input devices */ if (dev->sbutton_input_dev != NULL) { - em28xx_info("Deregistering snapshot button\n"); + dev_info(&dev->intf->dev, "Deregistering snapshot button\n"); input_unregister_device(dev->sbutton_input_dev); dev->sbutton_input_dev = NULL; } @@ -675,6 +679,7 @@ static void em28xx_shutdown_buttons(struct em28xx *dev) static int em28xx_ir_init(struct em28xx *dev) { + struct usb_device *udev = interface_to_usbdev(dev->intf); struct em28xx_IR *ir; struct rc_dev *rc; int err = -ENOMEM; @@ -696,19 +701,20 @@ static int em28xx_ir_init(struct em28xx *dev) i2c_rc_dev_addr = em28xx_probe_i2c_ir(dev); if (!i2c_rc_dev_addr) { dev->board.has_ir_i2c = 0; - em28xx_warn("No i2c IR remote control device found.\n"); + dev_warn(&dev->intf->dev, + "No i2c IR remote control device found.\n"); return -ENODEV; } } if (dev->board.ir_codes == NULL && !dev->board.has_ir_i2c) { /* No remote control support */ - em28xx_warn("Remote control support is not available for " - "this card.\n"); + dev_warn(&dev->intf->dev, + "Remote control support is not available for this card.\n"); return 0; } - em28xx_info("Registering input extension\n"); + dev_info(&dev->intf->dev, "Registering input extension\n"); ir = kzalloc(sizeof(*ir), GFP_KERNEL); if (!ir) @@ -792,18 +798,19 @@ static int em28xx_ir_init(struct em28xx *dev) ir->polling = 100; /* ms */ /* init input device */ - snprintf(ir->name, sizeof(ir->name), "em28xx IR (%s)", dev->name); + snprintf(ir->name, sizeof(ir->name), "%s IR", + dev_name(&dev->intf->dev)); - usb_make_path(dev->udev, ir->phys, sizeof(ir->phys)); + usb_make_path(udev, ir->phys, sizeof(ir->phys)); strlcat(ir->phys, "/input0", sizeof(ir->phys)); rc->input_name = ir->name; rc->input_phys = ir->phys; rc->input_id.bustype = BUS_USB; rc->input_id.version = 1; - rc->input_id.vendor = le16_to_cpu(dev->udev->descriptor.idVendor); - rc->input_id.product = le16_to_cpu(dev->udev->descriptor.idProduct); - rc->dev.parent = &dev->udev->dev; + rc->input_id.vendor = le16_to_cpu(udev->descriptor.idVendor); + rc->input_id.product = le16_to_cpu(udev->descriptor.idProduct); + rc->dev.parent = &dev->intf->dev; rc->driver_name = MODULE_NAME; /* all done */ @@ -811,7 +818,7 @@ static int em28xx_ir_init(struct em28xx *dev) if (err) goto error; - em28xx_info("Input extension successfully initalized\n"); + dev_info(&dev->intf->dev, "Input extension successfully initalized\n"); return 0; @@ -832,7 +839,7 @@ static int em28xx_ir_fini(struct em28xx *dev) return 0; } - em28xx_info("Closing input extension\n"); + dev_info(&dev->intf->dev, "Closing input extension\n"); em28xx_shutdown_buttons(dev); @@ -861,7 +868,7 @@ static int em28xx_ir_suspend(struct em28xx *dev) if (dev->is_audio_only) return 0; - em28xx_info("Suspending input extension\n"); + dev_info(&dev->intf->dev, "Suspending input extension\n"); if (ir) cancel_delayed_work_sync(&ir->work); cancel_delayed_work_sync(&dev->buttons_query_work); @@ -878,7 +885,7 @@ static int em28xx_ir_resume(struct em28xx *dev) if (dev->is_audio_only) return 0; - em28xx_info("Resuming input extension\n"); + dev_info(&dev->intf->dev, "Resuming input extension\n"); /* if suspend calls ir_raw_event_unregister(), the should call ir_raw_event_register() */ if (ir) |