[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <54E49216.2050007@gentoo.org>
Date: Wed, 18 Feb 2015 08:22:30 -0500
From: Joshua Kinard <kumba@...too.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>,
Alessandro Zummo <a.zummo@...ertech.it>,
Andrew Morton <akpm@...ux-foundation.org>
CC: rtc-linux@...glegroups.com, linux-mips@...ux-mips.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] rtc: ds1685: Remove superfluous checks for out-of-range
u8 values
On 02/18/2015 05:44, Geert Uytterhoeven wrote:
> drivers/rtc/rtc-ds1685.c: In function ‘ds1685_rtc_read_alarm’:
> drivers/rtc/rtc-ds1685.c:402: warning: comparison is always true due to limited range of data type
> drivers/rtc/rtc-ds1685.c:409: warning: comparison is always true due to limited range of data type
> drivers/rtc/rtc-ds1685.c:416: warning: comparison is always true due to limited range of data type
> drivers/rtc/rtc-ds1685.c: In function ‘ds1685_rtc_set_alarm’:
> drivers/rtc/rtc-ds1685.c:475: warning: comparison is always true due to limited range of data type
> drivers/rtc/rtc-ds1685.c:478: warning: comparison is always true due to limited range of data type
> drivers/rtc/rtc-ds1685.c:481: warning: comparison is always true due to limited range of data type
>
> u8 cannot contain a value larger than 0xff, hence drop the checks.
> Wrapping the checks in unlikely() indicated some sense of humor, though ;-)
>
> Signed-off-by: Geert Uytterhoeven <geert@...ux-m68k.org>
Actually, I think I was operating in -pedantic mode the night I added those
checks. Good catch, thanks!
Acked-by: Joshua Kinard <kumba@...too.org>
> ---
> drivers/rtc/rtc-ds1685.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/rtc/rtc-ds1685.c b/drivers/rtc/rtc-ds1685.c
> index 8c3bfcb115b78731..5077078a9305b9d5 100644
> --- a/drivers/rtc/rtc-ds1685.c
> +++ b/drivers/rtc/rtc-ds1685.c
> @@ -399,21 +399,21 @@ ds1685_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alrm)
> * of this RTC chip. We check for it anyways in case support is
> * added in the future.
> */
> - if (unlikely((seconds >= 0xc0) && (seconds <= 0xff)))
> + if (unlikely(seconds >= 0xc0))
> alrm->time.tm_sec = -1;
> else
> alrm->time.tm_sec = ds1685_rtc_bcd2bin(rtc, seconds,
> RTC_SECS_BCD_MASK,
> RTC_SECS_BIN_MASK);
>
> - if (unlikely((minutes >= 0xc0) && (minutes <= 0xff)))
> + if (unlikely(minutes >= 0xc0))
> alrm->time.tm_min = -1;
> else
> alrm->time.tm_min = ds1685_rtc_bcd2bin(rtc, minutes,
> RTC_MINS_BCD_MASK,
> RTC_MINS_BIN_MASK);
>
> - if (unlikely((hours >= 0xc0) && (hours <= 0xff)))
> + if (unlikely(hours >= 0xc0))
> alrm->time.tm_hour = -1;
> else
> alrm->time.tm_hour = ds1685_rtc_bcd2bin(rtc, hours,
> @@ -472,13 +472,13 @@ ds1685_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alrm)
> * field, and we only support four fields. We put the support
> * here anyways for the future.
> */
> - if (unlikely((seconds >= 0xc0) && (seconds <= 0xff)))
> + if (unlikely(seconds >= 0xc0))
> seconds = 0xff;
>
> - if (unlikely((minutes >= 0xc0) && (minutes <= 0xff)))
> + if (unlikely(minutes >= 0xc0))
> minutes = 0xff;
>
> - if (unlikely((hours >= 0xc0) && (hours <= 0xff)))
> + if (unlikely(hours >= 0xc0))
> hours = 0xff;
>
> alrm->time.tm_mon = -1;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists