Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ff132c0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull power supply fixes from Sebastian Reichel.

* tag 'for-v4.8-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
  power_supply: tps65217-charger: fix missing platform_set_drvdata()
  power: reset: hisi-reboot: Unmap region obtained by of_iomap
  power: reset: reboot-mode: fix build error of missing ioremap/iounmap on UM
  power: supply: max17042_battery: fix model download bug.
parents 3ec60b92 33e7664a
Loading
Loading
Loading
Loading
+9 −6
Original line number Original line Diff line number Diff line
@@ -457,13 +457,16 @@ static inline void max17042_write_model_data(struct max17042_chip *chip,
}
}


static inline void max17042_read_model_data(struct max17042_chip *chip,
static inline void max17042_read_model_data(struct max17042_chip *chip,
					u8 addr, u32 *data, int size)
					u8 addr, u16 *data, int size)
{
{
	struct regmap *map = chip->regmap;
	struct regmap *map = chip->regmap;
	int i;
	int i;
	u32 tmp;


	for (i = 0; i < size; i++)
	for (i = 0; i < size; i++) {
		regmap_read(map, addr + i, &data[i]);
		regmap_read(map, addr + i, &tmp);
		data[i] = (u16)tmp;
	}
}
}


static inline int max17042_model_data_compare(struct max17042_chip *chip,
static inline int max17042_model_data_compare(struct max17042_chip *chip,
@@ -486,7 +489,7 @@ static int max17042_init_model(struct max17042_chip *chip)
{
{
	int ret;
	int ret;
	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
	u32 *temp_data;
	u16 *temp_data;


	temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
	temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
	if (!temp_data)
	if (!temp_data)
@@ -501,7 +504,7 @@ static int max17042_init_model(struct max17042_chip *chip)
	ret = max17042_model_data_compare(
	ret = max17042_model_data_compare(
		chip,
		chip,
		chip->pdata->config_data->cell_char_tbl,
		chip->pdata->config_data->cell_char_tbl,
		(u16 *)temp_data,
		temp_data,
		table_size);
		table_size);


	max10742_lock_model(chip);
	max10742_lock_model(chip);
@@ -514,7 +517,7 @@ static int max17042_verify_model_lock(struct max17042_chip *chip)
{
{
	int i;
	int i;
	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
	int table_size = ARRAY_SIZE(chip->pdata->config_data->cell_char_tbl);
	u32 *temp_data;
	u16 *temp_data;
	int ret = 0;
	int ret = 0;


	temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
	temp_data = kcalloc(table_size, sizeof(*temp_data), GFP_KERNEL);
+1 −1
Original line number Original line Diff line number Diff line
@@ -200,8 +200,8 @@ config REBOOT_MODE
config SYSCON_REBOOT_MODE
config SYSCON_REBOOT_MODE
	tristate "Generic SYSCON regmap reboot mode driver"
	tristate "Generic SYSCON regmap reboot mode driver"
	depends on OF
	depends on OF
	depends on MFD_SYSCON
	select REBOOT_MODE
	select REBOOT_MODE
	select MFD_SYSCON
	help
	help
	  Say y here will enable reboot mode driver. This will
	  Say y here will enable reboot mode driver. This will
	  get reboot mode arguments and store it in SYSCON mapped
	  get reboot mode arguments and store it in SYSCON mapped
+4 −1
Original line number Original line Diff line number Diff line
@@ -53,13 +53,16 @@ static int hisi_reboot_probe(struct platform_device *pdev)


	if (of_property_read_u32(np, "reboot-offset", &reboot_offset) < 0) {
	if (of_property_read_u32(np, "reboot-offset", &reboot_offset) < 0) {
		pr_err("failed to find reboot-offset property\n");
		pr_err("failed to find reboot-offset property\n");
		iounmap(base);
		return -EINVAL;
		return -EINVAL;
	}
	}


	err = register_restart_handler(&hisi_restart_nb);
	err = register_restart_handler(&hisi_restart_nb);
	if (err)
	if (err) {
		dev_err(&pdev->dev, "cannot register restart handler (err=%d)\n",
		dev_err(&pdev->dev, "cannot register restart handler (err=%d)\n",
			err);
			err);
		iounmap(base);
	}


	return err;
	return err;
}
}
+1 −0
Original line number Original line Diff line number Diff line
@@ -206,6 +206,7 @@ static int tps65217_charger_probe(struct platform_device *pdev)
	if (!charger)
	if (!charger)
		return -ENOMEM;
		return -ENOMEM;


	platform_set_drvdata(pdev, charger);
	charger->tps = tps;
	charger->tps = tps;
	charger->dev = &pdev->dev;
	charger->dev = &pdev->dev;