As we store a pointer to i915 in the drvdata field (as the pointer is both
an alias to the drm_device and drm_i915_private), we can use the stored
pointer directly as the i915 device.

Signed-off-by: Chris Wilson <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.c                | 7 +++----
 drivers/gpu/drm/i915/i915_drv.h                | 2 +-
 drivers/gpu/drm/i915/selftests/i915_selftest.c | 2 +-
 3 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index f2d3d754af37..4df71291b1a0 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -1841,6 +1841,7 @@ i915_driver_create(struct pci_dev *pdev, const struct 
pci_device_id *ent)
 
        i915->drm.pdev = pdev;
        i915->drm.dev_private = i915;
+       BUILD_BUG_ON(offsetof(typeof(*i915), drm));
        pci_set_drvdata(pdev, &i915->drm);
 
        /* Setup the write-once "constant" device info */
@@ -2904,8 +2905,7 @@ static int vlv_resume_prepare(struct drm_i915_private 
*dev_priv,
 
 static int intel_runtime_suspend(struct device *kdev)
 {
-       struct drm_device *dev = dev_get_drvdata(kdev);
-       struct drm_i915_private *dev_priv = to_i915(dev);
+       struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
        struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
        int ret;
 
@@ -3002,8 +3002,7 @@ static int intel_runtime_suspend(struct device *kdev)
 
 static int intel_runtime_resume(struct device *kdev)
 {
-       struct drm_device *dev = dev_get_drvdata(kdev);
-       struct drm_i915_private *dev_priv = to_i915(dev);
+       struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
        struct intel_runtime_pm *rpm = &dev_priv->runtime_pm;
        int ret = 0;
 
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 59d4a1146039..0b818136c9dd 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1895,7 +1895,7 @@ static inline struct drm_i915_private *to_i915(const 
struct drm_device *dev)
 
 static inline struct drm_i915_private *kdev_to_i915(struct device *kdev)
 {
-       return to_i915(dev_get_drvdata(kdev));
+       return dev_get_drvdata(kdev);
 }
 
 static inline struct drm_i915_private *wopcm_to_i915(struct intel_wopcm *wopcm)
diff --git a/drivers/gpu/drm/i915/selftests/i915_selftest.c 
b/drivers/gpu/drm/i915/selftests/i915_selftest.c
index db9c645bbdfe..c3f6216e84cd 100644
--- a/drivers/gpu/drm/i915/selftests/i915_selftest.c
+++ b/drivers/gpu/drm/i915/selftests/i915_selftest.c
@@ -185,7 +185,7 @@ int i915_live_selftests(struct pci_dev *pdev)
        if (!i915_selftest.live)
                return 0;
 
-       err = run_selftests(live, to_i915(pci_get_drvdata(pdev)));
+       err = run_selftests(live, pci_get_drvdata(pdev));
        if (err) {
                i915_selftest.live = err;
                return err;
-- 
2.22.0

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to