From: Thierry Reding <thierry.reding@avionic-design.de>
To: Steffen Trumtrar <s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>,
Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
Guennady Liakhovetski
<g.liakhovetski-Mmb7MZpHnFY@public.gmane.org>,
linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v7 1/8] video: add display_timing struct and helpers
Date: Thu, 01 Nov 2012 20:08:42 +0000 [thread overview]
Message-ID: <20121101200842.GA13137@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <1351675689-26814-2-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 1192 bytes --]
On Wed, Oct 31, 2012 at 10:28:01AM +0100, Steffen Trumtrar wrote:
[...]
> +void timings_release(struct display_timings *disp)
> +{
> + int i;
> +
> + for (i = 0; i < disp->num_timings; i++)
> + kfree(disp->timings[i]);
> +}
> +
> +void display_timings_release(struct display_timings *disp)
> +{
> + timings_release(disp);
> + kfree(disp->timings);
> +}
I'm not quite sure I understand how these are supposed to be used. The
only use-case where a struct display_timings is dynamically allocated is
for the OF helpers. In that case, wouldn't it be more useful to have a
function that frees the complete structure, including the struct
display_timings itself? Something like this, which has all of the above
rolled into one:
void display_timings_free(struct display_timings *disp)
{
if (disp->timings) {
unsigned int i;
for (i = 0; i < disp->num_timings; i++)
kfree(disp->timings[i]);
}
kfree(disp->timings);
kfree(disp);
}
Is there a use-case where a struct display_timings is not dynamically
allocated? The only one I can think of is where it is defined as
platform data, but in that case you don't want to be calling
display_timing_release() on it anyway.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
To: Steffen Trumtrar <s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
Tomi Valkeinen <tomi.valkeinen-l0cyMroinI0@public.gmane.org>,
Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org,
Guennady Liakhovetski
<g.liakhovetski-Mmb7MZpHnFY@public.gmane.org>,
linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v7 1/8] video: add display_timing struct and helpers
Date: Thu, 1 Nov 2012 21:08:42 +0100 [thread overview]
Message-ID: <20121101200842.GA13137@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <1351675689-26814-2-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 1192 bytes --]
On Wed, Oct 31, 2012 at 10:28:01AM +0100, Steffen Trumtrar wrote:
[...]
> +void timings_release(struct display_timings *disp)
> +{
> + int i;
> +
> + for (i = 0; i < disp->num_timings; i++)
> + kfree(disp->timings[i]);
> +}
> +
> +void display_timings_release(struct display_timings *disp)
> +{
> + timings_release(disp);
> + kfree(disp->timings);
> +}
I'm not quite sure I understand how these are supposed to be used. The
only use-case where a struct display_timings is dynamically allocated is
for the OF helpers. In that case, wouldn't it be more useful to have a
function that frees the complete structure, including the struct
display_timings itself? Something like this, which has all of the above
rolled into one:
void display_timings_free(struct display_timings *disp)
{
if (disp->timings) {
unsigned int i;
for (i = 0; i < disp->num_timings; i++)
kfree(disp->timings[i]);
}
kfree(disp->timings);
kfree(disp);
}
Is there a use-case where a struct display_timings is not dynamically
allocated? The only one I can think of is where it is defined as
platform data, but in that case you don't want to be calling
display_timing_release() on it anyway.
Thierry
[-- Attachment #1.2: Type: application/pgp-signature, Size: 836 bytes --]
[-- Attachment #2: Type: text/plain, Size: 192 bytes --]
_______________________________________________
devicetree-discuss mailing list
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
https://lists.ozlabs.org/listinfo/devicetree-discuss
WARNING: multiple messages have this Message-ID (diff)
From: Thierry Reding <thierry.reding@avionic-design.de>
To: Steffen Trumtrar <s.trumtrar@pengutronix.de>
Cc: devicetree-discuss@lists.ozlabs.org,
Rob Herring <robherring2@gmail.com>,
linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Guennady Liakhovetski <g.liakhovetski@gmx.de>,
linux-media@vger.kernel.org,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Stephen Warren <swarren@wwwdotorg.org>,
kernel@pengutronix.de
Subject: Re: [PATCH v7 1/8] video: add display_timing struct and helpers
Date: Thu, 1 Nov 2012 21:08:42 +0100 [thread overview]
Message-ID: <20121101200842.GA13137@avionic-0098.mockup.avionic-design.de> (raw)
In-Reply-To: <1351675689-26814-2-git-send-email-s.trumtrar@pengutronix.de>
[-- Attachment #1: Type: text/plain, Size: 1192 bytes --]
On Wed, Oct 31, 2012 at 10:28:01AM +0100, Steffen Trumtrar wrote:
[...]
> +void timings_release(struct display_timings *disp)
> +{
> + int i;
> +
> + for (i = 0; i < disp->num_timings; i++)
> + kfree(disp->timings[i]);
> +}
> +
> +void display_timings_release(struct display_timings *disp)
> +{
> + timings_release(disp);
> + kfree(disp->timings);
> +}
I'm not quite sure I understand how these are supposed to be used. The
only use-case where a struct display_timings is dynamically allocated is
for the OF helpers. In that case, wouldn't it be more useful to have a
function that frees the complete structure, including the struct
display_timings itself? Something like this, which has all of the above
rolled into one:
void display_timings_free(struct display_timings *disp)
{
if (disp->timings) {
unsigned int i;
for (i = 0; i < disp->num_timings; i++)
kfree(disp->timings[i]);
}
kfree(disp->timings);
kfree(disp);
}
Is there a use-case where a struct display_timings is not dynamically
allocated? The only one I can think of is where it is defined as
platform data, but in that case you don't want to be calling
display_timing_release() on it anyway.
Thierry
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2012-11-01 20:08 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-31 9:28 [PATCH v7 0/8] of: add display helper Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 9:28 ` [PATCH v7 1/8] video: add display_timing struct and helpers Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 17:04 ` Laurent Pinchart
2012-10-31 17:04 ` Laurent Pinchart
2012-10-31 17:09 ` Laurent Pinchart
2012-10-31 17:09 ` Laurent Pinchart
[not found] ` <1351675689-26814-2-git-send-email-s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-01 20:08 ` Thierry Reding [this message]
2012-11-01 20:08 ` Thierry Reding
2012-11-01 20:08 ` Thierry Reding
2012-11-04 16:53 ` Steffen Trumtrar
2012-11-04 16:53 ` Steffen Trumtrar
2012-10-31 9:28 ` [PATCH v7 2/8] of: add helper to parse display timings Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-11-01 17:52 ` Stephen Warren
2012-11-01 17:52 ` Stephen Warren
2012-11-01 20:15 ` Thierry Reding
2012-11-01 20:15 ` Thierry Reding
[not found] ` <20121101201510.GB13137-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-11-04 17:10 ` Steffen Trumtrar
2012-11-04 17:10 ` Steffen Trumtrar
2012-11-04 17:10 ` Steffen Trumtrar
2012-11-02 17:19 ` Leela Krishna Amudala
2012-11-02 17:31 ` Leela Krishna Amudala
2012-11-04 17:23 ` Steffen Trumtrar
2012-11-04 17:23 ` Steffen Trumtrar
2012-10-31 9:28 ` [PATCH v7 3/8] of: add generic videomode description Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-11-01 20:17 ` Thierry Reding
2012-11-01 20:17 ` Thierry Reding
2012-10-31 9:28 ` [PATCH v7 4/8] video: add videomode helpers Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 17:18 ` Laurent Pinchart
2012-10-31 17:18 ` Laurent Pinchart
2012-10-31 9:28 ` [PATCH v7 5/8] fbmon: " Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 15:30 ` Manjunathappa, Prakash
2012-10-31 16:49 ` Steffen Trumtrar
2012-10-31 16:49 ` Steffen Trumtrar
2012-11-08 21:25 ` Steffen Trumtrar
2012-11-08 21:25 ` Steffen Trumtrar
[not found] ` <20121108212545.GA32605-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-11-09 16:54 ` Manjunathappa, Prakash
2012-11-09 16:54 ` Manjunathappa, Prakash
2012-11-09 16:54 ` Manjunathappa, Prakash
2012-11-09 19:31 ` Steffen Trumtrar
2012-11-09 19:31 ` Steffen Trumtrar
2012-11-12 11:46 ` Laurent Pinchart
2012-11-12 11:46 ` Laurent Pinchart
2012-10-31 9:28 ` [PATCH v7 6/8] fbmon: add of_videomode helpers Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 9:28 ` [PATCH v7 7/8] drm_modes: add videomode helpers Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-10-31 9:28 ` [PATCH v7 8/8] drm_modes: add of_videomode helpers Steffen Trumtrar
2012-10-31 9:28 ` Steffen Trumtrar
2012-11-05 9:10 ` Thierry Reding
2012-11-05 9:10 ` Thierry Reding
2012-11-08 21:35 ` [PATCH v7 0/8] of: add display helper Rob Herring
2012-11-08 21:35 ` Rob Herring
2012-11-09 8:22 ` Steffen Trumtrar
2012-11-09 8:22 ` Steffen Trumtrar
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=20121101200842.GA13137@avionic-0098.mockup.avionic-design.de \
--to=thierry.reding@avionic-design.de \
--cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
--cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=g.liakhovetski-Mmb7MZpHnFY@public.gmane.org \
--cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=s.trumtrar-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=tomi.valkeinen-l0cyMroinI0@public.gmane.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 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.