drm/i915/display: add generic to_intel_display() macro
authorJani Nikula <jani.nikula@intel.com>
Wed, 17 Apr 2024 13:02:40 +0000 (16:02 +0300)
committerJani Nikula <jani.nikula@intel.com>
Thu, 18 Apr 2024 18:16:30 +0000 (21:16 +0300)
commit8d7077f53e6051ac284d642341db84f01625904b
treeb93b02240fe6a54968062a972a92522ba099ce30
parentf02fedd882f8e619016f9089f72483b5a6c59c7f
drm/i915/display: add generic to_intel_display() macro

Convert various pointers to struct intel_display * using _Generic().

Add some macro magic to make adding new conversions easier, and somewhat
abstract the need to cast each generic association. The cast is required
because all associations needs to compile, regardless of the type and
the generic selection.

The use of *p in the generic selection assignment expression removes the
need to add separate associations for const pointers.

Note: This intentionally does *not* cover struct drm_i915_private or
struct xe_device. They are not to be used in the long run, so avoid
using this macro for them.

Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/02cf407961200db4379370856c779ea62b3eaa90.1713358679.git.jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_display_types.h