Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Input: iqs7211 - use cleanup facility for fwnodes

Use __free(fwnode_handle) cleanup facility to ensure that references to
acquired fwnodes are dropped at appropriate times automatically.

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

+8 -16
+8 -16
drivers/input/touchscreen/iqs7211.c
··· 2060 2060 2061 2061 for (i = 0; i < dev_desc->num_kp_events; i++) { 2062 2062 const char *event_name = dev_desc->kp_events[i].name; 2063 - struct fwnode_handle *event_node; 2064 2063 2065 2064 if (dev_desc->kp_events[i].reg_grp != reg_grp) 2066 2065 continue; 2067 2066 2068 2067 reg_field.mask |= dev_desc->kp_events[i].enable; 2069 2068 2070 - if (event_name) 2071 - event_node = fwnode_get_named_child_node(reg_grp_node, 2072 - event_name); 2073 - else 2074 - event_node = fwnode_handle_get(reg_grp_node); 2075 - 2069 + struct fwnode_handle *event_node __free(fwnode_handle) = 2070 + event_name ? fwnode_get_named_child_node(reg_grp_node, 2071 + event_name) : 2072 + fwnode_handle_get(reg_grp_node); 2076 2073 if (!event_node) 2077 2074 continue; 2078 2075 ··· 2077 2080 dev_desc->kp_events[i].reg_grp, 2078 2081 dev_desc->kp_events[i].reg_key, 2079 2082 &iqs7211->kp_code[i]); 2080 - fwnode_handle_put(event_node); 2081 2083 if (error) 2082 2084 return error; 2083 2085 ··· 2492 2496 2493 2497 for (reg_grp = 0; reg_grp < IQS7211_NUM_REG_GRPS; reg_grp++) { 2494 2498 const char *reg_grp_name = iqs7211_reg_grp_names[reg_grp]; 2495 - struct fwnode_handle *reg_grp_node; 2496 2499 2497 - if (reg_grp_name) 2498 - reg_grp_node = device_get_named_child_node(&client->dev, 2499 - reg_grp_name); 2500 - else 2501 - reg_grp_node = fwnode_handle_get(dev_fwnode(&client->dev)); 2502 - 2500 + struct fwnode_handle *reg_grp_node __free(fwnode_handle) = 2501 + reg_grp_name ? device_get_named_child_node(&client->dev, 2502 + reg_grp_name) : 2503 + fwnode_handle_get(dev_fwnode(&client->dev)); 2503 2504 if (!reg_grp_node) 2504 2505 continue; 2505 2506 2506 2507 error = iqs7211_parse_reg_grp(iqs7211, reg_grp_node, reg_grp); 2507 - fwnode_handle_put(reg_grp_node); 2508 2508 if (error) 2509 2509 return error; 2510 2510 }