[Linux-kernel-mentees] [PATCH v3] video: atmel_lcdc: Fix Shifting signed 32 bit value by 31 bits problem
Nicolas.Ferre at microchip.com
Nicolas.Ferre at microchip.com
Wed Jan 8 13:08:26 UTC 2020
On 22/07/2019 at 02:42, Shobhit Kukreti wrote:
> Fix ATMEL_LCDC_MEMOR and ATMEL_LCDC_MEMOR_LITTLE defines to use "U"
> cast to avoid shifting signed 32 bit values by 31 bit problem. This
> problem. This is not a problem for gcc built kernel.
Chuck of a sentence remaining.
> However, this may be a problem since the header is part of pbulic API
Typo
+
no, this header is not part of public API.
> which could be included for builds using compilers which do not handle
> this condition safely resulting in undefined behavior
>
> Signed-off-by: Shobhit Kukreti <shobhitkukreti at gmail.com>
No strong opinion, but once typo and commit message is fixed, you can
add my:
Acked-by: Nicolas Ferre <nicolas.ferre at microchip.com>
Regards,
Nicolas
> ---
> Changes in v3:
> Replace Bit Shift Operations with BIT() macros
>
> Changes in v2:
> Fixed spelling typo
>
> include/video/atmel_lcdc.h | 28 ++++++++++++++--------------
> 1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/include/video/atmel_lcdc.h b/include/video/atmel_lcdc.h
> index 43e497c..985e2d6 100644
> --- a/include/video/atmel_lcdc.h
> +++ b/include/video/atmel_lcdc.h
> @@ -85,27 +85,27 @@ struct atmel_lcdfb_pdata {
> #define ATMEL_LCDC_PIXELSIZE_16 (4 << 5)
> #define ATMEL_LCDC_PIXELSIZE_24 (5 << 5)
> #define ATMEL_LCDC_PIXELSIZE_32 (6 << 5)
> -#define ATMEL_LCDC_INVVD (1 << 8)
> +#define ATMEL_LCDC_INVVD BIT(8)
> #define ATMEL_LCDC_INVVD_NORMAL (0 << 8)
> -#define ATMEL_LCDC_INVVD_INVERTED (1 << 8)
> -#define ATMEL_LCDC_INVFRAME (1 << 9 )
> +#define ATMEL_LCDC_INVVD_INVERTED BIT(8)
> +#define ATMEL_LCDC_INVFRAME BIT(9)
> #define ATMEL_LCDC_INVFRAME_NORMAL (0 << 9)
> -#define ATMEL_LCDC_INVFRAME_INVERTED (1 << 9)
> -#define ATMEL_LCDC_INVLINE (1 << 10)
> +#define ATMEL_LCDC_INVFRAME_INVERTED BIT(9)
> +#define ATMEL_LCDC_INVLINE BIT(10)
> #define ATMEL_LCDC_INVLINE_NORMAL (0 << 10)
> -#define ATMEL_LCDC_INVLINE_INVERTED (1 << 10)
> -#define ATMEL_LCDC_INVCLK (1 << 11)
> +#define ATMEL_LCDC_INVLINE_INVERTED BIT(10)
> +#define ATMEL_LCDC_INVCLK BIT(11)
> #define ATMEL_LCDC_INVCLK_NORMAL (0 << 11)
> -#define ATMEL_LCDC_INVCLK_INVERTED (1 << 11)
> -#define ATMEL_LCDC_INVDVAL (1 << 12)
> +#define ATMEL_LCDC_INVCLK_INVERTED BIT(11)
> +#define ATMEL_LCDC_INVDVAL BIT(12)
> #define ATMEL_LCDC_INVDVAL_NORMAL (0 << 12)
> -#define ATMEL_LCDC_INVDVAL_INVERTED (1 << 12)
> -#define ATMEL_LCDC_CLKMOD (1 << 15)
> +#define ATMEL_LCDC_INVDVAL_INVERTED BIT(12)
> +#define ATMEL_LCDC_CLKMOD BIT(15)
> #define ATMEL_LCDC_CLKMOD_ACTIVEDISPLAY (0 << 15)
> -#define ATMEL_LCDC_CLKMOD_ALWAYSACTIVE (1 << 15)
> -#define ATMEL_LCDC_MEMOR (1 << 31)
> +#define ATMEL_LCDC_CLKMOD_ALWAYSACTIVE BIT(15)
> +#define ATMEL_LCDC_MEMOR BIT(31)
> #define ATMEL_LCDC_MEMOR_BIG (0 << 31)
> -#define ATMEL_LCDC_MEMOR_LITTLE (1 << 31)
> +#define ATMEL_LCDC_MEMOR_LITTLE BIT(31)
>
> #define ATMEL_LCDC_TIM1 0x0808
> #define ATMEL_LCDC_VFP (0xffU << 0)
>
--
Nicolas Ferre
More information about the Linux-kernel-mentees
mailing list