On Fri, Nov 20, 2015 at 06:56:50PM -0800, Vivek Kasireddy wrote: > In some cases, we just need one valid (connected) output to perform > a test. This macro can help in these situations by not having to > put the test code inside a for loop that iterates over all the outputs. > > v2: Added a brief documentation for this macro. > > Suggested-by: Matt Roper <matthew.d.roper at intel.com> > Cc: Thomas Wood <thomas.wood@xxxxxxxxx> > Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> > --- > lib/igt_kms.h | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/lib/igt_kms.h b/lib/igt_kms.h > index 965c47c..a0bb066 100644 > --- a/lib/igt_kms.h > +++ b/lib/igt_kms.h > @@ -279,6 +279,18 @@ void igt_wait_for_vblank(int drm_fd, enum pipe pipe); > for (int i__ = 0; (plane) = &(display)->pipes[(pipe)].planes[i__], \ > i__ < (display)->pipes[(pipe)].n_planes; i__++) > > +/** > + * get_first_connected_output: > + * @display: Initialized igt_display_t type object > + * @output: igt_output_t type object > + * > + * Returns: First valid (connected) output. > + */ > +#define get_first_connected_output(display, output) \ > + for (int i__ = 0; i__ < (display)->n_outputs; i__++) \ > + if ((output = &(display)->outputs[i__]), output->valid) \ > + break Why is this a fragile macro instead of a simple function that just returns what we need? > + > #define IGT_FIXED(i,f) ((i) << 16 | (f)) > > void igt_enable_connectors(void); > -- > 2.4.3 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx