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 					const char *name);
18 
19 int __aperture_remove_legacy_vga_devices(struct pci_dev *pdev);
20 
21 int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name);
22 #else
devm_aperture_acquire_for_platform_device(struct platform_device * pdev,resource_size_t base,resource_size_t size)23 static inline int devm_aperture_acquire_for_platform_device(struct platform_device *pdev,
24 							    resource_size_t base,
25 							    resource_size_t size)
26 {
27 	return 0;
28 }
29 
aperture_remove_conflicting_devices(resource_size_t base,resource_size_t size,const char * name)30 static inline int aperture_remove_conflicting_devices(resource_size_t base, resource_size_t size,
31 						      const char *name)
32 {
33 	return 0;
34 }
35 
__aperture_remove_legacy_vga_devices(struct pci_dev * pdev)36 static inline int __aperture_remove_legacy_vga_devices(struct pci_dev *pdev)
37 {
38 	return 0;
39 }
40 
aperture_remove_conflicting_pci_devices(struct pci_dev * pdev,const char * name)41 static inline int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name)
42 {
43 	return 0;
44 }
45 #endif
46 
47 /**
48  * aperture_remove_all_conflicting_devices - remove all existing framebuffers
49  * @name: a descriptive name of the requesting driver
50  *
51  * This function removes all graphics device drivers. Use this function on systems
52  * that can have their framebuffer located anywhere in memory.
53  *
54  * Returns:
55  * 0 on success, or a negative errno code otherwise
56  */
aperture_remove_all_conflicting_devices(const char * name)57 static inline int aperture_remove_all_conflicting_devices(const char *name)
58 {
59 	return aperture_remove_conflicting_devices(0, (resource_size_t)-1, name);
60 }
61 
62 #endif
63