Re: [PATCH] mfd: bd70528: Fix hour register mask

From: Vaittinen, Matti
Date: Fri Jan 17 2020 - 02:44:16 EST


Hello Lee, Alexandre, Greg & Sasha

On Wed, 2020-01-15 at 10:29 +0200, Matti Vaittinen wrote:
> When RTC is used in 24H mode (and it is by this driver) the maximum
> hour value is 24 in BCD. This occupies bits [5:0] - which means
> correct mask for HOUR register is 0x3f not 0x1f. Fix the mask
>
> Fixes: 32a4a4ebf768 ("rtc: bd70528: Initial support for ROHM bd70528
> RTC")
> Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxxxxxxxxxxxx>
> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> ---
>
> I just noticed this was never applied. I'd like to get this in as
> we currently have bd70528 RTC not working in few exiting releases.
> (Or it works as long as time is not set at the evening :/)
>
> I think this once was in RTC tree but was dropped as Lee mentioned
> this
> belongs to MFD. Thus I dared to add the Alexandre's acked-by - please
> let me know if this is not Ok.
>
> Lee, can you please pull this in so that we get the fix
> in-tree? I guess the fixes tag helps this to be included in some
> existing branches.

Actually - I don't know if applying this in MFD is good idea. The
BD71828 support series

(
https://lore.kernel.org/lkml/cover.1579078681.git.matti.vaittinen@xxxxxxxxxxxxxxxxx/
)

will fix this when applied (and conflict with this if both are
applied). I would like to get this fix in 5.4 though - but I don't
think the BD71828 series should be in 5.4.

Is it possible to get this in 5.4 stable - while leaving this out of
current MFD tree and applying the BD71828 series to MFD?

>
> include/linux/mfd/rohm-bd70528.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/mfd/rohm-bd70528.h
> b/include/linux/mfd/rohm-bd70528.h
> index 1013e60c5b25..b0109ee6dae2 100644
> --- a/include/linux/mfd/rohm-bd70528.h
> +++ b/include/linux/mfd/rohm-bd70528.h
> @@ -317,7 +317,7 @@ enum {
> #define BD70528_MASK_RTC_MINUTE 0x7f
> #define BD70528_MASK_RTC_HOUR_24H 0x80
> #define BD70528_MASK_RTC_HOUR_PM 0x20
> -#define BD70528_MASK_RTC_HOUR 0x1f
> +#define BD70528_MASK_RTC_HOUR 0x3f
> #define BD70528_MASK_RTC_DAY 0x3f
> #define BD70528_MASK_RTC_WEEK 0x07
> #define BD70528_MASK_RTC_MONTH 0x1f
> --
> 2.21.0
>
>