From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
David Airlie <airlied@linux.ie>,
Linus Walleij <linus.walleij@linaro.org>,
dri-devel@lists.freedesktop.org,
Andrzej Hajda <a.hajda@samsung.com>,
Thierry Reding <thierry.reding@gmail.com>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Stefan Agner <stefan@agner.ch>,
linux-samsung-soc@vger.kernel.org,
linux-rockchip@lists.infradead.org,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
NXP Linux Team <linux-imx@nxp.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
linux-mediatek@lists.infradead.org,
Abhinav Kumar <abhinavk@codeaurora.org>,
linux-tegra@vger.kernel.org, Sean Paul <sean@poorly.run>,
linux-arm-kernel@lists.infradead.org,
Purism Kernel Team <kernel@puri.sm>,
linux-renesas-soc@vger.kernel.org,
Boris Brezillon <boris.brezillon@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [PATCH v1 01/26] drm/drm_panel: no error when no callback
Date: Tue, 3 Dec 2019 08:24:59 +0200 [thread overview]
Message-ID: <20191203062459.GA4730@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20191202193230.21310-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Mon, Dec 02, 2019 at 08:32:05PM +0100, Sam Ravnborg wrote:
> The callbacks in drm_panel_funcs are optional, so do not
> return an error just because no callback is assigned.
Unless I'm mistaken the callbacks are not documented as optional. Should
this be fixed too ?
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
> drivers/gpu/drm/drm_panel.c | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
> index ed7985c0535a..2d59cdd05e50 100644
> --- a/drivers/gpu/drm/drm_panel.c
> +++ b/drivers/gpu/drm/drm_panel.c
> @@ -151,10 +151,13 @@ EXPORT_SYMBOL(drm_panel_detach);
> */
> int drm_panel_prepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->prepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->prepare)
> return panel->funcs->prepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_prepare);
>
> @@ -171,10 +174,13 @@ EXPORT_SYMBOL(drm_panel_prepare);
> */
> int drm_panel_unprepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->unprepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->unprepare)
> return panel->funcs->unprepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_unprepare);
>
> @@ -190,10 +196,13 @@ EXPORT_SYMBOL(drm_panel_unprepare);
> */
> int drm_panel_enable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->enable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->enable)
> return panel->funcs->enable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_enable);
>
> @@ -209,10 +218,13 @@ EXPORT_SYMBOL(drm_panel_enable);
> */
> int drm_panel_disable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->disable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->disable)
> return panel->funcs->disable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_disable);
>
> @@ -228,10 +240,13 @@ EXPORT_SYMBOL(drm_panel_disable);
> */
> int drm_panel_get_modes(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->get_modes)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->get_modes)
> return panel->funcs->get_modes(panel);
Should get_modes() be optional ? As far as I can tell all the panel
drivers in drivers/gpu/drm/panel/ implement it, and I'm not sure to see
how a panel could be usable if it can't return its mode.
On the other hand you return 0 if the callback isn't implemented, which
doesn't mean success here, so I suppose that's fine, but I don't think
we should document .get_modes() as being optional.
With these issues addressed (if they need to be),
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_get_modes);
>
--
Regards,
Laurent Pinchart
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
David Airlie <airlied@linux.ie>,
dri-devel@lists.freedesktop.org,
Thierry Reding <thierry.reding@gmail.com>,
linux-samsung-soc@vger.kernel.org,
linux-rockchip@lists.infradead.org,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
NXP Linux Team <linux-imx@nxp.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
linux-mediatek@lists.infradead.org,
Abhinav Kumar <abhinavk@codeaurora.org>,
linux-tegra@vger.kernel.org, Sean Paul <sean@poorly.run>,
linux-arm-kernel@lists.infradead.org,
Purism Kernel Team <kernel@puri.sm>,
linux-renesas-soc@vger.kernel.org,
Boris Brezillon <boris.brezillon@collabora.com>
Subject: Re: [PATCH v1 01/26] drm/drm_panel: no error when no callback
Date: Tue, 3 Dec 2019 08:24:59 +0200 [thread overview]
Message-ID: <20191203062459.GA4730@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20191202193230.21310-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Mon, Dec 02, 2019 at 08:32:05PM +0100, Sam Ravnborg wrote:
> The callbacks in drm_panel_funcs are optional, so do not
> return an error just because no callback is assigned.
Unless I'm mistaken the callbacks are not documented as optional. Should
this be fixed too ?
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
> drivers/gpu/drm/drm_panel.c | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
> index ed7985c0535a..2d59cdd05e50 100644
> --- a/drivers/gpu/drm/drm_panel.c
> +++ b/drivers/gpu/drm/drm_panel.c
> @@ -151,10 +151,13 @@ EXPORT_SYMBOL(drm_panel_detach);
> */
> int drm_panel_prepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->prepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->prepare)
> return panel->funcs->prepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_prepare);
>
> @@ -171,10 +174,13 @@ EXPORT_SYMBOL(drm_panel_prepare);
> */
> int drm_panel_unprepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->unprepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->unprepare)
> return panel->funcs->unprepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_unprepare);
>
> @@ -190,10 +196,13 @@ EXPORT_SYMBOL(drm_panel_unprepare);
> */
> int drm_panel_enable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->enable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->enable)
> return panel->funcs->enable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_enable);
>
> @@ -209,10 +218,13 @@ EXPORT_SYMBOL(drm_panel_enable);
> */
> int drm_panel_disable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->disable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->disable)
> return panel->funcs->disable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_disable);
>
> @@ -228,10 +240,13 @@ EXPORT_SYMBOL(drm_panel_disable);
> */
> int drm_panel_get_modes(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->get_modes)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->get_modes)
> return panel->funcs->get_modes(panel);
Should get_modes() be optional ? As far as I can tell all the panel
drivers in drivers/gpu/drm/panel/ implement it, and I'm not sure to see
how a panel could be usable if it can't return its mode.
On the other hand you return 0 if the callback isn't implemented, which
doesn't mean success here, so I suppose that's fine, but I don't think
we should document .get_modes() as being optional.
With these issues addressed (if they need to be),
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_get_modes);
>
--
Regards,
Laurent Pinchart
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: dri-devel@lists.freedesktop.org,
Thierry Reding <thierry.reding@gmail.com>,
Abhinav Kumar <abhinavk@codeaurora.org>,
Andrzej Hajda <a.hajda@samsung.com>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Boris Brezillon <boris.brezillon@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>, David Airlie <airlied@linux.ie>,
Jagan Teki <jagan@amarulasolutions.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Linus Walleij <linus.walleij@linaro.org>,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
linux-renesas-soc@vger.kernel.org,
linux-rockchip@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-tegra@vger.kernel.org,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <narmstrong@baylibre.com>,
NXP Linux Team <linux-imx@nxp.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Purism Kernel Team <kernel@puri.sm>, Sean Paul <sean@poorly.run>,
Stefan Agner <stefan@agner.ch>,
Tomi Valkeinen <tomi.valkeinen@ti.com>
Subject: Re: [PATCH v1 01/26] drm/drm_panel: no error when no callback
Date: Tue, 3 Dec 2019 08:24:59 +0200 [thread overview]
Message-ID: <20191203062459.GA4730@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20191202193230.21310-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Mon, Dec 02, 2019 at 08:32:05PM +0100, Sam Ravnborg wrote:
> The callbacks in drm_panel_funcs are optional, so do not
> return an error just because no callback is assigned.
Unless I'm mistaken the callbacks are not documented as optional. Should
this be fixed too ?
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
> drivers/gpu/drm/drm_panel.c | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
> index ed7985c0535a..2d59cdd05e50 100644
> --- a/drivers/gpu/drm/drm_panel.c
> +++ b/drivers/gpu/drm/drm_panel.c
> @@ -151,10 +151,13 @@ EXPORT_SYMBOL(drm_panel_detach);
> */
> int drm_panel_prepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->prepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->prepare)
> return panel->funcs->prepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_prepare);
>
> @@ -171,10 +174,13 @@ EXPORT_SYMBOL(drm_panel_prepare);
> */
> int drm_panel_unprepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->unprepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->unprepare)
> return panel->funcs->unprepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_unprepare);
>
> @@ -190,10 +196,13 @@ EXPORT_SYMBOL(drm_panel_unprepare);
> */
> int drm_panel_enable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->enable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->enable)
> return panel->funcs->enable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_enable);
>
> @@ -209,10 +218,13 @@ EXPORT_SYMBOL(drm_panel_enable);
> */
> int drm_panel_disable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->disable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->disable)
> return panel->funcs->disable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_disable);
>
> @@ -228,10 +240,13 @@ EXPORT_SYMBOL(drm_panel_disable);
> */
> int drm_panel_get_modes(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->get_modes)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->get_modes)
> return panel->funcs->get_modes(panel);
Should get_modes() be optional ? As far as I can tell all the panel
drivers in drivers/gpu/drm/panel/ implement it, and I'm not sure to see
how a panel could be usable if it can't return its mode.
On the other hand you return 0 if the callback isn't implemented, which
doesn't mean success here, so I suppose that's fine, but I don't think
we should document .get_modes() as being optional.
With these issues addressed (if they need to be),
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_get_modes);
>
--
Regards,
Laurent Pinchart
WARNING: multiple messages have this Message-ID (diff)
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Neil Armstrong <narmstrong@baylibre.com>,
David Airlie <airlied@linux.ie>,
Linus Walleij <linus.walleij@linaro.org>,
dri-devel@lists.freedesktop.org,
Andrzej Hajda <a.hajda@samsung.com>,
Thierry Reding <thierry.reding@gmail.com>,
Benjamin Gaignard <benjamin.gaignard@linaro.org>,
Stefan Agner <stefan@agner.ch>,
linux-samsung-soc@vger.kernel.org,
linux-rockchip@lists.infradead.org,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
NXP Linux Team <linux-imx@nxp.com>,
Jagan Teki <jagan@amarulasolutions.com>,
Jitao Shi <jitao.shi@mediatek.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
linux-mediatek@lists.infradead.org,
Abhinav Kumar <abhinavk@codeaurora.org>,
linux-tegra@vger.kernel.org, Sean Paul <sean@poorly.run>,
linux-arm-kernel@lists.infradead.org,
Purism Kernel Team <kernel@puri.sm>,
linux-renesas-soc@vger.kernel.org,
Boris Brezillon <boris.brezillon@collabora.com>,
Daniel Vetter <daniel@ffwll.ch>
Subject: Re: [PATCH v1 01/26] drm/drm_panel: no error when no callback
Date: Tue, 3 Dec 2019 08:24:59 +0200 [thread overview]
Message-ID: <20191203062459.GA4730@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20191202193230.21310-2-sam@ravnborg.org>
Hi Sam,
Thank you for the patch.
On Mon, Dec 02, 2019 at 08:32:05PM +0100, Sam Ravnborg wrote:
> The callbacks in drm_panel_funcs are optional, so do not
> return an error just because no callback is assigned.
Unless I'm mistaken the callbacks are not documented as optional. Should
this be fixed too ?
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> Cc: David Airlie <airlied@linux.ie>
> Cc: Daniel Vetter <daniel@ffwll.ch>
> ---
> drivers/gpu/drm/drm_panel.c | 35 +++++++++++++++++++++++++----------
> 1 file changed, 25 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c
> index ed7985c0535a..2d59cdd05e50 100644
> --- a/drivers/gpu/drm/drm_panel.c
> +++ b/drivers/gpu/drm/drm_panel.c
> @@ -151,10 +151,13 @@ EXPORT_SYMBOL(drm_panel_detach);
> */
> int drm_panel_prepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->prepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->prepare)
> return panel->funcs->prepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_prepare);
>
> @@ -171,10 +174,13 @@ EXPORT_SYMBOL(drm_panel_prepare);
> */
> int drm_panel_unprepare(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->unprepare)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->unprepare)
> return panel->funcs->unprepare(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_unprepare);
>
> @@ -190,10 +196,13 @@ EXPORT_SYMBOL(drm_panel_unprepare);
> */
> int drm_panel_enable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->enable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->enable)
> return panel->funcs->enable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_enable);
>
> @@ -209,10 +218,13 @@ EXPORT_SYMBOL(drm_panel_enable);
> */
> int drm_panel_disable(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->disable)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->disable)
> return panel->funcs->disable(panel);
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_disable);
>
> @@ -228,10 +240,13 @@ EXPORT_SYMBOL(drm_panel_disable);
> */
> int drm_panel_get_modes(struct drm_panel *panel)
> {
> - if (panel && panel->funcs && panel->funcs->get_modes)
> + if (!panel)
> + return -EINVAL;
> +
> + if (panel->funcs && panel->funcs->get_modes)
> return panel->funcs->get_modes(panel);
Should get_modes() be optional ? As far as I can tell all the panel
drivers in drivers/gpu/drm/panel/ implement it, and I'm not sure to see
how a panel could be usable if it can't return its mode.
On the other hand you return 0 if the callback isn't implemented, which
doesn't mean success here, so I suppose that's fine, but I don't think
we should document .get_modes() as being optional.
With these issues addressed (if they need to be),
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> - return panel ? -ENOSYS : -EINVAL;
> + return 0;
> }
> EXPORT_SYMBOL(drm_panel_get_modes);
>
--
Regards,
Laurent Pinchart
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2019-12-03 6:25 UTC|newest]
Thread overview: 240+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-02 19:32 [PATCH v1 0/26] drm/panel infrastructure + backlight update Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 01/26] drm/drm_panel: no error when no callback Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:24 ` Laurent Pinchart [this message]
2019-12-03 6:24 ` Laurent Pinchart
2019-12-03 6:24 ` Laurent Pinchart
2019-12-03 6:24 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 02/26] drm/panel: add backlight support Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:32 ` Laurent Pinchart
2019-12-03 6:32 ` Laurent Pinchart
2019-12-03 6:32 ` Laurent Pinchart
2019-12-03 6:32 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 03/26] drm/panel: simple: use drm_panel " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:39 ` Laurent Pinchart
2019-12-03 6:39 ` Laurent Pinchart
2019-12-03 6:39 ` Laurent Pinchart
2019-12-03 6:39 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 04/26] drm: get drm_bridge_panel connector via helper Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:44 ` Laurent Pinchart
2019-12-03 6:44 ` Laurent Pinchart
2019-12-03 6:44 ` Laurent Pinchart
2019-12-03 6:44 ` Laurent Pinchart
2019-12-03 13:22 ` Linus Walleij
2019-12-03 13:22 ` Linus Walleij
2019-12-03 13:22 ` Linus Walleij
2019-12-03 13:22 ` Linus Walleij
2019-12-03 13:22 ` Linus Walleij
2019-12-02 19:32 ` [PATCH v1 05/26] drm/panel: add drm_connector argument to get_modes() Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:50 ` Laurent Pinchart
2019-12-03 6:50 ` Laurent Pinchart
2019-12-03 6:50 ` Laurent Pinchart
2019-12-03 6:50 ` Laurent Pinchart
2019-12-03 13:25 ` Linus Walleij
2019-12-03 13:25 ` Linus Walleij
2019-12-03 13:25 ` Linus Walleij
2019-12-03 13:25 ` Linus Walleij
2019-12-03 13:25 ` Linus Walleij
2019-12-04 12:08 ` Guido Günther
2019-12-04 12:08 ` Guido Günther
2019-12-04 12:08 ` Guido Günther
2019-12-04 12:08 ` Guido Günther
2019-12-04 13:11 ` Laurent Pinchart
2019-12-04 13:11 ` Laurent Pinchart
2019-12-04 13:11 ` Laurent Pinchart
2019-12-04 13:11 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 06/26] drm/panel: decouple connector from drm_panel Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 6:54 ` Laurent Pinchart
2019-12-03 6:54 ` Laurent Pinchart
2019-12-03 6:54 ` Laurent Pinchart
2019-12-03 13:26 ` Linus Walleij
2019-12-03 13:26 ` Linus Walleij
2019-12-03 13:26 ` Linus Walleij
2019-12-02 19:32 ` [PATCH v1 07/26] drm/panel: remove get_timings Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 7:02 ` Laurent Pinchart
2019-12-03 7:02 ` Laurent Pinchart
2019-12-03 7:02 ` Laurent Pinchart
2019-12-03 7:02 ` Laurent Pinchart
2019-12-03 7:46 ` Maxime Ripard
2019-12-03 7:46 ` Maxime Ripard
2019-12-03 7:46 ` Maxime Ripard
2019-12-03 7:46 ` Maxime Ripard
2019-12-03 8:18 ` Laurent Pinchart
2019-12-03 8:18 ` Laurent Pinchart
2019-12-03 8:18 ` Laurent Pinchart
2019-12-03 8:18 ` Laurent Pinchart
2019-12-03 8:39 ` Sam Ravnborg
2019-12-03 8:39 ` Sam Ravnborg
2019-12-03 8:39 ` Sam Ravnborg
2019-12-03 8:39 ` Sam Ravnborg
2019-12-04 8:05 ` Maxime Ripard
2019-12-04 8:05 ` Maxime Ripard
2019-12-04 8:05 ` Maxime Ripard
2019-12-04 8:05 ` Maxime Ripard
2019-12-03 15:20 ` Linus Walleij
2019-12-03 15:20 ` Linus Walleij
2019-12-03 15:20 ` Linus Walleij
2019-12-03 15:20 ` Linus Walleij
2019-12-03 15:20 ` Linus Walleij
2019-12-04 8:16 ` Maxime Ripard
2019-12-04 8:16 ` Maxime Ripard
2019-12-04 8:16 ` Maxime Ripard
2019-12-04 8:16 ` Maxime Ripard
2019-12-04 8:16 ` Maxime Ripard
2019-12-04 8:23 ` Laurent Pinchart
2019-12-04 8:23 ` Laurent Pinchart
2019-12-04 8:23 ` Laurent Pinchart
2019-12-04 8:23 ` Laurent Pinchart
2019-12-04 8:23 ` Laurent Pinchart
2019-12-10 21:33 ` Linus Walleij
2019-12-10 21:33 ` Linus Walleij
2019-12-10 21:33 ` Linus Walleij
2019-12-10 21:33 ` Linus Walleij
2019-12-10 21:33 ` Linus Walleij
2019-12-02 19:32 ` [PATCH v1 08/26] drm/panel: drop drm_device from drm_panel Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 7:15 ` Laurent Pinchart
2019-12-03 7:15 ` Laurent Pinchart
2019-12-03 7:15 ` Laurent Pinchart
2019-12-03 7:15 ` Laurent Pinchart
2019-12-03 13:27 ` Linus Walleij
2019-12-03 13:27 ` Linus Walleij
2019-12-03 13:27 ` Linus Walleij
2019-12-03 13:27 ` Linus Walleij
2019-12-03 13:27 ` Linus Walleij
2019-12-02 19:32 ` [PATCH v1 09/26] drm/panel: feiyang-fy07024di26a30d: use drm_panel backlight support Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 10/26] drm/panel: ilitek-ili9881c: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 11/26] drm/panel: innolux-p079zca: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 12/26] drm/panel: kingdisplay-kd097d04: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 13/26] drm/panel: lvds: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 14/26] drm/panel: olimex-lcd-olinuxino: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 15/26] drm/panel: osd-osd101t2587-53ts: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 16/26] drm/panel: panasonic-vvx10f034n00: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 17/26] drm/panel: raydium-rm68200: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 18/26] drm/panel: rocktech-jh057n00900: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-04 12:04 ` Guido Günther
2019-12-04 12:04 ` Guido Günther
2019-12-04 12:04 ` Guido Günther
2019-12-04 12:04 ` Guido Günther
2019-12-02 19:32 ` [PATCH v1 19/26] drm/panel: ronbo-rb070d30: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 20/26] drm/panel: seiko-43wvf1g: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 21/26] drm/panel: sharp-lq101r1sx01: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 22/26] drm/panel: sharp-ls043t1le01: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 23/26] drm/panel: sitronix-st7701: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 24/26] drm/panel: sitronix-st7789v: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` [PATCH v1 25/26] drm/panel: tpo-td028ttec1: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-03 7:16 ` Laurent Pinchart
2019-12-02 19:32 ` [PATCH v1 26/26] drm/panel: tpo-tpg110: " Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-02 19:32 ` Sam Ravnborg
2019-12-03 13:20 ` Linus Walleij
2019-12-03 13:20 ` Linus Walleij
2019-12-03 13:20 ` Linus Walleij
2019-12-03 13:20 ` Linus Walleij
2019-12-03 13:20 ` Linus Walleij
2019-12-02 19:59 ` [PATCH v1 0/26] drm/panel infrastructure + backlight update Jeffrey Hugo
2019-12-02 19:59 ` Jeffrey Hugo
2019-12-02 19:59 ` Jeffrey Hugo
2019-12-02 19:59 ` Jeffrey Hugo
2019-12-02 19:59 ` Jeffrey Hugo
2019-12-02 20:48 ` Sam Ravnborg
2019-12-02 20:48 ` Sam Ravnborg
2019-12-02 20:48 ` Sam Ravnborg
2019-12-02 20:48 ` Sam Ravnborg
2019-12-02 20:51 ` Jeffrey Hugo
2019-12-02 20:51 ` Jeffrey Hugo
2019-12-02 20:51 ` Jeffrey Hugo
2019-12-02 20:51 ` Jeffrey Hugo
2019-12-02 20:51 ` Jeffrey Hugo
2019-12-03 7:24 ` Laurent Pinchart
2019-12-03 7:24 ` Laurent Pinchart
2019-12-03 7:24 ` Laurent Pinchart
2019-12-03 7:24 ` Laurent Pinchart
2019-12-03 8:33 ` Sam Ravnborg
2019-12-03 8:33 ` Sam Ravnborg
2019-12-03 8:33 ` Sam Ravnborg
2019-12-03 8:33 ` Sam Ravnborg
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=20191203062459.GA4730@pendragon.ideasonboard.com \
--to=laurent.pinchart@ideasonboard.com \
--cc=a.hajda@samsung.com \
--cc=abhinavk@codeaurora.org \
--cc=airlied@linux.ie \
--cc=benjamin.gaignard@linaro.org \
--cc=boris.brezillon@collabora.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=jagan@amarulasolutions.com \
--cc=jitao.shi@mediatek.com \
--cc=kernel@pengutronix.de \
--cc=kernel@puri.sm \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-imx@nxp.com \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=narmstrong@baylibre.com \
--cc=sam@ravnborg.org \
--cc=sean@poorly.run \
--cc=stefan@agner.ch \
--cc=thierry.reding@gmail.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 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.