mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
drm/msm/dp: store dp_display in the driver data
Store the dp_display in the platform driver data instead of the dp_display_private. This is required to allow other sub-modules to reuse the platform driver data. Changes in v3: none Changes in v4: none Changes in v5: none Changes in v6: rebase on top of latest patchset of dependency Signed-off-by: Abhinav Kumar <abhinavk@codeaurora.org> Signed-off-by: Rob Clark <robdclark@chromium.org>
This commit is contained in:
parent
8ede2ecc3e
commit
061eb621fc
@ -181,11 +181,11 @@ static int dp_display_bind(struct device *dev, struct device *master,
|
||||
struct dp_display_private *dp;
|
||||
struct drm_device *drm;
|
||||
struct msm_drm_private *priv;
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
|
||||
drm = dev_get_drvdata(master);
|
||||
|
||||
dp = platform_get_drvdata(pdev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
if (!dp) {
|
||||
DRM_ERROR("DP driver bind failed. Invalid driver data\n");
|
||||
return -EINVAL;
|
||||
@ -220,11 +220,11 @@ static void dp_display_unbind(struct device *dev, struct device *master,
|
||||
void *data)
|
||||
{
|
||||
struct dp_display_private *dp;
|
||||
struct platform_device *pdev = to_platform_device(dev);
|
||||
struct drm_device *drm = dev_get_drvdata(master);
|
||||
struct msm_drm_private *priv = drm->dev_private;
|
||||
|
||||
dp = platform_get_drvdata(pdev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
if (!dp) {
|
||||
DRM_ERROR("Invalid DP driver data\n");
|
||||
return;
|
||||
@ -359,7 +359,8 @@ static int dp_display_usbpd_configure_cb(struct device *dev)
|
||||
goto end;
|
||||
}
|
||||
|
||||
dp = dev_get_drvdata(dev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
if (!dp) {
|
||||
DRM_ERROR("no driver data found\n");
|
||||
rc = -ENODEV;
|
||||
@ -383,7 +384,8 @@ static int dp_display_usbpd_disconnect_cb(struct device *dev)
|
||||
int rc = 0;
|
||||
struct dp_display_private *dp;
|
||||
|
||||
dp = dev_get_drvdata(dev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
|
||||
dp_add_event(dp, EV_USER_NOTIFICATION, false, 0);
|
||||
|
||||
@ -435,7 +437,8 @@ static int dp_display_usbpd_attention_cb(struct device *dev)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
dp = dev_get_drvdata(dev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
if (!dp) {
|
||||
DRM_ERROR("no driver data found\n");
|
||||
return -ENODEV;
|
||||
@ -1070,12 +1073,14 @@ static int dp_display_probe(struct platform_device *pdev)
|
||||
return -EPROBE_DEFER;
|
||||
}
|
||||
|
||||
platform_set_drvdata(pdev, dp);
|
||||
|
||||
mutex_init(&dp->event_mutex);
|
||||
|
||||
init_completion(&dp->resume_comp);
|
||||
|
||||
g_dp_display = &dp->dp_display;
|
||||
|
||||
platform_set_drvdata(pdev, g_dp_display);
|
||||
|
||||
rc = component_add(&pdev->dev, &dp_display_comp_ops);
|
||||
if (rc) {
|
||||
DRM_ERROR("component add failed, rc=%d\n", rc);
|
||||
@ -1089,7 +1094,8 @@ static int dp_display_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct dp_display_private *dp;
|
||||
|
||||
dp = platform_get_drvdata(pdev);
|
||||
dp = container_of(g_dp_display,
|
||||
struct dp_display_private, dp_display);
|
||||
|
||||
dp_display_deinit_sub_modules(dp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user