Re: [PATCH v3 2/2] video: da8xx-fb: Fix casting of info->pseudo_palette
From: Tomi Valkeinen <hidden>
Date: 2014-04-04 10:50:14
Also in:
lkml
Attachments
- signature.asc [application/pgp-signature] 836 bytes
From: Tomi Valkeinen <hidden>
Date: 2014-04-04 10:50:14
Also in:
lkml
On 01/04/14 15:39, jon@ringle.org wrote:
From: Jon Ringle <redacted> The casting to (u16 *) on info->pseudo_palette is wrong and causes the display to show a blue (garbage) vertical line on every other pixel column Signed-off-by: Jon Ringle <redacted> --- drivers/video/da8xx-fb.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-)diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c index 233f65f..c17f901 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c@@ -678,15 +678,7 @@ static int fb_setcolreg(unsigned regno, unsigned red, unsigned green, (green << info->var.green.offset) | (blue << info->var.blue.offset); - switch (info->var.bits_per_pixel) { - case 16: - ((u16 *) (info->pseudo_palette))[regno] = v; - break; - case 24: - case 32: - ((u32 *) (info->pseudo_palette))[regno] = v; - break; - } + ((u32 *) (info->pseudo_palette))[regno] = v; if (palette[0] != 0x4000) { update_hw = 1; palette[0] = 0x4000;
Thanks. I wonder why the pseudo_palette in fb.h is 'void *' in the first place. It seems to be cast to 'u32 *' everywhere... Tomi