2023-03-20 10:34:33

by Menna Mahmoud

[permalink] [raw]
Subject: [PATCH] staging: most: use inline functions for iface_to_hdm

Convert `iface_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 <[email protected]>
Signed-off-by: Menna Mahmoud <[email protected]>
---
drivers/staging/most/dim2/dim2.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/staging/most/dim2/dim2.c b/drivers/staging/most/dim2/dim2.c
index b8bd01ca1f11..21d1c9f24c3d 100644
--- a/drivers/staging/most/dim2/dim2.c
+++ b/drivers/staging/most/dim2/dim2.c
@@ -108,7 +108,10 @@ struct dim2_platform_data {
u8 fcnt;
};

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

/* Macro to identify a network status message */
#define PACKET_IS_NET_INFO(p) \
--
2.34.1



2023-03-20 15:54:14

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] staging: most: use inline functions for iface_to_hdm

On Mon, Mar 20, 2023 at 12:33:35PM +0200, Menna Mahmoud wrote:
> Convert `iface_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 <[email protected]>
> Signed-off-by: Menna Mahmoud <[email protected]>
> ---
> drivers/staging/most/dim2/dim2.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)

Your subject line has a " " when it should have just a " " :(

Please fix up and send a v2.

thanks,

greg k-h

2023-03-20 18:35:22

by Menna Mahmoud

[permalink] [raw]
Subject: Re: [PATCH] staging: most: use inline functions for iface_to_hdm


On ٢٠‏/٣‏/٢٠٢٣ ١٧:٤٤, Greg KH wrote:
> On Mon, Mar 20, 2023 at 12:33:35PM +0200, Menna Mahmoud wrote:
>> Convert `iface_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 <[email protected]>
>> Signed-off-by: Menna Mahmoud <[email protected]>
>> ---
>> drivers/staging/most/dim2/dim2.c | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
> Your subject line has a " " when it should have just a " " :(
I see, I will fix it.
>
> Please fix up and send a v2.
I will.
>
> thanks,
>
> greg k-h

Thanks,

Menna