Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-14 Thread Thierry Reding
On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
[...]
 diff --git a/drivers/video/display_timing.c b/drivers/video/display_timing.c
[...]
 +void display_timings_release(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);
 +}

I think this is still missing an EXPORT_SYMBOL_GPL. Otherwise it can't
be used from modules.

Thierry


pgpBUyLwaWzk6.pgp
Description: PGP signature


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-14 Thread Steffen Trumtrar
On Wed, Nov 14, 2012 at 11:56:34AM +0100, Thierry Reding wrote:
 On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
 [...]
  diff --git a/drivers/video/display_timing.c b/drivers/video/display_timing.c
 [...]
  +void display_timings_release(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);
  +}
 
 I think this is still missing an EXPORT_SYMBOL_GPL. Otherwise it can't
 be used from modules.
 
 Thierry

Yes. Just in time. I was just starting to type the send-email command ;-)

Regards,
Steffen


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-14 Thread Thierry Reding
On Wed, Nov 14, 2012 at 11:59:25AM +0100, Steffen Trumtrar wrote:
 On Wed, Nov 14, 2012 at 11:56:34AM +0100, Thierry Reding wrote:
  On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
  [...]
   diff --git a/drivers/video/display_timing.c 
   b/drivers/video/display_timing.c
  [...]
   +void display_timings_release(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);
   +}
  
  I think this is still missing an EXPORT_SYMBOL_GPL. Otherwise it can't
  be used from modules.
  
  Thierry
 
 Yes. Just in time. I was just starting to type the send-email command ;-)

Great! In that case don't forget to also look at my other email before
sending. =)

Thierry


pgpwvfZVVkKPO.pgp
Description: PGP signature


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-14 Thread Steffen Trumtrar
On Wed, Nov 14, 2012 at 12:02:15PM +0100, Thierry Reding wrote:
 On Wed, Nov 14, 2012 at 11:59:25AM +0100, Steffen Trumtrar wrote:
  On Wed, Nov 14, 2012 at 11:56:34AM +0100, Thierry Reding wrote:
   On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
   [...]
diff --git a/drivers/video/display_timing.c 
b/drivers/video/display_timing.c
   [...]
+void display_timings_release(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);
+}
   
   I think this is still missing an EXPORT_SYMBOL_GPL. Otherwise it can't
   be used from modules.
   
   Thierry
  
  Yes. Just in time. I was just starting to type the send-email command ;-)
 
 Great! In that case don't forget to also look at my other email before
 sending. =)
 
Sure.


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-14 Thread Thierry Reding
On Wed, Nov 14, 2012 at 12:10:15PM +0100, Steffen Trumtrar wrote:
 On Wed, Nov 14, 2012 at 12:02:15PM +0100, Thierry Reding wrote:
  On Wed, Nov 14, 2012 at 11:59:25AM +0100, Steffen Trumtrar wrote:
   On Wed, Nov 14, 2012 at 11:56:34AM +0100, Thierry Reding wrote:
On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
[...]
 diff --git a/drivers/video/display_timing.c 
 b/drivers/video/display_timing.c
[...]
 +void display_timings_release(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);
 +}

I think this is still missing an EXPORT_SYMBOL_GPL. Otherwise it can't
be used from modules.

Thierry
   
   Yes. Just in time. I was just starting to type the send-email command ;-)
  
  Great! In that case don't forget to also look at my other email before
  sending. =)
  
 Sure.

Besides those comments (and those from other people) I think your
patchset is in pretty good shape. Have you thought about how and when
you want to get things merged?

Thierry


pgp6Ncscso1x3.pgp
Description: PGP signature


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-13 Thread Thierry Reding
On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
[...]
 diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
 index d08d799..2a23b18 100644
 --- a/drivers/video/Kconfig
 +++ b/drivers/video/Kconfig
 @@ -33,6 +33,12 @@ config VIDEO_OUTPUT_CONTROL
 This framework adds support for low-level control of the video 
 output switch.
  
 +config DISPLAY_TIMING

DISPLAY_TIMINGS?

  #video output switch sysfs driver
  obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o
 +obj-$(CONFIG_DISPLAY_TIMING) += display_timing.o

display_timings.o?

 +obj-$(CONFIG_VIDEOMODE) += videomode.o
 diff --git a/drivers/video/display_timing.c b/drivers/video/display_timing.c

display_timings.c?

 +int videomode_from_timing(struct display_timings *disp, struct videomode *vm,
 +   unsigned int index)

I find the indexing API a bit confusing. But that's perhaps just a
matter of personal preference.

Also the ordering of arguments seems a little off. I find it more
natural to have the destination pointer in the first argument, similar
to the memcpy() function, so this would be:

int videomode_from_timing(struct videomode *vm, struct display_timings *disp,
  unsigned int index);

Actually, when reading videomode_from_timing() I'd expect the argument
list to be:

int videomode_from_timing(struct videomode *vm, struct display_timing *timing);

Am I the only one confused by this?

 diff --git a/include/linux/display_timing.h b/include/linux/display_timing.h

display_timings.h?

 +/* placeholder function until ranges are really needed 

The above line has trailing whitespace. Also the block comment should
have the opening /* on a separate line.

 + * the index parameter should then be used to select one of [min typ max]

If index is supposed to select min, typ or max, then maybe an enum would
be a better candidate? Or alternatively provide separate accessors, like
display_timing_get_{minimum,typical,maximum}().

 + */
 +static inline u32 display_timing_get_value(struct timing_entry *te,
 +unsigned int index)
 +{
 + return te-typ;
 +}
 +
 +static inline struct display_timing *display_timings_get(struct 
 display_timings *disp,
 +  unsigned int index)
 +{
 + if (disp-num_timings  index)
 + return disp-timings[index];
 + else
 + return NULL;
 +}
 +
 +void timings_release(struct display_timings *disp);

This function no longer exists.

Thierry


pgpRxdmr3W6ZW.pgp
Description: PGP signature


Re: [PATCH v8 1/6] video: add display_timing and videomode

2012-11-13 Thread Steffen Trumtrar
On Tue, Nov 13, 2012 at 11:41:59AM +0100, Thierry Reding wrote:
 On Mon, Nov 12, 2012 at 04:37:01PM +0100, Steffen Trumtrar wrote:
 [...]
  diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
  index d08d799..2a23b18 100644
  --- a/drivers/video/Kconfig
  +++ b/drivers/video/Kconfig
  @@ -33,6 +33,12 @@ config VIDEO_OUTPUT_CONTROL
This framework adds support for low-level control of the video 
output switch.
   
  +config DISPLAY_TIMING
 
 DISPLAY_TIMINGS?
 
   #video output switch sysfs driver
   obj-$(CONFIG_VIDEO_OUTPUT_CONTROL) += output.o
  +obj-$(CONFIG_DISPLAY_TIMING) += display_timing.o
 
 display_timings.o?
 
  +obj-$(CONFIG_VIDEOMODE) += videomode.o
  diff --git a/drivers/video/display_timing.c b/drivers/video/display_timing.c
 
 display_timings.c?
 

I originally had that and changed it by request to the singular form.
(Can't find the mail atm). And I think this fits better with all the other 
drivers.

  +int videomode_from_timing(struct display_timings *disp, struct videomode 
  *vm,
  + unsigned int index)
 
 I find the indexing API a bit confusing. But that's perhaps just a
 matter of personal preference.
 
 Also the ordering of arguments seems a little off. I find it more
 natural to have the destination pointer in the first argument, similar
 to the memcpy() function, so this would be:
 
 int videomode_from_timing(struct videomode *vm, struct display_timings *disp,
 unsigned int index);
 
 Actually, when reading videomode_from_timing() I'd expect the argument
 list to be:
 
 int videomode_from_timing(struct videomode *vm, struct display_timing 
 *timing);
 
 Am I the only one confused by this?
 

I went with the of_xxx-functions that have fname(from_node, to_property)
and personally prefer it this way. Therefore I'd like to keep it as is.

  diff --git a/include/linux/display_timing.h b/include/linux/display_timing.h
 
 display_timings.h?
 
  +/* placeholder function until ranges are really needed 
 
 The above line has trailing whitespace. Also the block comment should
 have the opening /* on a separate line.
 

Okay.

  + * the index parameter should then be used to select one of [min typ max]
 
 If index is supposed to select min, typ or max, then maybe an enum would
 be a better candidate? Or alternatively provide separate accessors, like
 display_timing_get_{minimum,typical,maximum}().
 

Hm, I'm not so sure about this one. I'd prefer the enum.

  + */
  +static inline u32 display_timing_get_value(struct timing_entry *te,
  +  unsigned int index)
  +{
  +   return te-typ;
  +}
  +
  +static inline struct display_timing *display_timings_get(struct 
  display_timings *disp,
  +unsigned int index)
  +{
  +   if (disp-num_timings  index)
  +   return disp-timings[index];
  +   else
  +   return NULL;
  +}
  +
  +void timings_release(struct display_timings *disp);
 
 This function no longer exists.
 
Right.

Steffen

 ___
 devicetree-discuss mailing list
 devicetree-disc...@lists.ozlabs.org
 https://lists.ozlabs.org/listinfo/devicetree-discuss


-- 
Pengutronix e.K.   | |
Industrial Linux Solutions | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html