Skip to content

Commit 6a2161a

Browse files
committed
drm/i915: support struct device and pci_dev in to_intel_display()
Now that both xe and i915 store struct drm_device in drvdata, we can trivially support struct device and struct pci_dev in to_intel_display(). We do need to check for NULL drvdata before converting it into struct intel_device pointer, though. Do it in __drm_device_to_intel_display(). v2: Add NULL check in __drm_device_to_intel_display() (Gustavo) Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> # v1 Link: https://patchwork.freedesktop.org/patch/msgid/f025a3fa4422725c78baac4501ad3ecc9e5b40d5.1724942754.git.jani.nikula@intel.com Signed-off-by: Jani Nikula <jani.nikula@intel.com>
1 parent 83e5af5 commit 6a2161a

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

drivers/gpu/drm/i915/display/intel_display_types.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2205,7 +2205,11 @@ to_intel_frontbuffer(struct drm_framebuffer *fb)
22052205
* intel_display pointer.
22062206
*/
22072207
#define __drm_device_to_intel_display(p) \
2208-
(&to_i915(p)->display)
2208+
((p) ? &to_i915(p)->display : NULL)
2209+
#define __device_to_intel_display(p) \
2210+
__drm_device_to_intel_display(dev_get_drvdata(p))
2211+
#define __pci_dev_to_intel_display(p) \
2212+
__drm_device_to_intel_display(pci_get_drvdata(p))
22092213
#define __intel_atomic_state_to_intel_display(p) \
22102214
__drm_device_to_intel_display((p)->base.dev)
22112215
#define __intel_connector_to_intel_display(p) \
@@ -2231,6 +2235,8 @@ to_intel_frontbuffer(struct drm_framebuffer *fb)
22312235
#define to_intel_display(p) \
22322236
_Generic(*p, \
22332237
__assoc(drm_device, p), \
2238+
__assoc(device, p), \
2239+
__assoc(pci_dev, p), \
22342240
__assoc(intel_atomic_state, p), \
22352241
__assoc(intel_connector, p), \
22362242
__assoc(intel_crtc, p), \

0 commit comments

Comments
 (0)