mbox series

[v4,0/2] firmware: Avoid coreboot and sysfb to register a pdev for same framebuffer

Message ID 20240916110040.1688511-1-javierm@redhat.com (mailing list archive)
Headers show
Series firmware: Avoid coreboot and sysfb to register a pdev for same framebuffer | expand

Message

Javier Martinez Canillas Sept. 16, 2024, 11 a.m. UTC
Hello,

This is v4 of a fix to prevent both coreboot and sysfb drivers to register
a platform device to setup a system framebuffer. It has been converted to
a series since contains changes for both drivers, to prevent build issues
on architectures that don't define a global struct screen_info.

Patch #1 adds a sysfb_handles_screen_info() helper that can be used by
drivers to check whether sysfb can use the data set in screen_info or not.

Patch #2 makes the framebuffer_coreboot driver to use that helper to know
if has to setup the system framebuffer or delegate that action to sysfb.

I haven't dropped the collected tags from patch #2 due the logic being
basically the same than in v3.

The patches have only been compiled tested because I don't have access to
a coreboot machine. Please let me know if you plan to merge both patches
through the chrome-platforms tree or if you prefer to get merged through
the drm-misc tree.

Best regards,
Javier

Changes in v4:
- New patch to add sysfb_handles_screen_info() helper (Thomas Zimmermann).
- Use a sysfb_handles_screen_info() helper instead of screen_info_video_type()
  to fix build errors on platforms that don't define a struct screen_info
  (Thomas Zimmermann).

Changes in v3:
- Fix coreboot spelling to be all in lowercase (Julius Werner).

Changes in v2:
- Declare the struct screen_info as constant variable (Thomas Zimmermann).
- Use screen_info_video_type() instead of checking the screen_info video
  types directly (Thomas Zimmermann).
- Fix missing "device" word in a comment (Brian Norris).
- Fix some mispellings in a comment (Brian Norris).
- Change error code returned from -EINVAL to -ENODEV (Brian Norris).

Javier Martinez Canillas (2):
  firmware: sysfb: Add a sysfb_handles_screen_info() helper function
  firmware: coreboot: Don't register a pdev if screen_info data is
    present

 .../firmware/google/framebuffer-coreboot.c    | 14 ++++++++++++++
 drivers/firmware/sysfb.c                      | 19 +++++++++++++++++++
 include/linux/sysfb.h                         |  7 +++++++
 3 files changed, 40 insertions(+)

Comments

Tzung-Bi Shih Sept. 19, 2024, 7:40 a.m. UTC | #1
On Mon, Sep 16, 2024 at 01:00:24PM +0200, Javier Martinez Canillas wrote:
> The patches have only been compiled tested because I don't have access to
> a coreboot machine. Please let me know if you plan to merge both patches
> through the chrome-platforms tree or if you prefer to get merged through
> the drm-misc tree.
> 
> [...]
> Javier Martinez Canillas (2):
>   firmware: sysfb: Add a sysfb_handles_screen_info() helper function
>   firmware: coreboot: Don't register a pdev if screen_info data is
>     present

I'll queue both patches through the chrome-platform tree for v6.13 if there is
no objections.
Javier Martinez Canillas Sept. 19, 2024, 8:27 a.m. UTC | #2
Tzung-Bi Shih <tzungbi@kernel.org> writes:

Hello Tzung-Bi,

> On Mon, Sep 16, 2024 at 01:00:24PM +0200, Javier Martinez Canillas wrote:
>> The patches have only been compiled tested because I don't have access to
>> a coreboot machine. Please let me know if you plan to merge both patches
>> through the chrome-platforms tree or if you prefer to get merged through
>> the drm-misc tree.
>> 
>> [...]
>> Javier Martinez Canillas (2):
>>   firmware: sysfb: Add a sysfb_handles_screen_info() helper function
>>   firmware: coreboot: Don't register a pdev if screen_info data is
>>     present
>
> I'll queue both patches through the chrome-platform tree for v6.13 if there is
> no objections.
>

That works for me. Thanks a lot.
Tzung-Bi Shih Sept. 30, 2024, 1:44 a.m. UTC | #3
On Mon, Sep 16, 2024 at 01:00:24PM +0200, Javier Martinez Canillas wrote:
> This is v4 of a fix to prevent both coreboot and sysfb drivers to register
> a platform device to setup a system framebuffer. It has been converted to
> a series since contains changes for both drivers, to prevent build issues
> on architectures that don't define a global struct screen_info.
> 
> Patch #1 adds a sysfb_handles_screen_info() helper that can be used by
> drivers to check whether sysfb can use the data set in screen_info or not.
> 
> [...]

Applied to

    https://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git for-firmware-next

[1/2] firmware: sysfb: Add a sysfb_handles_screen_info() helper function
      commit: 6074e905023d09f64f2c896f475820a5623deb2c
[2/2] firmware: coreboot: Don't register a pdev if screen_info data is present
      commit: 67f488dff17e535ac3a8a52b47ff1363d8134983

Thanks!