[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHStOZ6B-R7=5utGqb49OsFBsUsMVsn=WMrzNK8Wk-zcgbnPuA@mail.gmail.com>
Date: Thu, 2 Aug 2018 14:34:44 +0200
From: Maxime Jourdan <maxi.jourdan@...adoo.fr>
To: Jerome Brunet <jbrunet@...libre.com>
Cc: Maxime Jourdan <maxi.jourdan@...adoo.fr>,
Neil Armstrong <narmstrong@...libre.com>,
Kevin Hilman <khilman@...libre.com>,
linux-arm-kernel@...ts.infradead.org,
linux-amlogic <linux-amlogic@...ts.infradead.org>,
linux-kernel@...r.kernel.org, dri-devel@...ts.freedesktop.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH 4/4] drm/meson: convert to the new canvas module
Hi Jerome,
2018-08-02 10:39 GMT+02:00 Jerome Brunet <jbrunet@...libre.com>:
> I looks like the consumer of your 'canvas' devices must know how the canvas
> device is organized internally. Maybe something better can be done ?
>
> Your canvas driver could provide a consumer API, for example:
> meson_canvas_get(): to translate for struct device_node to whatever abstract
> pointer you would need.
> meson_canvas_alloc(), setup(), etc ...
>
> ... This is just adding a bit of indirection but it would help hide the plumbing
> of your canvas driver from the consumers (and repeat this code in each). This
> might be usefull if you ever to make this canvas driver evolve.
Overall the inner workings are hidden as there is an ops struct
instead of public functions.
I agree that the "fetch the node" boilerplate code could be put behind
a helper, but at the same time this code helps remind the developer
that there needs to be a canvas node in the dts, and that it has to be
linked in your own device node.
I would like to keep it that way if that is okay with you.
Powered by blists - more mailing lists