diff options
author | Sanjay Singh Rawat <srawat@nvidia.com> | 2012-06-26 16:16:56 +0530 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-07-03 15:03:03 -0700 |
commit | 0712b0d16ee2ec690202d8309b0848885901bcfb (patch) | |
tree | 755d9ca73e29f5d508ddf7c8d8bb8e751edce3d1 /drivers/video/backlight | |
parent | 5b1fcd1355485d347b3f15807561500ec06224ca (diff) |
video: backlight: use gpio request and free apis for backlight pin
- Gpio freeing function does disabling job.
- If backlight pin is an sfio, we have to claim the gpio. So that we can use
the gpio api's to configure it as sfio.
bug 984440
bug 858120
Change-Id: I583bf4a486d2d9a6d9b78ee459b1962379eafd3b
Signed-off-by: Sanjay Singh Rawat <srawat@nvidia.com>
Reviewed-on: http://git-master/r/109564
Reviewed-by: Simone Willett <swillett@nvidia.com>
Tested-by: Simone Willett <swillett@nvidia.com>
Diffstat (limited to 'drivers/video/backlight')
-rw-r--r-- | drivers/video/backlight/tegra_pwm_bl.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/video/backlight/tegra_pwm_bl.c b/drivers/video/backlight/tegra_pwm_bl.c index 4be691c54d3a..a9a429e5c837 100644 --- a/drivers/video/backlight/tegra_pwm_bl.c +++ b/drivers/video/backlight/tegra_pwm_bl.c @@ -20,6 +20,7 @@ #include <linux/err.h> #include <linux/slab.h> #include <linux/tegra_pwm_bl.h> +#include <linux/gpio.h> #include <mach/dc.h> struct tegra_pwm_bl_data { @@ -112,11 +113,17 @@ static int tegra_pwm_backlight_probe(struct platform_device *pdev) tbl->check_fb = data->check_fb; tbl->params.which_pwm = data->which_pwm; tbl->params.gpio_conf_to_sfio = data->gpio_conf_to_sfio; - tbl->params.switch_to_sfio = data->switch_to_sfio; tbl->params.period = data->period; tbl->params.clk_div = data->clk_div; tbl->params.clk_select = data->clk_select; + /* If backlight pin is sfio, request for it */ + if (gpio_is_valid(tbl->params.gpio_conf_to_sfio)) { + ret = gpio_request(tbl->params.gpio_conf_to_sfio, "disp_bl"); + if (ret) + dev_err(&pdev->dev, "backlight gpio request failed\n"); + } + memset(&props, 0, sizeof(struct backlight_properties)); props.type = BACKLIGHT_RAW; props.max_brightness = data->max_brightness; @@ -129,6 +136,9 @@ static int tegra_pwm_backlight_probe(struct platform_device *pdev) } bl->props.brightness = data->dft_brightness; + + if (gpio_is_valid(tbl->params.gpio_conf_to_sfio)) + gpio_free(tbl->params.gpio_conf_to_sfio); backlight_update_status(bl); platform_set_drvdata(pdev, bl); |