[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <9315c6f5-48f6-4f29-1e31-87ab5ed771b5@suse.de>
Date: Tue, 30 Nov 2021 09:31:40 +0100
From: Thomas Zimmermann <tzimmermann@...e.de>
To: Javier Martinez Canillas <javier@...hile0.org>,
Rob Herring <robh+dt@...nel.org>
Cc: Hector Martin <marcan@...can.st>, David Airlie <airlied@...ux.ie>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
dri-devel <dri-devel@...ts.freedesktop.org>,
Alyssa Rosenzweig <alyssa@...enzweig.io>
Subject: Re: [PATCH 1/3] drm/simpledrm: Bind to OF framebuffers in /chosen
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
Download attachment "OpenPGP_signature" of type "application/pgp-signature" (841 bytes)
Powered by blists - more mailing lists