diff for duplicates of <20160811101520.GG8132@piout.net> diff --git a/a/1.txt b/N1/1.txt index e157cf8..139bd12 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,30 +1,28 @@ On 11/08/2016 at 11:59:15 +0200, Daniel Romell wrote : -> From: Jan =C3=96stlund <jao@hms.se> ->=20 +> From: Jan Östlund <jao@hms.se> +> > While the oscillator failure flag is set, the RTC registers > should be considered invalid. bq32k_rtc_read_time() now > returns an error instead of an invalid time. ->=20 +> > The failure flag is cleared the next time the clock is set. ->=20 +> > Signed-off-by: Daniel Romell <daro@hms.se> > --- > drivers/rtc/rtc-bq32k.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) ->=20 +> > diff --git a/drivers/rtc/rtc-bq32k.c b/drivers/rtc/rtc-bq32k.c > index 5a0c137..3fc6f7c 100644 > --- a/drivers/rtc/rtc-bq32k.c > +++ b/drivers/rtc/rtc-bq32k.c -> @@ -93,6 +93,13 @@ static int bq32k_rtc_read_time(struct device *dev, str= -uct rtc_time *tm) +> @@ -93,6 +93,13 @@ static int bq32k_rtc_read_time(struct device *dev, struct rtc_time *tm) > if (error) > return error; -> =20 +> > + /* > + * In case of oscillator failure, the register contents should be -> + * considered invalid. The flag is cleared the next time the RTC is set= -. +> + * considered invalid. The flag is cleared the next time the RTC is set. > + */ > + if (regs.minutes & BQ32K_OF) > + return -EIO; @@ -32,42 +30,30 @@ uct rtc_time *tm) The other drivers return -EINVAL in that case. Else, the change is fine. > + -> tm->tm_sec =3D bcd2bin(regs.seconds & BQ32K_SECONDS_MASK); -> tm->tm_min =3D bcd2bin(regs.minutes & BQ32K_MINUTES_MASK); -> tm->tm_hour =3D bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK); +> tm->tm_sec = bcd2bin(regs.seconds & BQ32K_SECONDS_MASK); +> tm->tm_min = bcd2bin(regs.minutes & BQ32K_MINUTES_MASK); +> tm->tm_hour = bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK); > @@ -204,13 +211,10 @@ static int bq32k_probe(struct i2c_client *client, -> =20 +> > /* Check Oscillator Failure flag */ -> error =3D bq32k_read(dev, ®, BQ32K_MINUTES, 1); +> error = bq32k_read(dev, ®, BQ32K_MINUTES, 1); > - if (!error && (reg & BQ32K_OF)) { > - dev_warn(dev, "Oscillator Failure. Check RTC battery.\n"); -> - reg &=3D ~BQ32K_OF; -> - error =3D bq32k_write(dev, ®, BQ32K_MINUTES, 1); +> - reg &= ~BQ32K_OF; +> - error = bq32k_write(dev, ®, BQ32K_MINUTES, 1); > - } > if (error) > return error; > + if (reg & BQ32K_OF) > + dev_warn(dev, "Oscillator Failure. Check RTC battery.\n"); -> =20 +> > if (client->dev.of_node) > trickle_charger_of_init(dev, client->dev.of_node); -> --=20 +> -- > 2.7.4 ->=20 +> ---=20 +-- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com - ---=20 -You received this message because you are subscribed to "rtc-linux". -Membership options at http://groups.google.com/group/rtc-linux . -Please read http://groups.google.com/group/rtc-linux/web/checklist -before submitting a driver. ----=20 -You received this message because you are subscribed to the Google Groups "= -rtc-linux" group. -To unsubscribe from this group and stop receiving emails from it, send an e= -mail to rtc-linux+unsubscribe@googlegroups.com. -For more options, visit https://groups.google.com/d/optout. diff --git a/a/content_digest b/N1/content_digest index 03b8756..1b2a92a 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\01470909555-9226-1-git-send-email-daro@hms.se\0" "ref\01470909555-9226-3-git-send-email-daro@hms.se\0" "From\0Alexandre Belloni <alexandre.belloni@free-electrons.com>\0" - "Subject\0[rtc-linux] Re: [PATCH 2/2] rtc: bq32k: Fix handling of oscillator failure flag\0" + "Subject\0Re: [PATCH 2/2] rtc: bq32k: Fix handling of oscillator failure flag\0" "Date\0Thu, 11 Aug 2016 12:15:20 +0200\0" "To\0Daniel Romell <danielromell@gmail.com>\0" "Cc\0a.zummo@towertech.it" @@ -13,32 +13,30 @@ "\00:1\0" "b\0" "On 11/08/2016 at 11:59:15 +0200, Daniel Romell wrote :\n" - "> From: Jan =C3=96stlund <jao@hms.se>\n" - ">=20\n" + "> From: Jan \303\226stlund <jao@hms.se>\n" + "> \n" "> While the oscillator failure flag is set, the RTC registers\n" "> should be considered invalid. bq32k_rtc_read_time() now\n" "> returns an error instead of an invalid time.\n" - ">=20\n" + "> \n" "> The failure flag is cleared the next time the clock is set.\n" - ">=20\n" + "> \n" "> Signed-off-by: Daniel Romell <daro@hms.se>\n" "> ---\n" "> drivers/rtc/rtc-bq32k.c | 14 +++++++++-----\n" "> 1 file changed, 9 insertions(+), 5 deletions(-)\n" - ">=20\n" + "> \n" "> diff --git a/drivers/rtc/rtc-bq32k.c b/drivers/rtc/rtc-bq32k.c\n" "> index 5a0c137..3fc6f7c 100644\n" "> --- a/drivers/rtc/rtc-bq32k.c\n" "> +++ b/drivers/rtc/rtc-bq32k.c\n" - "> @@ -93,6 +93,13 @@ static int bq32k_rtc_read_time(struct device *dev, str=\n" - "uct rtc_time *tm)\n" + "> @@ -93,6 +93,13 @@ static int bq32k_rtc_read_time(struct device *dev, struct rtc_time *tm)\n" "> \tif (error)\n" "> \t\treturn error;\n" - "> =20\n" + "> \n" "> +\t/*\n" "> +\t * In case of oscillator failure, the register contents should be\n" - "> +\t * considered invalid. The flag is cleared the next time the RTC is set=\n" - ".\n" + "> +\t * considered invalid. The flag is cleared the next time the RTC is set.\n" "> +\t */\n" "> +\tif (regs.minutes & BQ32K_OF)\n" "> +\t\treturn -EIO;\n" @@ -46,44 +44,32 @@ "The other drivers return -EINVAL in that case. Else, the change is fine.\n" "\n" "> +\n" - "> \ttm->tm_sec =3D bcd2bin(regs.seconds & BQ32K_SECONDS_MASK);\n" - "> \ttm->tm_min =3D bcd2bin(regs.minutes & BQ32K_MINUTES_MASK);\n" - "> \ttm->tm_hour =3D bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK);\n" + "> \ttm->tm_sec = bcd2bin(regs.seconds & BQ32K_SECONDS_MASK);\n" + "> \ttm->tm_min = bcd2bin(regs.minutes & BQ32K_MINUTES_MASK);\n" + "> \ttm->tm_hour = bcd2bin(regs.cent_hours & BQ32K_HOURS_MASK);\n" "> @@ -204,13 +211,10 @@ static int bq32k_probe(struct i2c_client *client,\n" - "> =20\n" + "> \n" "> \t/* Check Oscillator Failure flag */\n" - "> \terror =3D bq32k_read(dev, ®, BQ32K_MINUTES, 1);\n" + "> \terror = bq32k_read(dev, ®, BQ32K_MINUTES, 1);\n" "> -\tif (!error && (reg & BQ32K_OF)) {\n" "> -\t\tdev_warn(dev, \"Oscillator Failure. Check RTC battery.\\n\");\n" - "> -\t\treg &=3D ~BQ32K_OF;\n" - "> -\t\terror =3D bq32k_write(dev, ®, BQ32K_MINUTES, 1);\n" + "> -\t\treg &= ~BQ32K_OF;\n" + "> -\t\terror = bq32k_write(dev, ®, BQ32K_MINUTES, 1);\n" "> -\t}\n" "> \tif (error)\n" "> \t\treturn error;\n" "> +\tif (reg & BQ32K_OF)\n" "> +\t\tdev_warn(dev, \"Oscillator Failure. Check RTC battery.\\n\");\n" - "> =20\n" + "> \n" "> \tif (client->dev.of_node)\n" "> \t\ttrickle_charger_of_init(dev, client->dev.of_node);\n" - "> --=20\n" + "> -- \n" "> 2.7.4\n" - ">=20\n" + "> \n" "\n" - "--=20\n" + "-- \n" "Alexandre Belloni, Free Electrons\n" "Embedded Linux and Kernel engineering\n" - "http://free-electrons.com\n" - "\n" - "--=20\n" - "You received this message because you are subscribed to \"rtc-linux\".\n" - "Membership options at http://groups.google.com/group/rtc-linux .\n" - "Please read http://groups.google.com/group/rtc-linux/web/checklist\n" - "before submitting a driver.\n" - "---=20\n" - "You received this message because you are subscribed to the Google Groups \"=\n" - "rtc-linux\" group.\n" - "To unsubscribe from this group and stop receiving emails from it, send an e=\n" - "mail to rtc-linux+unsubscribe@googlegroups.com.\n" - For more options, visit https://groups.google.com/d/optout. + http://free-electrons.com -e07c79f5c7498d3d1ac4c7399bab3fde7a7e4ea202dd46fa745d2a84ee572ce0 +a9676265859fff53a6bfb8c0695f55ae30696e65b4eb701cf948c07ddeb58bcc
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.