Skip to contentSkip to conversation

Remove TPS80031 driver

PATCH Applied Dmitry Osipenko 5 participants 12 messages Oct 21, 2021 – Oct 23, 2021

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

cover Remove TPS80031 driver

TPS80031 driver was upstreamed back in 2013 and never got a user. I noticed that driver is abandoned while was about to write a patch to switch it to a new power-off API (that I'm working on). Driver requires platform data that nobody provides. Instead of changing the dead code, let's remove it.

Dmitry Osipenko (3):
rtc: tps80031: Remove driver
regulator: tps80031: Remove driver
mfd: tps80031: Remove driver

 drivers/mfd/Kconfig                    |  14 -
 drivers/mfd/Makefile                   |   1 -
 drivers/mfd/tps80031.c                 | 526 -----------------
 drivers/regulator/Kconfig              |   9 -
 drivers/regulator/Makefile             |   1 -
 drivers/regulator/tps80031-regulator.c | 753 -------------------------
 drivers/rtc/Kconfig                    |   8 -
 drivers/rtc/Makefile                   |   1 -
 drivers/rtc/rtc-tps80031.c             | 324 -----------
 include/linux/mfd/tps80031.h           | 637 ---------------------
 10 files changed, 2274 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 drivers/regulator/tps80031-regulator.c
 delete mode 100644 drivers/rtc/rtc-tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h
Signature · 1 line
2.32.0
#1 lore raw

PATCH 1/3 rtc: tps80031: Remove driver

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/rtc/Kconfig        |   8 -
 drivers/rtc/Makefile       |   1 -
 drivers/rtc/rtc-tps80031.c | 324 -------------------------------------
 3 files changed, 333 deletions(-)
 delete mode 100644 drivers/rtc/rtc-tps80031.c
drivers/rtc/Kconfig +0 -8
index 456450722555..058e56a10ab8 100644
@@ -583,14 +583,6 @@ config RTC_DRV_TPS65910
 	  This driver can also be built as a module. If so, the module
 	  will be called rtc-tps65910.
 
-config RTC_DRV_TPS80031
-	tristate "TI TPS80031/TPS80032 RTC driver"
-	depends on MFD_TPS80031
-	help
-	  TI Power Management IC TPS80031 supports RTC functionality
-	  along with alarm. This driver supports the RTC driver for
-	  the TPS80031 RTC module.
-
 config RTC_DRV_RC5T583
 	tristate "RICOH 5T583 RTC driver"
 	depends on MFD_RC5T583
drivers/rtc/Makefile +0 -1
index e76308053b0f..678a8ef4abae 100644
@@ -170,7 +170,6 @@ obj-$(CONFIG_RTC_DRV_TEGRA)	+= rtc-tegra.o
 obj-$(CONFIG_RTC_DRV_TEST)	+= rtc-test.o
 obj-$(CONFIG_RTC_DRV_TPS6586X)	+= rtc-tps6586x.o
 obj-$(CONFIG_RTC_DRV_TPS65910)	+= rtc-tps65910.o
-obj-$(CONFIG_RTC_DRV_TPS80031)	+= rtc-tps80031.o
 obj-$(CONFIG_RTC_DRV_TWL4030)	+= rtc-twl.o
 obj-$(CONFIG_RTC_DRV_V3020)	+= rtc-v3020.o
 obj-$(CONFIG_RTC_DRV_VR41XX)	+= rtc-vr41xx.o
drivers/rtc/rtc-tps80031.c deleted +0 -324

324 lines not on this page · raw message

Signature · 1 line
2.32.0
maintainer Applied
#2 lore raw

Re: (subset) [PATCH v1 1/3] rtc: tps80031: Remove driver

Quoted 3 lines · Dmitry Osipenko

Driver was upstreamed in 2013 and never got a user, remove it.

Applied, thanks!

[1/3] rtc: tps80031: Remove driver

      commit: 005870f46cf6f98417ec48d129721e945dfb3a43

Best regards,

Signature · 1 line
Alexandre Belloni <[email protected]>
#3 lore raw

PATCH 2/3 regulator: tps80031: Remove driver

In reply to Dmitry Osipenko

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/regulator/Kconfig              |   9 -
 drivers/regulator/Makefile             |   1 -
 drivers/regulator/tps80031-regulator.c | 753 -------------------------
 3 files changed, 763 deletions(-)
 delete mode 100644 drivers/regulator/tps80031-regulator.c
drivers/regulator/Kconfig +0 -9
index 27578e9504d2..6be9b1c8a615 100644
@@ -1339,15 +1339,6 @@ config REGULATOR_TPS65912
 	help
 	    This driver supports TPS65912 voltage regulator chip.
 
-config REGULATOR_TPS80031
-	tristate "TI TPS80031/TPS80032 power regulator driver"
-	depends on MFD_TPS80031
-	help
-	  TPS80031/ TPS80032 Fully Integrated Power Management with Power
-	  Path and Battery Charger. It has 5 configurable step-down
-	  converters, 11 general purpose LDOs, VBUS generator and digital
-	  output to control regulators.
-
 config REGULATOR_TWL4030
 	tristate "TI TWL4030/TWL5030/TWL6030/TPS659x0 PMIC"
 	depends on TWL4030_CORE
drivers/regulator/Makefile +0 -1
index 9e382b50a5ef..b07d2a22df0b 100644
@@ -158,7 +158,6 @@ obj-$(CONFIG_REGULATOR_TPS6524X) += tps6524x-regulator.o
 obj-$(CONFIG_REGULATOR_TPS6586X) += tps6586x-regulator.o
 obj-$(CONFIG_REGULATOR_TPS65910) += tps65910-regulator.o
 obj-$(CONFIG_REGULATOR_TPS65912) += tps65912-regulator.o
-obj-$(CONFIG_REGULATOR_TPS80031) += tps80031-regulator.o
 obj-$(CONFIG_REGULATOR_TPS65132) += tps65132-regulator.o
 obj-$(CONFIG_REGULATOR_TWL4030) += twl-regulator.o twl6030-regulator.o
 obj-$(CONFIG_REGULATOR_UNIPHIER) += uniphier-regulator.o
drivers/regulator/tps80031-regulator.c deleted +0 -753

753 lines not on this page · raw message

Signature · 1 line
2.32.0
#4 lore raw

PATCH 3/3 mfd: tps80031: Remove driver

In reply to Dmitry Osipenko

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/mfd/Kconfig          |  14 -
 drivers/mfd/Makefile         |   1 -
 drivers/mfd/tps80031.c       | 526 -----------------------------
 include/linux/mfd/tps80031.h | 637 -----------------------------------
 4 files changed, 1178 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h
drivers/mfd/Kconfig +0 -14
index f99334fa0ae6..bc75156dd96f 100644
@@ -1624,20 +1624,6 @@ config MFD_TPS65912_SPI
 	  If you say yes here you get support for the TPS65912 series of
 	  PM chips with SPI interface.
 
-config MFD_TPS80031
-	bool "TI TPS80031/TPS80032 Power Management chips"
-	depends on I2C=y
-	select MFD_CORE
-	select REGMAP_I2C
-	select REGMAP_IRQ
-	help
-	  If you say yes here you get support for the Texas Instruments
-	  TPS80031/ TPS80032 Fully Integrated Power Management with Power
-	  Path and Battery Charger. The device provides five configurable
-	  step-down converters, 11 general purpose LDOs, USB OTG Module,
-	  ADC, RTC, 2 PWM, System Voltage Regulator/Battery Charger with
-	  Power Path from USB, 32K clock generator.
-
 config TWL4030_CORE
 	bool "TI TWL4030/TWL5030/TWL6030/TPS659x0 Support"
 	depends on I2C=y
drivers/mfd/Makefile +0 -1
index 2ba6646e874c..0b1b629aef3e 100644
@@ -105,7 +105,6 @@ obj-$(CONFIG_MFD_TPS65910)	+= tps65910.o
 obj-$(CONFIG_MFD_TPS65912)	+= tps65912-core.o
 obj-$(CONFIG_MFD_TPS65912_I2C)	+= tps65912-i2c.o
 obj-$(CONFIG_MFD_TPS65912_SPI)  += tps65912-spi.o
-obj-$(CONFIG_MFD_TPS80031)	+= tps80031.o
 obj-$(CONFIG_MENELAUS)		+= menelaus.o
 
 obj-$(CONFIG_TWL4030_CORE)	+= twl-core.o twl4030-irq.o twl6030-irq.o
drivers/mfd/tps80031.c deleted +0 -526

526 lines not on this page · raw message

include/linux/mfd/tps80031.h deleted +0 -637

637 lines not on this page · raw message

Signature · 1 line
2.32.0
#5 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

Quoted 12 lines · Dmitry Osipenko

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/mfd/Kconfig          |  14 -
 drivers/mfd/Makefile         |   1 -
 drivers/mfd/tps80031.c       | 526 -----------------------------
 include/linux/mfd/tps80031.h | 637 -----------------------------------
 4 files changed, 1178 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h

drivers/mfd/tps80031.c line 511

Quoted 5 lines
drivers/mfd/tps80031.c deleted +0 -5
-static const struct i2c_device_id tps80031_id_table[] = {
-	{ "tps80031", TPS80031 },
-	{ "tps80032", TPS80032 },
-	{ }
-};

This is an I2C driver, right?

I was under the impression that Linux could do auto-probing on I2C devices? Such that they do not require platform code or DT in order to bind?

Signature · 4 lines
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
#6 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

22.10.2021 11:05, Lee Jones пишет:

Quoted 22 lines · Dmitry Osipenko
Quoted 13 lines

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/mfd/Kconfig          |  14 -
 drivers/mfd/Makefile         |   1 -
 drivers/mfd/tps80031.c       | 526 -----------------------------
 include/linux/mfd/tps80031.h | 637 -----------------------------------
 4 files changed, 1178 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h

drivers/mfd/tps80031.c line 511

Quoted 5 lines
drivers/mfd/tps80031.c deleted +0 -5
-static const struct i2c_device_id tps80031_id_table[] = {
-	{ "tps80031", TPS80031 },
-	{ "tps80032", TPS80032 },
-	{ }
-};

This is an I2C driver, right?

Quoted 4 lines

I was under the impression that Linux could do auto-probing on I2C devices? Such that they do not require platform code or DT in order to bind?

It's I2C driver. I'm not sure about auto-probing because something should provide information about device to Linux. It's possible to detect/scan whether there is device sitting on I2C address, but there is no auto-discovery mechanism, AFAIK.

TPS80031 device will fail to bind to this driver because it explicitly requires platform data which should be NULL if device is probed solely by I2C ID.

#7 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

Quoted 5 lines

It's I2C driver. I'm not sure about auto-probing because something should provide information about device to Linux. It's possible to detect/scan whether there is device sitting on I2C address, but there is no auto-discovery mechanism, AFAIK.

Well, in general, it could be manually instantiated from userspace...

Quoted 4 lines

TPS80031 device will fail to bind to this driver because it explicitly requires platform data which should be NULL if device is probed solely by I2C ID.

..but I agree in this case. The driver has this code:

        if (!pdata) {
                dev_err(&client->dev, "tps80031 requires platform data\n");
                return -EINVAL;
        }

and git grep shows no user having platform data.

Shouldn't 'drivers/regulator/tps80031-regulator.c' and './rtc/rtc-tps80031.c' be removed as well?

#8 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

22.10.2021 11:46, Wolfram Sang пишет:

Quoted 20 lines
Quoted 5 lines

It's I2C driver. I'm not sure about auto-probing because something should provide information about device to Linux. It's possible to detect/scan whether there is device sitting on I2C address, but there is no auto-discovery mechanism, AFAIK.

Well, in general, it could be manually instantiated from userspace...

Quoted 4 lines

TPS80031 device will fail to bind to this driver because it explicitly requires platform data which should be NULL if device is probed solely by I2C ID.

..but I agree in this case. The driver has this code:

        if (!pdata) {
                dev_err(&client->dev, "tps80031 requires platform data\n");
                return -EINVAL;
        }
Quoted 5 lines

and git grep shows no user having platform data.

Shouldn't 'drivers/regulator/tps80031-regulator.c' and './rtc/rtc-tps80031.c' be removed as well?

They are removed by the other 2 patches of this series [1].

[1] https://lore.kernel.org/all/[email protected]/

#9 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

In reply to Dmitry Osipenko
Quoted 28 lines · Dmitry Osipenko

22.10.2021 11:05, Lee Jones пишет:

Quoted 22 lines · Dmitry Osipenko
Quoted 13 lines

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/mfd/Kconfig          |  14 -
 drivers/mfd/Makefile         |   1 -
 drivers/mfd/tps80031.c       | 526 -----------------------------
 include/linux/mfd/tps80031.h | 637 -----------------------------------
 4 files changed, 1178 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h

drivers/mfd/tps80031.c line 511

Quoted 5 lines
drivers/mfd/tps80031.c deleted +0 -5
-static const struct i2c_device_id tps80031_id_table[] = {
-	{ "tps80031", TPS80031 },
-	{ "tps80032", TPS80032 },
-	{ }
-};

This is an I2C driver, right?

Quoted 4 lines

I was under the impression that Linux could do auto-probing on I2C devices? Such that they do not require platform code or DT in order to bind?

Quoted 8 lines

It's I2C driver. I'm not sure about auto-probing because something should provide information about device to Linux. It's possible to detect/scan whether there is device sitting on I2C address, but there is no auto-discovery mechanism, AFAIK.

TPS80031 device will fail to bind to this driver because it explicitly requires platform data which should be NULL if device is probed solely by I2C ID.

This is a fair point.

I'll take the patch, thanks.

Signature · 4 lines
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
Applied
#10 lore raw

Re: [PATCH v1 3/3] mfd: tps80031: Remove driver

In reply to Dmitry Osipenko
Quoted 11 lines · Dmitry Osipenko

Driver was upstreamed in 2013 and never got a user, remove it.

---
 drivers/mfd/Kconfig          |  14 -
 drivers/mfd/Makefile         |   1 -
 drivers/mfd/tps80031.c       | 526 -----------------------------
 include/linux/mfd/tps80031.h | 637 -----------------------------------
 4 files changed, 1178 deletions(-)
 delete mode 100644 drivers/mfd/tps80031.c
 delete mode 100644 include/linux/mfd/tps80031.h

Applied, thanks.

Signature · 4 lines
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
maintainer
#11 lore raw

Re: (subset) [PATCH v1 0/3] Remove TPS80031 driver

In reply to Dmitry Osipenko
Quoted 11 lines · Dmitry Osipenko

TPS80031 driver was upstreamed back in 2013 and never got a user. I noticed that driver is abandoned while was about to write a patch to switch it to a new power-off API (that I'm working on). Driver requires platform data that nobody provides. Instead of changing the dead code, let's remove it.

Dmitry Osipenko (3):
rtc: tps80031: Remove driver
regulator: tps80031: Remove driver
mfd: tps80031: Remove driver

[...]

Applied to

https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next

Thanks!

[2/3] regulator: tps80031: Remove driver

      commit: d7477e646291b2dcdd5521cf926cd390ddd6a7c1

All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying to this mail.

Thanks,
Mark