On 07/01/2025 00:18, Shree Ramamoorthy wrote:
Hi,OK thanks.
On 1/4/2025 12:16 PM, Roger Quadros wrote:
On 04/01/2025 00:57, Shree Ramamoorthy wrote:Since this change does not have to do with TPS65215 support directly
The chipid macro/variable and regmap_read function call is not neededIn that case this could be squashed with 1?
because the TPS65219_REG_TI_DEV_ID register value is not a consistent value
across TPS65219 PMIC config versions. Reading from the DEV_ID register
without a consistent value to compare it to isn't useful. There isn't a
way to verify the match data ID is the same ID read from the DEV_ID device
register. 0xF0 isn't a DEV_ID value consistent across TPS65219 NVM
configurations.
For TPS65215, there is a consistent value in bits 5-0 of the DEV_ID
register. However, there are other error checks in place within probe()
that apply to both PMICs rather than keeping this isolated check for one
PMIC.
Signed-off-by: Shree Ramamoorthy <s-ramamoorthy@xxxxxx>
and is a different type of change, I wanted to keep this patch separate.
I can instead have this patch be first, then the MFD add TPS65215 support
will follow this to avoid any confusion about regmap_read being modified then removed.
Do you foresee any software quirks being applied for specific versions ofThe device_id value set varies across TPS65219 hardware versions.---Looking at TRM, TPS65215 device_id is 0x15 and TPS6521901 device_id is 0x00.
drivers/mfd/tps65219.c | 6 ------
include/linux/mfd/tps65219.h | 2 --
2 files changed, 8 deletions(-)
diff --git a/drivers/mfd/tps65219.c b/drivers/mfd/tps65219.c
index 816b271990a2..d3267bf7cd77 100644
--- a/drivers/mfd/tps65219.c
+++ b/drivers/mfd/tps65219.c
@@ -382,12 +382,6 @@ static int tps65219_probe(struct i2c_client *client)
if (ret)
return ret;
- ret = regmap_read(tps->regmap, TPS65219_REG_TI_DEV_ID, &tps->chip_id);
- if (ret) {
- dev_err(tps->dev, "Failed to read device ID: %d\n", ret);
- return ret;
- }
-
ret = devm_mfd_add_devices(tps->dev, PLATFORM_DEVID_AUTO,
pmic->cells, pmic->n_cells,
NULL, 0, regmap_irq_get_domain(tps->irq_data));
diff --git a/include/linux/mfd/tps65219.h b/include/linux/mfd/tps65219.h
index 9892b6e4c85c..535115bfa4a4 100644
--- a/include/linux/mfd/tps65219.h
+++ b/include/linux/mfd/tps65219.h
@@ -15,8 +15,6 @@
#include <linux/regmap.h>
#include <linux/regulator/driver.h>
-/* TPS chip id list */
-#define TPS65219 0xF0
/* Chip id list*/
enum pmic_id {
TPS65215,
shouldn't we use that here as well?
TPS65219? If not then probably not worth the effort to keep track of all the
versions.
Having the device_id as the chip_id differentiator will fail for TPS65219,
even though the system engineers have now kept the TPS65215 device_id value
consistent across all hardware versions.