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

Commit 9deb9e16 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MFD updates from Lee Jones:
 "New Device Support
   - Add support for Power Supply to AXP813
   - Add support for GPIO, ADC, AC and Battery Power Supply to AXP803
   - Add support for UART to Exynos LPASS

  Fix-ups:
   - Use supplied MACROS; ti_am335x_tscadc
   - Trivial spelling/whitespace/alignment; tmio, axp20x, rave-sp
   - Regmap changes; bd9571mwv, wm5110-tables
   - Kconfig dependencies; MFD_AT91_USART
   - Supply shared data for child-devices; madera-core
   - Use new of_node_name_eq() API call; max77620, stmpe
   - Use managed resources (devm_*); tps65218
   - Comment descriptions; ingenic-tcu
   - Coding style; madera-core

  Bug Fixes:
   - Fix section mismatches; twl-core, db8500-prcmu
   - Correct error path related issues; mt6397-core, ab8500-core, mc13xxx-core
   - IRQ related fixes; tps6586x
   - Ensure proper initialisation sequence; qcom_rpm
   - Repair potential memory leak; cros_ec_dev"

* tag 'mfd-next-4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (25 commits)
  mfd: exynos-lpass: Enable UART module support
  mfd: mc13xxx: Fix a missing check of a register-read failure
  mfd: cros_ec: Add commands to control codec
  mfd: madera: Remove spurious semicolon in while loop
  mfd: rave-sp: Fix typo in rave_sp_checksum comment
  mfd: ingenic-tcu: Fix bit field description in header
  mfd: tps65218: Use devm_regmap_add_irq_chip and clean up error path in probe()
  mfd: Use of_node_name_eq() for node name comparisons
  mfd: cros_ec_dev: Add missing mfd_remove_devices() call in remove
  mfd: axp20x: Add supported cells for AXP803
  mfd: axp20x: Re-align MFD cell entries
  mfd: axp20x: Add AC power supply cell for AXP813
  mfd: wm5110: Add missing ASRC rate register
  mfd: qcom_rpm: write fw_version to CTRL_REG
  mfd: tps6586x: Handle interrupts on suspend
  mfd: madera: Add shared data for accessory detection
  mfd: at91-usart: Add platform dependency
  mfd: bd9571mwv: Add volatile register to make DVFS work
  mfd: ab8500-core: Return zero in get_register_interruptible()
  mfd: tmio: Typo s/use use/use/
  ...
parents 3a73e73a 3f2d347e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -142,7 +142,10 @@ static void tiadc_step_config(struct iio_dev *indio_dev)
			stepconfig |= STEPCONFIG_MODE_SWCNT;

		tiadc_writel(adc_dev, REG_STEPCONFIG(steps),
				stepconfig | STEPCONFIG_INP(chan));
				stepconfig | STEPCONFIG_INP(chan) |
				STEPCONFIG_INM_ADCREFM |
				STEPCONFIG_RFP_VREFP |
				STEPCONFIG_RFM_VREFN);

		if (adc_dev->open_delay[i] > STEPDELAY_OPEN_MASK) {
			dev_warn(dev, "chan %d open delay truncating to 0x3FFFF\n",
+1 −0
Original line number Diff line number Diff line
@@ -102,6 +102,7 @@ config MFD_AAT2870_CORE
config MFD_AT91_USART
	tristate "AT91 USART Driver"
	select MFD_CORE
	depends on ARCH_AT91 || COMPILE_TEST
	help
	  Select this to get support for AT91 USART IP. This is a wrapper
	  over at91-usart-serial driver and usart-spi-driver. Only one function
+1 −1
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ static int get_register_interruptible(struct ab8500 *ab8500, u8 bank,
	mutex_unlock(&ab8500->lock);
	dev_vdbg(ab8500->dev, "rd: addr %#x => data %#x\n", addr, ret);

	return ret;
	return (ret < 0) ? ret : 0;
}

static int ab8500_get_register(struct device *dev, u8 bank,
+70 −56
Original line number Diff line number Diff line
@@ -701,28 +701,23 @@ static const struct mfd_cell axp288_cells[] = {
		.name		= "axp288_adc",
		.num_resources	= ARRAY_SIZE(axp288_adc_resources),
		.resources	= axp288_adc_resources,
	},
	{
	}, {
		.name		= "axp288_extcon",
		.num_resources	= ARRAY_SIZE(axp288_extcon_resources),
		.resources	= axp288_extcon_resources,
	},
	{
	}, {
		.name		= "axp288_charger",
		.num_resources	= ARRAY_SIZE(axp288_charger_resources),
		.resources	= axp288_charger_resources,
	},
	{
	}, {
		.name		= "axp288_fuel_gauge",
		.num_resources	= ARRAY_SIZE(axp288_fuel_gauge_resources),
		.resources	= axp288_fuel_gauge_resources,
	},
	{
	}, {
		.name		= "axp221-pek",
		.num_resources	= ARRAY_SIZE(axp288_power_button_resources),
		.resources	= axp288_power_button_resources,
	},
	{
	}, {
		.name		= "axp288_pmic_acpi",
	},
};
@@ -732,6 +727,20 @@ static const struct mfd_cell axp803_cells[] = {
		.name		= "axp221-pek",
		.num_resources	= ARRAY_SIZE(axp803_pek_resources),
		.resources	= axp803_pek_resources,
	}, {
		.name		= "axp20x-gpio",
		.of_compatible	= "x-powers,axp813-gpio",
	}, {
		.name		= "axp813-adc",
		.of_compatible	= "x-powers,axp813-adc",
	}, {
		.name		= "axp20x-battery-power-supply",
		.of_compatible	= "x-powers,axp813-battery-power-supply",
	}, {
		.name		= "axp20x-ac-power-supply",
		.of_compatible	= "x-powers,axp813-ac-power-supply",
		.num_resources	= ARRAY_SIZE(axp20x_ac_power_supply_resources),
		.resources	= axp20x_ac_power_supply_resources,
	},
	{	.name		= "axp20x-regulator" },
};
@@ -779,6 +788,11 @@ static const struct mfd_cell axp813_cells[] = {
	}, {
		.name		= "axp20x-battery-power-supply",
		.of_compatible	= "x-powers,axp813-battery-power-supply",
	}, {
		.name		= "axp20x-ac-power-supply",
		.of_compatible	= "x-powers,axp813-ac-power-supply",
		.num_resources	= ARRAY_SIZE(axp20x_ac_power_supply_resources),
		.resources	= axp20x_ac_power_supply_resources,
	},
};

+1 −0
Original line number Diff line number Diff line
@@ -59,6 +59,7 @@ static const struct regmap_access_table bd9571mwv_writable_table = {
};

static const struct regmap_range bd9571mwv_volatile_yes_ranges[] = {
	regmap_reg_range(BD9571MWV_DVFS_MONIVDAC, BD9571MWV_DVFS_MONIVDAC),
	regmap_reg_range(BD9571MWV_GPIO_IN, BD9571MWV_GPIO_IN),
	regmap_reg_range(BD9571MWV_GPIO_INT, BD9571MWV_GPIO_INT),
	regmap_reg_range(BD9571MWV_INT_INTREQ, BD9571MWV_INT_INTREQ),
Loading