diff options
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/backlight/max8831_bl.c | 105 |
1 files changed, 2 insertions, 103 deletions
diff --git a/drivers/video/backlight/max8831_bl.c b/drivers/video/backlight/max8831_bl.c index b2fe55441827..f5c280975a3c 100644 --- a/drivers/video/backlight/max8831_bl.c +++ b/drivers/video/backlight/max8831_bl.c @@ -29,7 +29,6 @@ #include <linux/mfd/max8831.h> #include <linux/max8831_backlight.h> #include <linux/regulator/consumer.h> -#include <linux/edp.h> #include <linux/platform_device.h> struct max8831_backlight_data { @@ -40,8 +39,6 @@ struct max8831_backlight_data { int (*notify)(struct device *dev, int brightness); bool (*is_powered)(void); - struct edp_client *max8831_edp_client; - int *edp_brightness_states; }; static int max8831_backlight_set(struct backlight_device *bl, int brightness) @@ -77,47 +74,6 @@ static int max8831_backlight_set(struct backlight_device *bl, int brightness) return 0; } -static int max8831_backlight_set_with_edp(struct backlight_device *bl, - int brightness) -{ - struct max8831_backlight_data *data = bl_get_data(bl); - struct device *dev = data->max8831_dev; - unsigned int approved_state; - int unsigned approved_brightness; - int ret; - unsigned int edp_state; - unsigned int edp_brightness; - unsigned int i; - - if (data->max8831_edp_client) { - for (i = 0; i < MAX8831_EDP_NUM_STATES; i++) { - edp_brightness = data->edp_brightness_states[i]; - if (brightness > edp_brightness) { - /* Choose the next higher EDP state */ - if (i) - i--; - break; - } else if (brightness == edp_brightness) - break; - } - edp_state = i; - ret = edp_update_client_request(data->max8831_edp_client, - edp_state, &approved_state); - if (ret) { - dev_err(dev, "E state transition failed\n"); - return ret; - } - - approved_brightness = - data->edp_brightness_states[approved_state]; - if (brightness > approved_brightness) - brightness = approved_brightness; - } - - max8831_backlight_set(bl, brightness); - return 0; -} - static int max8831_backlight_update_status(struct backlight_device *bl) { struct max8831_backlight_data *data = bl_get_data(bl); @@ -134,15 +90,7 @@ static int max8831_backlight_update_status(struct backlight_device *bl) if (data->notify) brightness = data->notify(data->max8831_dev, brightness); - return max8831_backlight_set_with_edp(bl, brightness); -} - -static void max8831_backlight_edpcb(unsigned int new_state, void *priv_data) -{ - struct backlight_device *bl_device = (struct backlight_device *) priv_data; - struct max8831_backlight_data *data = bl_get_data(bl_device); - max8831_backlight_set(bl_device, - data->edp_brightness_states[new_state]); + return max8831_backlight_set(bl, brightness); } static int max8831_backlight_get_brightness(struct backlight_device *bl) @@ -162,9 +110,6 @@ static int max8831_bl_probe(struct platform_device *pdev) struct backlight_device *bl; struct backlight_properties props; struct platform_max8831_backlight_data *pData = pdev->dev.platform_data; - struct edp_manager *battery_manager = NULL; - int ret; - data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); if (data == NULL) @@ -175,7 +120,6 @@ static int max8831_bl_probe(struct platform_device *pdev) data->id = pdev->id; data->notify = pData->notify; data->is_powered = pData->is_powered; - data->edp_brightness_states = pData->edp_brightness; data->regulator = regulator_get(data->max8831_dev, "vin"); if (IS_ERR(data->regulator)) { @@ -195,50 +139,6 @@ static int max8831_bl_probe(struct platform_device *pdev) return PTR_ERR(bl); } - data->max8831_edp_client = devm_kzalloc(&pdev->dev, - sizeof(struct edp_client), GFP_KERNEL); - if (IS_ERR_OR_NULL(data->max8831_edp_client)) { - dev_err(&pdev->dev, "could not allocate edp client\n"); - return PTR_ERR(data->max8831_edp_client); - } - - strncpy(data->max8831_edp_client->name, "backlight", EDP_NAME_LEN - 1); - data->max8831_edp_client->name[EDP_NAME_LEN - 1] = '\0'; - data->max8831_edp_client->states = pData->edp_states; - data->max8831_edp_client->num_states = MAX8831_EDP_NUM_STATES; - data->max8831_edp_client->e0_index = MAX8831_EDP_ZERO; - data->max8831_edp_client->private_data = bl; - data->max8831_edp_client->priority = EDP_MAX_PRIO + 2; - data->max8831_edp_client->throttle = max8831_backlight_edpcb; - data->max8831_edp_client->notify_promotion = max8831_backlight_edpcb; - - battery_manager = edp_get_manager("battery"); - if (!battery_manager) { - dev_err(&pdev->dev, "unable to get edp manager\n"); - } else { - ret = edp_register_client(battery_manager, - data->max8831_edp_client); - if (ret) { - dev_err(&pdev->dev, "unable to register edp client\n"); - } else { - ret = edp_update_client_request( - data->max8831_edp_client, - MAX8831_EDP_ZERO, NULL); - if (ret) { - dev_err(&pdev->dev, - "unable to set E0 EDP state\n"); - edp_unregister_client(data->max8831_edp_client); - } else { - goto edp_success; - } - } - } - - devm_kfree(&pdev->dev, data->max8831_edp_client); - data->max8831_edp_client = NULL; - -edp_success: - bl->props.brightness = pData->dft_brightness; platform_set_drvdata(pdev, bl); @@ -267,11 +167,10 @@ static int max8831_bl_suspend(struct device *dev) struct max8831_backlight_data *data = bl_get_data(bl); int ret; - ret = max8831_backlight_set_with_edp(bl, 0); + ret = max8831_backlight_set(bl, 0); if (data->regulator) regulator_disable(data->regulator); return ret; - } static int max8831_bl_resume(struct device *dev) |