video: backlight: support s6e8ax0 panel driver based on MIPI DSI
Subsystems (2)
PATCH v6 2/2 video: backlight: support s6e8ax0 panel driver based on MIPI DSI
This patch is amoled panel driver based MIPI DSI interface. S6E8AX0 means it may includes many other ldi controllers, for example, S6E8AA0, S6E8AB0, and so on.
This patch can be modified depending on each panel properites. For example, second parameter of panel condition register can be changed depending on ldi controller or amoled type.
Changes since v6:
- change data array to const type and fix cmd_write() function parameter.
- remove unused function declaration from s6e8ax0.h
--- drivers/video/backlight/Kconfig | 7 + drivers/video/backlight/Makefile | 1 + drivers/video/backlight/s6e8ax0.c | 898 +++++++++++++++++++++++++++++++++++++ drivers/video/backlight/s6e8ax0.h | 21 + 4 files changed, 927 insertions(+), 0 deletions(-) create mode 100644 drivers/video/backlight/s6e8ax0.c create mode 100644 drivers/video/backlight/s6e8ax0.h
drivers/video/backlight/Kconfig +7 -0
@@ -125,6 +125,13 @@ config LCD_AMS369FG06 If you have an AMS369FG06 AMOLED Panel, say Y to enable its LCD control driver. +config LCD_S6E8AX0 + tristate "S6E8AX0 MIPI AMOLED LCD Driver" + depends on S5P_MIPI_DSI && BACKLIGHT_CLASS_DEVICE + default n + help + If you have an S6E8AX0 MIPI AMOLED LCD Panel, say Y to enable its + LCD control driver. endif # LCD_CLASS_DEVICE #
drivers/video/backlight/Makefile +1 -0
@@ -14,6 +14,7 @@ obj-$(CONFIG_LCD_TOSA) += tosa_lcd.o obj-$(CONFIG_LCD_S6E63M0) += s6e63m0.o obj-$(CONFIG_LCD_LD9040) += ld9040.o obj-$(CONFIG_LCD_AMS369FG06) += ams369fg06.o +obj-$(CONFIG_LCD_S6E8AX0) += s6e8ax0.o obj-$(CONFIG_BACKLIGHT_CLASS_DEVICE) += backlight.o obj-$(CONFIG_BACKLIGHT_ATMEL_PWM) += atmel-pwm-bl.o
drivers/video/backlight/s6e8ax0.c new file +898 -0
898 lines not on this page · raw message
drivers/video/backlight/s6e8ax0.h new file +21 -0
@@ -0,0 +1,21 @@ +/* linux/drivers/video/backlight/s6e8ax0.h +* +* MIPI-DSI based s6e8ax0 AMOLED LCD Panel definitions. +* +* Copyright (c) 2011 Samsung Electronics +* +* Inki Dae, <[email protected]> +* Donghwa Lee <[email protected]> +* +* This program is free software; you can redistribute it and/or modify +* it under the terms of the GNU General Public License version 2 as +* published by the Free Software Foundation. +*/ + +#ifndef _S6E8AX0_H +#define _S6E8AX0_H + +extern void s6e8ax0_init (void ); + +#endif +
Signature · 1 line
1.7.4.1
PATCH v6 2/2 video: backlight: support s6e8ax0 panel driver based on MIPI DSI
Quoted 7 lines · On Wed, 18 Jan 2012 11:04:00 +0900 Donghwa Lee <[email protected]> wrote:
This patch is amoled panel driver based MIPI DSI interface. S6E8AX0 means it may includes many other ldi controllers, for example, S6E8AA0, S6E8AB0, and so on.
This patch can be modified depending on each panel properites. For example, second parameter of panel condition register can be changed depending on ldi controller or amoled type.
I have a patch for your patch!
Before:
akpm:/usr/src/25> size drivers/video/backlight/s6e8ax0.o
text data bss dec hex filename
4736 632 8 5376 1500 drivers/video/backlight/s6e8ax0.o
After:
akpm:/usr/src/25> size drivers/video/backlight/s6e8ax0.o
text data bss dec hex filename
4360 632 8 5000 1388 drivers/video/backlight/s6e8ax0.o
drivers/video/backlight/s6e8ax0.c renamed from drivers/video/backlight/s6e8ax0.c~video-backlight-support-s6e8ax0-panel-driver-based-on-mipi-dsi-fix +48 -48
@@ -105,157 +105,157 @@ out:mutex_unlock (&lcd->lock); } -const unsigned char s6e8ax0_22_gamma_30[] = { +static const unsigned char s6e8ax0_22_gamma_30[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xf5 ,0x00 ,0xff ,0xad ,0xaf ,0xbA ,0xc3 ,0xd8 ,0xc5 ,0x9f ,0xc6 ,0x9e ,0xc1 ,0xdc ,0xc0 ,0x00 ,0x61 ,0x00 ,0x5a ,0x00 ,0x74 , }; -const unsigned char s6e8ax0_22_gamma_50[] = { +static const unsigned char s6e8ax0_22_gamma_50[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xe8 ,0x1f ,0xf7 ,0xad ,0xc0 ,0xb5 ,0xc4 ,0xdc ,0xc4 ,0x9e ,0xc6 ,0x9c ,0xbb ,0xd8 ,0xbb ,0x00 ,0x70 ,0x00 ,0x68 ,0x00 ,0x86 , }; -const unsigned char s6e8ax0_22_gamma_60[] = { +static const unsigned char s6e8ax0_22_gamma_60[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xde ,0x1f ,0xef ,0xad ,0xc4 ,0xb3 ,0xc3 ,0xdd ,0xc4 ,0x9e ,0xc6 ,0x9c ,0xbc ,0xd6 ,0xba ,0x00 ,0x75 ,0x00 ,0x6e ,0x00 ,0x8d , }; -const unsigned char s6e8ax0_22_gamma_70[] = { +static const unsigned char s6e8ax0_22_gamma_70[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xd8 ,0x1f ,0xe7 ,0xaf ,0xc8 ,0xb4 ,0xc4 ,0xdd ,0xc3 ,0x9d ,0xc6 ,0x9c ,0xbb ,0xd6 ,0xb9 ,0x00 ,0x7a ,0x00 ,0x72 ,0x00 ,0x93 , }; -const unsigned char s6e8ax0_22_gamma_80[] = { +static const unsigned char s6e8ax0_22_gamma_80[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xc9 ,0x1f ,0xde ,0xae ,0xc9 ,0xb1 ,0xc3 ,0xdd ,0xc2 ,0x9d ,0xc5 ,0x9b ,0xbc ,0xd6 ,0xbb ,0x00 ,0x7f ,0x00 ,0x77 ,0x00 ,0x99 , }; -const unsigned char s6e8ax0_22_gamma_90[] = { +static const unsigned char s6e8ax0_22_gamma_90[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xc7 ,0x1f ,0xd9 ,0xb0 ,0xcc ,0xb2 ,0xc3 ,0xdc ,0xc1 ,0x9c ,0xc6 ,0x9c ,0xbc ,0xd4 ,0xb9 ,0x00 ,0x83 ,0x00 ,0x7b ,0x00 ,0x9e , }; -const unsigned char s6e8ax0_22_gamma_100[] = { +static const unsigned char s6e8ax0_22_gamma_100[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xbd ,0x80 ,0xcd ,0xba ,0xce ,0xb3 ,0xc4 ,0xde ,0xc3 ,0x9c ,0xc4 ,0x9 ,0xb8 ,0xd3 ,0xb6 ,0x00 ,0x88 ,0x00 ,0x80 ,0x00 ,0xa5 , }; -const unsigned char s6e8ax0_22_gamma_120[] = { +static const unsigned char s6e8ax0_22_gamma_120[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb9 ,0x95 ,0xc8 ,0xb1 ,0xcf ,0xb2 ,0xc6 ,0xdf ,0xc5 ,0x9b ,0xc3 ,0x99 ,0xb6 ,0xd2 ,0xb6 ,0x00 ,0x8f ,0x00 ,0x86 ,0x00 ,0xac , }; -const unsigned char s6e8ax0_22_gamma_130[] = { +static const unsigned char s6e8ax0_22_gamma_130[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb7 ,0xa0 ,0xc7 ,0xb1 ,0xd0 ,0xb2 ,0xc4 ,0xdd ,0xc3 ,0x9a ,0xc3 ,0x98 ,0xb6 ,0xd0 ,0xb4 ,0x00 ,0x92 ,0x00 ,0x8a ,0x00 ,0xb1 , }; -const unsigned char s6e8ax0_22_gamma_140[] = { +static const unsigned char s6e8ax0_22_gamma_140[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb7 ,0xa0 ,0xc5 ,0xb2 ,0xd0 ,0xb3 ,0xc3 ,0xde ,0xc3 ,0x9b ,0xc2 ,0x98 ,0xb6 ,0xd0 ,0xb4 ,0x00 ,0x95 ,0x00 ,0x8d ,0x00 ,0xb5 , }; -const unsigned char s6e8ax0_22_gamma_150[] = { +static const unsigned char s6e8ax0_22_gamma_150[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb3 ,0xa0 ,0xc2 ,0xb2 ,0xd0 ,0xb2 ,0xc1 ,0xdd ,0xc2 ,0x9b ,0xc2 ,0x98 ,0xb4 ,0xcf ,0xb1 ,0x00 ,0x99 ,0x00 ,0x90 ,0x00 ,0xba , }; -const unsigned char s6e8ax0_22_gamma_160[] = { +static const unsigned char s6e8ax0_22_gamma_160[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xaf ,0xa5 ,0xbf ,0xb0 ,0xd0 ,0xb1 ,0xc3 ,0xde ,0xc2 ,0x99 ,0xc1 ,0x97 ,0xb4 ,0xce ,0xb1 ,0x00 ,0x9c ,0x00 ,0x93 ,0x00 ,0xbe , }; -const unsigned char s6e8ax0_22_gamma_170[] = { +static const unsigned char s6e8ax0_22_gamma_170[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xaf ,0xb5 ,0xbf ,0xb1 ,0xd1 ,0xb1 ,0xc3 ,0xde ,0xc3 ,0x99 ,0xc0 ,0x96 ,0xb4 ,0xce ,0xb1 ,0x00 ,0x9f ,0x00 ,0x96 ,0x00 ,0xc2 , }; -const unsigned char s6e8ax0_22_gamma_180[] = { +static const unsigned char s6e8ax0_22_gamma_180[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xaf ,0xb7 ,0xbe ,0xb3 ,0xd2 ,0xb3 ,0xc3 ,0xde ,0xc2 ,0x97 ,0xbf ,0x95 ,0xb4 ,0xcd ,0xb1 ,0x00 ,0xa2 ,0x00 ,0x99 ,0x00 ,0xc5 , }; -const unsigned char s6e8ax0_22_gamma_190[] = { +static const unsigned char s6e8ax0_22_gamma_190[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xaf ,0xb9 ,0xbe ,0xb2 ,0xd2 ,0xb2 ,0xc3 ,0xdd ,0xc3 ,0x98 ,0xbf ,0x95 ,0xb2 ,0xcc ,0xaf ,0x00 ,0xa5 ,0x00 ,0x9c ,0x00 ,0xc9 , }; -const unsigned char s6e8ax0_22_gamma_200[] = { +static const unsigned char s6e8ax0_22_gamma_200[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xaf ,0xb9 ,0xbc ,0xb2 ,0xd2 ,0xb1 ,0xc4 ,0xdd ,0xc3 ,0x97 ,0xbe ,0x95 ,0xb1 ,0xcb ,0xae ,0x00 ,0xa8 ,0x00 ,0x9f ,0x00 ,0xcd , }; -const unsigned char s6e8ax0_22_gamma_210[] = { +static const unsigned char s6e8ax0_22_gamma_210[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb1 ,0xc1 ,0xbd ,0xb1 ,0xd1 ,0xb1 ,0xc2 ,0xde ,0xc2 ,0x97 ,0xbe ,0x94 ,0xB0 ,0xc9 ,0xad ,0x00 ,0xae ,0x00 ,0xa4 ,0x00 ,0xd4 , }; -const unsigned char s6e8ax0_22_gamma_220[] = { +static const unsigned char s6e8ax0_22_gamma_220[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb1 ,0xc7 ,0xbd ,0xb1 ,0xd1 ,0xb1 ,0xc2 ,0xdd ,0xc2 ,0x97 ,0xbd ,0x94 ,0xb0 ,0xc9 ,0xad ,0x00 ,0xad ,0x00 ,0xa2 ,0x00 ,0xd3 , }; -const unsigned char s6e8ax0_22_gamma_230[] = { +static const unsigned char s6e8ax0_22_gamma_230[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb1 ,0xc3 ,0xbd ,0xb2 ,0xd1 ,0xb1 ,0xc3 ,0xdd ,0xc1 ,0x96 ,0xbd ,0x94 ,0xb0 ,0xc9 ,0xad ,0x00 ,0xb0 ,0x00 ,0xa7 ,0x00 ,0xd7 , }; -const unsigned char s6e8ax0_22_gamma_240[] = { +static const unsigned char s6e8ax0_22_gamma_240[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb1 ,0xcb ,0xbd ,0xb1 ,0xd2 ,0xb1 ,0xc3 ,0xdD ,0xc2 ,0x95 ,0xbd ,0x93 ,0xaf ,0xc8 ,0xab ,0x00 ,0xb3 ,0x00 ,0xa9 ,0x00 ,0xdb , }; -const unsigned char s6e8ax0_22_gamma_250[] = { +static const unsigned char s6e8ax0_22_gamma_250[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb3 ,0xcc ,0xbe ,0xb0 ,0xd2 ,0xb0 ,0xc3 ,0xdD ,0xc2 ,0x94 ,0xbc ,0x92 ,0xae ,0xc8 ,0xab ,0x00 ,0xb6 ,0x00 ,0xab ,0x00 ,0xde , }; -const unsigned char s6e8ax0_22_gamma_260[] = { +static const unsigned char s6e8ax0_22_gamma_260[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb3 ,0xd0 ,0xbe ,0xaf ,0xd1 ,0xaf ,0xc2 ,0xdd ,0xc1 ,0x96 ,0xbc ,0x93 ,0xaf ,0xc8 ,0xac ,0x00 ,0xb7 ,0x00 ,0xad ,0x00 ,0xe0 , }; -const unsigned char s6e8ax0_22_gamma_270[] = { +static const unsigned char s6e8ax0_22_gamma_270[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb2 ,0xcF ,0xbd ,0xb0 ,0xd2 ,0xaf ,0xc2 ,0xdc ,0xc1 ,0x95 ,0xbd ,0x93 ,0xae ,0xc6 ,0xaa ,0x00 ,0xba ,0x00 ,0xb0 ,0x00 ,0xe4 , }; -const unsigned char s6e8ax0_22_gamma_280[] = { +static const unsigned char s6e8ax0_22_gamma_280[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb2 ,0xd0 ,0xbd ,0xaf ,0xd0 ,0xad ,0xc4 ,0xdd ,0xc3 ,0x95 ,0xbd ,0x93 ,0xac ,0xc5 ,0xa9 ,0x00 ,0xbd ,0x00 ,0xb2 ,0x00 ,0xe7 , }; -const unsigned char s6e8ax0_22_gamma_300[] = { +static const unsigned char s6e8ax0_22_gamma_300[] = {0xfa ,0x01 ,0x60 ,0x10 ,0x60 ,0xb5 ,0xd3 ,0xbd ,0xb1 ,0xd2 ,0xb0 ,0xc0 ,0xdc ,0xc0 ,0x94 ,0xba ,0x91 ,0xac ,0xc5 ,0xa9 ,0x00 ,0xc2 ,0x00 ,0xb7 ,0x00 ,0xed , }; -const unsigned char *s6e8ax0_22_gamma_table[] = { +static const unsigned char *s6e8ax0_22_gamma_table[] = { s6e8ax0_22_gamma_30, s6e8ax0_22_gamma_50, s6e8ax0_22_gamma_60,
@@ -287,7 +287,7 @@ static void s6e8ax0_panel_cond(struct s6 {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xf8 ,0x3d ,0x35 ,0x00 ,0x00 ,0x00 ,0x93 ,0x00 ,0x3c ,0x7d ,0x08 ,0x27 ,0x7d ,0x3f ,0x00 ,0x00 ,0x00 ,0x20 ,0x04 ,0x08 ,0x6e ,0x00 ,0x00 ,0x00 ,0x02 ,0x08 ,0x08 ,0x23 ,0x23 ,0xc0 ,
@@ -301,7 +301,7 @@ static void s6e8ax0_panel_cond(struct s6static void s6e8ax0_display_cond (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xf2 ,0x80 ,0x03 ,0x0d };
@@ -323,7 +323,7 @@ static void s6e8ax0_gamma_cond(struct s6static void s6e8ax0_gamma_update (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xf7 ,0x03 };
@@ -335,7 +335,7 @@ static void s6e8ax0_gamma_update(structstatic void s6e8ax0_etc_cond1 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xd1 ,0xfe ,0x80 ,0x00 ,0x01 ,0x0b ,0x00 ,0x00 ,0x40 ,0x0d ,0x00 ,0x00 };
@@ -347,7 +347,7 @@ static void s6e8ax0_etc_cond1(struct s6estatic void s6e8ax0_etc_cond2 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xb6 ,0x0c ,0x02 ,0x03 ,0x32 ,0xff ,0x44 ,0x44 ,0xc0 ,0x00 };
@@ -359,7 +359,7 @@ static void s6e8ax0_etc_cond2(struct s6estatic void s6e8ax0_etc_cond3 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xe1 ,0x10 ,0x1c ,0x17 ,0x08 ,0x1d };
@@ -370,7 +370,7 @@ static void s6e8ax0_etc_cond3(struct s6estatic void s6e8ax0_etc_cond4 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xe2 ,0xed ,0x07 ,0xc3 ,0x13 ,0x0d ,0x03 };
@@ -381,7 +381,7 @@ static void s6e8ax0_etc_cond4(struct s6estatic void s6e8ax0_etc_cond5 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xf4 ,0xcf ,0x0a ,0x12 ,0x10 ,0x19 ,0x33 ,0x02 };
@@ -391,7 +391,7 @@ static void s6e8ax0_etc_cond5(struct s6estatic void s6e8ax0_etc_cond6 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xe3 ,0x40 };
@@ -403,7 +403,7 @@ static void s6e8ax0_etc_cond6(struct s6estatic void s6e8ax0_etc_cond7 (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xe4 ,0x00 ,0x00 ,0x14 ,0x80 ,0x00 ,0x00 ,0x00 };
@@ -414,7 +414,7 @@ static void s6e8ax0_etc_cond7(struct s6estatic void s6e8ax0_elvss_set (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xb1 ,0x04 ,0x00 };
@@ -425,7 +425,7 @@ static void s6e8ax0_elvss_set(struct s6estatic void s6e8ax0_elvss_nvm_set (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xd9 ,0x5c ,0x20 ,0x0c ,0x0f ,0x41 ,0x00 ,0x10 ,0x11 ,0x12 ,0xd1 ,0x00 ,0x00 ,0x00 ,0x00 ,0x80 ,0xcb ,0xed ,0x64 ,0xaf
@@ -438,7 +438,7 @@ static void s6e8ax0_elvss_nvm_set(structstatic void s6e8ax0_sleep_in (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0x10 ,0x00 };
@@ -450,7 +450,7 @@ static void s6e8ax0_sleep_in(struct s6e8static void s6e8ax0_sleep_out (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0x11 ,0x00 };
@@ -462,7 +462,7 @@ static void s6e8ax0_sleep_out(struct s6estatic void s6e8ax0_display_on (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0x29 ,0x00 };
@@ -474,7 +474,7 @@ static void s6e8ax0_display_on(struct s6static void s6e8ax0_display_off (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0x28 ,0x00 };
@@ -486,7 +486,7 @@ static void s6e8ax0_display_off(struct sstatic void s6e8ax0_apply_level2_key (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xf0 ,0x5a ,0x5a };
@@ -497,7 +497,7 @@ static void s6e8ax0_apply_level2_key(strstatic void s6e8ax0_acl_on (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xc0 ,0x01 };
@@ -509,7 +509,7 @@ static void s6e8ax0_acl_on(struct s6e8axstatic void s6e8ax0_acl_off (struct s6e8ax0 *lcd) {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd); -const unsigned char data_to_send[] = { +static const unsigned char data_to_send[] = {0xc0 ,0x00 };
@@ -523,21 +523,21 @@ static void s6e8ax0_acl_ctrl_set(struct {struct mipi_dsim_master_ops *ops =lcd_to_master_ops (lcd);/* Full white 50% reducing setting */ -const unsigned char cutoff_50[] = { +static const unsigned char cutoff_50[] = {0xc1 ,0x47 ,0x53 ,0x13 ,0x53 ,0x00 ,0x00 ,0x02 ,0xcf ,0x00 ,0x00 ,0x04 ,0xff ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x08 ,0x0f ,0x16 ,0x1d ,0x24 ,0x2a ,0x31 ,0x38 ,0x3f ,0x46 };/* Full white 45% reducing setting */ -const unsigned char cutoff_45[] = { +static const unsigned char cutoff_45[] = {0xc1 ,0x47 ,0x53 ,0x13 ,0x53 ,0x00 ,0x00 ,0x02 ,0xcf ,0x00 ,0x00 ,0x04 ,0xff ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x07 ,0x0d ,0x13 ,0x19 ,0x1f ,0x25 ,0x2b ,0x31 ,0x37 ,0x3d };/* Full white 40% reducing setting */ -const unsigned char cutoff_40[] = { +static const unsigned char cutoff_40[] = {0xc1 ,0x47 ,0x53 ,0x13 ,0x53 ,0x00 ,0x00 ,0x02 ,0xcf ,0x00 ,0x00 ,0x04 ,0xff ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x01 ,0x06 ,0x0c ,0x11 ,0x16 ,0x1c ,0x21 ,0x26 ,0x2b ,
_