fbdev: omapfb: panel-sony-acx565akm: Simplify show_cabc_available_modes()
Use sysfs_emit_at() instead of snprintf() + custom logic. Using sysfs_emit_at() is much more simple. Also, sysfs_emit() is already used in this function, so using sysfs_emit_at() is more consistent. Also simplify the logic: - always add a space after an entry - change the last space into a '\n' Finally it is easy to see that, given the size of cabc_modes, PAGE_SIZE can not be reached. So better keep everything simple (and correct). Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
committed by
Helge Deller
parent
5ee70bec79
commit
33ae421ad2
@@ -466,19 +466,20 @@ static ssize_t show_cabc_available_modes(struct device *dev,
|
||||
char *buf)
|
||||
{
|
||||
struct panel_drv_data *ddata = dev_get_drvdata(dev);
|
||||
int len;
|
||||
int len = 0;
|
||||
int i;
|
||||
|
||||
if (!ddata->has_cabc)
|
||||
return sysfs_emit(buf, "%s\n", cabc_modes[0]);
|
||||
|
||||
for (i = 0, len = 0;
|
||||
len < PAGE_SIZE && i < ARRAY_SIZE(cabc_modes); i++)
|
||||
len += snprintf(&buf[len], PAGE_SIZE - len, "%s%s%s",
|
||||
i ? " " : "", cabc_modes[i],
|
||||
i == ARRAY_SIZE(cabc_modes) - 1 ? "\n" : "");
|
||||
for (i = 0; i < ARRAY_SIZE(cabc_modes); i++)
|
||||
len += sysfs_emit_at(buf, len, "%s ", cabc_modes[i]);
|
||||
|
||||
return len < PAGE_SIZE ? len : PAGE_SIZE - 1;
|
||||
/* Remove the trailing space */
|
||||
if (len)
|
||||
buf[len - 1] = '\n';
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
static DEVICE_ATTR(cabc_mode, S_IRUGO | S_IWUSR,
|
||||
|
||||
Reference in New Issue
Block a user