Input: atmel_mxt_ts - derive phys from i2c client adapter
authorDaniel Kurtz <djkurtz@chromium.org>
Thu, 28 Jun 2012 13:08:02 +0000 (21:08 +0800)
committerHenrik Rydberg <rydberg@euromail.se>
Fri, 29 Jun 2012 13:58:01 +0000 (15:58 +0200)
This allows userspace to more easily distinguish which bus a particular
atmel_mxt_ts device is attached to.

The resulting phys will be something like:
 i2c-1-0067/input0

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
drivers/input/touchscreen/atmel_mxt_ts.c

index 42e645062c208e842b6feb5ecaf6824004c49a0c..b1108cae73ac9157a52702cb2bef70609d13c670 100644 (file)
@@ -250,6 +250,7 @@ struct mxt_finger {
 struct mxt_data {
        struct i2c_client *client;
        struct input_dev *input_dev;
+       char phys[64];          /* device physical location */
        const struct mxt_platform_data *pdata;
        struct mxt_object *object_table;
        struct mxt_info info;
@@ -1106,6 +1107,10 @@ static int __devinit mxt_probe(struct i2c_client *client,
        }
 
        input_dev->name = "Atmel maXTouch Touchscreen";
+       snprintf(data->phys, sizeof(data->phys), "i2c-%u-%04x/input0",
+                client->adapter->nr, client->addr);
+       input_dev->phys = data->phys;
+
        input_dev->id.bustype = BUS_I2C;
        input_dev->dev.parent = &client->dev;
        input_dev->open = mxt_input_open;