From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Jyri Sarha <jsarha@ti.com>
Cc: tomi.valkeinen@ti.com, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH RFC 6/9] drm/omap: dss: Move platform_device_register from core.c to dss.c probe
Date: Tue, 27 Feb 2018 16:46:40 +0200 [thread overview]
Message-ID: <4235558.Q8LYdxuuu4@avalon> (raw)
In-Reply-To: <d75c8732adfd071c5561fddd93413ccabb53ea90.1518780268.git.jsarha@ti.com>
Hi Jyri,
Thank you for the patch.
On Friday, 16 February 2018 13:25:07 EET Jyri Sarha wrote:
> Register the omapdrm device when we know that dss device probe going
> to succeed. This avoids DSS6 and DSS2 omapdrm device registration from
> colliding with each other.
>
> Signed-off-by: Jyri Sarha <jsarha@ti.com>
> ---
> drivers/gpu/drm/omapdrm/dss/core.c | 26 ++------------------------
> drivers/gpu/drm/omapdrm/dss/dss.c | 19 +++++++++++++++++++
> 2 files changed, 21 insertions(+), 24 deletions(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/dss/core.c
> b/drivers/gpu/drm/omapdrm/dss/core.c index acef7ec..6c9f667 100644
> --- a/drivers/gpu/drm/omapdrm/dss/core.c
> +++ b/drivers/gpu/drm/omapdrm/dss/core.c
> @@ -45,36 +45,14 @@ static struct platform_driver * const omap_dss_drivers[]
> = { #endif
> };
>
> -static struct platform_device *omap_drm_device;
> -
> static int __init omap_dss_init(void)
> {
> - int r;
> -
> - r = platform_register_drivers(omap_dss_drivers,
> - ARRAY_SIZE(omap_dss_drivers));
> - if (r)
> - goto err_reg;
> -
> - omap_drm_device = platform_device_register_simple("omapdrm", 0, NULL, 0);
> - if (IS_ERR(omap_drm_device)) {
> - r = PTR_ERR(omap_drm_device);
> - goto err_reg;
> - }
> -
> - return 0;
> -
> -err_reg:
> - platform_unregister_drivers(omap_dss_drivers,
> - ARRAY_SIZE(omap_dss_drivers));
> -
> - return r;
> + return platform_register_drivers(omap_dss_drivers,
> + ARRAY_SIZE(omap_dss_drivers));
> }
>
> static void __exit omap_dss_exit(void)
> {
> - platform_device_unregister(omap_drm_device);
> -
> platform_unregister_drivers(omap_dss_drivers,
> ARRAY_SIZE(omap_dss_drivers));
> }
> diff --git a/drivers/gpu/drm/omapdrm/dss/dss.c
> b/drivers/gpu/drm/omapdrm/dss/dss.c index 5752328..dda3237 100644
> --- a/drivers/gpu/drm/omapdrm/dss/dss.c
> +++ b/drivers/gpu/drm/omapdrm/dss/dss.c
> @@ -1314,6 +1314,17 @@ static const struct soc_device_attribute
> dss_soc_devices[] = { { /* sentinel */ }
> };
>
> +static struct platform_device *omap_drm_device;
Let's store this in the dss_device structure instead of adding a new global
variable. I've spent enough time chasing the globals, I don't want any new one
:-)
> +static int initialize_omapdrm_device(void)
> +{
> + omap_drm_device = platform_device_register_simple("omapdrm", 0, NULL, 0);
> + if (IS_ERR(omap_drm_device))
> + return PTR_ERR(omap_drm_device);
> +
> + return 0;
> +}
> +
> static int dss_bind(struct device *dev)
> {
> struct dss_device *dss = dev_get_drvdata(dev);
> @@ -1323,6 +1334,12 @@ static int dss_bind(struct device *dev)
> if (r)
> return r;
>
> + r = initialize_omapdrm_device();
> + if (r) {
> + component_unbind_all(dev, NULL);
> + return r;
> + }
> +
Should this be called after omapdss_gather_components() and omapdss_set_dss()
to make sure the omapdrm probe won't be deferred by the DSS not being
initialized ?
> pm_set_vt_switch(0);
>
> omapdss_gather_components(dev);
> @@ -1335,6 +1352,8 @@ static void dss_unbind(struct device *dev)
> {
> omapdss_set_dss(NULL);
>
> + platform_device_unregister(omap_drm_device);
> +
Same here, should this be called before omapdss_set_dss() for symmetry ?
> component_unbind_all(dev, NULL);
> }
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2018-02-27 14:45 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-16 11:25 [PATCH RFC 0/9] drm/omap: DSS6 with dynamically allocated objects Jyri Sarha
2018-02-16 11:25 ` [PATCH RFC 1/9] drm/omap: Update omapdss API to allow alternative DSS implementations Jyri Sarha
2018-02-19 12:01 ` Tomi Valkeinen
2018-02-27 14:27 ` Laurent Pinchart
2018-02-16 11:25 ` [PATCH RFC 2/9] drm/omap: Fail probe if irq registration fails Jyri Sarha
2018-02-27 14:27 ` Laurent Pinchart
2018-02-16 11:25 ` [PATCH RFC 3/9] drm/omap: Add ovl_name() and mgr_name() to dispc_ops Jyri Sarha
2018-02-27 14:35 ` Laurent Pinchart
2018-02-28 11:37 ` Tomi Valkeinen
2018-02-28 13:23 ` Laurent Pinchart
2018-02-28 14:05 ` Tomi Valkeinen
2018-02-28 14:24 ` Laurent Pinchart
2018-02-28 14:31 ` Tomi Valkeinen
2018-02-16 11:25 ` [PATCH RFC 4/9] drm/omap: Make omapdss API more generic Jyri Sarha
2018-02-19 12:41 ` Tomi Valkeinen
2018-02-16 11:25 ` [PATCH RFC 5/9] drm/omap: move common stuff from dss.h to omapdss.h Jyri Sarha
2018-02-19 12:06 ` Tomi Valkeinen
2018-02-27 14:42 ` Laurent Pinchart
2018-02-16 11:25 ` [PATCH RFC 6/9] drm/omap: dss: Move platform_device_register from core.c to dss.c probe Jyri Sarha
2018-02-27 14:46 ` Laurent Pinchart [this message]
2018-02-16 11:25 ` [PATCH RFC 7/9] drm/omap: dss: platform_register_drivers() to dss.c and remove core.c Jyri Sarha
2018-02-27 14:48 ` Laurent Pinchart
2018-02-16 11:25 ` [PATCH RFC 8/9] drm/omap: add TI DSS6 driver Jyri Sarha
2018-02-16 11:25 ` [PATCH RFC 9/9] drm/omap: boot-init: add k2g-dss Jyri Sarha
2018-02-27 14:15 ` Laurent Pinchart
2018-02-27 14:15 ` Laurent Pinchart
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=4235558.Q8LYdxuuu4@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jsarha@ti.com \
--cc=tomi.valkeinen@ti.com \
/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