On Wed, Feb 13, 2013 at 19:01, Vikas Sajjan wrote:
Made necessary changes in s6e8ax0 panel driver as per the CDF-T. It also removes the dependency on backlight and lcd framework
Signed-off-by: Vikas Sajjanvikas.sajjan@linaro.org
drivers/video/exynos/s6e8ax0.c | 848 +++++++++++++++++++++------------------- 1 file changed, 444 insertions(+), 404 deletions(-)
diff --git a/drivers/video/exynos/s6e8ax0.c b/drivers/video/exynos/s6e8ax0.c index 7f7b25f..5a17e3c 100644 --- a/drivers/video/exynos/s6e8ax0.c +++ b/drivers/video/exynos/s6e8ax0.c @@ -25,6 +25,7 @@ #include <linux/backlight.h> #include <linux/regulator/consumer.h>
+#include <video/display.h> #include <video/mipi_display.h> #include <video/exynos_mipi_dsim.h>
@@ -38,8 +39,7 @@ #define POWER_IS_OFF(pwr) ((pwr) == FB_BLANK_POWERDOWN) #define POWER_IS_NRM(pwr) ((pwr) == FB_BLANK_NORMAL)
-#define lcd_to_master(a) (a->dsim_dev->master) -#define lcd_to_master_ops(a) ((lcd_to_master(a))->master_ops) +#define to_panel(p) container_of(p, struct s6e8ax0, entity)
enum { DSIM_NONE_STATE = 0, @@ -47,20 +47,34 @@ enum { DSIM_FRAME_DONE = 2, };
+/* This structure defines all the properties of a backlight */ +struct backlight_prop {
- /* Current User requested brightness (0 - max_brightness) */
- int brightness;
- /* Maximal value for brightness (read-only) */
- int max_brightness;
+};
+struct panel_platform_data {
- unsigned int reset_delay;
- unsigned int power_on_delay;
- unsigned int power_off_delay;
- const char *video_source_name;
+};
- struct s6e8ax0 {
- struct device *dev;
- unsigned int power;
- unsigned int id;
- unsigned int gamma;
- unsigned int acl_enable;
- unsigned int cur_acl;
- struct lcd_device *ld;
- struct backlight_device *bd;
- struct mipi_dsim_lcd_device *dsim_dev;
- struct lcd_platform_data *ddi_pd;
- struct platform_device *pdev;
- struct video_source *src;
- struct display_entity entity;
- unsigned int power;
- unsigned int id;
- unsigned int gamma;
- unsigned int acl_enable;
- unsigned int cur_acl;
- bool panel_reverse;
- struct lcd_platform_data *plat_data; struct mutex lock;
- struct backlight_prop bl_prop; bool enabled; };
Could this panel driver use only CDF? Does not consider the compatibility with backlight and lcd framework?
-static const unsigned char s6e8ax0_22_gamma_30[] = { +static 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, };
In all case, you had changed data type to 'static unsigned char'. Is it need to change all case? Otherwise, for the unity of the code?
Thank you, Donghwa Lee