Lines Matching +full:platform +full:- +full:name

1 // SPDX-License-Identifier: MIT
21 * graphics drivers, such as EFI-GOP or VESA, early during the boot process.
23 * hardware-specific driver. To take over the device, the dedicated driver
25 * ownership of framebuffer memory and hand-over between drivers.
30 * An example for a graphics device on the platform bus is shown below.
32 * .. code-block:: c
42 * return -ENODEV;
43 * base = mem->start;
61 * The given example reads the platform device's I/O-memory range from the
68 * While the given example uses a platform device, the aperture helpers work
82 * .. code-block:: c
91 * return -ENODEV;
92 * base = mem->start;
107 * // Hot-unplug the device
124 * another driver. This only works for platform drivers that support hot
153 bool detached = !ap->dev; in devm_aperture_acquire_release()
159 list_del(&ap->lh); in devm_aperture_acquire_release()
175 if (overlap(base, end, ap->base, ap->base + ap->size)) { in devm_aperture_acquire()
177 return -EBUSY; in devm_aperture_acquire()
184 return -ENOMEM; in devm_aperture_acquire()
187 ap->dev = dev; in devm_aperture_acquire()
188 ap->base = base; in devm_aperture_acquire()
189 ap->size = size; in devm_aperture_acquire()
190 ap->detach = detach; in devm_aperture_acquire()
191 INIT_LIST_HEAD(&ap->lh); in devm_aperture_acquire()
193 list_add(&ap->lh, &apertures); in devm_aperture_acquire()
206 * to do for firmware-based fb drivers, such as EFI, VESA or VGA. After in aperture_detach_platform_device()
210 * For non-platform devices, a new callback would be required. in aperture_detach_platform_device()
220 * devm_aperture_acquire_for_platform_device - Acquires ownership of an aperture
221 * on behalf of a platform device.
222 * @pdev: the platform device to own the aperture
227 * expects the aperture to be provided by a platform device. If another
229 * unregister the platform device automatically. All acquired apertures are
243 return devm_aperture_acquire(&pdev->dev, base, size, aperture_detach_platform_device); in devm_aperture_acquire_for_platform_device()
256 struct device *dev = ap->dev; in aperture_detach_devices()
261 if (!overlap(base, end, ap->base, ap->base + ap->size)) in aperture_detach_devices()
264 ap->dev = NULL; /* detach from device */ in aperture_detach_devices()
265 list_del(&ap->lh); in aperture_detach_devices()
267 ap->detach(dev); in aperture_detach_devices()
274 * aperture_remove_conflicting_devices - remove devices in the given range
277 * @name: a descriptive name of the requesting driver
285 const char *name) in aperture_remove_conflicting_devices() argument
288 * If a driver asked to unregister a platform device registered by in aperture_remove_conflicting_devices()
307 * __aperture_remove_legacy_vga_devices - remove legacy VGA devices of a PCI devices
311 * framebuffer or a console. This is useful if you have a VGA-compatible
312 * PCI graphics device with framebuffers in non-BAR locations. Drivers
342 * aperture_remove_conflicting_pci_devices - remove existing framebuffers for PCI devices
344 * @name: a descriptive name of the requesting driver
353 int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name) in aperture_remove_conflicting_pci_devices() argument