lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <55B0CB5E.8070808@tronnes.org>
Date:	Thu, 23 Jul 2015 13:09:18 +0200
From:	Noralf Trønnes <noralf@...nnes.org>
To:	Fabio Falzoi <fabio.falzoi84@...il.com>,
	thomas.petazzoni@...e-electrons.com
CC:	gregkh@...uxfoundation.org, devel@...verdev.osuosl.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 03/10] Staging: fbtft: Use a struct to describe each LCD
 controller


Den 30.06.2015 08:43, skrev Fabio Falzoi:
> Use a struct flexfb_lcd_controller to holds chip properties, instead of
> relying on a long 'if - else if' chain.
> This allows to:
> - use a simple linear search to verify if a certain LCD controller
> model is supported or not.
> - add support for a new LCD chip controller simply defining a new
> flexfb_lcd_controller struct.
>
> Signed-off-by: Fabio Falzoi <fabio.falzoi84@...il.com>
> ---
>   drivers/staging/fbtft/fbtft.h  |  20 ++++
>   drivers/staging/fbtft/flexfb.c | 212 ++++++++++++++++++++++-------------------
>   2 files changed, 136 insertions(+), 96 deletions(-)
>
> diff --git a/drivers/staging/fbtft/fbtft.h b/drivers/staging/fbtft/fbtft.h
> index 7d817eb..c96c06b 100644
> --- a/drivers/staging/fbtft/fbtft.h
> +++ b/drivers/staging/fbtft/fbtft.h
> @@ -256,6 +256,26 @@ struct fbtft_par {
>   	void *extra;
>   };
>   
> +/**
> + * struct flexfb_lcd_controller - Describes the LCD controller properties
> + * @name: Model name of the chip
> + * @width: Width of display in pixels
> + * @height: Height of display in pixels
> + * @setaddrwin: Which set_addr_win() implementation to use
> + * @regwidth: LCD Controller Register width in bits
> + * @init_seq: LCD initialization sequence
> + * @init_seq_sz: Size of LCD initialization sequence
> + */
> +struct flexfb_lcd_controller {
> +	const char *name;
> +	unsigned int width;
> +	unsigned int height;
> +	unsigned int setaddrwin;
> +	unsigned int regwidth;
> +	int *init_seq;
> +	int init_seq_sz;
> +};
> +

Please put this in flexfb.c since it won't be used outside that file.

>   #define NUMARGS(...)  (sizeof((int[]){__VA_ARGS__})/sizeof(int))
>   
>   #define write_reg(par, ...)                                              \
> diff --git a/drivers/staging/fbtft/flexfb.c b/drivers/staging/fbtft/flexfb.c
> index ed867e7..25b394d 100644
> --- a/drivers/staging/fbtft/flexfb.c
> +++ b/drivers/staging/fbtft/flexfb.c
> @@ -126,6 +126,89 @@ static int ssd1351_init[] = { -1, 0xfd, 0x12, -1, 0xfd, 0xb1, -1, 0xae, -1, 0xb3
>   			      -1, 0xab, 0x01, -1, 0xb1, 0x32, -1, 0xb4, 0xa0, 0xb5, 0x55, -1, 0xbb, 0x17, -1, 0xbe, 0x05,
>   			      -1, 0xc1, 0xc8, 0x80, 0xc8, -1, 0xc7, 0x0f, -1, 0xb6, 0x01, -1, 0xa6, -1, 0xaf, -3 };
>   
> +static const struct flexfb_lcd_controller flexfb_chip_table[] = {
> +	{
> +		.name = "st7735r",
> +		.width = 120,
> +		.height = 160,
> +		.init_seq = st7735r_init,
> +		.init_seq_sz = ARRAY_SIZE(st7735r_init),
> +	},
> +	{

Can this be put on one line? }, {

With the struct moved:
Acked-by: Noralf Trønnes <noralf@...nnes.org>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ