drm/bridge: ti-sn65dsi86: Clean debugfs code
Let's cleanup the debugfs code to: - Check for errors. - Use devm to manage freeing, which also means we don't need to store a pointer in our structure. Signed-off-by: Douglas Anderson <dianders@chromium.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Link: https://patchwork.freedesktop.org/patch/msgid/20210423095743.v5.5.I5fe072753290c6a77eda736ebd5778e17b7cb0fb@changeid
This commit is contained in:
parent
dea2500a82
commit
52d54819c8
|
@ -118,7 +118,6 @@
|
|||
* @aux: Our aux channel.
|
||||
* @bridge: Our bridge.
|
||||
* @connector: Our connector.
|
||||
* @debugfs: Used for managing our debugfs.
|
||||
* @host_node: Remote DSI node.
|
||||
* @dsi: Our MIPI DSI source.
|
||||
* @edid: Detected EDID of eDP panel.
|
||||
|
@ -146,7 +145,6 @@ struct ti_sn65dsi86 {
|
|||
struct drm_dp_aux aux;
|
||||
struct drm_bridge bridge;
|
||||
struct drm_connector connector;
|
||||
struct dentry *debugfs;
|
||||
struct edid *edid;
|
||||
struct device_node *host_node;
|
||||
struct mipi_dsi_device *dsi;
|
||||
|
@ -245,18 +243,31 @@ static int status_show(struct seq_file *s, void *data)
|
|||
|
||||
DEFINE_SHOW_ATTRIBUTE(status);
|
||||
|
||||
static void ti_sn65dsi86_debugfs_init(struct ti_sn65dsi86 *pdata)
|
||||
static void ti_sn65dsi86_debugfs_remove(void *data)
|
||||
{
|
||||
pdata->debugfs = debugfs_create_dir(dev_name(pdata->dev), NULL);
|
||||
|
||||
debugfs_create_file("status", 0600, pdata->debugfs, pdata,
|
||||
&status_fops);
|
||||
debugfs_remove_recursive(data);
|
||||
}
|
||||
|
||||
static void ti_sn65dsi86_debugfs_remove(struct ti_sn65dsi86 *pdata)
|
||||
static void ti_sn65dsi86_debugfs_init(struct ti_sn65dsi86 *pdata)
|
||||
{
|
||||
debugfs_remove_recursive(pdata->debugfs);
|
||||
pdata->debugfs = NULL;
|
||||
struct device *dev = pdata->dev;
|
||||
struct dentry *debugfs;
|
||||
int ret;
|
||||
|
||||
debugfs = debugfs_create_dir(dev_name(dev), NULL);
|
||||
|
||||
/*
|
||||
* We might get an error back if debugfs wasn't enabled in the kernel
|
||||
* so let's just silently return upon failure.
|
||||
*/
|
||||
if (IS_ERR_OR_NULL(debugfs))
|
||||
return;
|
||||
|
||||
ret = devm_add_action_or_reset(dev, ti_sn65dsi86_debugfs_remove, debugfs);
|
||||
if (ret)
|
||||
return;
|
||||
|
||||
debugfs_create_file("status", 0600, debugfs, pdata, &status_fops);
|
||||
}
|
||||
|
||||
/* Connector funcs */
|
||||
|
@ -1317,8 +1328,6 @@ static int ti_sn65dsi86_remove(struct i2c_client *client)
|
|||
|
||||
kfree(pdata->edid);
|
||||
|
||||
ti_sn65dsi86_debugfs_remove(pdata);
|
||||
|
||||
drm_bridge_remove(&pdata->bridge);
|
||||
|
||||
of_node_put(pdata->host_node);
|
||||
|
|
Loading…
Reference in New Issue