rkfb_sysfs: modify set_fb_state
authoryxj <yxj@rock-chips.com>
Mon, 4 Jun 2012 06:10:46 +0000 (14:10 +0800)
committeryxj <yxj@rock-chips.com>
Mon, 4 Jun 2012 06:11:15 +0000 (14:11 +0800)
drivers/video/rockchip/rkfb_sysfs.c

index fd3edf96aa4d50d4ef690b89d806b54de48afc20..46bd7720a47b6834cc7eca4ad024eaa371af8bc5 100644 (file)
@@ -95,6 +95,9 @@ static ssize_t set_fb_state(struct device *dev,struct device_attribute *attr,
        const char *buf, size_t count)
 {
        struct fb_info *fbi = dev_get_drvdata(dev);
+       struct rk_lcdc_device_driver * dev_drv = 
+               (struct rk_lcdc_device_driver * )fbi->par;
+       int layer_id = get_fb_layer_id(&fbi->fix);
        int state;
        int ret;
        ret = kstrtoint(buf, 0, &state);
@@ -102,14 +105,7 @@ static ssize_t set_fb_state(struct device *dev,struct device_attribute *attr,
        {
                return ret;
        }
-       if(state)
-       {
-               fbi->fbops->fb_open(fbi,1);
-       }
-       else
-       {
-               fbi->fbops->fb_release(fbi,1);
-       }
+       dev_drv->open(dev_drv,layer_id,state);
        return count;
 }