Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: Remove drm dp mst destroy_connector callbacks

drm_dp_mst_topology_mgr_cbs.destroy_connector callbacks are identical
amongst every driver and don't do anything other than cleaning up the
connector((drm_connector_unregister()/drm_connector_put())) except for
amdgpu_dm driver where some amdgpu_dm specific code in there.

This connector cleaning up is now being handled in the drm core so
driver destroy_connector callbacks are not needed (except for
amdgpu_dm) hence remove them.

Removal is done with below sementic patch:

@r1@
identifier func, E;
@@
struct drm_dp_mst_topology_cbs E = {
...,
- .destroy_connector = func
};

@delete depends on r1@
identifier r1.func;
@@
- static void func(...){...}

Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Suggested-by: Emil Velikov <emil.velikov@collabora.com>
Suggested-by: Lyude Paul <lyude@redhat.com>
Signed-off-by: Lyude Paul <lyude@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200307083023.76498-6-pankaj.laxminarayan.bharadiya@intel.com
Reviewed-by: Lyude Paul <lyude@redhat.com>

authored by

Pankaj Bharadiya and committed by
Lyude Paul
cce81ba6 e1ae63b3

-33
-10
drivers/gpu/drm/i915/display/intel_dp_mst.c
··· 719 719 return NULL; 720 720 } 721 721 722 - static void intel_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, 723 - struct drm_connector *connector) 724 - { 725 - DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n", connector->base.id, connector->name); 726 - drm_connector_unregister(connector); 727 - 728 - drm_connector_put(connector); 729 - } 730 - 731 722 static const struct drm_dp_mst_topology_cbs mst_cbs = { 732 723 .add_connector = intel_dp_add_mst_connector, 733 - .destroy_connector = intel_dp_destroy_mst_connector, 734 724 }; 735 725 736 726 static struct intel_dp_mst_encoder *
-12
drivers/gpu/drm/nouveau/dispnv50/disp.c
··· 1256 1256 } 1257 1257 } 1258 1258 1259 - static void 1260 - nv50_mstm_destroy_connector(struct drm_dp_mst_topology_mgr *mgr, 1261 - struct drm_connector *connector) 1262 - { 1263 - struct nv50_mstc *mstc = nv50_mstc(connector); 1264 - 1265 - drm_connector_unregister(&mstc->connector); 1266 - 1267 - drm_connector_put(&mstc->connector); 1268 - } 1269 - 1270 1259 static struct drm_connector * 1271 1260 nv50_mstm_add_connector(struct drm_dp_mst_topology_mgr *mgr, 1272 1261 struct drm_dp_mst_port *port, const char *path) ··· 1274 1285 static const struct drm_dp_mst_topology_cbs 1275 1286 nv50_mstm = { 1276 1287 .add_connector = nv50_mstm_add_connector, 1277 - .destroy_connector = nv50_mstm_destroy_connector, 1278 1288 }; 1279 1289 1280 1290 void
-11
drivers/gpu/drm/radeon/radeon_dp_mst.c
··· 301 301 return connector; 302 302 } 303 303 304 - static void radeon_dp_destroy_mst_connector(struct drm_dp_mst_topology_mgr *mgr, 305 - struct drm_connector *connector) 306 - { 307 - drm_connector_unregister(connector); 308 - drm_connector_cleanup(connector); 309 - 310 - kfree(connector); 311 - DRM_DEBUG_KMS("\n"); 312 - } 313 - 314 304 static const struct drm_dp_mst_topology_cbs mst_cbs = { 315 305 .add_connector = radeon_dp_add_mst_connector, 316 - .destroy_connector = radeon_dp_destroy_mst_connector, 317 306 }; 318 307 319 308 static struct