2016-03-10 01:36:01

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le

The patch to make uartlite_be/uartlite_le const was well-intended but
caused a new build warning:

tty/serial/uartlite.c: In function 'ulite_request_port':
tty/serial/uartlite.c:348:21: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
tty/serial/uartlite.c:354:22: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]

It would be nice to allow passing const pointers through
port->private_data, but that would be way more work, so this
reverts part of the original commit for now.

A possible alternative might be to pass a structure in the private_data
that contains a const pointer to the operations, which introduces a little
extra overhead, or we could just add a cast to a non-const pointer, I'll
leave that to the maintainer.

Signed-off-by: Arnd Bergmann <[email protected]>
Fixes: 2905697a82ea ("serial-uartlite: Constify uartlite_be/uartlite_le")
---
drivers/tty/serial/uartlite.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/tty/serial/uartlite.c b/drivers/tty/serial/uartlite.c
index c9fdfc8bf47f..1474c5755140 100644
--- a/drivers/tty/serial/uartlite.c
+++ b/drivers/tty/serial/uartlite.c
@@ -72,7 +72,7 @@ static void uartlite_outbe32(u32 val, void __iomem *addr)
iowrite32be(val, addr);
}

-static const struct uartlite_reg_ops uartlite_be = {
+static struct uartlite_reg_ops uartlite_be = {
.in = uartlite_inbe32,
.out = uartlite_outbe32,
};
@@ -87,7 +87,7 @@ static void uartlite_outle32(u32 val, void __iomem *addr)
iowrite32(val, addr);
}

-static const struct uartlite_reg_ops uartlite_le = {
+static struct uartlite_reg_ops uartlite_le = {
.in = uartlite_inle32,
.out = uartlite_outle32,
};
--
2.7.0


2016-03-10 09:29:12

by Maarten Brock

[permalink] [raw]
Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le

I've created a version 2 of this patch immediately which fixes the warning,
but somehow this stays ignored.

Please apply my second patch!
Maarten

> The patch to make uartlite_be/uartlite_le const was well-intended but
> caused a new build warning:
>
> tty/serial/uartlite.c: In function 'ulite_request_port':
> tty/serial/uartlite.c:348:21: error: assignment discards 'const' qualifier
> from pointer target type [-Werror=discarded-qualifiers]
> tty/serial/uartlite.c:354:22: error: assignment discards 'const' qualifier
> from pointer target type [-Werror=discarded-qualifiers]
>
> It would be nice to allow passing const pointers through
> port->private_data, but that would be way more work, so this
> reverts part of the original commit for now.
>
> A possible alternative might be to pass a structure in the private_data
> that contains a const pointer to the operations, which introduces a little
> extra overhead, or we could just add a cast to a non-const pointer, I'll
> leave that to the maintainer.
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> Fixes: 2905697a82ea ("serial-uartlite: Constify uartlite_be/uartlite_le")
> ---
> drivers/tty/serial/uartlite.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/tty/serial/uartlite.c b/drivers/tty/serial/uartlite.c
> index c9fdfc8bf47f..1474c5755140 100644
> --- a/drivers/tty/serial/uartlite.c
> +++ b/drivers/tty/serial/uartlite.c
> @@ -72,7 +72,7 @@ static void uartlite_outbe32(u32 val, void __iomem *addr)
> iowrite32be(val, addr);
> }
>
> -static const struct uartlite_reg_ops uartlite_be = {
> +static struct uartlite_reg_ops uartlite_be = {
> .in = uartlite_inbe32,
> .out = uartlite_outbe32,
> };
> @@ -87,7 +87,7 @@ static void uartlite_outle32(u32 val, void __iomem *addr)
> iowrite32(val, addr);
> }
>
> -static const struct uartlite_reg_ops uartlite_le = {
> +static struct uartlite_reg_ops uartlite_le = {
> .in = uartlite_inle32,
> .out = uartlite_outle32,
> };
> --
> 2.7.0
>
>

2016-04-19 06:12:46

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le

On Thu, Mar 10, 2016 at 10:08:01AM +0100, Maarten Brock wrote:
> I've created a version 2 of this patch immediately which fixes the warning,
> but somehow this stays ignored.
>
> Please apply my second patch!

Sorry, it was too late, my fault.

greg k-h

2016-04-19 07:51:55

by Maarten Brock

[permalink] [raw]
Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le

----- Original Message -----
From: Greg Kroah-Hartman [mailto:[email protected]]
To: Maarten Brock [mailto:[email protected]]
Cc: Arnd Bergmann [mailto:[email protected]], Peter Korsgaard [mailto:[email protected]], Jiri Slaby [mailto:[email protected]], Rich Felker [mailto:[email protected]], [email protected], [email protected]
Sent: Tue, 19 Apr 2016 08:12:36 +0200
Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le


> On Thu, Mar 10, 2016 at 10:08:01AM +0100, Maarten Brock wrote:
> > I've created a version 2 of this patch immediately which fixes the
> > warning, but somehow this stays ignored.
> >
> > Please apply my second patch!
>
> Sorry, it was too late, my fault.
>
> greg k-h

Hello Greg,

Now that the original patch is reverted, can you apply my second version of the
patch which includes extra casts to suppress the warnings?

Maarten

2016-04-19 08:33:31

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le

On Tue, Apr 19, 2016 at 09:51:43AM +0200, Maarten Brock wrote:
> ----- Original Message -----
> From: Greg Kroah-Hartman [mailto:[email protected]]
> To: Maarten Brock [mailto:[email protected]]
> Cc: Arnd Bergmann [mailto:[email protected]], Peter Korsgaard [mailto:[email protected]], Jiri Slaby [mailto:[email protected]], Rich Felker [mailto:[email protected]], [email protected], [email protected]
> Sent: Tue, 19 Apr 2016 08:12:36 +0200
> Subject: Re: [PATCH] serial-uartlite: un-constify uartlite_be/uartlite_le
>
>
> > On Thu, Mar 10, 2016 at 10:08:01AM +0100, Maarten Brock wrote:
> > > I've created a version 2 of this patch immediately which fixes the
> > > warning, but somehow this stays ignored.
> > >
> > > Please apply my second patch!
> >
> > Sorry, it was too late, my fault.
> >
> > greg k-h
>
> Hello Greg,
>
> Now that the original patch is reverted, can you apply my second version of the
> patch which includes extra casts to suppress the warnings?

Can you please resend it? I don't see it in my queue :(