Re: [PATCH v7 2/6] [media] cec-notifier.h: Prevent build warnings using forward declaration

From: Hans Verkuil
Date: Fri Jul 07 2017 - 07:17:10 EST


On 07/07/17 13:08, Jose Abreu wrote:
> When CONFIC_CEC_NOTIFIER is not set and we only include cec-notifier.h
> we can get build warnings like these ones:
>
> "warning: âstruct cec_notifierâ declared inside parameter list will
> not be visible outside of this definition or declaration"
>
> Prevent these warnings by using forward declaration of notifier
> structure.
>
> Signed-off-by: Jose Abreu <joabreu@xxxxxxxxxxxx>
> Cc: Carlos Palminha <palminha@xxxxxxxxxxxx>
> Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx>
> ---
> include/media/cec-notifier.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/media/cec-notifier.h b/include/media/cec-notifier.h
> index 298f996..84f9376 100644
> --- a/include/media/cec-notifier.h
> +++ b/include/media/cec-notifier.h
> @@ -21,14 +21,14 @@
> #ifndef LINUX_CEC_NOTIFIER_H
> #define LINUX_CEC_NOTIFIER_H
>
> -#include <linux/types.h>
> -#include <media/cec.h>
> -
> struct device;
> struct edid;
> struct cec_adapter;
> struct cec_notifier;
>
> +#include <linux/types.h>
> +#include <media/cec.h>
> +
> #if IS_REACHABLE(CONFIG_CEC_CORE) && IS_ENABLED(CONFIG_CEC_NOTIFIER)
>
> /**
>

Isn't it enough to add a forward declaration of cec_notifier in the previous
patch? E.g.:

+#ifndef CONFIG_CEC_NOTIFIER
+struct cec_notifier;
+static inline void cec_register_cec_notifier(struct cec_adapter *adap,
+ struct cec_notifier *notifier)
+{
+}
+#endif

Then this header doesn't need to change.

Regards,

Hans