Skip to content

Commit

Permalink
mfd: tps65218: add version check to the PMIC probe
Browse files Browse the repository at this point in the history
Version information will be needed to handle some error cases under the
regulator driver, so store the information once during MFD probe.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Dave Gerlach <d-gerlach@ti.com>
Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Tero Kristo authored and Mark Brown committed Aug 10, 2016
1 parent 29b4817 commit f11fa17
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/mfd/tps65218.c
Original file line number Diff line number Diff line change
Expand Up @@ -219,6 +219,7 @@ static int tps65218_probe(struct i2c_client *client,
struct tps65218 *tps;
const struct of_device_id *match;
int ret;
unsigned int chipid;

match = of_match_device(of_tps65218_match_table, &client->dev);
if (!match) {
Expand Down Expand Up @@ -250,6 +251,14 @@ static int tps65218_probe(struct i2c_client *client,
if (ret < 0)
return ret;

ret = tps65218_reg_read(tps, TPS65218_REG_CHIPID, &chipid);
if (ret) {
dev_err(tps->dev, "Failed to read chipid: %d\n", ret);
return ret;
}

tps->rev = chipid & TPS65218_CHIPID_REV_MASK;

ret = of_platform_populate(client->dev.of_node, NULL, NULL,
&client->dev);
if (ret < 0)
Expand Down
1 change: 1 addition & 0 deletions include/linux/mfd/tps65218.h
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,7 @@ struct tps_info {
struct tps65218 {
struct device *dev;
unsigned int id;
u8 rev;

struct mutex tps_lock; /* lock guarding the data structure */
/* IRQ Data */
Expand Down

0 comments on commit f11fa17

Please sign in to comment.