Lines Matching refs:fbdev
74 struct ht16k33_fbdev fbdev; member
118 struct ht16k33_fbdev *fbdev = &priv->fbdev; in ht16k33_fb_queue() local
120 schedule_delayed_work(&fbdev->work, HZ / fbdev->refresh_rate); in ht16k33_fb_queue()
128 struct ht16k33_fbdev *fbdev = in ht16k33_fb_update() local
131 container_of(fbdev, struct ht16k33_priv, fbdev); in ht16k33_fb_update()
136 p1 = fbdev->cache; in ht16k33_fb_update()
137 p2 = fbdev->buffer; in ht16k33_fb_update()
151 p1 = fbdev->cache + HT16K33_FB_SIZE - 1; in ht16k33_fb_update()
152 p2 = fbdev->buffer + HT16K33_FB_SIZE - 1; in ht16k33_fb_update()
161 p1 = fbdev->cache + first; in ht16k33_fb_update()
162 p2 = fbdev->buffer + first; in ht16k33_fb_update()
234 struct page *pages = virt_to_page(priv->fbdev.buffer); in ht16k33_mmap()
406 struct ht16k33_fbdev *fbdev; in ht16k33_probe() local
425 fbdev = &priv->fbdev; in ht16k33_probe()
460 fbdev->buffer = (unsigned char *) get_zeroed_page(GFP_KERNEL); in ht16k33_probe()
461 if (!fbdev->buffer) in ht16k33_probe()
464 fbdev->cache = devm_kmalloc(&client->dev, HT16K33_FB_SIZE, GFP_KERNEL); in ht16k33_probe()
465 if (!fbdev->cache) { in ht16k33_probe()
470 fbdev->info = framebuffer_alloc(0, &client->dev); in ht16k33_probe()
471 if (!fbdev->info) { in ht16k33_probe()
477 &fbdev->refresh_rate); in ht16k33_probe()
482 fb_bl_default_curve(fbdev->info, 0, MIN_BRIGHTNESS, MAX_BRIGHTNESS); in ht16k33_probe()
484 INIT_DELAYED_WORK(&fbdev->work, ht16k33_fb_update); in ht16k33_probe()
485 fbdev->info->fbops = &ht16k33_fb_ops; in ht16k33_probe()
486 fbdev->info->screen_base = (char __iomem *) fbdev->buffer; in ht16k33_probe()
487 fbdev->info->screen_size = HT16K33_FB_SIZE; in ht16k33_probe()
488 fbdev->info->fix = ht16k33_fb_fix; in ht16k33_probe()
489 fbdev->info->var = ht16k33_fb_var; in ht16k33_probe()
490 fbdev->info->bl_dev = bl; in ht16k33_probe()
491 fbdev->info->pseudo_palette = NULL; in ht16k33_probe()
492 fbdev->info->flags = FBINFO_FLAG_DEFAULT; in ht16k33_probe()
493 fbdev->info->par = priv; in ht16k33_probe()
495 err = register_framebuffer(fbdev->info); in ht16k33_probe()
507 unregister_framebuffer(fbdev->info); in ht16k33_probe()
509 framebuffer_release(fbdev->info); in ht16k33_probe()
511 free_page((unsigned long) fbdev->buffer); in ht16k33_probe()
519 struct ht16k33_fbdev *fbdev = &priv->fbdev; in ht16k33_remove() local
521 cancel_delayed_work_sync(&fbdev->work); in ht16k33_remove()
522 unregister_framebuffer(fbdev->info); in ht16k33_remove()
523 framebuffer_release(fbdev->info); in ht16k33_remove()
524 free_page((unsigned long) fbdev->buffer); in ht16k33_remove()