From: Nick Dyer <nick@xxxxxxxxxxxxx> Signed-off-by: Nick Dyer <nick@xxxxxxxxxxxxx> --- v2: Switch to linux instead of atmel as vendor prefix. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> --- Documentation/devicetree/bindings/input/atmel,maxtouch.txt | 3 +++ drivers/input/touchscreen/atmel_mxt_ts.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt index c88919480d37..0764c7af045c 100644 --- a/Documentation/devicetree/bindings/input/atmel,maxtouch.txt +++ b/Documentation/devicetree/bindings/input/atmel,maxtouch.txt @@ -31,6 +31,9 @@ Optional properties for main touchpad device: - reset-gpios: GPIO specifier for the touchscreen's reset pin (active low) +- linux,cfg-name: Provide name of configuration file in OBP_RAW format. This + will be downloaded from the firmware loader on probe to the device. + Example: touch@4b { diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c index 24c4b691b1c9..60997086763b 100644 --- a/drivers/input/touchscreen/atmel_mxt_ts.c +++ b/drivers/input/touchscreen/atmel_mxt_ts.c @@ -308,6 +308,7 @@ struct mxt_data { struct t7_config t7_cfg; struct mxt_dbg dbg; struct gpio_desc *reset_gpio; + const char *cfg_name; /* Cached parameters from object table */ u16 T5_address; @@ -2142,7 +2143,8 @@ static int mxt_initialize(struct mxt_data *data) if (error) return error; - error = request_firmware_nowait(THIS_MODULE, true, MXT_CFG_NAME, + error = request_firmware_nowait(THIS_MODULE, true, + data->cfg_name ? : MXT_CFG_NAME, &client->dev, GFP_KERNEL, data, mxt_config_cb); if (error) { @@ -3015,6 +3017,8 @@ static int mxt_parse_device_properties(struct mxt_data *data) data->t19_num_keys = n_keys; } + device_property_read_string(dev, "linux,cfg-name", &data->cfg_name); + return 0; } -- 2.20.1