Re: [RFC][PATCH 1/2] drm/bridge: lt9611: Consolidate detection logic

From: Robert Foss
Date: Mon May 02 2022 - 10:26:24 EST


On Sat, 30 Apr 2022 at 08:48, John Stultz <jstultz@xxxxxxxxxx> wrote:
>
> This patch simply consolidates the duplicated detection
> functionality in the driver.
>
> Cc: Yongqin Liu <yongqin.liu@xxxxxxxxxx>
> Cc: Amit Pundir <amit.pundir@xxxxxxxxxx>
> Cc: Peter Collingbourne <pcc@xxxxxxxxxx>
> Cc: Vinod Koul <vkoul@xxxxxxxxxx>
> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> Cc: Robert Foss <robert.foss@xxxxxxxxxx>
> Cc: kernel-team@xxxxxxxxxxx
> Signed-off-by: John Stultz <jstultz@xxxxxxxxxx>
> ---
> drivers/gpu/drm/bridge/lontium-lt9611.c | 22 ++++++++--------------
> 1 file changed, 8 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/lontium-lt9611.c b/drivers/gpu/drm/bridge/lontium-lt9611.c
> index 63df2e8a8abc..bf66af668f61 100644
> --- a/drivers/gpu/drm/bridge/lontium-lt9611.c
> +++ b/drivers/gpu/drm/bridge/lontium-lt9611.c
> @@ -578,10 +578,8 @@ static struct lt9611_mode *lt9611_find_mode(const struct drm_display_mode *mode)
> }
>
> /* connector funcs */
> -static enum drm_connector_status
> -lt9611_connector_detect(struct drm_connector *connector, bool force)
> +static enum drm_connector_status __lt9611_detect(struct lt9611 *lt9611)
> {
> - struct lt9611 *lt9611 = connector_to_lt9611(connector);
> unsigned int reg_val = 0;
> int connected = 0;
>
> @@ -594,6 +592,12 @@ lt9611_connector_detect(struct drm_connector *connector, bool force)
> return lt9611->status;
> }
>
> +static enum drm_connector_status
> +lt9611_connector_detect(struct drm_connector *connector, bool force)
> +{
> + return __lt9611_detect(connector_to_lt9611(connector));
> +}
> +
> static int lt9611_read_edid(struct lt9611 *lt9611)
> {
> unsigned int temp;
> @@ -887,17 +891,7 @@ static void lt9611_bridge_mode_set(struct drm_bridge *bridge,
>
> static enum drm_connector_status lt9611_bridge_detect(struct drm_bridge *bridge)
> {
> - struct lt9611 *lt9611 = bridge_to_lt9611(bridge);
> - unsigned int reg_val = 0;
> - int connected;
> -
> - regmap_read(lt9611->regmap, 0x825e, &reg_val);
> - connected = reg_val & BIT(0);
> -
> - lt9611->status = connected ? connector_status_connected :
> - connector_status_disconnected;
> -
> - return lt9611->status;
> + return __lt9611_detect(bridge_to_lt9611(bridge));
> }
>
> static struct edid *lt9611_bridge_get_edid(struct drm_bridge *bridge,

I think this looks good. Thank John!

Reviewed-by: Robert Foss <robert.foss@xxxxxxxxxx>