From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Sebastian Reichel <sre@kernel.org>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 21/48] drm: omapdrm: dss: Support passing private data to debugfs show handlers
Date: Mon, 16 Oct 2017 12:11:24 +0300 [thread overview]
Message-ID: <2617218.S3VA0cynTc@avalon> (raw)
In-Reply-To: <20171015211018.v4j5dyjvgsh724d6@earth>
Hi Sebastian,
On Monday, 16 October 2017 00:10:19 EEST Sebastian Reichel wrote:
> On Fri, Oct 13, 2017 at 05:59:17PM +0300, Laurent Pinchart wrote:
> > To simplify implementation of debugfs seq_file show handlers, the driver
> > passes the pointer to the show function through the debugfs_create_file
> > data pointer. This prevents using the pointer to pass driver private
> > data to the show handler, and requires all handlers to use global
> > variables to access private data.
> >
> > To prepare for the removal of global private data in the driver, rework
> > the debugfs infrastructure to allow passing a private data pointer to
> > show handlers.
> >
> > The price to pay is explicit removal of debugfs files to free the
> > internally allocated memory. This is desirable anyway as debugfs entries
> > should be removed when a component driver is unbound, otherwise crashes
> > will occur due to access to freed memory when the components will be
> > dynamically allocated instead of stored in global variables.
> >
> > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
>
> Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
>
> (One nit-pick in dss.h, see below)
>
> -- Sebastian
>
> > drivers/gpu/drm/omapdrm/dss/dispc.c | 13 ++++--
> > drivers/gpu/drm/omapdrm/dss/dsi.c | 40 +++++++++++-----
> > drivers/gpu/drm/omapdrm/dss/dss.c | 92 +++++++++++++++++++++-----------
> > drivers/gpu/drm/omapdrm/dss/dss.h | 27 +++++++----
> > drivers/gpu/drm/omapdrm/dss/hdmi.h | 2 +
> > drivers/gpu/drm/omapdrm/dss/hdmi4.c | 9 ++--
> > drivers/gpu/drm/omapdrm/dss/hdmi5.c | 9 ++--
> > drivers/gpu/drm/omapdrm/dss/venc.c | 11 +++--
> > 8 files changed, 140 insertions(+), 63 deletions(-)
[snip]
> > diff --git a/drivers/gpu/drm/omapdrm/dss/dss.h
> > b/drivers/gpu/drm/omapdrm/dss/dss.h index db529481b364..e688e937da28
> > 100644
> > --- a/drivers/gpu/drm/omapdrm/dss/dss.h
> > +++ b/drivers/gpu/drm/omapdrm/dss/dss.h
> > @@ -27,6 +27,11 @@
> >
> > #include "omapdss.h"
> >
> > +struct dentry;
>
> You can drop this one. It is not used in dss.h.
Indeed, it's a leftover from a previous version where I was still exposing
struct dentry. I'll remove it in v2.
> > +struct dss_debugfs_entry;
> > +struct platform_device;
> > +struct seq_file;
[snip]
--
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:[~2017-10-16 9:11 UTC|newest]
Thread overview: 114+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 14:58 [PATCH 00/48] omapdrm: Merge omapdrm and omapdss Laurent Pinchart
2017-10-13 14:58 ` [PATCH 01/48] drm: omapdrm: dpi: Don't treat GPIO probe deferral as an error Laurent Pinchart
2017-10-14 12:11 ` Sebastian Reichel
2017-10-13 14:58 ` [PATCH 02/48] drm: omapdrm: Pass drm_device to omap_gem_resume() Laurent Pinchart
2017-10-14 12:15 ` Sebastian Reichel
2017-10-13 14:58 ` [PATCH 03/48] drm: omapdrm: Remove unused omap_dss_find_device() function Laurent Pinchart
2017-10-14 12:16 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 04/48] drm: omapdrm: Merge the omapdss and omapdss-base modules Laurent Pinchart
2017-10-14 12:22 ` Sebastian Reichel
2017-10-16 9:04 ` Laurent Pinchart
2017-10-18 9:19 ` Tomi Valkeinen
2017-10-18 12:28 ` Laurent Pinchart
2017-10-13 14:59 ` [PATCH 05/48] drm: omapdrm: dss: Set the DMA coherent mask Laurent Pinchart
2017-10-14 12:24 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 06/48] drm: omapdrm: dss: Make dss_dump_clocks() function static Laurent Pinchart
2017-10-14 12:24 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 07/48] drm: omapdrm: dpi: Remove dpi_data port_initialized field Laurent Pinchart
2017-10-14 12:28 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 08/48] drm: omapdrm: venc: Return error code on OF parsing failure Laurent Pinchart
2017-10-14 12:29 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 09/48] drm: omapdrm: Deconstruct the omap_drv.h header Laurent Pinchart
2017-10-17 22:25 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 10/48] drm: omapdrm: Use kernel integer types Laurent Pinchart
2017-10-14 12:34 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 11/48] drm: omapdrm: Use unsigned int type Laurent Pinchart
2017-10-14 12:37 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 12/48] drm: omapdrm: Split init and cleanup from probe and remove functions Laurent Pinchart
2017-10-14 12:41 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 13/48] drm: omapdrm: connector-analog-tv: Remove tvc_of_match forward declaration Laurent Pinchart
2017-10-14 12:42 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 14/48] drm: omapdrm: displays: Remove OF node check in connector drivers Laurent Pinchart
2017-10-14 12:43 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 15/48] drm: omapdrm: displays: Remove OF node check in encoder drivers Laurent Pinchart
2017-10-14 12:44 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 16/48] drm: omapdrm: displays: Remove OF node check in panel drivers Laurent Pinchart
2017-10-14 12:45 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 17/48] drm: omapdrm: displays: Get connector source at connect time Laurent Pinchart
2017-10-14 12:51 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 18/48] drm: omapdrm: displays: Get panel " Laurent Pinchart
2017-10-14 12:55 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 19/48] drm: omapdrm: displays: Get encoder " Laurent Pinchart
2017-10-14 12:58 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 20/48] drm: omapdrm: Merge the omapdrm and omapdss drivers Laurent Pinchart
2017-10-14 13:12 ` Sebastian Reichel
2017-10-16 9:09 ` Laurent Pinchart
2017-10-13 14:59 ` [PATCH 21/48] drm: omapdrm: dss: Support passing private data to debugfs show handlers Laurent Pinchart
2017-10-15 21:10 ` Sebastian Reichel
2017-10-16 9:11 ` Laurent Pinchart [this message]
2017-10-13 14:59 ` [PATCH 22/48] drm: omapdrm: dss: Pass DSS private structure to runtime PM functions Laurent Pinchart
2017-10-16 8:39 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 23/48] drm: omapdrm: dss: Pass PLL pointer to dss_ctrl_pll_enable() Laurent Pinchart
2017-10-16 8:42 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 24/48] drm: omapdrm: sdi: Pass DSS pointer to dss_sdi_*() functions Laurent Pinchart
2017-10-16 8:47 ` Sebastian Reichel
2017-10-16 9:03 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 25/48] drm: omapdrm: dss: Pass DSS pointer to dss_ops operations Laurent Pinchart
2017-10-16 9:05 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 26/48] drm: omapdrm: dss: Pass DSS pointer to dss_get_*_clk_source() Laurent Pinchart
2017-10-16 9:08 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 27/48] drm: omapdrm: dss: Pass DSS pointer to dss clock functions Laurent Pinchart
2017-10-16 9:12 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 28/48] drm: omapdrm: dss: Pass DSS pointer to remaining dss functions Laurent Pinchart
2017-10-16 9:15 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 29/48] drm: omapdrm: dss: Remove dss_get_hdmi_venc_clk_source() function Laurent Pinchart
2017-10-16 9:16 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 30/48] drm: omapdrm: dss: Allocate the DSS private data structure dynamically Laurent Pinchart
2017-10-16 9:39 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 31/48] drm: omapdrm: hdmi4: Allocate the omap_hdmi " Laurent Pinchart
2017-10-16 10:19 ` Sebastian Reichel
2017-10-16 10:27 ` Sebastian Reichel
2017-10-16 11:17 ` Laurent Pinchart
2017-10-13 14:59 ` [PATCH 32/48] drm: omapdrm: hdmi5: " Laurent Pinchart
2017-10-17 18:52 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 33/48] drm: omapdrm: venc: Allocate the venc private " Laurent Pinchart
2017-10-17 18:52 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 34/48] drm: omapdrm: sdi: Allocate the sdi " Laurent Pinchart
2017-10-17 19:09 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 35/48] drm: omapdrm: dsi: Make wait_for_bit_change() return a status Laurent Pinchart
2017-10-17 19:12 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 36/48] drm: omapdrm: dsi: Pass the dsi_data pointer to internal functions Laurent Pinchart
2017-10-17 20:02 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 37/48] drm: omapdrm: dsi: Combine two commonly used inline functions Laurent Pinchart
2017-10-17 20:06 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 38/48] drm: omapdrm: dsi: Use dev pointer directly in dsi_bind() function Laurent Pinchart
2017-10-17 20:08 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 39/48] drm: omapdrm: dsi: Store the struct device pointer in struct dsi_data Laurent Pinchart
2017-10-17 20:11 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 40/48] drm: omapdrm: dsi: Don't pass channel to dispc init/uninit functions Laurent Pinchart
2017-10-17 20:13 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 41/48] drm: omapdrm: dss: Pass omap_dss_device pointer to dss_mgr_*() functions Laurent Pinchart
2017-10-17 20:31 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 42/48] drm: omapdrm: dss: Remove unused functions prototypes Laurent Pinchart
2017-10-17 20:37 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 43/48] drm: omapdrm: dss: Pass omap_drm_private pointer to dss_mgr_ops Laurent Pinchart
2017-10-17 21:23 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 44/48] drm: omapdrm: dispc: Pass DISPC pointer to dispc_ops operations Laurent Pinchart
2017-10-17 21:23 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 45/48] drm: omapdrm: dispc: Pass DISPC pointer to remaining dispc API functions Laurent Pinchart
2017-10-17 21:24 ` Sebastian Reichel
2017-10-17 21:44 ` Laurent Pinchart
2017-10-13 14:59 ` [PATCH 46/48] drm: omapdrm: dispc: Allocate the dispc private data structure dynamically Laurent Pinchart
2017-10-17 22:09 ` Sebastian Reichel
2017-10-13 14:59 ` [PATCH 47/48] drm: omapdrm: dss: Store the debugfs root directory in struct dss_device Laurent Pinchart
2017-10-17 22:16 ` Sebastian Reichel
2017-10-17 22:34 ` Laurent Pinchart
2017-10-13 14:59 ` [PATCH 48/48] drm: omapdrm: dss: Store the registered plls array " Laurent Pinchart
2017-10-17 22:21 ` Sebastian Reichel
2017-10-17 22:29 ` [PATCH 00/48] omapdrm: Merge omapdrm and omapdss Sebastian Reichel
2017-10-17 22:36 ` Laurent Pinchart
2017-10-18 9:46 ` Tomi Valkeinen
2017-10-18 9:56 ` Tomi Valkeinen
2018-01-19 3:48 ` Laurent Pinchart
2017-10-18 12:56 ` Tomi Valkeinen
2017-12-01 12:55 ` Tomi Valkeinen
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=2617218.S3VA0cynTc@avalon \
--to=laurent.pinchart@ideasonboard.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=sre@kernel.org \
--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