summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Wagner <mwagner@nvidia.com>2011-07-22 00:13:08 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:08 -0800
commite806e28f31c46b73ca965954c717af405376ae8e (patch)
treec200290c8be995e878209f3b042edb14f0235670
parent8b385bb3ad43910381a48c53c7d5d4e889213dbd (diff)
video: backlight: tegra: add callback to tegra_pwm_backlight
tegra-pwm-backlight now has a notify function that enables the brightness to be passed back to the boardfile where it is modified. Bug 854820 Original-Change-Id: I1425d801f77987485b58c3cbedae464b5db88444 Reviewed-on: http://git-master/r/42639 Reviewed-by: Varun Colbert <vcolbert@nvidia.com> Tested-by: Varun Colbert <vcolbert@nvidia.com> Rebase-Id: R156ca05e91b04723146628b1b1abcef31a43795a
-rw-r--r--drivers/video/backlight/tegra_pwm_bl.c5
-rw-r--r--include/linux/tegra_pwm_bl.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/video/backlight/tegra_pwm_bl.c b/drivers/video/backlight/tegra_pwm_bl.c
index 7e7bfe76ee25..f2202d81ca30 100644
--- a/drivers/video/backlight/tegra_pwm_bl.c
+++ b/drivers/video/backlight/tegra_pwm_bl.c
@@ -25,6 +25,7 @@
struct tegra_pwm_bl_data {
struct device *dev;
int which_dc;
+ int (*notify)(struct device *, int brightness);
struct tegra_dc_pwm_params params;
};
@@ -41,6 +42,9 @@ static int tegra_pwm_backlight_update_status(struct backlight_device *bl)
if (bl->props.fb_blank != FB_BLANK_UNBLANK)
brightness = 0;
+ if (tbl->notify)
+ brightness = tbl->notify(tbl->dev, brightness);
+
if (brightness > max)
dev_err(&bl->dev, "Invalid brightness value: %d max: %d\n",
brightness, max);
@@ -95,6 +99,7 @@ static int tegra_pwm_backlight_probe(struct platform_device *pdev)
tbl->dev = &pdev->dev;
tbl->which_dc = data->which_dc;
+ tbl->notify = data->notify;
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;
diff --git a/include/linux/tegra_pwm_bl.h b/include/linux/tegra_pwm_bl.h
index ee924842bf84..68fecb522cfc 100644
--- a/include/linux/tegra_pwm_bl.h
+++ b/include/linux/tegra_pwm_bl.h
@@ -22,6 +22,7 @@ struct platform_tegra_pwm_backlight_data {
unsigned int period;
unsigned int clk_div;
unsigned int clk_select;
+ int (*notify)(struct device *dev, int brightness);
};
#endif /* TERGA_PWM_BL_H */