diff options
author | Thierry Reding <treding@nvidia.com> | 2013-09-24 15:35:40 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2013-10-31 09:20:10 +0100 |
commit | 53fa7f7204c97dc0c86b99ff8365ad6a7b2ebd78 (patch) | |
tree | dbcbfc81863faa444f29de276f4a6a8e3303b42e /drivers/gpu/host1x/drm/hdmi.c | |
parent | e1e906448d2fc6f5a69e1967e00868f0cbfbb566 (diff) | |
download | op-kernel-dev-53fa7f7204c97dc0c86b99ff8365ad6a7b2ebd78.zip op-kernel-dev-53fa7f7204c97dc0c86b99ff8365ad6a7b2ebd78.tar.gz |
drm/tegra: Introduce tegra_drm_client structure
This structure derives from host1x_client. DRM-specific fields are moved
from host1x_client to this structure, so that host1x_client can remain
agnostic of DRM.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Diffstat (limited to 'drivers/gpu/host1x/drm/hdmi.c')
-rw-r--r-- | drivers/gpu/host1x/drm/hdmi.c | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/drivers/gpu/host1x/drm/hdmi.c b/drivers/gpu/host1x/drm/hdmi.c index 5d8c41c..30ac9e8 100644 --- a/drivers/gpu/host1x/drm/hdmi.c +++ b/drivers/gpu/host1x/drm/hdmi.c @@ -19,7 +19,7 @@ #include "host1x_client.h" struct tegra_hdmi { - struct host1x_client client; + struct tegra_drm_client client; struct tegra_output output; struct device *dev; @@ -43,7 +43,7 @@ struct tegra_hdmi { }; static inline struct tegra_hdmi * -host1x_client_to_hdmi(struct host1x_client *client) +tegra_drm_client_to_hdmi(struct tegra_drm_client *client) { return container_of(client, struct tegra_hdmi, client); } @@ -1116,24 +1116,24 @@ static int tegra_hdmi_debugfs_exit(struct tegra_hdmi *hdmi) return 0; } -static int tegra_hdmi_drm_init(struct host1x_client *client, - struct drm_device *drm) +static int tegra_hdmi_init(struct host1x_client *client) { - struct tegra_hdmi *hdmi = host1x_client_to_hdmi(client); + struct tegra_drm_client *drm = to_tegra_drm_client(client); + struct tegra_hdmi *hdmi = tegra_drm_client_to_hdmi(drm); int err; hdmi->output.type = TEGRA_OUTPUT_HDMI; hdmi->output.dev = client->dev; hdmi->output.ops = &hdmi_ops; - err = tegra_output_init(drm, &hdmi->output); + err = tegra_output_init(drm->drm, &hdmi->output); if (err < 0) { dev_err(client->dev, "output setup failed: %d\n", err); return err; } if (IS_ENABLED(CONFIG_DEBUG_FS)) { - err = tegra_hdmi_debugfs_init(hdmi, drm->primary); + err = tegra_hdmi_debugfs_init(hdmi, drm->drm->primary); if (err < 0) dev_err(client->dev, "debugfs setup failed: %d\n", err); } @@ -1141,9 +1141,10 @@ static int tegra_hdmi_drm_init(struct host1x_client *client, return 0; } -static int tegra_hdmi_drm_exit(struct host1x_client *client) +static int tegra_hdmi_exit(struct host1x_client *client) { - struct tegra_hdmi *hdmi = host1x_client_to_hdmi(client); + struct tegra_drm_client *drm = to_tegra_drm_client(client); + struct tegra_hdmi *hdmi = tegra_drm_client_to_hdmi(drm); int err; if (IS_ENABLED(CONFIG_DEBUG_FS)) { @@ -1169,8 +1170,8 @@ static int tegra_hdmi_drm_exit(struct host1x_client *client) } static const struct host1x_client_ops hdmi_client_ops = { - .drm_init = tegra_hdmi_drm_init, - .drm_exit = tegra_hdmi_drm_exit, + .init = tegra_hdmi_init, + .exit = tegra_hdmi_exit, }; static int tegra_hdmi_probe(struct platform_device *pdev) @@ -1246,11 +1247,11 @@ static int tegra_hdmi_probe(struct platform_device *pdev) hdmi->irq = err; - hdmi->client.ops = &hdmi_client_ops; - INIT_LIST_HEAD(&hdmi->client.list); - hdmi->client.dev = &pdev->dev; + INIT_LIST_HEAD(&hdmi->client.base.list); + hdmi->client.base.ops = &hdmi_client_ops; + hdmi->client.base.dev = &pdev->dev; - err = host1x_register_client(tegra, &hdmi->client); + err = host1x_register_client(tegra, &hdmi->client.base); if (err < 0) { dev_err(&pdev->dev, "failed to register host1x client: %d\n", err); @@ -1268,7 +1269,7 @@ static int tegra_hdmi_remove(struct platform_device *pdev) struct tegra_hdmi *hdmi = platform_get_drvdata(pdev); int err; - err = host1x_unregister_client(tegra, &hdmi->client); + err = host1x_unregister_client(tegra, &hdmi->client.base); if (err < 0) { dev_err(&pdev->dev, "failed to unregister host1x client: %d\n", err); |