Lines Matching +full:simple +full:- +full:framebuffer

1 // SPDX-License-Identifier: GPL-2.0-only
3 * framebuffer-coreboot.c
5 * Memory based framebuffer accessed through coreboot table.
7 * Copyright 2012-2013 David Herrmann <dh.herrmann@gmail.com>
15 #include <linux/device-id/coreboot.h>
54 return ERR_PTR(-ENODEV); in framebuffer_parent_pci_dev()
74 return &pdev->dev; in framebuffer_parent_dev()
81 struct lb_framebuffer *fb = &dev->framebuffer; in framebuffer_probe()
88 .width = fb->x_resolution, in framebuffer_probe()
89 .height = fb->y_resolution, in framebuffer_probe()
90 .stride = fb->bytes_per_line, in framebuffer_probe()
100 * not pass a framebuffer information to the Linux kernel. in framebuffer_probe()
105 * that can scan-out using the system provided framebuffer. in framebuffer_probe()
108 return -ENODEV; in framebuffer_probe()
110 if (!fb->physical_address) in framebuffer_probe()
111 return -ENODEV; in framebuffer_probe()
113 res = DEFINE_RES_MEM(fb->physical_address, in framebuffer_probe()
114 PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line)); in framebuffer_probe()
116 return -EINVAL; in framebuffer_probe()
123 pdev = platform_device_register_resndata(parent, "coreboot-framebuffer", 0, in framebuffer_probe()
124 &res, 1, fb, fb->size); in framebuffer_probe()
126 pr_warn("coreboot: could not register framebuffer\n"); in framebuffer_probe()
133 * coreboot-framebuffer devices. Remove support for in framebuffer_probe()
134 * simple-framebuffer at some point. in framebuffer_probe()
137 if (fb->bits_per_pixel == formats[i].bits_per_pixel && in framebuffer_probe()
138 fb->red_mask_pos == formats[i].red.offset && in framebuffer_probe()
139 fb->red_mask_size == formats[i].red.length && in framebuffer_probe()
140 fb->green_mask_pos == formats[i].green.offset && in framebuffer_probe()
141 fb->green_mask_size == formats[i].green.length && in framebuffer_probe()
142 fb->blue_mask_pos == formats[i].blue.offset && in framebuffer_probe()
143 fb->blue_mask_size == formats[i].blue.length) in framebuffer_probe()
147 ret = -ENODEV; in framebuffer_probe()
152 "simple-framebuffer", 0, in framebuffer_probe()
157 pr_warn("coreboot: could not register framebuffer\n"); in framebuffer_probe()
179 .name = "framebuffer",
186 MODULE_DESCRIPTION("Memory based framebuffer accessed through coreboot table");