linux-arm-msm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Stephen Boyd <swboyd@chromium.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org,
	Daniel Vetter <daniel.vetter@ffwll.ch>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Rob Clark <robdclark@gmail.com>,
	Russell King <rmk+kernel@arm.linux.org.uk>,
	Saravana Kannan <saravanak@google.com>
Subject: Re: [PATCH v2 15/34] drm/ingenic: Migrate to aggregate driver
Date: Thu, 07 Oct 2021 22:29:42 +0100	[thread overview]
Message-ID: <IDMM0R.KPFO72NRAH8T2@crapouillou.net> (raw)
In-Reply-To: <20211006193819.2654854-16-swboyd@chromium.org>

Hi Stephen,

Le mer., oct. 6 2021 at 12:38:00 -0700, Stephen Boyd 
<swboyd@chromium.org> a écrit :
> Use an aggregate driver instead of component ops so that we can get
> proper driver probe ordering of the aggregate device with respect to 
> all
> the component devices that make up the aggregate device.
> 
> TODO: Move the helpers to PM in aggregate driver hooks.
> 
> Cc: Paul Cercueil <paul@crapouillou.net>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: "Rafael J. Wysocki" <rafael@kernel.org>
> Cc: Rob Clark <robdclark@gmail.com>
> Cc: Russell King <rmk+kernel@arm.linux.org.uk>
> Cc: Saravana Kannan <saravanak@google.com>
> Signed-off-by: Stephen Boyd <swboyd@chromium.org>
> ---
>  drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 24 
> +++++++++++++++++------
>  1 file changed, 18 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c 
> b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> index a5df1c8d34cd..058b7bfe5610 100644
> --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c
> @@ -1150,8 +1150,10 @@ static int ingenic_drm_bind(struct device 
> *dev, bool has_components)
>  	return ret;
>  }
> 
> -static int ingenic_drm_bind_with_components(struct device *dev)
> +static int ingenic_drm_bind_with_components(struct aggregate_device 
> *adev)
>  {
> +	struct device *dev = adev->parent;
> +
>  	return ingenic_drm_bind(dev, true);
>  }
> 
> @@ -1174,9 +1176,19 @@ static void ingenic_drm_unbind(struct device 
> *dev)
>  	drm_atomic_helper_shutdown(&priv->drm);
>  }
> 
> -static const struct component_master_ops ingenic_master_ops = {
> -	.bind = ingenic_drm_bind_with_components,
> -	.unbind = ingenic_drm_unbind,
> +static void ingenic_aggregate_remove(struct aggregate_device *adev)
> +{
> +	struct device *dev = adev->parent;

Space here.

With that:

Acked-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> +	ingenic_drm_unbind(dev);
> +}
> +
> +static struct aggregate_driver ingenic_aggregate_driver = {
> +	.probe = ingenic_drm_bind_with_components,
> +	.remove = ingenic_aggregate_remove,
> +	.driver = {
> +		.name = "ingenic_drm",
> +		.owner = THIS_MODULE,
> +	},
>  };
> 
>  static int ingenic_drm_probe(struct platform_device *pdev)
> @@ -1196,7 +1208,7 @@ static int ingenic_drm_probe(struct 
> platform_device *pdev)
>  	drm_of_component_match_add(dev, &match, compare_of, np);
>  	of_node_put(np);
> 
> -	return component_master_add_with_match(dev, &ingenic_master_ops, 
> match);
> +	return component_aggregate_register(dev, &ingenic_aggregate_driver, 
> match);
>  }
> 
>  static int ingenic_drm_remove(struct platform_device *pdev)
> @@ -1206,7 +1218,7 @@ static int ingenic_drm_remove(struct 
> platform_device *pdev)
>  	if (!IS_ENABLED(CONFIG_DRM_INGENIC_IPU))
>  		ingenic_drm_unbind(dev);
>  	else
> -		component_master_del(dev, &ingenic_master_ops);
> +		component_aggregate_unregister(dev, &ingenic_aggregate_driver);
> 
>  	return 0;
>  }
> --
> https://chromeos.dev
> 



  reply	other threads:[~2021-10-07 21:29 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-06 19:37 [PATCH v2 00/34] component: Make into an aggregate bus Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 01/34] component: Introduce struct aggregate_device Stephen Boyd
2021-10-07  1:17   ` Laurent Pinchart
2021-10-07 18:36     ` Stephen Boyd
2021-10-13 12:22   ` Daniel Vetter
2021-10-13 19:49     ` Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 02/34] component: Introduce the aggregate bus_type Stephen Boyd
2021-10-06 22:42   ` kernel test robot
2021-10-07  3:07   ` Saravana Kannan
2021-10-07 18:40     ` Stephen Boyd
2021-10-07 20:11       ` Stephen Boyd
2021-10-08  1:10         ` Saravana Kannan
2021-10-08  1:24           ` Stephen Boyd
2021-10-08  1:32             ` Saravana Kannan
2021-10-08  1:37               ` Stephen Boyd
2021-10-07  5:37   ` Greg Kroah-Hartman
2021-10-07 20:42     ` Stephen Boyd
2021-10-14 13:27       ` Daniel Vetter
2021-10-06 19:37 ` [PATCH v2 03/34] component: Move struct aggregate_device out to header file Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 04/34] drm/msm: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 05/34] component: Add {bind,unbind}_component() ops that take aggregate device Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 06/34] drm/of: Add a drm_of_aggregate_probe() API Stephen Boyd
2021-10-06 22:28   ` kernel test robot
2021-10-06 22:36   ` kernel test robot
2021-10-06 19:37 ` [PATCH v2 07/34] drm/komeda: Migrate to aggregate driver Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 08/34] drm/arm/hdlcd: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 09/34] drm/malidp: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 10/34] drm/armada: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 11/34] drm/etnaviv: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 12/34] drm/kirin: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 13/34] drm/exynos: " Stephen Boyd
2021-10-06 19:37 ` [PATCH v2 14/34] drm/imx: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 15/34] drm/ingenic: " Stephen Boyd
2021-10-07 21:29   ` Paul Cercueil [this message]
2021-10-06 19:38 ` [PATCH v2 16/34] drm/mcde: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 17/34] drm/mediatek: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 18/34] drm/meson: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 19/34] drm/omap: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 20/34] drm/rockchip: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 21/34] drm/sti: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 22/34] drm/sun4i: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 23/34] drm/tilcdc: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 24/34] drm/vc4: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 25/34] drm/zte: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 26/34] iommu/mtk: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 27/34] mei: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 28/34] power: supply: ab8500: " Stephen Boyd
2021-10-13 16:24   ` Sebastian Reichel
2021-10-06 19:38 ` [PATCH v2 29/34] fbdev: omap2: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 30/34] sound: hdac: " Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 31/34] ASoC: codecs: wcd938x: " Stephen Boyd
2021-10-07 12:35   ` Mark Brown
2021-10-06 19:38 ` [PATCH v2 32/34] component: Get rid of drm_of_component_probe() Stephen Boyd
2021-10-06 19:38 ` [PATCH v2 33/34] component: Remove component_master_ops and friends Stephen Boyd
2021-10-06 23:19   ` kernel test robot
2021-10-06 19:38 ` [PATCH v2 34/34] component: Remove all references to 'master' Stephen Boyd
2021-10-07 10:16 ` [PATCH v2 00/34] component: Make into an aggregate bus Andrzej Hajda
2021-10-07 20:46   ` Stephen Boyd
2021-10-13 12:14     ` Daniel Vetter
     [not found] ` <CAHp75VdLg-rBjCDGEwgkY6QDbFGW0of4SjSmp08FXXRN_raQtQ@mail.gmail.com>
2021-10-07 12:33   ` Andrzej Hajda

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=IDMM0R.KPFO72NRAH8T2@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=freedreno@lists.freedesktop.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    --cc=robdclark@gmail.com \
    --cc=saravanak@google.com \
    --cc=swboyd@chromium.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).