# HG changeset patch # User Paul Boddie # Date 1453666697 -3600 # Node ID 6400d86806d5ff2bf59cb1d672c7bbe6618618c5 # Parent 5d76620989dfa217d0beadac50295ddb869dfc99 Use proper pointer arithmetic to initialise structure pointer members. diff -r 5d76620989df -r 6400d86806d5 stage2/jzlcd.c --- a/stage2/jzlcd.c Sun Jan 24 21:04:35 2016 +0100 +++ b/stage2/jzlcd.c Sun Jan 24 21:18:17 2016 +0100 @@ -99,11 +99,13 @@ static void jz_lcd_desc_init(vidinfo_t *vid) { + struct jz_fb_dma_descriptor *descriptors; struct jz_fb_info * fbi; fbi = &vid->jz_fb; - fbi->dmadesc_fblow = (struct jz_fb_dma_descriptor *)((unsigned int)fbi->palette - 3*16); - fbi->dmadesc_fbhigh = (struct jz_fb_dma_descriptor *)((unsigned int)fbi->palette - 2*16); - fbi->dmadesc_palette = (struct jz_fb_dma_descriptor *)((unsigned int)fbi->palette - 1*16); + descriptors = ((struct jz_fb_dma_descriptor *) fbi->palette) - 3; + fbi->dmadesc_fblow = (struct jz_fb_dma_descriptor *) &descriptors[0]; + fbi->dmadesc_fbhigh = (struct jz_fb_dma_descriptor *) &descriptors[1]; + fbi->dmadesc_palette = (struct jz_fb_dma_descriptor *) &descriptors[2]; /* populate descriptors */ fbi->dmadesc_fblow->fdadr = virt_to_phys(fbi->dmadesc_fblow);