[U-Boot] [PATCH V2 2/2] api: export LCD and video to external apps

Che-liang Chiou clchiou at chromium.org
Tue Oct 18 08:12:59 CEST 2011


Hi Anatolij,

Thanks for testing this patch. Please see below.

On Tue, Oct 18, 2011 at 5:13 AM, Anatolij Gustschin <agust at denx.de> wrote:
> Hi,
>
> thanks for the patch and style fixes! I've some comments on it.
> Please see below.
>
> On Fri,  7 Oct 2011 16:28:12 +0800
> Che-Liang Chiou <clchiou at chromium.org> wrote:
>
>> This patch exports LCD and video information and bitmap-rendering
>> functions to external apps.
>>
>> This patch is tested on a Seaboard, which does not have a video output.
>> So I only tested LCD code paths.
>>
>> NOTE: The Seaboard LCD driver is not yet upstreamed; the test was done
>> in a local downstream repo.
>
> Many boards defining CONFIG_LCD also define CONFIG_LCD_LOGO.
> Enabling CONFIG_API for such board configurations will break
> compiling, e.g.:
>
> $ ./MAKEALL TQM823L_LCD
> Configuring for TQM823L_LCD - Board: TQM823L, Options: LCD,NEC_NL6448BC20
> api_display.c: In function 'display_get_info':
> api_display.c:40: error: 'BMP_LOGO_HEIGHT' undeclared (first use in this function)
> api_display.c:40: error: (Each undeclared identifier is reported only once
> api_display.c:40: error: for each function it appears in.)
> make[1]: *** [api_display.o] Error 1
> make: *** [api/libapi.o] Error 2
>
> Any idea how to fix this issue?
>

BMP_LOGO_HEIGHT is defined bmp_logo.h, which is automatically
generated by tools/bmp_logo.c when CONFIG_LCD_LOGO or
CONFIG_VIDEO_LOGO is set. So I guess this is quite easy to fix. We
could include bmp_logo.h in api_display.c.

> Similar problem exists for boards using cfb_console driver, e.g. enabling
> CONFIG_API breaks compiling for tqm5200 board:
>
> $ ./MAKEALL TQM5200
> Configuring for TQM5200 board...
> api_display.c: In function 'display_get_info':
> api_display.c:47: error: 'VIDEO_VISIBLE_COLS' undeclared (first use in this function)
> api_display.c:47: error: (Each undeclared identifier is reported only once
> api_display.c:47: error: for each function it appears in.)
> api_display.c:48: error: 'VIDEO_VISIBLE_ROWS' undeclared (first use in this function)
> make[1]: *** [api_display.o] Error 1
> make: *** [api/libapi.o] Error 2
>
> We need to resolve these issues before committing this patch, i think.
>

VIDEO_VISIBLE_{COLS,ROLS} are just macros defined in cfb_console.c,
this is my mistake. I should use GraphicDevice->{winSizeX,winSizeY}
that are VIDEO_VISIBLE_{COLS,ROLS} defined upon.

> Thanks,
> Anatolij
>
>> Signed-off-by: Che-Liang Chiou <clchiou at chromium.org>
>> ---
>>
>> Changes since V1
>>   Fix style errors
>>
>>  api/Makefile         |    3 +-
>>  api/api.c            |   51 +++++++++++++++++++++++++++++
>>  api/api_display.c    |   86 ++++++++++++++++++++++++++++++++++++++++++++++++++
>>  api/api_private.h    |    4 ++
>>  examples/api/demo.c  |   31 ++++++++++++++++++
>>  examples/api/glue.c  |   31 ++++++++++++++++++
>>  examples/api/glue.h  |    5 +++
>>  include/api_public.h |   16 +++++++++
>>  include/video_font.h |    6 +++
>>  9 files changed, 232 insertions(+), 1 deletions(-)
>>  create mode 100644 api/api_display.c
>

Regards,
Che-Liang


More information about the U-Boot mailing list