2024-04-09 16:16:03

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 0/2] auxdisplay: charlcd: Add missing macro and forward declaration

Add missing macro and forward declaration.

Andy Shevchenko (2):
auxdisplay: charlcd: Add missing MODULE_DESCRIPTION()
auxdisplay: charlcd: Provide a forward declaration

drivers/auxdisplay/charlcd.c | 1 +
drivers/auxdisplay/charlcd.h | 2 ++
2 files changed, 3 insertions(+)

--
2.43.0.rc1.1.gbec44491f096



2024-04-09 16:16:19

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/2] auxdisplay: charlcd: Add missing MODULE_DESCRIPTION()

The modpost script is not happy

WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/auxdisplay/charlcd.o

because there is a missing module description.

Add it to the module.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/auxdisplay/charlcd.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/auxdisplay/charlcd.c b/drivers/auxdisplay/charlcd.c
index 6d309e4971b6..5df019720c56 100644
--- a/drivers/auxdisplay/charlcd.c
+++ b/drivers/auxdisplay/charlcd.c
@@ -678,4 +678,5 @@ int charlcd_unregister(struct charlcd *lcd)
}
EXPORT_SYMBOL_GPL(charlcd_unregister);

+MODULE_DESCRIPTION("Character LCD core support");
MODULE_LICENSE("GPL");
--
2.43.0.rc1.1.gbec44491f096


2024-04-09 16:16:25

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 2/2] auxdisplay: charlcd: Provide a forward declaration

While there is no compilation error, strictly speaking compiler
should know about used types beforehand. Provide a forward decration
for struct charlcd_ops before using it in struct charlcd.

Signed-off-by: Andy Shevchenko <[email protected]>
---
drivers/auxdisplay/charlcd.h | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/auxdisplay/charlcd.h b/drivers/auxdisplay/charlcd.h
index eed80063a6d2..4d4287209d04 100644
--- a/drivers/auxdisplay/charlcd.h
+++ b/drivers/auxdisplay/charlcd.h
@@ -36,6 +36,8 @@ enum charlcd_lines {
CHARLCD_LINES_2,
};

+struct charlcd_ops;
+
struct charlcd {
const struct charlcd_ops *ops;
const unsigned char *char_conv; /* Optional */
--
2.43.0.rc1.1.gbec44491f096


2024-04-11 07:30:55

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] auxdisplay: charlcd: Provide a forward declaration

Hi Andy,

On Tue, Apr 9, 2024 at 6:15 PM Andy Shevchenko
<[email protected]> wrote:
> While there is no compilation error, strictly speaking compiler
> should know about used types beforehand. Provide a forward decoration

declaration

> for struct charlcd_ops before using it in struct charlcd.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

> --- a/drivers/auxdisplay/charlcd.h
> +++ b/drivers/auxdisplay/charlcd.h
> @@ -36,6 +36,8 @@ enum charlcd_lines {
> CHARLCD_LINES_2,
> };
>
> +struct charlcd_ops;
> +
> struct charlcd {
> const struct charlcd_ops *ops;

No forward declaration is needed at this point, as ops is a _pointer_ to
the structure.

> const unsigned char *char_conv; /* Optional */

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2024-04-11 07:31:54

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] auxdisplay: charlcd: Add missing MODULE_DESCRIPTION()

On Tue, Apr 9, 2024 at 6:15 PM Andy Shevchenko
<[email protected]> wrote:
> The modpost script is not happy
>
> WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/auxdisplay/charlcd.o
>
> because there is a missing module description.
>
> Add it to the module.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

2024-04-11 10:31:39

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] auxdisplay: charlcd: Provide a forward declaration

On Thu, Apr 11, 2024 at 09:30:31AM +0200, Geert Uytterhoeven wrote:
> On Tue, Apr 9, 2024 at 6:15 PM Andy Shevchenko
> <[email protected]> wrote:
> > While there is no compilation error, strictly speaking compiler
> > should know about used types beforehand. Provide a forward decoration
>
> declaration

Thanks, I updated locally. Please, see my answer below.

> > for struct charlcd_ops before using it in struct charlcd.

..

> > +struct charlcd_ops;
> > +
> > struct charlcd {
> > const struct charlcd_ops *ops;
>
> No forward declaration is needed at this point, as ops is a _pointer_ to
> the structure.

The same way as in all other cases. We may drop all of them, but strictly
speaking (as I mentioned in the commit message) this is a good practice.

I.o.w. a forward declaration of custom data types is used for _pointers_.

> > const unsigned char *char_conv; /* Optional */

--
With Best Regards,
Andy Shevchenko



2024-04-11 11:52:55

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 1/2] auxdisplay: charlcd: Add missing MODULE_DESCRIPTION()

On Thu, Apr 11, 2024 at 09:31:32AM +0200, Geert Uytterhoeven wrote:
> On Tue, Apr 9, 2024 at 6:15 PM Andy Shevchenko
> <[email protected]> wrote:
> > The modpost script is not happy
> >
> > WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/auxdisplay/charlcd.o
> >
> > because there is a missing module description.
> >
> > Add it to the module.
> >
> > Signed-off-by: Andy Shevchenko <[email protected]>
>
> Reviewed-by: Geert Uytterhoeven <[email protected]>

Pushed to my review and testing queue, thanks!

--
With Best Regards,
Andy Shevchenko



2024-04-23 16:35:15

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 2/2] auxdisplay: charlcd: Provide a forward declaration

On Thu, Apr 11, 2024 at 01:30:25PM +0300, Andy Shevchenko wrote:
> On Thu, Apr 11, 2024 at 09:30:31AM +0200, Geert Uytterhoeven wrote:
> > On Tue, Apr 9, 2024 at 6:15 PM Andy Shevchenko
> > <[email protected]> wrote:
> > > While there is no compilation error, strictly speaking compiler
> > > should know about used types beforehand. Provide a forward decoration
> >
> > declaration
>
> Thanks, I updated locally. Please, see my answer below.
>
> > > for struct charlcd_ops before using it in struct charlcd.

..

> > > +struct charlcd_ops;
> > > +
> > > struct charlcd {
> > > const struct charlcd_ops *ops;
> >
> > No forward declaration is needed at this point, as ops is a _pointer_ to
> > the structure.
>
> The same way as in all other cases. We may drop all of them, but strictly
> speaking (as I mentioned in the commit message) this is a good practice.
>
> I.o.w. a forward declaration of custom data types is used for _pointers_.
>
> > > const unsigned char *char_conv; /* Optional */

Hmm, so what's the conclusion?

--
With Best Regards,
Andy Shevchenko