On 08/25/2016 02:34 PM, Andrea Merello wrote: > drm_simple_display_pipe_init() pretends to attach a connector > to the display pipe. > > In case a drm bridge has to be used, then it's the bridge that > takes care of connectors. > > This patch makes the connector parameter optional for > drm_simple_display_pipe_init(), so that a drm bridge could > handle connector by itself later. >
Pushed to drm-misc. Thanks, Archit > Signed-off-by: Andrea Merello <andrea.merello at gmail.com> > Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> > Cc: David Airlie <airlied at linux.ie> > Cc: Noralf Trønnes <noralf at tronnes.org> > Cc: Daniel Vetter <daniel at ffwll.ch> > --- > drivers/gpu/drm/drm_simple_kms_helper.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/drm_simple_kms_helper.c > b/drivers/gpu/drm/drm_simple_kms_helper.c > index 4476310..3301e4a 100644 > --- a/drivers/gpu/drm/drm_simple_kms_helper.c > +++ b/drivers/gpu/drm/drm_simple_kms_helper.c > @@ -146,10 +146,15 @@ static const struct drm_plane_funcs > drm_simple_kms_plane_funcs = { > * @funcs: callbacks for the display pipe (optional) > * @formats: array of supported formats (DRM_FORMAT\_\*) > * @format_count: number of elements in @formats > - * @connector: connector to attach and register > + * @connector: connector to attach and register (optional) > * > * Sets up a display pipeline which consist of a really simple > - * plane-crtc-encoder pipe coupled with the provided connector. > + * plane-crtc-encoder pipe. > + * > + * If a connector is supplied, the pipe will be coupled with the provided > + * connector. You may supply a NULL connector when using drm bridges, that > + * handle connectors themselves (see > drm_simple_display_pipe_attach_bridge()). > + * > * Teardown of a simple display pipe is all handled automatically by the drm > * core through calling drm_mode_config_cleanup(). Drivers afterwards need > to > * release the memory for the structure themselves. > @@ -188,7 +193,7 @@ int drm_simple_display_pipe_init(struct drm_device *dev, > encoder->possible_crtcs = 1 << drm_crtc_index(crtc); > ret = drm_encoder_init(dev, encoder, &drm_simple_kms_encoder_funcs, > DRM_MODE_ENCODER_NONE, NULL); > - if (ret) > + if (ret || !connector) > return ret; > > return drm_mode_connector_attach_encoder(connector, encoder); > -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project