Re: [PATCH] i2c: mpc: Removal of of_node_put with __free for auto cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 16/04/24 04:12, Abhinav Jain wrote:
> Remove of_node_put from node_ctrl and node struct device_nodes.
> Move the declaration to initialization for ensuring scope sanity.
>
> Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx>
> Signed-off-by: Abhinav Jain <jain.abhinav177@xxxxxxxxx>

Reviewed-by: Chris Packham <chris.packham@xxxxxxxxxxxxxxxxxxx>

> ---
>   drivers/i2c/busses/i2c-mpc.c | 11 ++++-------
>   1 file changed, 4 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/i2c/busses/i2c-mpc.c b/drivers/i2c/busses/i2c-mpc.c
> index 8d73c0f405ed..c4223556b3b8 100644
> --- a/drivers/i2c/busses/i2c-mpc.c
> +++ b/drivers/i2c/busses/i2c-mpc.c
> @@ -304,13 +304,12 @@ static void mpc_i2c_setup_512x(struct device_node *node,
>   					 struct mpc_i2c *i2c,
>   					 u32 clock)
>   {
> -	struct device_node *node_ctrl;
>   	void __iomem *ctrl;
>   	u32 idx;
>   
>   	/* Enable I2C interrupts for mpc5121 */
> -	node_ctrl = of_find_compatible_node(NULL, NULL,
> -					    "fsl,mpc5121-i2c-ctrl");
> +	struct device_node *node_ctrl __free(device_node) =
> +		of_find_compatible_node(NULL, NULL, "fsl,mpc5121-i2c-ctrl");
>   	if (node_ctrl) {
>   		ctrl = of_iomap(node_ctrl, 0);
>   		if (ctrl) {
> @@ -321,7 +320,6 @@ static void mpc_i2c_setup_512x(struct device_node *node,
>   			setbits32(ctrl, 1 << (24 + idx * 2));
>   			iounmap(ctrl);
>   		}
> -		of_node_put(node_ctrl);
>   	}
>   
>   	/* The clock setup for the 52xx works also fine for the 512x */
> @@ -358,11 +356,11 @@ static const struct mpc_i2c_divider mpc_i2c_dividers_8xxx[] = {
>   
>   static u32 mpc_i2c_get_sec_cfg_8xxx(void)
>   {
> -	struct device_node *node;
>   	u32 __iomem *reg;
>   	u32 val = 0;
>   
> -	node = of_find_node_by_name(NULL, "global-utilities");
> +	struct device_node *node __free(device_node) =
> +		of_find_node_by_name(NULL, "global-utilities");
>   	if (node) {
>   		const u32 *prop = of_get_property(node, "reg", NULL);
>   		if (prop) {
> @@ -383,7 +381,6 @@ static u32 mpc_i2c_get_sec_cfg_8xxx(void)
>   			iounmap(reg);
>   		}
>   	}
> -	of_node_put(node);
>   
>   	return val;
>   }




[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux