On Tue, Mar 21, 2017 at 09:13:50AM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > An unlocked version of the drm_fb_helper_add_one_connector() function > will be added in a subsequent patch. Reshuffle the code separately to > make the diff more readable later on. > > Tested-by: John Stultz <john.stultz@xxxxxxxxxx> > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/drm_fb_helper.c | 59 ++++++++++++++++++++--------------------- > 1 file changed, 29 insertions(+), 30 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index 2be1cd949cec..875a49048222 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -109,6 +109,35 @@ static DEFINE_MUTEX(kernel_fb_helper_lock); > for (({ lockdep_assert_held(&(fbh)->dev->mode_config.mutex); }), \ > i__ = 0; i__ < (fbh)->connector_count; i__++) > > +int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) > +{ > + struct drm_fb_helper_connector **temp; > + struct drm_fb_helper_connector *fb_helper_connector; > + > + if (!drm_fbdev_emulation) > + return 0; > + > + WARN_ON(!mutex_is_locked(&fb_helper->dev->mode_config.mutex)); > + if (fb_helper->connector_count + 1 > fb_helper->connector_info_alloc_count) { > + temp = krealloc(fb_helper->connector_info, sizeof(struct drm_fb_helper_connector *) * (fb_helper->connector_count + 1), GFP_KERNEL); > + if (!temp) > + return -ENOMEM; > + > + fb_helper->connector_info_alloc_count = fb_helper->connector_count + 1; > + fb_helper->connector_info = temp; > + } > + > + fb_helper_connector = kzalloc(sizeof(struct drm_fb_helper_connector), GFP_KERNEL); > + if (!fb_helper_connector) > + return -ENOMEM; > + > + drm_connector_get(connector); > + fb_helper_connector->connector = connector; > + fb_helper->connector_info[fb_helper->connector_count++] = fb_helper_connector; > + return 0; > +} > +EXPORT_SYMBOL(drm_fb_helper_add_one_connector); > + > /** > * drm_fb_helper_single_add_all_connectors() - add all connectors to fbdev > * emulation helper > @@ -162,36 +191,6 @@ int drm_fb_helper_single_add_all_connectors(struct drm_fb_helper *fb_helper) > } > EXPORT_SYMBOL(drm_fb_helper_single_add_all_connectors); > > -int drm_fb_helper_add_one_connector(struct drm_fb_helper *fb_helper, struct drm_connector *connector) > -{ > - struct drm_fb_helper_connector **temp; > - struct drm_fb_helper_connector *fb_helper_connector; > - > - if (!drm_fbdev_emulation) > - return 0; > - > - WARN_ON(!mutex_is_locked(&fb_helper->dev->mode_config.mutex)); > - if (fb_helper->connector_count + 1 > fb_helper->connector_info_alloc_count) { > - temp = krealloc(fb_helper->connector_info, sizeof(struct drm_fb_helper_connector *) * (fb_helper->connector_count + 1), GFP_KERNEL); > - if (!temp) > - return -ENOMEM; > - > - fb_helper->connector_info_alloc_count = fb_helper->connector_count + 1; > - fb_helper->connector_info = temp; > - } > - > - > - fb_helper_connector = kzalloc(sizeof(struct drm_fb_helper_connector), GFP_KERNEL); > - if (!fb_helper_connector) > - return -ENOMEM; > - > - drm_connector_get(connector); > - fb_helper_connector->connector = connector; > - fb_helper->connector_info[fb_helper->connector_count++] = fb_helper_connector; > - return 0; > -} > -EXPORT_SYMBOL(drm_fb_helper_add_one_connector); > - > int drm_fb_helper_remove_one_connector(struct drm_fb_helper *fb_helper, > struct drm_connector *connector) > { > -- > 2.12.0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx