> > > > @@ -2305,6 +2360,11 @@ struct drm_connector { > > > > * @cec: CEC-related data. > > > > */ > > > > struct drm_connector_cec cec; > > > > + > > > > + /** > > > > + * @writeback: Writeback related valriables. > > > > + */ > > > > + struct drm_writeback_connector writeback; > > > > > > No, sorry, that's a bad idea. Most connectors have nothing to do > > > with writeback, you shouldn't introduce writeback-specific fields here. > > > drm_writeback_connector happens to be a drm_connector because of > > > historical reasons (it was decided to reuse the connector API > > > exposed to userspace instead of exposing a completely separate API > > > in order to simplify the implementation), but that does not mean > > > that every connector is related to writeback. > > > > > > I don't know what issues the Intel driver(s) have with > > > drm_writeback_connector, but you shouldn't make things worse for > > > everybody due to a driver problem. > > > > Suraj is trying to solve a problem that in Intel code every > > drm_connector must be an intel_connector too. His previous attempt > > resulted in a loose abstraction where drm_writeback_connector.base > > wasn't initialized in some cases (which is a bad idea IMO). > > > > I know the historical reasons for drm_writeback_connector, but I think > > we can do better now. > > > > So, I think, a proper approach would be: > > > > struct drm_connector { > > // other fields > > > > union { > > struct drm_connector_hdmi hdmi; // we already have it > > struct drm_connector_wb wb; // this is new > > }; > > > > // rest of the fields. > > }; > > I still don't like that. This really doesn't belong here. If anything, the > drm_connector for writeback belongs to drm_crtc. > > If the issue is that some drivers need a custom drm_connector subclass, then > I'd rather turn the connector field of drm_writeback_connector into a pointer. >
This design or turning drm_connector to inside drm_writeback_connector to a pointer I am okay either way. Regards, Suraj Kandpal > > I plan to add drm_connector_dp in a similar way, covering DP needs > > (currently WIP). > > -- > Regards, > > Laurent Pinchart