diff options
| author | Thomas Zimmermann <tzimmermann@suse.de> | 2024-02-12 12:06:10 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2024-08-11 13:47:15 +0300 |
| commit | f5dce77f3f7dc7eac3907f40121f2575ea078711 (patch) | |
| tree | f6e55a432e97c612e419b6a67afed04ab34b5bc7 /include/linux/screen_info.h | |
| parent | 5b4d995dfdd0d5823c302b43c9d78750889d69ce (diff) | |
| download | linux-f5dce77f3f7dc7eac3907f40121f2575ea078711.tar.xz | |
video: Provide screen_info_get_pci_dev() to find screen_info's PCI device
[ Upstream commit 036105e3a776b6fc2fe0d262896a23ff2cc2e6b1 ]
Add screen_info_get_pci_dev() to find the PCI device of an instance
of screen_info. Does nothing on systems without PCI bus.
v3:
* search PCI device with pci_get_base_class() (Sui)
v2:
* remove ret from screen_info_pci_dev() (Javier)
Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240212090736.11464-3-tzimmermann@suse.de
Stable-dep-of: c2bc958b2b03 ("fbdev: vesafb: Detect VGA compatibility from screen info's VESA attributes")
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'include/linux/screen_info.h')
| -rw-r--r-- | include/linux/screen_info.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/screen_info.h b/include/linux/screen_info.h index e7a02c5609d1..0eae08e3c6f9 100644 --- a/include/linux/screen_info.h +++ b/include/linux/screen_info.h @@ -9,6 +9,7 @@ */ #define SCREEN_INFO_MAX_RESOURCES 3 +struct pci_dev; struct resource; static inline bool __screen_info_has_lfb(unsigned int type) @@ -104,6 +105,15 @@ static inline unsigned int screen_info_video_type(const struct screen_info *si) ssize_t screen_info_resources(const struct screen_info *si, struct resource *r, size_t num); +#if defined(CONFIG_PCI) +struct pci_dev *screen_info_pci_dev(const struct screen_info *si); +#else +static inline struct pci_dev *screen_info_pci_dev(const struct screen_info *si) +{ + return NULL; +} +#endif + extern struct screen_info screen_info; #endif /* _SCREEN_INFO_H */ |
