diff options
Diffstat (limited to 'drivers/video/tegra/dc/dc_sysfs.c')
-rw-r--r-- | drivers/video/tegra/dc/dc_sysfs.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/dc_sysfs.c b/drivers/video/tegra/dc/dc_sysfs.c index bf27e963f233..09a8e2dbb5b1 100644 --- a/drivers/video/tegra/dc/dc_sysfs.c +++ b/drivers/video/tegra/dc/dc_sysfs.c @@ -313,6 +313,14 @@ static ssize_t nvdps_store(struct device *dev, static DEVICE_ATTR(nvdps, S_IRUGO|S_IWUSR, nvdps_show, nvdps_store); +static ssize_t smart_panel_show(struct device *device, + struct device_attribute *attr, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "1\n"); +} + +static DEVICE_ATTR(smart_panel, S_IRUGO, smart_panel_show, NULL); + void __devexit tegra_dc_remove_sysfs(struct device *dev) { struct nvhost_device *ndev = to_nvhost_device(dev); @@ -332,6 +340,9 @@ void __devexit tegra_dc_remove_sysfs(struct device *dev) if (sd_settings) nvsd_remove_sysfs(dev); + + if (dc->out->flags & TEGRA_DC_OUT_ONE_SHOT_MODE) + device_remove_file(dev, &dev_attr_smart_panel); } void tegra_dc_create_sysfs(struct device *dev) @@ -355,6 +366,9 @@ void tegra_dc_create_sysfs(struct device *dev) if (sd_settings) error |= nvsd_create_sysfs(dev); + if (dc->out->flags & TEGRA_DC_OUT_ONE_SHOT_MODE) + error |= device_create_file(dev, &dev_attr_smart_panel); + if (error) dev_err(&ndev->dev, "Failed to create sysfs attributes!\n"); } |