drm_mode_config_reset() has a dual role: it creates the initial KMS
state at probe time, and resets hardware and software state during
suspend/resume cycles.

Since the two roles need different behaviors (notably for objects like
drm_private_obj that must persist across suspend/resume),
drm_mode_config_create_initial_state() was introduced to handle only
the initial state creation at probe time.

Switch to drm_mode_config_create_initial_state().

Signed-off-by: Maxime Ripard <[email protected]>
---
Cc: Dave Airlie <[email protected]>
Cc: Jocelyn Falempe <[email protected]>
---
 drivers/gpu/drm/mgag200/mgag200_g200.c    | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200eh.c  | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200eh3.c | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200eh5.c | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200er.c  | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200ev.c  | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200ew3.c | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200se.c  | 4 +++-
 drivers/gpu/drm/mgag200/mgag200_g200wb.c  | 4 +++-
 9 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_g200.c 
b/drivers/gpu/drm/mgag200/mgag200_g200.c
index 9e6b4618fadd..d4788cdf64d7 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200.c
@@ -402,5 +402,7 @@ struct mga_device *mgag200_g200_device_create(struct 
pci_dev *pdev, const struct
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200eh.c 
b/drivers/gpu/drm/mgag200/mgag200_g200eh.c
index e64bfeafbefc..b6ef287c05da 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200eh.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200eh.c
@@ -274,5 +274,7 @@ struct mga_device *mgag200_g200eh_device_create(struct 
pci_dev *pdev, const stru
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200eh3.c 
b/drivers/gpu/drm/mgag200/mgag200_g200eh3.c
index 183b7676ea6a..973770ee941a 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200eh3.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200eh3.c
@@ -179,5 +179,7 @@ struct mga_device *mgag200_g200eh3_device_create(struct 
pci_dev *pdev,
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200eh5.c 
b/drivers/gpu/drm/mgag200/mgag200_g200eh5.c
index dc375c055b0e..0241244bd3f5 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200eh5.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200eh5.c
@@ -199,5 +199,7 @@ struct mga_device *mgag200_g200eh5_device_create(struct 
pci_dev *pdev,
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200er.c 
b/drivers/gpu/drm/mgag200/mgag200_g200er.c
index 205678a57bfe..df83857b9634 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200er.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200er.c
@@ -307,5 +307,7 @@ struct mga_device *mgag200_g200er_device_create(struct 
pci_dev *pdev, const stru
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200ev.c 
b/drivers/gpu/drm/mgag200/mgag200_g200ev.c
index d60693ac0749..82ee58b3faab 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200ev.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200ev.c
@@ -312,5 +312,7 @@ struct mga_device *mgag200_g200ev_device_create(struct 
pci_dev *pdev, const stru
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200ew3.c 
b/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
index 9c14d0eb66bc..19c6a65e8621 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200ew3.c
@@ -197,5 +197,7 @@ struct mga_device *mgag200_g200ew3_device_create(struct 
pci_dev *pdev,
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200se.c 
b/drivers/gpu/drm/mgag200/mgag200_g200se.c
index 349ec36f6d49..937bceb8309f 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200se.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200se.c
@@ -519,5 +519,7 @@ struct mga_device *mgag200_g200se_device_create(struct 
pci_dev *pdev, const stru
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 
diff --git a/drivers/gpu/drm/mgag200/mgag200_g200wb.c 
b/drivers/gpu/drm/mgag200/mgag200_g200wb.c
index f65d4238422f..92e4cd9ef50e 100644
--- a/drivers/gpu/drm/mgag200/mgag200_g200wb.c
+++ b/drivers/gpu/drm/mgag200/mgag200_g200wb.c
@@ -321,5 +321,7 @@ struct mga_device *mgag200_g200wb_device_create(struct 
pci_dev *pdev, const stru
                return ERR_PTR(ret);
 
-       drm_mode_config_reset(dev);
+       ret = drm_mode_config_create_initial_state(dev);
+       if (ret)
+               return ERR_PTR(ret);
        drm_kms_helper_poll_init(dev);
 

-- 
2.55.0

Reply via email to