Re: No more new fbdev drivers, please

From: David Herrmann
Date: Sat Sep 26 2015 - 14:13:14 EST


Hi

On Sat, Sep 26, 2015 at 8:01 PM, Geert Uytterhoeven
<geert@xxxxxxxxxxxxxx> wrote:
> Hi Alex,
>
> On Sat, Sep 26, 2015 at 7:07 PM, Alex Deucher <alexdeucher@xxxxxxxxx> wrote:
>> On Sat, Sep 26, 2015 at 4:28 AM, Geert Uytterhoeven
>> <geert@xxxxxxxxxxxxxx> wrote:
>>> On Thu, Sep 24, 2015 at 5:23 PM, Daniel Vetter <daniel@xxxxxxxx> wrote:
>>>> On Thu, Sep 24, 2015 at 02:46:21PM +0200, Thomas Petazzoni wrote:
>>>>> Or are there some plans to make the writing of DRM drivers for very
>>>>> simple/trivial devices a bit simpler?
>>>>
>>>> Since years I'm trying to sell someone on implementing support for
>>>> drm_simple_outputs which would collapse the crtc->encoder->connector
>>>> chain into 1 entity. Would be trivial to implement and then trivial to
>>>> write simple drivers on top of that. And besides that drm already has
>>>> piles of reallly simple drivers with just one output and one framebuffer.
>>>>
>>>> There's no reason not to use drm for gfx drivers at all.
>>>
>>> Good to hear that!
>>>
>>> For the (mailing list) record, can you please provide some explicit pointers
>>> to these existing really simple drivers?
>>
>> See the tilcdc, ast, mgag200, and udl drivers for example.
>
> Thanks for the list!
>
> The smallest of these (udl) still counts in at ca. 2800 LoC, while there are
> several fbdev drivers that have less than 200 LoC.
> Granted, these really small ones support a single fixed video mode only, but
> you can write a simple fbdev driver with mode setting in less than 1000 LoC.
>
> I'm sure DRM can do better?

Is counting lines really the level of the discussion to go here?

DRM is a big set of helpers, nothing else. If many trivial, small
drivers share common code, developers are more than welcome to
contribute them to drm-core and help making drivers less complex.

As Daniel mentioned, the connector+encoder+crtc combination is one of
those simplifications that would make sense if more such drivers are
added. Furthermore, the not-yet-merged SimpleDRM driver is one example
how to implement multiple of those dumb-fb drivers with a shared
code-base.

Thanks
David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/