From: yzq Date: Fri, 6 Apr 2012 05:18:42 +0000 (-0700) Subject: rk610 set core start before fb and default close debug X-Git-Tag: firefly_0821_release~9463 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=b6e72a1823cabb14e9161936922167ed3a6d6656;p=firefly-linux-kernel-4.4.55.git rk610 set core start before fb and default close debug --- diff --git a/drivers/mfd/rk610-core.c b/drivers/mfd/rk610-core.c index 94b4c487134d..362901b0ce82 100755 --- a/drivers/mfd/rk610-core.c +++ b/drivers/mfd/rk610-core.c @@ -154,7 +154,7 @@ void rk610_control_init_codec(void) DBG("[%s] RK610_CONTROL_REG_CLOCK_CON1 is %x\n", __FUNCTION__, data); } #endif -#ifdef CONFIG_RK610_DEBUG +#ifdef RK610_DEBUG static int rk610_read_p0_reg(struct i2c_client *client, char reg, char *val) { return i2c_master_reg8_recv(client, reg, val, 1, 100*1000) > 0? 0: -EINVAL; @@ -177,7 +177,7 @@ static ssize_t rk610_show_reg_attrs(struct device *dev, { rk610_read_p0_reg(client, i, &val); if(i%16==0) - size += sprintf(buf+size,"\n>>>rk610_hdmi %x:",i); + size += sprintf(buf+size,"\n>>>rk610_ctl %x:",i); size += sprintf(buf+size," %2x",val); } @@ -244,7 +244,7 @@ static int rk610_control_probe(struct i2c_client *client, } } rk610_lcd_init(client); - #ifdef CONFIG_RK610_DEBUG + #ifdef RK610_DEBUG device_create_file(&(client->dev), &rk610_attrs[0]); #endif return 0; @@ -281,7 +281,7 @@ static void __exit rk610_control_exit(void) i2c_del_driver(&rk610_control_driver); } -fs_initcall(rk610_control_init); +subsys_initcall_sync(rk610_control_init); //module_init(rk610_control_init); module_exit(rk610_control_exit); diff --git a/drivers/video/display/lcd/rk610_lcd.c b/drivers/video/display/lcd/rk610_lcd.c index 2b4e3b74217b..1606d6942539 100644 --- a/drivers/video/display/lcd/rk610_lcd.c +++ b/drivers/video/display/lcd/rk610_lcd.c @@ -165,6 +165,7 @@ static int rk610_scaler_fator_config(struct i2c_client *client ,struct rk29fb_sc return -1; break; } + return 0; } static int rk610_scaler_output_timing_config(struct i2c_client *client,struct rk29fb_screen *screen) { diff --git a/drivers/video/hdmi/chips/rk610/rk610_hdmi.c b/drivers/video/hdmi/chips/rk610/rk610_hdmi.c index 6c33f941d702..0ededa20b08b 100644 --- a/drivers/video/hdmi/chips/rk610/rk610_hdmi.c +++ b/drivers/video/hdmi/chips/rk610/rk610_hdmi.c @@ -132,54 +132,54 @@ static struct hdmi_ops rk610_hdmi_ops = { .remove = rk610_hdmi_remove, .init = rk610_hdmi_init, }; -#ifdef CONFIG_RK610_DEBUG -static int rk610_read_p0_reg(struct i2c_client *client, char reg, char *val) -{ - return i2c_master_reg8_recv(client, reg, val, 1, 100*1000) > 0? 0: -EINVAL; -} - -static int rk610_write_p0_reg(struct i2c_client *client, char reg, char *val) -{ - return i2c_master_reg8_send(client, reg, val, 1, 100*1000) > 0? 0: -EINVAL; -} -static ssize_t rk610_show_reg_attrs(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - - int i,size=0; - char val; +#ifdef RK610_DEBUG +static int rk610_read_p0_reg(struct i2c_client *client, char reg, char *val) +{ + return i2c_master_reg8_recv(client, reg, val, 1, 100*1000) > 0? 0: -EINVAL; +} + +static int rk610_write_p0_reg(struct i2c_client *client, char reg, char *val) +{ + return i2c_master_reg8_send(client, reg, val, 1, 100*1000) > 0? 0: -EINVAL; +} +static ssize_t rk610_show_reg_attrs(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + + int i,size=0; + char val; struct i2c_client *client=rk610_g_hdmi_client; - - for(i=0;i<256;i++) - { - rk610_read_p0_reg(client, i, &val); - if(i%16==0) - size += sprintf(buf+size,"\n>>>rk610_hdmi %x:",i); - size += sprintf(buf+size," %2x",val); - } - - return size; -} -static ssize_t rk610_store_reg_attrs(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t size) -{ - struct i2c_client *client=NULL; - char val,reg,addr; + + for(i=0;i<256;i++) + { + rk610_read_p0_reg(client, i, &val); + if(i%16==0) + size += sprintf(buf+size,"\n>>>rk610_hdmi %x:",i); + size += sprintf(buf+size," %2x",val); + } + + return size; +} +static ssize_t rk610_store_reg_attrs(struct device *dev, + struct device_attribute *attr, + const char *buf, size_t size) +{ + struct i2c_client *client=NULL; + static char val=0,reg=0; client = rk610_g_hdmi_client; - printk("/**********rk610 reg config******/"); - - sscanf(buf, "%x%x%x", &val,®,&addr); - printk("addr=%x ,reg=%x val=%x\n",addr,reg,val); - rk610_write_p0_reg(client, reg, &val); - printk("val=%x\n",val); - return size; -} - -static struct device_attribute rk610_attrs[] = { - __ATTR(reg_ctl, 0777,rk610_show_reg_attrs,rk610_store_reg_attrs), -}; + RK610_DBG(&client->dev,"/**********rk610 reg config******/"); + + sscanf(buf, "%x%x", &val,®); + RK610_DBG(&client->dev,"reg=%x val=%x\n",reg,val); + rk610_write_p0_reg(client, reg, &val); + RK610_DBG(&client->dev,"val=%x\n",val); + return size; +} + +static struct device_attribute rk610_attrs[] = { + __ATTR(reg_ctl, 0777,rk610_show_reg_attrs,rk610_store_reg_attrs), +}; #endif #if 0 static irqreturn_t rk610_hdmi_interrupt(int irq, void *dev_id) @@ -246,7 +246,7 @@ static int rk610_hdmi_i2c_probe(struct i2c_client *client,const struct i2c_devi rk610_hdmi->early_suspend.level = EARLY_SUSPEND_LEVEL_BLANK_SCREEN - 1; register_early_suspend(&rk610_hdmi->early_suspend); #endif -#ifdef CONFIG_RK610_DEBUG +#ifdef RK610_DEBUG device_create_file(&(client->dev), &rk610_attrs[0]); #endif rk610_hdmi_init(rk610_hdmi->hdmi); diff --git a/include/linux/mfd/rk610_core.h b/include/linux/mfd/rk610_core.h index bc1c50361233..22c0674893a6 100644 --- a/include/linux/mfd/rk610_core.h +++ b/include/linux/mfd/rk610_core.h @@ -2,9 +2,9 @@ #define __RK610_CONTROL_H_ #define INVALID_GPIO -1 -#define RK610_DEBUG 1 +//#define RK610_DEBUG -#if RK610_DEBUG +#ifdef RK610_DEBUG #define RK610_DBG(dev, format, arg...) \ do{\ dev_printk(KERN_INFO , dev , format , ## arg);\