media: rc: i2c: set parent of rc device and improve name
authorSean Young <sean@mess.org>
Wed, 18 Oct 2017 13:39:12 +0000 (09:39 -0400)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Thu, 14 Dec 2017 14:58:19 +0000 (09:58 -0500)
With the parent set for the rc device, the messages clearly state
that it is attached via i2c. The additional printk is unnecessary.

These are the old messages:

rc rc1: i2c IR (Hauppauge WinTV PVR-150 as /devices/virtual/rc/rc1
ir-kbd-i2c: i2c IR (Hauppauge WinTV PVR-150 detected at i2c-10/10-0071/ir0 [ivtv i2c driver #0]

Now we simply get:

rc rc1: Hauppauge WinTV PVR-150 as /devices/pci0000:00/0000:00:1e.0/0000:02:00.0/i2c-10/10-0071/rc/rc1

Note that we no longer copy the name. I've checked all call sites
to verfiy this is not a problem.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/i2c/ir-kbd-i2c.c
drivers/media/pci/saa7134/saa7134-input.c
include/media/i2c/ir-kbd-i2c.h

index 8b5f7d0..27e36f4 100644 (file)
@@ -439,12 +439,9 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
                goto err_out_free;
        }
 
-       /* Sets name */
-       snprintf(ir->name, sizeof(ir->name), "i2c IR (%s)", name);
        ir->ir_codes = ir_codes;
 
-       snprintf(ir->phys, sizeof(ir->phys), "%s/%s/ir0",
-                dev_name(&adap->dev),
+       snprintf(ir->phys, sizeof(ir->phys), "%s/%s", dev_name(&adap->dev),
                 dev_name(&client->dev));
 
        /*
@@ -453,7 +450,8 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
         */
        rc->input_id.bustype = BUS_I2C;
        rc->input_phys       = ir->phys;
-       rc->device_name      = ir->name;
+       rc->device_name      = name;
+       rc->dev.parent       = &client->dev;
 
        /*
         * Initialize the other fields of rc_dev
@@ -467,9 +465,6 @@ static int ir_probe(struct i2c_client *client, const struct i2c_device_id *id)
        if (err)
                goto err_out_free;
 
-       printk(MODULE_NAME ": %s detected at %s [%s]\n",
-              ir->name, ir->phys, adap->name);
-
        /* start polling via eventd */
        INIT_DELAYED_WORK(&ir->work, ir_work);
        schedule_delayed_work(&ir->work, 0);
index 2d5abed..33ee832 100644 (file)
@@ -43,7 +43,8 @@ MODULE_PARM_DESC(pinnacle_remote, "Specify Pinnacle PCTV remote: 0=coloured, 1=g
        } while (0)
 #define ir_dbg(ir, fmt, arg...) do { \
        if (ir_debug) \
-               printk(KERN_DEBUG pr_fmt("ir %s: " fmt), ir->name, ## arg); \
+               printk(KERN_DEBUG pr_fmt("ir %s: " fmt), ir->rc->device_name, \
+                      ## arg); \
        } while (0)
 
 /* Helper function for raw decoding at GPIO16 or GPIO18 */
index 76491c6..1a9df1a 100644 (file)
@@ -19,7 +19,6 @@ struct IR_i2c {
        u32                    polling_interval; /* in ms */
 
        struct delayed_work    work;
-       char                   name[32];
        char                   phys[32];
        int                    (*get_key)(struct IR_i2c *ir,
                                          enum rc_proto *protocol,