Commit 24700e1f authored by Daniel Scally's avatar Daniel Scally Committed by Hans de Goede

mfd: tps68470: Remove tps68470 MFD driver

This driver only covered one scenario in which ACPI devices with _HID
INT3472 are found, and its functionality has been taken over by the
intel-skl-int3472 module, so remove it.
Acked-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: default avatarLee Jones <lee.jones@linaro.org>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarDaniel Scally <djrscally@gmail.com>
Link: https://lore.kernel.org/r/20210603224007.120560-7-djrscally@gmail.comSigned-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 5de691bf
...@@ -52,7 +52,7 @@ endif # PMIC_OPREGION ...@@ -52,7 +52,7 @@ endif # PMIC_OPREGION
config TPS68470_PMIC_OPREGION config TPS68470_PMIC_OPREGION
bool "ACPI operation region support for TPS68470 PMIC" bool "ACPI operation region support for TPS68470 PMIC"
depends on MFD_TPS68470 depends on INTEL_SKL_INT3472
help help
This config adds ACPI operation region support for TI TPS68470 PMIC. This config adds ACPI operation region support for TI TPS68470 PMIC.
TPS68470 device is an advanced power management unit that powers TPS68470 device is an advanced power management unit that powers
......
...@@ -1367,7 +1367,7 @@ config GPIO_TPS65912 ...@@ -1367,7 +1367,7 @@ config GPIO_TPS65912
config GPIO_TPS68470 config GPIO_TPS68470
bool "TPS68470 GPIO" bool "TPS68470 GPIO"
depends on MFD_TPS68470 depends on INTEL_SKL_INT3472
help help
Select this option to enable GPIO driver for the TPS68470 Select this option to enable GPIO driver for the TPS68470
chip family. chip family.
......
...@@ -1499,24 +1499,6 @@ config MFD_TPS65217 ...@@ -1499,24 +1499,6 @@ config MFD_TPS65217
This driver can also be built as a module. If so, the module This driver can also be built as a module. If so, the module
will be called tps65217. will be called tps65217.
config MFD_TPS68470
bool "TI TPS68470 Power Management / LED chips"
depends on ACPI && PCI && I2C=y
depends on I2C_DESIGNWARE_PLATFORM=y
select MFD_CORE
select REGMAP_I2C
help
If you say yes here you get support for the TPS68470 series of
Power Management / LED chips.
These include voltage regulators, LEDs and other features
that are often used in portable devices.
This option is a bool as it provides an ACPI operation
region, which must be available before any of the devices
using this are probed. This option also configures the
designware-i2c driver to be built-in, for the same reason.
config MFD_TI_LP873X config MFD_TI_LP873X
tristate "TI LP873X Power Management IC" tristate "TI LP873X Power Management IC"
depends on I2C depends on I2C
......
...@@ -105,7 +105,6 @@ obj-$(CONFIG_MFD_TPS65910) += tps65910.o ...@@ -105,7 +105,6 @@ obj-$(CONFIG_MFD_TPS65910) += tps65910.o
obj-$(CONFIG_MFD_TPS65912) += tps65912-core.o obj-$(CONFIG_MFD_TPS65912) += tps65912-core.o
obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o obj-$(CONFIG_MFD_TPS65912_I2C) += tps65912-i2c.o
obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o obj-$(CONFIG_MFD_TPS65912_SPI) += tps65912-spi.o
obj-$(CONFIG_MFD_TPS68470) += tps68470.o
obj-$(CONFIG_MFD_TPS80031) += tps80031.o obj-$(CONFIG_MFD_TPS80031) += tps80031.o
obj-$(CONFIG_MENELAUS) += menelaus.o obj-$(CONFIG_MENELAUS) += menelaus.o
......
// SPDX-License-Identifier: GPL-2.0
/*
* TPS68470 chip Parent driver
*
* Copyright (C) 2017 Intel Corporation
*
* Authors:
* Rajmohan Mani <rajmohan.mani@intel.com>
* Tianshu Qiu <tian.shu.qiu@intel.com>
* Jian Xu Zheng <jian.xu.zheng@intel.com>
* Yuning Pu <yuning.pu@intel.com>
*/
#include <linux/acpi.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/init.h>
#include <linux/mfd/core.h>
#include <linux/mfd/tps68470.h>
#include <linux/regmap.h>
static const struct mfd_cell tps68470s[] = {
{ .name = "tps68470-gpio" },
{ .name = "tps68470_pmic_opregion" },
};
static const struct regmap_config tps68470_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
.max_register = TPS68470_REG_MAX,
};
static int tps68470_chip_init(struct device *dev, struct regmap *regmap)
{
unsigned int version;
int ret;
/* Force software reset */
ret = regmap_write(regmap, TPS68470_REG_RESET, TPS68470_REG_RESET_MASK);
if (ret)
return ret;
ret = regmap_read(regmap, TPS68470_REG_REVID, &version);
if (ret) {
dev_err(dev, "Failed to read revision register: %d\n", ret);
return ret;
}
dev_info(dev, "TPS68470 REVID: 0x%x\n", version);
return 0;
}
static int tps68470_probe(struct i2c_client *client)
{
struct device *dev = &client->dev;
struct regmap *regmap;
int ret;
regmap = devm_regmap_init_i2c(client, &tps68470_regmap_config);
if (IS_ERR(regmap)) {
dev_err(dev, "devm_regmap_init_i2c Error %ld\n",
PTR_ERR(regmap));
return PTR_ERR(regmap);
}
i2c_set_clientdata(client, regmap);
ret = tps68470_chip_init(dev, regmap);
if (ret < 0) {
dev_err(dev, "TPS68470 Init Error %d\n", ret);
return ret;
}
ret = devm_mfd_add_devices(dev, PLATFORM_DEVID_NONE, tps68470s,
ARRAY_SIZE(tps68470s), NULL, 0, NULL);
if (ret < 0) {
dev_err(dev, "devm_mfd_add_devices failed: %d\n", ret);
return ret;
}
return 0;
}
static const struct acpi_device_id tps68470_acpi_ids[] = {
{"INT3472"},
{},
};
static struct i2c_driver tps68470_driver = {
.driver = {
.name = "tps68470",
.acpi_match_table = tps68470_acpi_ids,
},
.probe_new = tps68470_probe,
};
builtin_i2c_driver(tps68470_driver);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment