All of lore.kernel.org
 help / color / mirror / Atom feed
From: eric@anholt.net (Eric Anholt)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 3/7 v3] drm/pl111: Replace custom connector with panel bridge
Date: Thu, 07 Sep 2017 10:09:38 -0700	[thread overview]
Message-ID: <87ingul9kd.fsf@anholt.net> (raw)
In-Reply-To: <20170907124925.13805-3-linus.walleij@linaro.org>

Linus Walleij <linus.walleij@linaro.org> writes:

> This replaces the custom connector in the PL111 with the
> panel bridge helper.
>
> This works nicely for all standard panels, but since there
> are several PL11x-based systems that will need to use the dumb
> VGA connector bridge we use drm_of_find_panel_or_bridge()
> and make some headroom for dealing with bridges that are
> not panels as well, and drop a TODO in the code.
>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> +out_bridge:
> +	if (panel)
> +		drm_panel_bridge_remove(bridge);
> +	else
> +		drm_bridge_remove(bridge);

Drop the "else drm_bridge_remove(bridge)" here and in the hunk below --
that unregisters the bridge driver entirely, rather than unreferencing
it from your driver (there's no refcounting to be done).

With that change,

Reviewed-by: Eric Anholt <eric@anholt.net>

>  out_config:
>  	drm_mode_config_cleanup(dev);
>  finish:
> @@ -236,6 +250,10 @@ static int pl111_amba_remove(struct amba_device *amba_dev)
>  	drm_dev_unregister(drm);
>  	if (priv->fbdev)
>  		drm_fbdev_cma_fini(priv->fbdev);
> +	if (priv->panel)
> +		drm_panel_bridge_remove(priv->bridge);
> +	else
> +		drm_bridge_remove(priv->bridge);
>  	drm_mode_config_cleanup(drm);
>  	drm_dev_unref(drm);
>  
> -- 
> 2.13.5
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170907/8755707f/attachment.sig>

WARNING: multiple messages have this Message-ID (diff)
From: Eric Anholt <eric@anholt.net>
To: Linus Walleij <linus.walleij@linaro.org>,
	Daniel Vetter <daniel.vetter@intel.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Sean Paul <seanpaul@chromium.org>
Cc: linux-arm-kernel@lists.infradead.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 3/7 v3] drm/pl111: Replace custom connector with panel bridge
Date: Thu, 07 Sep 2017 10:09:38 -0700	[thread overview]
Message-ID: <87ingul9kd.fsf@anholt.net> (raw)
In-Reply-To: <20170907124925.13805-3-linus.walleij@linaro.org>


[-- Attachment #1.1: Type: text/plain, Size: 1327 bytes --]

Linus Walleij <linus.walleij@linaro.org> writes:

> This replaces the custom connector in the PL111 with the
> panel bridge helper.
>
> This works nicely for all standard panels, but since there
> are several PL11x-based systems that will need to use the dumb
> VGA connector bridge we use drm_of_find_panel_or_bridge()
> and make some headroom for dealing with bridges that are
> not panels as well, and drop a TODO in the code.
>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

> +out_bridge:
> +	if (panel)
> +		drm_panel_bridge_remove(bridge);
> +	else
> +		drm_bridge_remove(bridge);

Drop the "else drm_bridge_remove(bridge)" here and in the hunk below --
that unregisters the bridge driver entirely, rather than unreferencing
it from your driver (there's no refcounting to be done).

With that change,

Reviewed-by: Eric Anholt <eric@anholt.net>

>  out_config:
>  	drm_mode_config_cleanup(dev);
>  finish:
> @@ -236,6 +250,10 @@ static int pl111_amba_remove(struct amba_device *amba_dev)
>  	drm_dev_unregister(drm);
>  	if (priv->fbdev)
>  		drm_fbdev_cma_fini(priv->fbdev);
> +	if (priv->panel)
> +		drm_panel_bridge_remove(priv->bridge);
> +	else
> +		drm_bridge_remove(priv->bridge);
>  	drm_mode_config_cleanup(drm);
>  	drm_dev_unref(drm);
>  
> -- 
> 2.13.5

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2017-09-07 17:09 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-07 12:49 [PATCH 1/7 v3] drm/pl111: Cleanup local header file Linus Walleij
2017-09-07 12:49 ` Linus Walleij
2017-09-07 12:49 ` [PATCH 2/7 v3] drm/pl111: Add all registers to debugfs Linus Walleij
2017-09-07 12:49   ` Linus Walleij
2017-09-07 12:49 ` [PATCH 3/7 v3] drm/pl111: Replace custom connector with panel bridge Linus Walleij
2017-09-07 12:49   ` Linus Walleij
2017-09-07 17:09   ` Eric Anholt [this message]
2017-09-07 17:09     ` Eric Anholt
2017-09-07 12:49 ` [PATCH 4/7 v3] drm/pl111: Enable PL110 variant Linus Walleij
2017-09-07 12:49   ` Linus Walleij
2017-09-07 12:49 ` [PATCH 5/7 v3] drm/pl111: Insert delay before powering up PL11x Linus Walleij
2017-09-07 12:49   ` Linus Walleij
2017-09-07 12:49 ` [PATCH 6/7 v3] drm/pl111: Add optional variant display en/disable callbacks Linus Walleij
2017-09-07 12:49   ` Linus Walleij
2017-09-07 12:49 ` [PATCH 7/7 v3] drm/pl111: Add handling of Versatile platforms Linus Walleij
2017-09-07 12:49   ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ingul9kd.fsf@anholt.net \
    --to=eric@anholt.net \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.