[PATCH] drm/tegra: rgb: Simplify tegra_dc_rgb_probe()
Geert Uytterhoeven
geert at linux-m68k.org
Mon Feb 3 11:05:57 UTC 2025
Hi Biju,
Thanks for your patch!
On Sat, 1 Feb 2025 at 11:57, Biju Das <biju.das.jz at bp.renesas.com> wrote:
> Simplify tegra_dc_rgb_probe() by using of_get_available_child_by_name().
That's not the only thing this patch does...
>
> Signed-off-by: Biju Das <biju.das.jz at bp.renesas.com>
> --- a/drivers/gpu/drm/tegra/rgb.c
> +++ b/drivers/gpu/drm/tegra/rgb.c
> @@ -202,12 +202,12 @@ static const struct drm_encoder_helper_funcs tegra_rgb_encoder_helper_funcs = {
>
> int tegra_dc_rgb_probe(struct tegra_dc *dc)
> {
> - struct device_node *np;
> + struct device_node *np _free(device_node) =
Adding the _free()...
> + of_get_available_child_by_name(dc->dev->of_node, "rgb");
> struct tegra_rgb *rgb;
> int err;
>
> - np = of_get_child_by_name(dc->dev->of_node, "rgb");
> - if (!np || !of_device_is_available(np))
> + if (!np)
> return -ENODEV;
... fixes the reference count in case of an unavailable node...
>
> rgb = devm_kzalloc(dc->dev, sizeof(*rgb), GFP_KERNEL);
... but as np is stored below, it must not be freed when it goes out
of context?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
More information about the dri-devel
mailing list