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 57