Merge tag 'mm-hotfixes-stable-2023-05-03-16-27' of git://git.kernel.org/pub/scm/linux...
[linux-block.git] / include / linux / aperture.h
CommitLineData
7283f862
TZ
1/* SPDX-License-Identifier: MIT */
2
3#ifndef _LINUX_APERTURE_H_
4#define _LINUX_APERTURE_H_
5
6#include <linux/types.h>
7
8struct pci_dev;
9struct platform_device;
10
11#if defined(CONFIG_APERTURE_HELPERS)
12int devm_aperture_acquire_for_platform_device(struct platform_device *pdev,
13 resource_size_t base,
14 resource_size_t size);
15
16int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t size,
17 bool primary, const char *name);
18
19int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name);
20#else
21static inline int devm_aperture_acquire_for_platform_device(struct platform_device *pdev,
22 resource_size_t base,
23 resource_size_t size)
24{
25 return 0;
26}
27
28static inline int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t size,
29 bool primary, const char *name)
30{
31 return 0;
32}
33
34static inline int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name)
35{
36 return 0;
37}
38#endif
39
40/**
41 * aperture_remove_all_conflicting_devices - remove all existing framebuffers
42 * @primary: also kick vga16fb if present; only relevant for VGA devices
43 * @name: a descriptive name of the requesting driver
44 *
45 * This function removes all graphics device drivers. Use this function on systems
46 * that can have their framebuffer located anywhere in memory.
47 *
48 * Returns:
49 * 0 on success, or a negative errno code otherwise
50 */
51static inline int aperture_remove_all_conflicting_devices(bool primary, const char *name)
52{
53 return aperture_remove_conflicting_devices(0, (resource_size_t)-1, primary, name);
54}
55
56#endif