Message ID | 20170321081358.27237-3-thierry.reding@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Mar 21, 2017 at 09:13:50AM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@nvidia.com> > > 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@linaro.org> > Signed-off-by: Thierry Reding <treding@nvidia.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > 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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
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) {