Merge tag 'powerpc-6.0-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[linux-2.6-microblaze.git] / include / linux / aperture.h
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
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
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
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  */
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