1.make sure power key can wake up system and light lcd even though pressure time is short.

2.mask some unused log.
This commit is contained in:
root
2011-06-17 04:01:28 +08:00
parent 4683c19c86
commit 25d845b5bf
4 changed files with 38 additions and 15 deletions

View File

@@ -41,6 +41,8 @@ struct wm831x_on {
struct input_dev *dev;
struct delayed_work work;
struct wm831x *wm831x;
int flag_resume;
spinlock_t flag_lock;
struct wake_lock wm831x_on_wake;
};
@@ -63,24 +65,39 @@ void rk28_send_wakeup_key(void)
}
#endif
#if 0
#if 1
static int wm831x_on_suspend_noirq(struct device *dev)
{
DBG("%s\n",__FUNCTION__);
if(!g_wm831x_on)
{
printk("%s:addr err!\n",__FUNCTION__);
return -1;
}
spin_lock(&g_wm831x_on->flag_lock);
g_wm831x_on->flag_resume = 0;
spin_unlock(&g_wm831x_on->flag_lock);
return 0;
}
static int wm831x_on_resume_noirq(struct device *dev)
{
int poll, ret;
//int poll, ret;
if(!g_wm831x_on)
{
printk("%s:addr err!\n",__FUNCTION__);
return;
return -1;
}
spin_lock(&g_wm831x_on->flag_lock);
g_wm831x_on->flag_resume = 1;
spin_unlock(&g_wm831x_on->flag_lock);
#if 0
ret = wm831x_reg_read(g_wm831x_on->wm831x, WM831X_ON_PIN_CONTROL);
if (ret >= 0) {
poll = !(ret & WM831X_ON_PIN_STS);
@@ -89,7 +106,7 @@ static int wm831x_on_resume_noirq(struct device *dev)
input_sync(g_wm831x_on->dev);
DBG("%s:poll=%d,ret=0x%x\n",__FUNCTION__,poll,ret);
}
#endif
DBG("%s\n",__FUNCTION__);
return 0;
}
@@ -173,11 +190,17 @@ static irqreturn_t wm831x_on_irq(int irq, void *data)
int poll, ret;
//wake_lock(&wm831x_on->wm831x_on_wake);
read_again:
ret = wm831x_reg_read(wm831x, WM831X_ON_PIN_CONTROL);
ret = wm831x_reg_read(wm831x, WM831X_ON_PIN_CONTROL);//it may be unpress if start to read register now
if (ret >= 0) {
if(wm831x_on->flag_resume)
{
poll = 1;
spin_lock(&wm831x_on->flag_lock);
wm831x_on->flag_resume = 0;
spin_unlock(&wm831x_on->flag_lock);
}
else
poll = !(ret & WM831X_ON_PIN_STS);
input_report_key(wm831x_on->dev, KEY_POWER, poll);
input_sync(wm831x_on->dev);
@@ -200,8 +223,8 @@ read_again:
static int __devinit wm831x_on_probe(struct platform_device *pdev)
{
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);;
struct wm831x_on *wm831x_on;
struct wm831x *wm831x = dev_get_drvdata(pdev->dev.parent);
struct wm831x_on *wm831x_on = NULL;
int irq = platform_get_irq(pdev, 0);
int ret;
printk("%s irq=%d\n", __FUNCTION__,irq);
@@ -230,7 +253,7 @@ static int __devinit wm831x_on_probe(struct platform_device *pdev)
wm831x_on->dev->dev.parent = &pdev->dev;
g_wm831x_on = wm831x_on;
// wm831x_on_pm_init();
wm831x_on_pm_init();
ret = request_threaded_irq(irq, NULL, wm831x_on_irq,
IRQF_TRIGGER_RISING, "wm831x_on",

View File

@@ -810,7 +810,7 @@ static void ili2102_ts_resume_work_func(struct work_struct *work)
printk("%s:request irq=%d failed,ret=%d\n",__FUNCTION__,ts->client->irq,ret);
PREPARE_DELAYED_WORK(&ts->work, ili2102_ts_work_func);
printk("%s,irq=%d\n",__FUNCTION__,ts->client->irq);
DBG("%s,irq=%d\n",__FUNCTION__,ts->client->irq);
}

View File

@@ -143,7 +143,7 @@ static int wm831x_gp_ldo_set_voltage(struct regulator_dev *rdev,
{
struct wm831x_ldo *ldo = rdev_get_drvdata(rdev);
int reg = ldo->base + WM831X_LDO_ON_CONTROL;
printk("%s base=%x,%d,%d\n", __FUNCTION__,ldo->base,min_uV,max_uV);
//printk("%s base=%x,%d,%d\n", __FUNCTION__,ldo->base,min_uV,max_uV);
return wm831x_gp_ldo_set_voltage_int(rdev, reg, min_uV, max_uV);
}
@@ -166,7 +166,7 @@ static int wm831x_gp_ldo_get_voltage(struct regulator_dev *rdev)
ret = wm831x_reg_read(wm831x, reg);
if (ret < 0)
return ret;
printk("%s base=%x,ret=%x\n", __FUNCTION__,ldo->base,ret);
//printk("%s base=%x,ret=%x\n", __FUNCTION__,ldo->base,ret);
ret &= WM831X_LDO1_ON_VSEL_MASK;
return wm831x_gp_ldo_list_voltage(rdev, ret);

View File

@@ -124,7 +124,7 @@ static int aw9364_backlight_update_status(struct backlight_device *bl)
if (bl->props.state & BL_CORE_SUSPENDED)
brightness = 0;
printk("backlight brightness=%d\n", brightness);
DBG("backlight brightness=%d\n", brightness);
return aw9364_backlight_set(bl, brightness);
}