Input: atmel_mxt_ts - improve device tree parsing
Use function rather than loop, define np to reduce wrapping. Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Родитель
50fabb02c7
Коммит
204476642d
|
@ -2409,19 +2409,18 @@ static void mxt_input_close(struct input_dev *dev)
|
|||
static const struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
|
||||
{
|
||||
struct mxt_platform_data *pdata;
|
||||
struct device_node *np = client->dev.of_node;
|
||||
u32 *keymap;
|
||||
u32 keycode;
|
||||
int proplen, i, ret;
|
||||
int proplen, ret;
|
||||
|
||||
if (!client->dev.of_node)
|
||||
if (!np)
|
||||
return ERR_PTR(-ENOENT);
|
||||
|
||||
pdata = devm_kzalloc(&client->dev, sizeof(*pdata), GFP_KERNEL);
|
||||
if (!pdata)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
if (of_find_property(client->dev.of_node, "linux,gpio-keymap",
|
||||
&proplen)) {
|
||||
if (of_find_property(np, "linux,gpio-keymap", &proplen)) {
|
||||
pdata->t19_num_keys = proplen / sizeof(u32);
|
||||
|
||||
keymap = devm_kzalloc(&client->dev,
|
||||
|
@ -2430,14 +2429,11 @@ static const struct mxt_platform_data *mxt_parse_dt(struct i2c_client *client)
|
|||
if (!keymap)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
for (i = 0; i < pdata->t19_num_keys; i++) {
|
||||
ret = of_property_read_u32_index(client->dev.of_node,
|
||||
"linux,gpio-keymap", i, &keycode);
|
||||
if (ret)
|
||||
keycode = KEY_RESERVED;
|
||||
|
||||
keymap[i] = keycode;
|
||||
}
|
||||
ret = of_property_read_u32_array(np, "linux,gpio-keymap",
|
||||
keymap, pdata->t19_num_keys);
|
||||
if (ret)
|
||||
dev_warn(&client->dev,
|
||||
"Couldn't read linux,gpio-keymap: %d\n", ret);
|
||||
|
||||
pdata->t19_keymap = keymap;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче