Commit c12907be authored by Dmitry Baryshkov's avatar Dmitry Baryshkov

drm/bridge-connector: switch to using drmm allocations

Turn drm_bridge_connector to using drmm_kzalloc() and
drmm_connector_init() and drop the custom destroy function. The
drm_connector_unregister() and fwnode_handle_put() are already handled
by the drm_connector_cleanup() and so are safe to be dropped.
Acked-by: default avatarMaxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240607-bridge-hdmi-connector-v5-2-ab384e6021af@linaro.orgSigned-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 000d1940
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <drm/drm_connector.h> #include <drm/drm_connector.h>
#include <drm/drm_device.h> #include <drm/drm_device.h>
#include <drm/drm_edid.h> #include <drm/drm_edid.h>
#include <drm/drm_managed.h>
#include <drm/drm_modeset_helper_vtables.h> #include <drm/drm_modeset_helper_vtables.h>
#include <drm/drm_probe_helper.h> #include <drm/drm_probe_helper.h>
...@@ -193,19 +194,6 @@ drm_bridge_connector_detect(struct drm_connector *connector, bool force) ...@@ -193,19 +194,6 @@ drm_bridge_connector_detect(struct drm_connector *connector, bool force)
return status; return status;
} }
static void drm_bridge_connector_destroy(struct drm_connector *connector)
{
struct drm_bridge_connector *bridge_connector =
to_drm_bridge_connector(connector);
drm_connector_unregister(connector);
drm_connector_cleanup(connector);
fwnode_handle_put(connector->fwnode);
kfree(bridge_connector);
}
static void drm_bridge_connector_debugfs_init(struct drm_connector *connector, static void drm_bridge_connector_debugfs_init(struct drm_connector *connector,
struct dentry *root) struct dentry *root)
{ {
...@@ -224,7 +212,6 @@ static const struct drm_connector_funcs drm_bridge_connector_funcs = { ...@@ -224,7 +212,6 @@ static const struct drm_connector_funcs drm_bridge_connector_funcs = {
.reset = drm_atomic_helper_connector_reset, .reset = drm_atomic_helper_connector_reset,
.detect = drm_bridge_connector_detect, .detect = drm_bridge_connector_detect,
.fill_modes = drm_helper_probe_single_connector_modes, .fill_modes = drm_helper_probe_single_connector_modes,
.destroy = drm_bridge_connector_destroy,
.atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state, .atomic_duplicate_state = drm_atomic_helper_connector_duplicate_state,
.atomic_destroy_state = drm_atomic_helper_connector_destroy_state, .atomic_destroy_state = drm_atomic_helper_connector_destroy_state,
.debugfs_init = drm_bridge_connector_debugfs_init, .debugfs_init = drm_bridge_connector_debugfs_init,
...@@ -328,7 +315,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, ...@@ -328,7 +315,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
int connector_type; int connector_type;
int ret; int ret;
bridge_connector = kzalloc(sizeof(*bridge_connector), GFP_KERNEL); bridge_connector = drmm_kzalloc(drm, sizeof(*bridge_connector), GFP_KERNEL);
if (!bridge_connector) if (!bridge_connector)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
...@@ -383,7 +370,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm, ...@@ -383,7 +370,7 @@ struct drm_connector *drm_bridge_connector_init(struct drm_device *drm,
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
} }
ret = drm_connector_init_with_ddc(drm, connector, ret = drmm_connector_init(drm, connector,
&drm_bridge_connector_funcs, &drm_bridge_connector_funcs,
connector_type, ddc); connector_type, ddc);
if (ret) { if (ret) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment