From: Zheng Yang Date: Fri, 22 May 2015 07:18:37 +0000 (+0800) Subject: fb: add sysfs node lcdcid. X-Git-Tag: firefly_0821_release~4134 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=3814ad7ea646e50051e30456323e10096c631751;p=firefly-linux-kernel-4.4.55.git fb: add sysfs node lcdcid. Now we have many fb devices, each vop layer is mapped to a fb device. If there is 2 vop, we can not distinguish the vop between these fb devices. Add sysfs node lcdcid to get the lcdc id mapped by fb device. Signed-off-by: Zheng Yang --- diff --git a/drivers/video/rockchip/rkfb_sysfs.c b/drivers/video/rockchip/rkfb_sysfs.c index e377e4f688e5..cd8af899a5b0 100755 --- a/drivers/video/rockchip/rkfb_sysfs.c +++ b/drivers/video/rockchip/rkfb_sysfs.c @@ -1044,6 +1044,17 @@ static ssize_t set_scale(struct device *dev, struct device_attribute *attr, return count; } +static ssize_t show_lcdc_id(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct fb_info *fbi = dev_get_drvdata(dev); + struct rk_fb_par *fb_par = (struct rk_fb_par *)fbi->par; + struct rk_lcdc_driver *dev_drv = fb_par->lcdc_drv; + + return snprintf(buf, PAGE_SIZE, "%d\n", dev_drv->id); +} + static struct device_attribute rkfb_attrs[] = { __ATTR(phys_addr, S_IRUGO, show_phys, NULL), __ATTR(virt_addr, S_IRUGO, show_virt, NULL), @@ -1061,6 +1072,7 @@ static struct device_attribute rkfb_attrs[] = { __ATTR(cabc, S_IRUGO | S_IWUSR, show_dsp_cabc, set_dsp_cabc), __ATTR(bcsh, S_IRUGO | S_IWUSR, show_dsp_bcsh, set_dsp_bcsh), __ATTR(scale, S_IRUGO | S_IWUSR, show_scale, set_scale), + __ATTR(lcdcid, S_IRUGO, show_lcdc_id, NULL), }; int rkfb_create_sysfs(struct fb_info *fbi)