On 01/04/14 15:39, [email protected] wrote:
> From: Jon Ringle <[email protected]>
> 
> 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 <[email protected]>
> ---
>  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


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to