Re: [PATCH v2 09/23] firmware: use static inline for to_fw_priv()

From: Greg KH
Date: Wed Nov 29 2017 - 05:14:13 EST


On Mon, Nov 20, 2017 at 10:23:55AM -0800, Luis R. Rodriguez wrote:
> This lets us type check the callers.
>
> Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx>
> ---
> drivers/base/firmware_class.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
> index dcc1281789e4..4f64410fe7e6 100644
> --- a/drivers/base/firmware_class.c
> +++ b/drivers/base/firmware_class.c
> @@ -125,7 +125,10 @@ struct fw_name_devm {
> const char *name;
> };
>
> -#define to_fw_priv(d) container_of(d, struct fw_priv, ref)
> +static inline struct fw_priv *to_fw_priv(struct kref *ref)
> +{
> + return container_of(ref, struct fw_priv, ref);
> +}

It's a kref, no need to typecheck anything, if it isn't the right
structure it will usually just break the build anyway. So this isn't
really needed, especially as most of the to_* calls in the kernel are
macros like this.

I'll take it, but really, this isn't needed, you are only trying to
protect yourself from your own coding :)

greg k-h