On Wed, May 14, 2014 at 11:24:14PM +0200, Philipp Zabel wrote:
> Move memory allocation and resource acquisition from the bind function into
> the probe function. This calls the devres managed functions once instead of
> possibly multiple times in the bind function and avoids leaking memory (as
> long as the hdmi platform device stays bound).
> 
> While at it, request the irq only after the interrupt handler mutes are
> set up, to avoid spurious interrupts.
> 
> Signed-off-by: Philipp Zabel <philipp.za...@gmail.com>
> ---
>  drivers/staging/imx-drm/imx-hdmi.c | 163 
> +++++++++++++++++++------------------
>  1 file changed, 83 insertions(+), 80 deletions(-)

Very nice. I like it. One comment below, though it's unrelated to what
you're trying to achieve here. It's primarily a note to myself.

> diff --git a/drivers/staging/imx-drm/imx-hdmi.c 
> b/drivers/staging/imx-drm/imx-hdmi.c
[...]
>  static int imx_hdmi_platform_probe(struct platform_device *pdev)
>  {
[...]
> +     ddc_node = of_parse_phandle(np, "ddc-i2c-bus", 0);
> +     if (ddc_node) {
> +             hdmi->ddc = of_find_i2c_adapter_by_node(ddc_node);
> +             if (!hdmi->ddc)
> +                     dev_dbg(hdmi->dev, "failed to read ddc node\n");
> +
> +             of_node_put(ddc_node);
> +     } else {
> +             dev_dbg(hdmi->dev, "no ddc property found\n");
> +     }

This seems to be emerging as a common pattern. Perhaps we should add a
common helper for this.

Thierry

Attachment: pgpoaXVvRrJZX.pgp
Description: PGP signature

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to