Re: [PATCH v4 1/3] drm/rect: Add DRM_RECT_INIT() macro

From: Thomas Zimmermann
Date: Tue Jun 21 2022 - 06:02:21 EST


Hi

Am 21.06.22 um 11:38 schrieb David Gow:
On Tue, Jun 21, 2022 at 12:06 AM José Expósito
<jose.exposito89@xxxxxxxxx> wrote:

Add a helper macro to initialize a rectangle from x, y, width and
height information.

Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx>
Acked-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
Signed-off-by: José Expósito <jose.exposito89@xxxxxxxxx>
---

This looks good to me, though I have one minor concern about the macro
name. (But if it's okay with the DRM folks, which it seems to be, I
won't object.)

Either way,
Reviewed-by: David Gow <davidgow@xxxxxxxxxx>

include/drm/drm_rect.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)

diff --git a/include/drm/drm_rect.h b/include/drm/drm_rect.h
index 6f6e19bd4dac..e8d94fca2703 100644
--- a/include/drm/drm_rect.h
+++ b/include/drm/drm_rect.h
@@ -47,6 +47,22 @@ struct drm_rect {
int x1, y1, x2, y2;
};

+/**
+ * DRM_RECT_INIT - initialize a rectangle from x/y/w/h
+ * @x: x coordinate
+ * @y: y coordinate
+ * @w: width
+ * @h: height
+ *
+ * RETURNS:
+ * A new rectangle of the specified size.
+ */
+#define DRM_RECT_INIT(x, y, w, h) ((struct drm_rect){ \
+ .x1 = (x), \
+ .y1 = (y), \
+ .x2 = (x) + (w), \
+ .y2 = (y) + (h) })
+

My only slight concern here is that it might be a little bit confusing
that a macro called DRM_RECT_INIT() accepts x/y/w/h, whereas the
actual struct drm_rect is x1/y1/x2/y2. If the macro were called
something like DRM_RECT_INIT_FROM_XYWH() or similar.

The existing drm_rect_init() function uses xywh arguments. So the current name is consistent with existing practice. I don't think we refer to x2,y2 much, if ever.

Best regards
Thomas



/**
* DRM_RECT_FMT - printf string for &struct drm_rect
*/
--
2.25.1


--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Attachment: OpenPGP_signature
Description: OpenPGP digital signature