1 /* SPDX-License-Identifier: MIT */
2
3 #ifndef _LINUX_APERTURE_H_
4 #define _LINUX_APERTURE_H_
5
6 #include <linux/types.h>
7
8 struct pci_dev;
9 struct platform_device;
10
11 #if defined(CONFIG_APERTURE_HELPERS)
12 int devm_aperture_acquire_for_platform_device(struct platform_device *pdev,
13 resource_size_t base,
14 resource_size_t size);
15
16 int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t size,
17 bool primary, const char *name);
18
19 int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name);
20 #else
devm_aperture_acquire_for_platform_device(struct platform_device * pdev,resource_size_t base,resource_size_t size)21 static 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
aperture_remove_conflicting_devices(resource_size_t base,resource_size_t size,bool primary,const char * name)28 static 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
aperture_remove_conflicting_pci_devices(struct pci_dev * pdev,const char * name)34 static 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 */
aperture_remove_all_conflicting_devices(bool primary,const char * name)51 static 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
57