[PATCH] staging: most: use inline functions for to_hdm

From: Menna Mahmoud
Date: Mon Mar 20 2023 - 06:35:36 EST


Convert `to_hdm` macro into a static inline function.
it is not great to have macro that use `container_of` macro,
because from looking at the definition one cannot tell
what type it applies to.

One can get the same benefit from an efficiency point of view
by making an inline function.

Suggested-by: Julia Lawall <julia.lawall@xxxxxxxx>
Signed-off-by: Menna Mahmoud <eng.mennamahmoud.mm@xxxxxxxxx>
---
drivers/staging/most/i2c/i2c.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/most/i2c/i2c.c b/drivers/staging/most/i2c/i2c.c
index df53a4c4f850..4e85e681922f 100644
--- a/drivers/staging/most/i2c/i2c.c
+++ b/drivers/staging/most/i2c/i2c.c
@@ -44,7 +44,10 @@ struct hdm_i2c {
char name[64];
};

-#define to_hdm(iface) container_of(iface, struct hdm_i2c, most_iface)
+static inline struct hdm_i2c *to_hdm(struct most_interface *iface)
+{
+ return container_of(iface, struct hdm_i2c, most_iface);
+}

static irqreturn_t most_irq_handler(int, void *);
static void pending_rx_work(struct work_struct *);
--
2.34.1