Hi, On 17/07/2025 16:56, Luca Ceresoli wrote: > Hello Jyri, Tomi, Michael, > > On Thu, 17 Jul 2025 09:49:44 +0200 > "Michael Walle" <mwa...@kernel.org> wrote: > >> Hi, >> >> thanks for taking a look! >> >>> However allocating an encoder using a bridge alloc function (while we >>> used to call an encoder allocation function) looks counter-intuitive. >>> >>> We had discussed on IRC a different idea, adding a wrapper structure >>> around the bridge. Quoting your proposal: >>> >>> struct tidss_encoder_bridge { >>> struct drm_bridge bridge; >>> struct tidss_encoder *encoder >>> } >>> >>> and then in the bridge funcs go from drm_bridge to tidss_encoder_brigde >>> and use the pointer to get the original private struct. >> >> I was doing that until I've realized that meson/meson_encoder_* is >> doing it the way this patch does it. > > Which was done by, er, myself. O:-) > > To my excuse, meson was using *_encoder_alloc() but rather > devm_kzalloc() + drm_simple_encoder_init(), and the change was > semi-automated via a coccinelle script, so I didn't fully realize that. > >>> That would be cleaner and more intuitive, but use a bit more memory and >>> have an additional pointer deref, thus I think we can live with the >>> patch you just sent, at least for now. >> >> I'm fine with changing it to the wrapper struct. It's your/the >> maintainers call :) > > I think the driver maintainers opinion is more relevant, but in lack of > one I think we can take the patch as is, given it's already written. > > Jyri, Tomi?
I think this is fine, even though I do agree the tidss_encoder.c is very confusing. I'll pick this up. I think drm-misc-next-fixes is the correct branch here. Tomi