[PATCH 1/3] drm/simpledrm: Bind to OF framebuffers in /chosen
Thomas Zimmermann
tzimmermann at suse.de
Tue Nov 30 08:31:40 UTC 2021
Hi
Am 30.11.21 um 07:44 schrieb Javier Martinez Canillas:
>>>>
>>>> Simpledrm is just a driver, but this is platform setup code. Why is this
>>>> code located here and not under arch/ or drivers/firmware/?
>>>>
>
> Agreed. Creating platform devices is something for platform code and
> not really a DRM driver.
>
>>>> I know that other drivers do similar things, it doesn't seem to belong here.
>>>
>
> Yeah, the simplefb driver does this but that seems like something that
> should be changed.
>
>>> This definitely doesn't belong in either of those, since it is not arch-
>>> or firmware-specific. It is implementing support for the standard
>>> simple-framebuffer OF binding, which specifies that it must be located
>>> within the /chosen node (and thus the default OF setup code won't do the
>>> matching for you); this applies to all OF platforms [1]
>>>
>>> Adding Rob; do you think this should move from simplefb/simpledrm to
>>> common OF code? (where?)
>>
>> of_platform_default_populate_init() should work.
>
> That should work but I still wonder if it is the correct place to add
> this logic.
>
> I think that instead it could be done in the sysfb_create_simplefb()
> function [0], which already creates the "simple-framebuffer" device
> for x86 legacy BIOS and x86/arm64/riscv EFI so it makes sense to do
> the same for OF. That way the simplefb platform device registration
> code could also be dropped from the driver and users would just need
> to enable CONFIG_SYSFB and CONFIG_SYSFB_SIMPLEFB to have the same.
>
> I have a couple of boards with a bootloader that populates a
> "simple-framebuffer" in the /chosen node so I could attempt to write
> the patches. But probably won't happen until next week.
IMHO it's better to keep the OF-related setup in the OF code. The sysfb
code is for screen_info. We can try to find common code for OF and sysfb
that then lives in a shared location.
Using a single global screen_info variable is somewhat awkward these
days. In the long term, I can think of pushing sysfb code into
architectures. Each architecture would then setup the platform devices
that it supports. But that's not really important right now.
Best regards
Thomas
>
> [0]: https://elixir.bootlin.com/linux/v5.16-rc3/source/drivers/firmware/sysfb_simplefb.c#L60
>
> Best regards,
> Javier
>
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20211130/f05331b9/attachment.sig>
More information about the dri-devel
mailing list