mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
Input: edt-ft5x06 - fix setting gain, offset, and threshold via device tree
A recent patch broke parsing the gain, offset, and threshold parameters
from device tree. Instead of setting the cached values and writing them
to the correct registers during probe, it would write the values from DT
into the register address variables and never write them to the chip
during normal operation.
Fixes: 2e23b7a963
("Input: edt-ft5x06 - use generic properties API")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
parent
d4f1b06d68
commit
dc262dfaae
@ -822,16 +822,22 @@ static void edt_ft5x06_ts_get_defaults(struct device *dev,
|
||||
int error;
|
||||
|
||||
error = device_property_read_u32(dev, "threshold", &val);
|
||||
if (!error)
|
||||
reg_addr->reg_threshold = val;
|
||||
if (!error) {
|
||||
edt_ft5x06_register_write(tsdata, reg_addr->reg_threshold, val);
|
||||
tsdata->threshold = val;
|
||||
}
|
||||
|
||||
error = device_property_read_u32(dev, "gain", &val);
|
||||
if (!error)
|
||||
reg_addr->reg_gain = val;
|
||||
if (!error) {
|
||||
edt_ft5x06_register_write(tsdata, reg_addr->reg_gain, val);
|
||||
tsdata->gain = val;
|
||||
}
|
||||
|
||||
error = device_property_read_u32(dev, "offset", &val);
|
||||
if (!error)
|
||||
reg_addr->reg_offset = val;
|
||||
if (!error) {
|
||||
edt_ft5x06_register_write(tsdata, reg_addr->reg_offset, val);
|
||||
tsdata->offset = val;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user