Cc'ing Daniel Thompson, the new Maintainer. On Wed, 18 Jan 2017, Sudip Mukherjee wrote: > It is possible to update the backlight power and the brightness using > the sysfs and on writing it either returns the count or if the callback > function does not exist then returns the error code 'ENXIO'. > > We have a situation where the userspace client is writing to the sysfs > to update the power and since the callback function exists the client > receives the return value as count and considers the operation to be > successful. That is correct as the write to the sysfs was successful. > But there is no way to know if the actual operation was done or not. > > backlight_update_status() returns the error code if it fails. Pass that > to the userspace client who is trying to update the power so that the > client knows that the operation failed. > > Signed-off-by: Sudip Mukherjee <sudip.mukherjee@xxxxxxxxxxxxxxx> > --- > drivers/video/backlight/backlight.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c > index 288318a..74b72b5 100644 > --- a/drivers/video/backlight/backlight.c > +++ b/drivers/video/backlight/backlight.c > @@ -146,9 +146,9 @@ static ssize_t bl_power_store(struct device *dev, struct device_attribute *attr, > pr_debug("set power to %lu\n", power); > if (bd->props.power != power) { > bd->props.power = power; > - backlight_update_status(bd); > + rc = backlight_update_status(bd); > } > - rc = count; > + rc = rc ? rc : count; > } > mutex_unlock(&bd->ops_lock); > > @@ -176,8 +176,7 @@ int backlight_device_set_brightness(struct backlight_device *bd, > else { > pr_debug("set brightness to %lu\n", brightness); > bd->props.brightness = brightness; > - backlight_update_status(bd); > - rc = 0; > + rc = backlight_update_status(bd); > } > } > mutex_unlock(&bd->ops_lock); -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html