just to be inline with the existing code (funcs: mipi_dsi_dcs_get_power_mode, mipi_dsi_dcs_get_pixel_format) in drivers/gpu/drm/drm_mipi_dsi.c followed the same for mipi_dsi_dcs_get_display_brightness We may need to change as you suggested for other two functions also. please suggest. On Tue, Jul 19, 2016 at 3:00 PM, Sean Paul <seanpaul@xxxxxxxxxx> wrote: > On Mon, Jul 18, 2016 at 4:28 AM, Vinay Simha BN <simhavcs@xxxxxxxxx> wrote: >> Provide a small convenience wrapper that set/get the >> display brightness value >> >> Cc: John Stultz <john.stultz@xxxxxxxxxx> >> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> >> Cc: Archit Taneja <archit.taneja@xxxxxxxxx> >> Cc: Rob Clark <robdclark@xxxxxxxxx> >> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> >> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> >> Cc: Emil Velikov <emil.l.velikov@xxxxxxxxx> >> Signed-off-by: Vinay Simha BN <simhavcs@xxxxxxxxx> >> >> --- >> v1: >> *tested in nexus7 2nd gen. >> >> v2: >> * implemented jani review comments >> -functions name mapped accordingly >> -bl value increased from 0xff to 0xffff >> -backlight interface will be handled in panel driver, >> so it is moved from the mipi_dsi helper function >> >> v3: >> * emil review comments >> (err < 0) supposed to be (err <= 0) >> --- >> drivers/gpu/drm/drm_mipi_dsi.c | 49 ++++++++++++++++++++++++++++++++++++++++++ >> include/drm/drm_mipi_dsi.h | 4 ++++ >> 2 files changed, 53 insertions(+) >> >> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c >> index af0d471..43aa743 100644 >> --- a/drivers/gpu/drm/drm_mipi_dsi.c >> +++ b/drivers/gpu/drm/drm_mipi_dsi.c >> @@ -1041,6 +1041,55 @@ int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format) >> } >> EXPORT_SYMBOL(mipi_dsi_dcs_set_pixel_format); >> >> +/** >> + * mipi_dsi_dcs_get_display_brightness() - gets the current brightness value >> + * of the display >> + * @dsi: DSI peripheral device >> + * @brightness: brightness value >> + * >> + * Return: 0 on success or a negative error code on failure. >> + */ >> +int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi, >> + u16 *brightness) >> +{ >> + ssize_t err; >> + >> + err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_DISPLAY_BRIGHTNESS, >> + brightness, sizeof(*brightness)); >> + if (err <= 0) { >> + if (err == 0) >> + err = -ENODATA; >> + >> + return err; >> + } >> + >> + return 0; > > IMO, this is still pretty awkward. I think the following is a bit more > conventional: > > err = mipi_dsi_dcs_... > if (err == 0) > return -ENODATA; > else if (err < 0) > return err; > > return 0; > >> +} >> +EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness); >> + >> +/** >> + * mipi_dsi_dcs_set_display_brightness() - sets the brightness value of >> + * the display >> + * @dsi: DSI peripheral device >> + * @brightness: brightness value >> + * >> + * Return: 0 on success or a negative error code on failure. >> + */ >> +int mipi_dsi_dcs_set_display_brightness(struct mipi_dsi_device *dsi, >> + u16 brightness) >> +{ >> + ssize_t err; >> + u8 bl_value[2] = { brightness & 0xff, brightness >> 8 }; >> + >> + err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_DISPLAY_BRIGHTNESS, >> + bl_value, sizeof(bl_value)); >> + if (err < 0) >> + return err; >> + >> + return 0; >> +} >> +EXPORT_SYMBOL(mipi_dsi_dcs_set_display_brightness); >> + >> static int mipi_dsi_drv_probe(struct device *dev) >> { >> struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver); >> diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h >> index 47ac925..404c373 100644 >> --- a/include/drm/drm_mipi_dsi.h >> +++ b/include/drm/drm_mipi_dsi.h >> @@ -270,6 +270,10 @@ int mipi_dsi_dcs_set_tear_off(struct mipi_dsi_device *dsi); >> int mipi_dsi_dcs_set_tear_on(struct mipi_dsi_device *dsi, >> enum mipi_dsi_dcs_tear_mode mode); >> int mipi_dsi_dcs_set_pixel_format(struct mipi_dsi_device *dsi, u8 format); >> +int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi, >> + u16 *brightness); >> +int mipi_dsi_dcs_set_display_brightness(struct mipi_dsi_device *dsi, >> + u16 brightness); >> >> /** >> * struct mipi_dsi_driver - DSI driver >> -- >> 2.1.2 >> -- Regards, Vinay Simha.B.N. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel