* [PATCH v2] staging: rtl8723bs: use inline functions for dvobj_to_dev
@ 2023-03-19 20:11 Menna Mahmoud
2023-03-20 9:50 ` Hans de Goede
0 siblings, 1 reply; 2+ messages in thread
From: Menna Mahmoud @ 2023-03-19 20:11 UTC (permalink / raw)
To: gregkh
Cc: outreachy, namcaov, hdegoede, straube.linux, linux-kernel,
linux-staging, eng.mennamahmoud.mm, Julia Lawall
Convert `dvobj_to_dev` 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@inria.fr>
Signed-off-by: Menna Mahmoud <eng.mennamahmoud.mm@gmail.com>
---
change in v2:
edit commit message.
---
drivers/staging/rtl8723bs/include/drv_types.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
index 82159e1c7f9b..ea6bb44c5e1d 100644
--- a/drivers/staging/rtl8723bs/include/drv_types.h
+++ b/drivers/staging/rtl8723bs/include/drv_types.h
@@ -305,7 +305,11 @@ struct sdio_data intf_data;
};
#define dvobj_to_pwrctl(dvobj) (&(dvobj->pwrctl_priv))
-#define pwrctl_to_dvobj(pwrctl) container_of(pwrctl, struct dvobj_priv, pwrctl_priv)
+
+static inline struct dvobj_priv *pwrctl_to_dvobj(struct pwrctrl_priv *pwrctl_priv)
+{
+ return container_of(pwrctl_priv, struct dvobj_priv, pwrctl_priv);
+}
static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
{
--
2.34.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2] staging: rtl8723bs: use inline functions for dvobj_to_dev
2023-03-19 20:11 [PATCH v2] staging: rtl8723bs: use inline functions for dvobj_to_dev Menna Mahmoud
@ 2023-03-20 9:50 ` Hans de Goede
0 siblings, 0 replies; 2+ messages in thread
From: Hans de Goede @ 2023-03-20 9:50 UTC (permalink / raw)
To: Menna Mahmoud, gregkh
Cc: outreachy, namcaov, straube.linux, linux-kernel, linux-staging,
Julia Lawall
Hi,
On 3/19/23 21:11, Menna Mahmoud wrote:
> Convert `dvobj_to_dev` 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@inria.fr>
> Signed-off-by: Menna Mahmoud <eng.mennamahmoud.mm@gmail.com>
> ---
> change in v2:
> edit commit message.
Thanks, patch looks good to me:
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Regards,
Hans
> ---
> drivers/staging/rtl8723bs/include/drv_types.h | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h
> index 82159e1c7f9b..ea6bb44c5e1d 100644
> --- a/drivers/staging/rtl8723bs/include/drv_types.h
> +++ b/drivers/staging/rtl8723bs/include/drv_types.h
> @@ -305,7 +305,11 @@ struct sdio_data intf_data;
> };
>
> #define dvobj_to_pwrctl(dvobj) (&(dvobj->pwrctl_priv))
> -#define pwrctl_to_dvobj(pwrctl) container_of(pwrctl, struct dvobj_priv, pwrctl_priv)
> +
> +static inline struct dvobj_priv *pwrctl_to_dvobj(struct pwrctrl_priv *pwrctl_priv)
> +{
> + return container_of(pwrctl_priv, struct dvobj_priv, pwrctl_priv);
> +}
>
> static inline struct device *dvobj_to_dev(struct dvobj_priv *dvobj)
> {
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-03-20 9:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-19 20:11 [PATCH v2] staging: rtl8723bs: use inline functions for dvobj_to_dev Menna Mahmoud
2023-03-20 9:50 ` Hans de Goede
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®