Fri, 5 Sep 2014 18:07:36 +0200 от Gregory Hermant <gregory.hermant@xxxxxxxxxxxxxxxxx>: > This patch allows to read the REV_ID register in SPI mode and consequently > to properly detect the max3109. Indeed in SPI mode, this register is only > accessible by using indirect addressing. > > Signed-off-by: Gregory Hermant <gregory.hermant@xxxxxxxxxxxxxxxxx> > --- > drivers/tty/serial/max310x.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c > index 5183643..2d911f6 100644 > --- a/drivers/tty/serial/max310x.c > +++ b/drivers/tty/serial/max310x.c > @@ -369,10 +369,13 @@ static int max3109_detect(struct device *dev) > unsigned int val = 0; > int ret; > > - ret = regmap_read(s->regmap, MAX310X_REVID_REG, &val); > + ret = regmap_write(s->regmap, MAX310X_GLOBALCMD_REG, > + MAX310X_EXTREG_ENBL); > if (ret) > return ret; > - > + > + regmap_read(s->regmap, MAX310X_REVID_EXTREG, &val); > + regmap_write(s->regmap, MAX310X_GLOBALCMD_REG, MAX310X_EXTREG_DSBL); > if (((val & MAX310x_REV_MASK) != MAX3109_REV_ID)) { > dev_err(dev, > "%s ID 0x%02x does not match\n", s->devtype->name, val); > -- Reviewed-by: Alexander Shiyan <shc_work@xxxxxxx> --- ��.n��������+%������w��{.n�����{��ǫ����{ay�ʇڙ���f���h������_�(�階�ݢj"��������G����?���&��