From: "Opensource [Steve Twiss]" <stwiss.opensource@xxxxxxxxxxx> Dependencies required for DA9063 HWMON support. Signed-off-by: Opensource [Steve Twiss] <stwiss.opensource@xxxxxxxxxxx> Directly set da9063->t_offset. Let MFD probe succeed even if DA9063_REG_T_OFFSET cannot be read. Signed-off-by: Vincent Pelletier <plr.vincent@xxxxxxxxx> --- Originally submitted by Steve Twiss in 2014: https://marc.info/?l=linux-kernel&m=139560864709852&w=2 drivers/mfd/da9063-core.c | 8 ++++++++ include/linux/mfd/da9063/core.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/drivers/mfd/da9063-core.c b/drivers/mfd/da9063-core.c index df407c3afce3..14c2a8df9ae3 100644 --- a/drivers/mfd/da9063-core.c +++ b/drivers/mfd/da9063-core.c @@ -197,6 +197,14 @@ int da9063_device_init(struct da9063 *da9063, unsigned int irq) } } + ret = regmap_read(da9063->regmap, DA9063_REG_T_OFFSET, &da9063->t_offset); + if (ret < 0) { + da9063->t_offset = 0; + dev_warn(da9063->dev, + "Temperature trimming value cannot be read (defaulting to 0)\n"); + ret = 0; + } + return ret; } diff --git a/include/linux/mfd/da9063/core.h b/include/linux/mfd/da9063/core.h index fa7a43f02f27..c0c57c6f6230 100644 --- a/include/linux/mfd/da9063/core.h +++ b/include/linux/mfd/da9063/core.h @@ -85,6 +85,9 @@ struct da9063 { int chip_irq; unsigned int irq_base; struct regmap_irq_chip_data *regmap_irq; + + /* Trimming */ + int t_offset; }; int da9063_device_init(struct da9063 *da9063, unsigned int irq); -- 2.32.0