Date:2010-06-01 10:58:19 (13 years 9 months ago)
Author:Lars C.
Commit:f6cda2a5e148d58a142bb5bd0e0b9512ee1fa349
Message:jz4740: fb: Small cleanups

Files: drivers/video/jz4740_fb.c (8 diffs)

Change Details

drivers/video/jz4740_fb.c
146146    .accel = FB_ACCEL_NONE,
147147};
148148
149const static struct jz_gpio_bulk_request jz_lcd_ctrl_pins[] = {
149static const struct jz_gpio_bulk_request jz_lcd_ctrl_pins[] = {
150150    JZ_GPIO_BULK_PIN(LCD_PCLK),
151151    JZ_GPIO_BULK_PIN(LCD_HSYNC),
152152    JZ_GPIO_BULK_PIN(LCD_VSYNC),
...... 
155155    JZ_GPIO_BULK_PIN(LCD_REV),
156156};
157157
158const static struct jz_gpio_bulk_request jz_lcd_data_pins[] = {
158static const struct jz_gpio_bulk_request jz_lcd_data_pins[] = {
159159    JZ_GPIO_BULK_PIN(LCD_DATA0),
160160    JZ_GPIO_BULK_PIN(LCD_DATA1),
161161    JZ_GPIO_BULK_PIN(LCD_DATA2),
...... 
218218    return num;
219219}
220220
221/* Based on CNVT_TOHW macro from skeletonfb.c */
222static inline uint32_t jzfb_convert_color_to_hw(unsigned val,
223    struct fb_bitfield *bf)
224{
225    return (((val << bf->length) + 0x7FFF - val) >> 16) << bf->offset;
226}
227
221228static int jzfb_setcolreg(unsigned regno, unsigned red, unsigned green,
222229            unsigned blue, unsigned transp, struct fb_info *fb)
223230{
...... 
226233    if (regno >= 16)
227234        return -EINVAL;
228235
229#define CNVT_TOHW(val,width) ((((val)<<(width))+0x7FFF-(val))>>16)
230    red = CNVT_TOHW(red, fb->var.red.length);
231    green = CNVT_TOHW(green, fb->var.green.length);
232    blue = CNVT_TOHW(blue, fb->var.blue.length);
233    transp = CNVT_TOHW(transp, fb->var.transp.length);
234#undef CNVT_TOHW
236    color = jzfb_convert_color_to_hw(red, fb->var.red.length);
237    color |= jzfb_convert_color_to_hw(green, fb->var.green.length);
238    color |= jzfb_convert_color_to_hw(blue, fb->var.blue.length);
239    color |= jzfb_convert_color_to_hw(transp, fb->var.transp.length);
235240
236    color = (red << fb->var.red.offset) |
237        (green << fb->var.green.offset) |
238        (blue << fb->var.blue.offset) |
239        (transp << fb->var.transp.offset);
240
241    ((uint32_t*)(fb->pseudo_palette))[regno] = color;
241    ((uint32_t *)(fb->pseudo_palette))[regno] = color;
242242
243243    return 0;
244244}
...... 
256256    }
257257}
258258
259static struct fb_videomode *jzfb_get_mode(struct jzfb *jzfb, struct fb_var_screeninfo *var)
259static struct fb_videomode *jzfb_get_mode(struct jzfb *jzfb,
260    struct fb_var_screeninfo *var)
260261{
261262    size_t i;
262263    struct fb_videomode *mode = jzfb->pdata->modes;
...... 
535536    max_videosize *= jzfb_get_controller_bpp(jzfb) >> 3;
536537
537538    jzfb->framedesc = dma_alloc_coherent(&jzfb->pdev->dev,
538                    sizeof(*jzfb->framedesc),
539                    &jzfb->framedesc_phys, GFP_KERNEL);
539                    sizeof(*jzfb->framedesc),
540                    &jzfb->framedesc_phys, GFP_KERNEL);
540541
541542    if (!jzfb->framedesc)
542543        return -ENOMEM;
543544
544545    jzfb->vidmem_size = PAGE_ALIGN(max_videosize);
545546    jzfb->vidmem = dma_alloc_coherent(&jzfb->pdev->dev,
546                        jzfb->vidmem_size,
547                        &jzfb->vidmem_phys, GFP_KERNEL);
547                    jzfb->vidmem_size,
548                    &jzfb->vidmem_phys, GFP_KERNEL);
548549
549550    if (!jzfb->vidmem)
550551        goto err_free_framedesc;
...... 
555556        SetPageReserved(virt_to_page(page));
556557    }
557558
558
559559    jzfb->framedesc->next = jzfb->framedesc_phys;
560560    jzfb->framedesc->addr = jzfb->vidmem_phys;
561561    jzfb->framedesc->id = 0xdeafbead;
...... 
603603    }
604604
605605    mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
606
607606    if (!mem) {
608607        dev_err(&pdev->dev, "Failed to get register memory resource\n");
609608        return -ENOENT;
610609    }
611610
612611    mem = request_mem_region(mem->start, resource_size(mem), pdev->name);
613
614612    if (!mem) {
615613        dev_err(&pdev->dev, "Failed to request register memory region\n");
616614        return -EBUSY;
617615    }
618616
619
620617    fb = framebuffer_alloc(sizeof(struct jzfb), &pdev->dev);
621
622618    if (!fb) {
623619        dev_err(&pdev->dev, "Failed to allocate framebuffer device\n");
624620        ret = -ENOMEM;

Archive Download the corresponding diff file



interactive