diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-19 10:25:47 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2024-11-19 10:25:47 -0800 |
commit | 1af29b34ea7f63c3e7225c324ffa86c9748874e4 (patch) | |
tree | f333c1ef6bd525fa947874cbbb318fe0d6bff7d5 /drivers/firmware/sysfb.c | |
parent | 78516f4aefff408bdc2e867b996065279c5dc89a (diff) | |
parent | 32b0901e141f6d4cf49d820b53eb09b88b1f72f7 (diff) |
Merge tag 'chrome-platform-firmware-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
Pull chrome platform firmware updates from Tzung-Bi Shih:
- Do not double register "simple-framebuffer" platform device if
Generic System Framebuffers (sysfb) already did that
- Fix a missing of unregistering platform driver in error handling path
* tag 'chrome-platform-firmware-for-6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
firmware: google: Unregister driver_info on failure
firmware: coreboot: Don't register a pdev if screen_info data is present
firmware: sysfb: Add a sysfb_handles_screen_info() helper function
Diffstat (limited to 'drivers/firmware/sysfb.c')
-rw-r--r-- | drivers/firmware/sysfb.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/firmware/sysfb.c b/drivers/firmware/sysfb.c index a3df782fa687..7c5c03f274b9 100644 --- a/drivers/firmware/sysfb.c +++ b/drivers/firmware/sysfb.c @@ -79,6 +79,25 @@ void sysfb_disable(struct device *dev) } EXPORT_SYMBOL_GPL(sysfb_disable); +/** + * sysfb_handles_screen_info() - reports if sysfb handles the global screen_info + * + * Callers can use sysfb_handles_screen_info() to determine whether the Generic + * System Framebuffers (sysfb) can handle the global screen_info data structure + * or not. Drivers might need this information to know if they have to setup the + * system framebuffer, or if they have to delegate this action to sysfb instead. + * + * Returns: + * True if sysfb handles the global screen_info data structure. + */ +bool sysfb_handles_screen_info(void) +{ + const struct screen_info *si = &screen_info; + + return !!screen_info_video_type(si); +} +EXPORT_SYMBOL_GPL(sysfb_handles_screen_info); + #if defined(CONFIG_PCI) static bool sysfb_pci_dev_is_enabled(struct pci_dev *pdev) { |