diff options
author | Sebastian Reichel <sre@kernel.org> | 2016-08-15 19:17:42 -0400 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2016-08-15 19:17:42 -0400 |
commit | f7c8f1de03eafae8f11818a185cebd82d1043302 (patch) | |
tree | cde8cfe13c41e252c987a0304716283c53e5e577 /drivers/power | |
parent | b732ace40a1d5ea643ee9c28116e829ae950fe8f (diff) | |
parent | 33e7664a0af6e9a516f01014f39737aaa119b6d9 (diff) |
Merge tag 'for-v4.8-rc' into psy-next
Power Supply Fixes for 4.8 cycle
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/reset/Kconfig | 2 | ||||
-rw-r--r-- | drivers/power/reset/hisi-reboot.c | 5 | ||||
-rw-r--r-- | drivers/power/supply/max17042_battery.c | 15 | ||||
-rw-r--r-- | drivers/power/supply/tps65217_charger.c | 1 |
4 files changed, 15 insertions, 8 deletions
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index 3bfac539334b..c74c3f67b8da 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig | |||
@@ -200,8 +200,8 @@ config REBOOT_MODE | |||
200 | config SYSCON_REBOOT_MODE | 200 | config SYSCON_REBOOT_MODE |
201 | tristate "Generic SYSCON regmap reboot mode driver" | 201 | tristate "Generic SYSCON regmap reboot mode driver" |
202 | depends on OF | 202 | depends on OF |
203 | depends on MFD_SYSCON | ||
203 | select REBOOT_MODE | 204 | select REBOOT_MODE |
204 | select MFD_SYSCON | ||
205 | help | 205 | help |
206 | Say y here will enable reboot mode driver. This will | 206 | Say y here will enable reboot mode driver. This will |
207 | get reboot mode arguments and store it in SYSCON mapped | 207 | get reboot mode arguments and store it in SYSCON mapped |
diff --git a/drivers/power/reset/hisi-reboot.c b/drivers/power/reset/hisi-reboot.c index 9ab7f562a83b..f69387e12c1e 100644 --- a/drivers/power/reset/hisi-reboot.c +++ b/drivers/power/reset/hisi-reboot.c | |||
@@ -53,13 +53,16 @@ static int hisi_reboot_probe(struct platform_device *pdev) | |||
53 | 53 | ||
54 | if (of_property_read_u32(np, "reboot-offset", &reboot_offset) < 0) { | 54 | if (of_property_read_u32(np, "reboot-offset", &reboot_offset) < 0) { |
55 | pr_err("failed to find reboot-offset property\n"); | 55 | pr_err("failed to find reboot-offset property\n"); |
56 | iounmap(base); | ||
56 | return -EINVAL; | 57 | return -EINVAL; |
57 | } | 58 | } |
58 | 59 | ||
59 | err = register_restart_handler(&hisi_restart_nb); | 60 | err = register_restart_handler(&hisi_restart_nb); |
60 | if (err) | 61 | if (err) { |
61 | dev_err(&pdev->dev, "cannot register restart handler (err=%d)\n", | 62 | dev_err(&pdev->dev, "cannot register restart handler (err=%d)\n", |
62 | err); | 63 | err); |
64 | iounmap(base); | ||
65 | } | ||
63 | 66 | ||
64 | return err; | 67 | return err; |
65 | } | 68 | } |
diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c index 9c65f134d447..da7a75f82489 100644 --- a/drivers/power/supply/max17042_battery.c +++ b/drivers/power/supply/max17042_battery.c | |||
@@ -457,13 +457,16 @@ static inline void max17042_write_model_data(struct max17042_chip *chip, | |||
457 | } | 457 | } |
458 | 458 | ||
459 | static inline void max17042_read_model_data(struct max17042_chip *chip, | 459 | static inline void max17042_read_model_data(struct max17042_chip *chip, |
460 | u8 addr, u32 *data, int size) | 460 | u8 addr, u16 *data, int size) |
461 | { | 461 | { |
462 | struct regmap *map = chip->regmap; | 462 | struct regmap *map = chip->regmap; |
463 | int i; | 463 | int i; |
464 | u32 tmp; | ||
464 | 465 | ||
465 | for (i = 0; i < size; i++) | 466 | for (i = 0; i < size; i++) { |
466 | regmap_read(map, addr + i, &data[i]); | 467 | regmap_read(map, addr + i, &tmp); |
468 | data[i] = (u16)tmp; | ||
469 | } | ||
467 | } | 470 | } |
468 | 471 | ||
469 | static inline int max17042_model_data_compare(struct max17042_chip *chip, | 472 | static inline int max17042_model_data_compare(struct max17042_chip *chip, |
@@ -486,7 +489,7 @@ static int max17042_init_model(struct max17042_chip *chip) | |||
486 | { | 489 | { |
487 | int ret; | 490 | int ret; |
488 | int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl); | 491 | int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl); |
489 | u32 *temp_data; | 492 | u16 *temp_data; |
490 | 493 | ||
491 | temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL); | 494 | temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL); |
492 | if (!temp_data) | 495 | if (!temp_data) |
@@ -501,7 +504,7 @@ static int max17042_init_model(struct max17042_chip *chip) | |||
501 | ret = max17042_model_data_compare( | 504 | ret = max17042_model_data_compare( |
502 | chip, | 505 | chip, |
503 | chip->pdata->config_data->cell_char_tbl, | 506 | chip->pdata->config_data->cell_char_tbl, |
504 | (u16 *)temp_data, | 507 | temp_data, |
505 | table_size); | 508 | table_size); |
506 | 509 | ||
507 | max10742_lock_model(chip); | 510 | max10742_lock_model(chip); |
@@ -514,7 +517,7 @@ static int max17042_verify_model_lock(struct max17042_chip *chip) | |||
514 | { | 517 | { |
515 | int i; | 518 | int i; |
516 | int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl); | 519 | int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl); |
517 | u32 *temp_data; | 520 | u16 *temp_data; |
518 | int ret = 0; | 521 | int ret = 0; |
519 | 522 | ||
520 | temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL); | 523 | temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL); |
diff --git a/drivers/power/supply/tps65217_charger.c b/drivers/power/supply/tps65217_charger.c index c8c4a0c1dca5..9fd019f9b88c 100644 --- a/drivers/power/supply/tps65217_charger.c +++ b/drivers/power/supply/tps65217_charger.c | |||
@@ -209,6 +209,7 @@ static int tps65217_charger_probe(struct platform_device *pdev) | |||
209 | if (!charger) | 209 | if (!charger) |
210 | return -ENOMEM; | 210 | return -ENOMEM; |
211 | 211 | ||
212 | platform_set_drvdata(pdev, charger); | ||
212 | charger->tps = tps; | 213 | charger->tps = tps; |
213 | charger->dev = &pdev->dev; | 214 | charger->dev = &pdev->dev; |
214 | 215 | ||