@@ -337,6 +337,7 @@ struct mxt_data {
char *fw_name;
char *cfg_name;
const char *pcfg_name;
+ const char *input_name;
/* Cached parameters from object table */
u16 T5_address;
@@ -2413,7 +2414,11 @@ static int mxt_initialize_input_device(struct mxt_data *data)
if (!input_dev)
return -ENOMEM;
- input_dev->name = "Atmel maXTouch Touchscreen";
+ if (data->input_name)
+ input_dev->name = data->input_name;
+ else
+ input_dev->name = "Atmel maXTouch Touchscreen";
+
input_dev->phys = data->phys;
input_dev->id.bustype = BUS_I2C;
input_dev->dev.parent = dev;
@@ -3649,6 +3654,8 @@ static int mxt_parse_device_properties(struct mxt_data *data)
device_property_read_string(dev, "atmel,cfg_name", &data->pcfg_name);
+ device_property_read_string(dev, "atmel,input_name", &data->input_name);
+
if (device_property_present(dev, keymap_property)) {
n_keys = device_property_count_u32(dev, keymap_property);
if (n_keys <= 0) {