int target_backlight_ctrl(struct backlight *bl, uint8_t enable) { dprintf(SPEW, "target_backlight_ctrl\n"); if (!bl) { dprintf(CRITICAL, "backlight structure is not available\n"); return ERR_INVALID_ARGS; } if (bl->bl_interface_type != BL_WLED) { dprintf(CRITICAL, "backlight type:%d not supported\n", bl->bl_interface_type); return ERR_NOT_SUPPORTED; } if (enable) { pm8x41_wled_config(&wled_ctrl); pm8x41_wled_sink_control(enable); pm8x41_wled_iled_sync_control(enable); pm8x41_wled_led_mod_enable(enable); } pm8x41_wled_enable(enable); return 0; }
static int msm8226_wled_backlight_ctrl(uint8_t enable) { if (enable) { pm8x41_wled_config(&wled_ctrl); pm8x41_wled_sink_control(enable); pm8x41_wled_iled_sync_control(enable); pm8x41_wled_led_mod_enable(enable); } pm8x41_wled_enable(enable); return NO_ERROR; }
static int msm8974_wled_backlight_ctrl(uint8_t enable) { uint32_t platform_id = board_platform_id(); uint32_t hardware_id = board_hardware_id(); uint8_t slave_id = 1; if (enable) { if (platform_id == MSM8974AC) if ((hardware_id == HW_PLATFORM_MTP) || (hardware_id == HW_PLATFORM_LIQUID)) slave_id = 3; pm8x41_wled_config_slave_id(slave_id); pm8x41_wled_config(&wled_ctrl); pm8x41_wled_sink_control(enable); pm8x41_wled_iled_sync_control(enable); pm8x41_wled_led_mod_enable(enable); } pm8x41_wled_enable(enable); return NO_ERROR; }