media: rc: report receiver and transmitter type on device register
authorSean Young <sean@mess.org>
Tue, 27 Mar 2018 15:24:05 +0000 (11:24 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 20 Apr 2018 13:12:43 +0000 (09:12 -0400)
On the raspberry pi, we might have two lirc devices; one for sending and
one for receiving. This change makes it much more apparent which one
is which.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Documentation/media/uapi/rc/lirc-dev-intro.rst
drivers/media/rc/lirc_dev.c

index 698e4f80270e67cf90d7d7a9a3aed0bf12d14f3b..11516c8bff62dd5403809ac04d72bb5849608ce5 100644 (file)
@@ -18,7 +18,7 @@ Example dmesg output upon a driver registering w/LIRC:
 .. code-block:: none
 
     $ dmesg |grep lirc_dev
-    rc rc0: lirc_dev: driver mceusb registered at minor = 0
+    rc rc0: lirc_dev: driver mceusb registered at minor = 0, raw IR receiver, raw IR transmitter
 
 What you should see for a chardev:
 
index 24e9fbb80e814e45091421d8dfe565806fc1b09f..247e6fc3dc0c7e041c170499803ac2dec1f38569 100644 (file)
@@ -735,6 +735,7 @@ static void lirc_release_device(struct device *ld)
 
 int ir_lirc_register(struct rc_dev *dev)
 {
+       const char *rx_type, *tx_type;
        int err, minor;
 
        minor = ida_simple_get(&lirc_ida, 0, RC_DEV_MAX, GFP_KERNEL);
@@ -759,8 +760,25 @@ int ir_lirc_register(struct rc_dev *dev)
 
        get_device(&dev->dev);
 
-       dev_info(&dev->dev, "lirc_dev: driver %s registered at minor = %d",
-                dev->driver_name, minor);
+       switch (dev->driver_type) {
+       case RC_DRIVER_SCANCODE:
+               rx_type = "scancode";
+               break;
+       case RC_DRIVER_IR_RAW:
+               rx_type = "raw IR";
+               break;
+       default:
+               rx_type = "no";
+               break;
+       }
+
+       if (dev->tx_ir)
+               tx_type = "raw IR";
+       else
+               tx_type = "no";
+
+       dev_info(&dev->dev, "lirc_dev: driver %s registered at minor = %d, %s receiver, %s transmitter",
+                dev->driver_name, minor, rx_type, tx_type);
 
        return 0;