History

Merge tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight

Pull backlight updates from Lee Jones: "New Device Support - None New Functionality: - None Core Frameworks: - Reject legacy PWM request for device defined in DT Fix-ups: - Remove unnecessary MODULE_ALIAS(); adp8860_bl, adp8870_bl - Simplify code: pm8941-wled - Supply default-brightness logic; pm8941-wled Bug Fixes: - Clean up OF node; 88pm860x_bl - Ensure struct is zeroed; lp855x_bl" * tag 'backlight-for-linus-4.4' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: pm8941-wled: Add default-brightness property backlight: pm8941-wled: Fix ptr_ret.cocci warnings backlight: pwm: Reject legacy PWM request for device defined in DT backlight: 88pm860x_bl: Add missing of_node_put backlight: adp8870: Remove unnecessary MODULE_ALIAS() backlight: adp8860: Remove unnecessary MODULE_ALIAS() backlight: lp855x: Make sure props struct is zeroed

Linus Torvalds committed 11 years ago

Commit 5bc23a02 parents 4dcee4d 9d6c2437 files · +22 −16Browse files

Unified · Split

7 files
  1. Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt +2 −0
  2. drivers/video/backlight/88pm860x_bl.c +1 −0
  3. drivers/video/backlight/adp8860_bl.c +0 −1
  4. drivers/video/backlight/adp8870_bl.c +0 −1
  5. drivers/video/backlight/lp855x_bl.c +1 −0
  6. drivers/video/backlight/pm8941-wled.c +9 −4
  7. drivers/video/backlight/pwm_bl.c +9 −10
Documentation/devicetree/bindings/video/backlight/pm8941-wled.txt+2−0
@@ -5,6 +5,8 @@ Required properties: · 4 unmodified lines
5- reg: slave address5- reg: slave address
6 6
7Optional properties:7Optional properties:
8- default-brightness: brightness value on boot, value from: 0-4095
9 default: 2048
8- label: The name of the backlight device10- label: The name of the backlight device
9- qcom,cs-out: bool; enable current sink output11- qcom,cs-out: bool; enable current sink output
10- qcom,cabc: bool; enable content adaptive backlight control12- qcom,cabc: bool; enable content adaptive backlight control
drivers/video/backlight/88pm860x_bl.c+1−0
@@ -180,6 +180,7 @@ static int pm860x_backlight_dt_init(struct platform_device *pdev, · 179 unmodified lines
180 data->iset = PM8606_WLED_CURRENT(iset);180 data->iset = PM8606_WLED_CURRENT(iset);
181 of_property_read_u32(np, "marvell,88pm860x-pwm",181 of_property_read_u32(np, "marvell,88pm860x-pwm",
182 &data->pwm);182 &data->pwm);
183 of_node_put(np);
183 break;184 break;
184 }185 }
185 }186 }
drivers/video/backlight/adp8860_bl.c+0−1
@@ -819,4 +819,3 @@ module_i2c_driver(adp8860_driver); · 818 unmodified lines
819MODULE_LICENSE("GPL v2");819MODULE_LICENSE("GPL v2");
820MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");820MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");
821MODULE_DESCRIPTION("ADP8860 Backlight driver");821MODULE_DESCRIPTION("ADP8860 Backlight driver");
822MODULE_ALIAS("i2c:adp8860-backlight");
drivers/video/backlight/adp8870_bl.c+0−1
@@ -992,4 +992,3 @@ module_i2c_driver(adp8870_driver); · 991 unmodified lines
992MODULE_LICENSE("GPL v2");992MODULE_LICENSE("GPL v2");
993MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");993MODULE_AUTHOR("Michael Hennerich <hennerich@blackfin.uclinux.org>");
994MODULE_DESCRIPTION("ADP8870 Backlight driver");994MODULE_DESCRIPTION("ADP8870 Backlight driver");
995MODULE_ALIAS("i2c:adp8870-backlight");
drivers/video/backlight/lp855x_bl.c+1−0
@@ -283,6 +283,7 @@ static int lp855x_backlight_register(struct lp855x *lp) · 282 unmodified lines
283 struct lp855x_platform_data *pdata = lp->pdata;283 struct lp855x_platform_data *pdata = lp->pdata;
284 const char *name = pdata->name ? : DEFAULT_BL_NAME;284 const char *name = pdata->name ? : DEFAULT_BL_NAME;
285 285
286 memset(&props, 0, sizeof(props));
286 props.type = BACKLIGHT_PLATFORM;287 props.type = BACKLIGHT_PLATFORM;
287 props.max_brightness = MAX_BRIGHTNESS;288 props.max_brightness = MAX_BRIGHTNESS;
288 289
drivers/video/backlight/pm8941-wled.c+9−4
@@ -17,6 +17,9 @@ · 16 unmodified lines
17#include <linux/of_device.h>17#include <linux/of_device.h>
18#include <linux/regmap.h>18#include <linux/regmap.h>
19 19
20/* From DT binding */
21#define PM8941_WLED_DEFAULT_BRIGHTNESS 2048
22
20#define PM8941_WLED_REG_VAL_BASE 0x4023#define PM8941_WLED_REG_VAL_BASE 0x40
21#define PM8941_WLED_REG_VAL_MAX 0xFFF24#define PM8941_WLED_REG_VAL_MAX 0xFFF
22 25
@@ -373,6 +376,7 @@ static int pm8941_wled_probe(struct platform_device *pdev) · 350 unmodified lines
373 struct backlight_device *bl;376 struct backlight_device *bl;
374 struct pm8941_wled *wled;377 struct pm8941_wled *wled;
375 struct regmap *regmap;378 struct regmap *regmap;
379 u32 val;
376 int rc;380 int rc;
377 381
378 regmap = dev_get_regmap(pdev->dev.parent, NULL);382 regmap = dev_get_regmap(pdev->dev.parent, NULL);
@@ -395,16 +399,17 @@ static int pm8941_wled_probe(struct platform_device *pdev) · 16 unmodified lines
395 if (rc)399 if (rc)
396 return rc;400 return rc;
397 401
402 val = PM8941_WLED_DEFAULT_BRIGHTNESS;
403 of_property_read_u32(pdev->dev.of_node, "default-brightness", &val);
404
398 memset(&props, 0, sizeof(struct backlight_properties));405 memset(&props, 0, sizeof(struct backlight_properties));
399 props.type = BACKLIGHT_RAW;406 props.type = BACKLIGHT_RAW;
407 props.brightness = val;
400 props.max_brightness = PM8941_WLED_REG_VAL_MAX;408 props.max_brightness = PM8941_WLED_REG_VAL_MAX;
401 bl = devm_backlight_device_register(&pdev->dev, wled->name,409 bl = devm_backlight_device_register(&pdev->dev, wled->name,
402 &pdev->dev, wled,410 &pdev->dev, wled,
403 &pm8941_wled_ops, &props);411 &pm8941_wled_ops, &props);
404 if (IS_ERR(bl))412 return PTR_ERR_OR_ZERO(bl);
405 return PTR_ERR(bl);
406
407 return 0;
408};413};
409 414
410static const struct of_device_id pm8941_wled_match_table[] = {415static const struct of_device_id pm8941_wled_match_table[] = {
drivers/video/backlight/pwm_bl.c+9−10
@@ -271,19 +271,18 @@ static int pwm_backlight_probe(struct platform_device *pdev) · 270 unmodified lines
271 }271 }
272 272
273 pb->pwm = devm_pwm_get(&pdev->dev, NULL);273 pb->pwm = devm_pwm_get(&pdev->dev, NULL);
274 if (IS_ERR(pb->pwm)) {274 if (IS_ERR(pb->pwm) && PTR_ERR(pb->pwm) != -EPROBE_DEFER
275 ret = PTR_ERR(pb->pwm);275 && !pdev->dev.of_node) {
276 if (ret == -EPROBE_DEFER)
277 goto err_alloc;
278
279 dev_err(&pdev->dev, "unable to request PWM, trying legacy API\n");276 dev_err(&pdev->dev, "unable to request PWM, trying legacy API\n");
280 pb->legacy = true;277 pb->legacy = true;
281 pb->pwm = pwm_request(data->pwm_id, "pwm-backlight");278 pb->pwm = pwm_request(data->pwm_id, "pwm-backlight");
282 if (IS_ERR(pb->pwm)) {279 }
283 dev_err(&pdev->dev, "unable to request legacy PWM\n");280
284 ret = PTR_ERR(pb->pwm);281 if (IS_ERR(pb->pwm)) {
285 goto err_alloc;282 ret = PTR_ERR(pb->pwm);
286 }283 if (ret != -EPROBE_DEFER)
284 dev_err(&pdev->dev, "unable to request PWM\n");
285 goto err_alloc;
287 }286 }
288 287
289 dev_dbg(&pdev->dev, "got pwm for backlight\n");288 dev_dbg(&pdev->dev, "got pwm for backlight\n");

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t