FBDEV: JZ4740: Get rid of enumeration value not handled in switch warnings
Subsystems (2)
PATCH 5/6 FBDEV: JZ4740: Get rid of enumeration value not handled in switch warnings
Convert enum jz4740_fb_lcd_type to #define's in order to get rid of these warnings.
--- arch/mips/include/asm/mach-jz4740/jz4740_fb.h | 40 ++++++++++++------------- 1 files changed, 19 insertions(+), 21 deletions(-)
arch/mips/include/asm/mach-jz4740/jz4740_fb.h +19 -21
@@ -17,27 +17,25 @@#include <linux/fb.h> -enum jz4740_fb_lcd_type { -JZ_LCD_TYPE_GENERIC_16_BIT =0 , -JZ_LCD_TYPE_GENERIC_18_BIT =0 | (1 <<4 ), -JZ_LCD_TYPE_SPECIAL_TFT_1 =1 , -JZ_LCD_TYPE_SPECIAL_TFT_2 =2 , -JZ_LCD_TYPE_SPECIAL_TFT_3 =3 , -JZ_LCD_TYPE_NON_INTERLACED_CCIR656 =5 , -JZ_LCD_TYPE_INTERLACED_CCIR656 =7 , -JZ_LCD_TYPE_SINGLE_COLOR_STN =8 , -JZ_LCD_TYPE_SINGLE_MONOCHROME_STN =9 , -JZ_LCD_TYPE_DUAL_COLOR_STN =10 , -JZ_LCD_TYPE_DUAL_MONOCHROME_STN =11 , -JZ_LCD_TYPE_8BIT_SERIAL =12 , +#define JZ_LCD_TYPE_GENERIC_16_BIT (0) +#define JZ_LCD_TYPE_GENERIC_18_BIT (0 | (1 << 4)) +#define JZ_LCD_TYPE_SPECIAL_TFT_1 (1) +#define JZ_LCD_TYPE_SPECIAL_TFT_2 (2) +#define JZ_LCD_TYPE_SPECIAL_TFT_3 (3) +#define JZ_LCD_TYPE_NON_INTERLACED_CCIR656 (5) +#define JZ_LCD_TYPE_INTERLACED_CCIR656 (7) +#define JZ_LCD_TYPE_SINGLE_COLOR_STN (8) +#define JZ_LCD_TYPE_SINGLE_MONOCHROME_STN (9) +#define JZ_LCD_TYPE_DUAL_COLOR_STN (10) +#define JZ_LCD_TYPE_DUAL_MONOCHROME_STN (11) +#define JZ_LCD_TYPE_8BIT_SERIAL (12) -JZ_SLCD_TYPE_PARALLEL_8_BIT =1 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_16_BIT =0 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_18_BIT =2 | (1 <<5 ), -JZ_SLCD_TYPE_SERIAL_8_BIT =1 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_16_BIT =0 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_18_BIT =2 | (3 <<5 ), -}; +#define JZ_SLCD_TYPE_PARALLEL_8_BIT (1 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_16_BIT (0 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_18_BIT (2 | (1 << 5)) +#define JZ_SLCD_TYPE_SERIAL_8_BIT (1 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_16_BIT (0 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_18_BIT (2 | (3 << 5))#define JZ4740_FB_SPECIAL_TFT_CONFIG (start, stop) (((start) << 16) | (stop))
@@ -58,7 +56,7 @@ struct jz4740_fb_platform_data {struct fb_videomode *modes;unsigned int bpp; -enum jz4740_fb_lcd_type lcd_type; +unsigned int lcd_type;struct {uint32_t spl;
Signature · 1 line
1.7.4
Re: [PATCH 5/6] FBDEV: JZ4740: Get rid of enumeration value not handled
Quoted 3 lines · Maurus Cuelenaere
Convert enum
jz4740_fb_lcd_typeto #define's in order to get rid of these warnings.
Nack. If it is not handled the code is wrong.
If this is because you only handle SLCD types in some SLCD specific functions add a default:
BUG();
Quoted 56 lines
Signed-off-by Maurus Cuelenaere <[email protected]>--- arch/mips/include/asm/mach-jz4740/jz4740_fb.h | 40 ++++++++++++------------- 1 files changed, 19 insertions(+), 21 deletions(-)arch/mips/include/asm/mach-jz4740/jz4740_fb.h +18
-20@@ -17,27 +17,25 @@#include <linux/fb.h> -enum jz4740_fb_lcd_type { -JZ_LCD_TYPE_GENERIC_16_BIT =0 , -JZ_LCD_TYPE_GENERIC_18_BIT =0 | (1 <<4 ), -JZ_LCD_TYPE_SPECIAL_TFT_1 =1 , -JZ_LCD_TYPE_SPECIAL_TFT_2 =2 , -JZ_LCD_TYPE_SPECIAL_TFT_3 =3 , -JZ_LCD_TYPE_NON_INTERLACED_CCIR656 =5 , -JZ_LCD_TYPE_INTERLACED_CCIR656 =7 , -JZ_LCD_TYPE_SINGLE_COLOR_STN =8 , -JZ_LCD_TYPE_SINGLE_MONOCHROME_STN =9 , -JZ_LCD_TYPE_DUAL_COLOR_STN =10 , -JZ_LCD_TYPE_DUAL_MONOCHROME_STN =11 , -JZ_LCD_TYPE_8BIT_SERIAL =12 , +#define JZ_LCD_TYPE_GENERIC_16_BIT (0) +#define JZ_LCD_TYPE_GENERIC_18_BIT (0 | (1 << 4)) +#define JZ_LCD_TYPE_SPECIAL_TFT_1 (1) +#define JZ_LCD_TYPE_SPECIAL_TFT_2 (2) +#define JZ_LCD_TYPE_SPECIAL_TFT_3 (3) +#define JZ_LCD_TYPE_NON_INTERLACED_CCIR656 (5) +#define JZ_LCD_TYPE_INTERLACED_CCIR656 (7) +#define JZ_LCD_TYPE_SINGLE_COLOR_STN (8) +#define JZ_LCD_TYPE_SINGLE_MONOCHROME_STN (9) +#define JZ_LCD_TYPE_DUAL_COLOR_STN (10) +#define JZ_LCD_TYPE_DUAL_MONOCHROME_STN (11) +#define JZ_LCD_TYPE_8BIT_SERIAL (12) -JZ_SLCD_TYPE_PARALLEL_8_BIT =1 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_16_BIT =0 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_18_BIT =2 | (1 <<5 ), -JZ_SLCD_TYPE_SERIAL_8_BIT =1 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_16_BIT =0 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_18_BIT =2 | (3 <<5 ), -}; +#define JZ_SLCD_TYPE_PARALLEL_8_BIT (1 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_16_BIT (0 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_18_BIT (2 | (1 << 5)) +#define JZ_SLCD_TYPE_SERIAL_8_BIT (1 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_16_BIT (0 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_18_BIT (2 | (3 << 5))#define JZ4740_FB_SPECIAL_TFT_CONFIG (start, stop) (((start) << 16) | (stop))
arch/mips/include/asm/mach-jz4740/jz4740_fb.h struct jz4740_fb_platform_data { · line 62
Quoted 8 lines
arch/mips/include/asm/mach-jz4740/jz4740_fb.h +1
-1@@ -58,7 +56,7 @@ struct jz4740_fb_platform_data {struct fb_videomode *modes;unsigned int bpp; -enum jz4740_fb_lcd_type lcd_type; +unsigned int lcd_type;struct {uint32_t spl;
Nack
Re: [PATCH 5/6] FBDEV: JZ4740: Get rid of enumeration value not handled
In reply to Maurus CuelenaereQuoted 8 lines · Maurus Cuelenaere
Quoted 3 lines
Convert enum
jz4740_fb_lcd_typeto #define's in order to get rid of these warnings.Nack. If it is not handled the code is wrong.
If this is because you only handle SLCD types in some SLCD specific functions add a default:BUG();
Ok, that's also a way to handle it.
Quoted 58 lines
Quoted 58 lines
Signed-off-by Maurus Cuelenaere <[email protected]>--- arch/mips/include/asm/mach-jz4740/jz4740_fb.h | 40 ++++++++++++------------- 1 files changed, 19 insertions(+), 21 deletions(-)arch/mips/include/asm/mach-jz4740/jz4740_fb.h +18
-20@@ -17,27 +17,25 @@#include <linux/fb.h> -enum jz4740_fb_lcd_type { -JZ_LCD_TYPE_GENERIC_16_BIT =0 , -JZ_LCD_TYPE_GENERIC_18_BIT =0 | (1 <<4 ), -JZ_LCD_TYPE_SPECIAL_TFT_1 =1 , -JZ_LCD_TYPE_SPECIAL_TFT_2 =2 , -JZ_LCD_TYPE_SPECIAL_TFT_3 =3 , -JZ_LCD_TYPE_NON_INTERLACED_CCIR656 =5 , -JZ_LCD_TYPE_INTERLACED_CCIR656 =7 , -JZ_LCD_TYPE_SINGLE_COLOR_STN =8 , -JZ_LCD_TYPE_SINGLE_MONOCHROME_STN =9 , -JZ_LCD_TYPE_DUAL_COLOR_STN =10 , -JZ_LCD_TYPE_DUAL_MONOCHROME_STN =11 , -JZ_LCD_TYPE_8BIT_SERIAL =12 , +#define JZ_LCD_TYPE_GENERIC_16_BIT (0) +#define JZ_LCD_TYPE_GENERIC_18_BIT (0 | (1 << 4)) +#define JZ_LCD_TYPE_SPECIAL_TFT_1 (1) +#define JZ_LCD_TYPE_SPECIAL_TFT_2 (2) +#define JZ_LCD_TYPE_SPECIAL_TFT_3 (3) +#define JZ_LCD_TYPE_NON_INTERLACED_CCIR656 (5) +#define JZ_LCD_TYPE_INTERLACED_CCIR656 (7) +#define JZ_LCD_TYPE_SINGLE_COLOR_STN (8) +#define JZ_LCD_TYPE_SINGLE_MONOCHROME_STN (9) +#define JZ_LCD_TYPE_DUAL_COLOR_STN (10) +#define JZ_LCD_TYPE_DUAL_MONOCHROME_STN (11) +#define JZ_LCD_TYPE_8BIT_SERIAL (12) -JZ_SLCD_TYPE_PARALLEL_8_BIT =1 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_16_BIT =0 | (1 <<5 ), -JZ_SLCD_TYPE_PARALLEL_18_BIT =2 | (1 <<5 ), -JZ_SLCD_TYPE_SERIAL_8_BIT =1 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_16_BIT =0 | (3 <<5 ), -JZ_SLCD_TYPE_SERIAL_18_BIT =2 | (3 <<5 ), -}; +#define JZ_SLCD_TYPE_PARALLEL_8_BIT (1 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_16_BIT (0 | (1 << 5)) +#define JZ_SLCD_TYPE_PARALLEL_18_BIT (2 | (1 << 5)) +#define JZ_SLCD_TYPE_SERIAL_8_BIT (1 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_16_BIT (0 | (3 << 5)) +#define JZ_SLCD_TYPE_SERIAL_18_BIT (2 | (3 << 5))#define JZ4740_FB_SPECIAL_TFT_CONFIG (start, stop) (((start) << 16) | (stop))@@ -58,7 +56,7 @@ struct jz4740_fb_platform_data {struct fb_videomode *modes;
Quoted 8 lines
arch/mips/include/asm/mach-jz4740/jz4740_fb.h struct jz4740_fb_platform_data { · line 62
Quoted 6 lines
arch/mips/include/asm/mach-jz4740/jz4740_fb.h +1
-1unsigned int bpp; -enum jz4740_fb_lcd_type lcd_type; +unsigned int lcd_type;struct {uint32_t spl;Nack
Ok.
Thanks for the review!
Signature · 1 line
Maurus Cuelenaere