2013/8/1 Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>: > Some of our macros we trying to convert from an drm_device to a > drm_i915_private and then use the pointer inline. This is not only > cumbersome but prone to error. Replacing it with a typesafe function > should help catch those errors in future. > > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index d27a82a..6d1736f 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1224,6 +1224,11 @@ typedef struct drm_i915_private { > struct i915_ums_state ums; > } drm_i915_private_t; > > +inline static struct drm_i915_private *to_i915(const struct drm_device *dev) > +{ > + return dev->dev_private; > +} > + > /* Iterate over initialised rings */ > #define for_each_ring(ring__, dev_priv__, i__) \ > for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \ > @@ -1498,7 +1503,7 @@ struct drm_i915_file_private { > struct i915_ctx_hang_stats hang_stats; > }; > > -#define INTEL_INFO(dev) (((struct drm_i915_private *) (dev)->dev_private)->info) > +#define INTEL_INFO(dev) (to_i915(dev)->info) > > #define IS_I830(dev) ((dev)->pci_device == 0x3577) > #define IS_845G(dev) ((dev)->pci_device == 0x2562) > @@ -1548,7 +1553,7 @@ struct drm_i915_file_private { > #define HAS_BLT(dev) (INTEL_INFO(dev)->has_blt_ring) > #define HAS_VEBOX(dev) (INTEL_INFO(dev)->has_vebox_ring) > #define HAS_LLC(dev) (INTEL_INFO(dev)->has_llc) > -#define HAS_WT(dev) (IS_HASWELL(dev) && ((struct drm_i915_private *)(dev)->dev_private)->ellc_size) > +#define HAS_WT(dev) (IS_HASWELL(dev) && to_i915(dev)->ellc_size) > #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) > > #define HAS_HW_CONTEXTS(dev) (INTEL_INFO(dev)->gen >= 5) > @@ -1593,7 +1598,7 @@ struct drm_i915_file_private { > #define INTEL_PCH_LPT_DEVICE_ID_TYPE 0x8c00 > #define INTEL_PCH_LPT_LP_DEVICE_ID_TYPE 0x9c00 > > -#define INTEL_PCH_TYPE(dev) (((struct drm_i915_private *)(dev)->dev_private)->pch_type) > +#define INTEL_PCH_TYPE(dev) (to_i915(dev)->pch_type) > #define HAS_PCH_LPT(dev) (INTEL_PCH_TYPE(dev) == PCH_LPT) > #define HAS_PCH_CPT(dev) (INTEL_PCH_TYPE(dev) == PCH_CPT) > #define HAS_PCH_IBX(dev) (INTEL_PCH_TYPE(dev) == PCH_IBX) > -- > 1.8.4.rc0 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Paulo Zanoni _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx