Since types of arguments accepted by tty_ldis_ops::receive_buf() have
changed, the driver no longer builds.
.../linux/sound/soc/ti/ams-delta.c:403:24: error: initialization of 'void (*)(struct tty_struct *, const u8 *, const u8 *, size_t)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const unsigned char *, unsigned int)'} from incompatible pointer type 'void (*)(struct tty_struct *, const u8 *, const char *, int)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const char *, int)'} [-Werror=incompatible-pointer-types]
403 | .receive_buf = cx81801_receive,
Fix it.
Fixes: e8161447bb0c ("tty: make tty_ldisc_ops::*buf*() hooks operate on size_t")
Fixes: 892bc209f250 ("tty: use u8 for flags")
Signed-off-by: Janusz Krzysztofik <[email protected]>
---
sound/soc/ti/ams-delta.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/ti/ams-delta.c b/sound/soc/ti/ams-delta.c
index 371943350fdf..666057d50ea0 100644
--- a/sound/soc/ti/ams-delta.c
+++ b/sound/soc/ti/ams-delta.c
@@ -336,8 +336,8 @@ static void cx81801_hangup(struct tty_struct *tty)
}
/* Line discipline .receive_buf() */
-static void cx81801_receive(struct tty_struct *tty, const u8 *cp,
- const char *fp, int count)
+static void cx81801_receive(struct tty_struct *tty, const u8 *cp, const u8 *fp,
+ size_t count)
{
struct snd_soc_component *component = tty->disc_data;
const unsigned char *c;
--
2.42.0
On Sat, Oct 07, 2023 at 11:38:18PM +0200, Janusz Krzysztofik wrote:
> Since types of arguments accepted by tty_ldis_ops::receive_buf() have
> changed, the driver no longer builds.
>
> .../linux/sound/soc/ti/ams-delta.c:403:24: error: initialization of 'void (*)(struct tty_struct *, const u8 *, const u8 *, size_t)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const unsigned char *, unsigned int)'} from incompatible pointer type 'void (*)(struct tty_struct *, const u8 *, const char *, int)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const char *, int)'} [-Werror=incompatible-pointer-types]
> 403 | .receive_buf = cx81801_receive,
>
> Fix it.
>
> Fixes: e8161447bb0c ("tty: make tty_ldisc_ops::*buf*() hooks operate on size_t")
> Fixes: 892bc209f250 ("tty: use u8 for flags")
> Signed-off-by: Janusz Krzysztofik <[email protected]>
> ---
> sound/soc/ti/ams-delta.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Odd no built-bots caught this, maybe no one normally builds this file?
Anyway, I'll pick this up in my tty tree now, thanks!
greg k-h
Dnia niedziela, 8 października 2023 07:04:39 CEST Greg Kroah-Hartman pisze:
> On Sat, Oct 07, 2023 at 11:38:18PM +0200, Janusz Krzysztofik wrote:
> > Since types of arguments accepted by tty_ldis_ops::receive_buf() have
> > changed, the driver no longer builds.
> >
> > .../linux/sound/soc/ti/ams-delta.c:403:24: error: initialization of 'void (*)(struct tty_struct *, const u8 *, const u8 *, size_t)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const unsigned char *, unsigned int)'} from incompatible pointer type 'void (*)(struct tty_struct *, const u8 *, const char *, int)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const char *, int)'} [-Werror=incompatible-pointer-types]
> > 403 | .receive_buf = cx81801_receive,
> >
> > Fix it.
> >
> > Fixes: e8161447bb0c ("tty: make tty_ldisc_ops::*buf*() hooks operate on size_t")
> > Fixes: 892bc209f250 ("tty: use u8 for flags")
> > Signed-off-by: Janusz Krzysztofik <[email protected]>
> > ---
> > sound/soc/ti/ams-delta.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Odd no built-bots caught this, maybe no one normally builds this file?
The driver depends on SND, SND_SOC and TTY, but can't be selected
individually, only via its user. Then, it usually builds when
CONFIG_SND_SOC_OMAP_AMS_DELTA=y, and that's probably uncommon due to
specific dependencies. However, cx20442 can also be selected and built
with CONFIG_COMPILE_TEST=y and CONFIG_SND_SOC_ALL_CODECS=y. Since similar
approach seems to apply to quite a number of ASoC CODECs, maybe build-bots
should pay special attention to select SND_SOC_ALL_CODECS more frequently,
like they probably do with COMPILE_TEST.
Thanks,
Janusz
> Anyway, I'll pick this up in my tty tree now, thanks!
>
> greg k-h
>
Dnia niedziela, 8 października 2023 11:42:50 CEST Janusz Krzysztofik pisze:
> Dnia niedziela, 8 października 2023 07:04:39 CEST Greg Kroah-Hartman pisze:
> > On Sat, Oct 07, 2023 at 11:38:18PM +0200, Janusz Krzysztofik wrote:
> > > Since types of arguments accepted by tty_ldis_ops::receive_buf() have
> > > changed, the driver no longer builds.
> > >
> > > .../linux/sound/soc/ti/ams-delta.c:403:24: error: initialization of 'void (*)(struct tty_struct *, const u8 *, const u8 *, size_t)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const unsigned char *, unsigned int)'} from incompatible pointer type 'void (*)(struct tty_struct *, const u8 *, const char *, int)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const char *, int)'} [-Werror=incompatible-pointer-types]
> > > 403 | .receive_buf = cx81801_receive,
> > >
> > > Fix it.
> > >
> > > Fixes: e8161447bb0c ("tty: make tty_ldisc_ops::*buf*() hooks operate on size_t")
> > > Fixes: 892bc209f250 ("tty: use u8 for flags")
> > > Signed-off-by: Janusz Krzysztofik <[email protected]>
> > > ---
> > > sound/soc/ti/ams-delta.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > Odd no built-bots caught this, maybe no one normally builds this file?
>
> The driver depends on SND, SND_SOC and TTY, but can't be selected
> individually, only via its user.
Sorry, that was an ASoC board driver, not a CODEC driver, that required the
fix.
> Then, it usually builds when
> CONFIG_SND_SOC_OMAP_AMS_DELTA=y, and that's probably uncommon due to
> specific dependencies.
In addition to SOUND, SND, SND_SOC and TTY, this ASoC board driver depends
on MACH_AMS_DELTA, then on ARM, MMU, ARCH_MULTI_V4T, !ARCH_MULTI_V6,
!ARCH_MULTI_V7, CPU_LITTLE_ENDIAN, ATAGS, ARCH_OMAP1 and ARCH_OMAP15XX.
Let me check if it builds without those machine dependencies, then we can
cover it by COMPILE_TEST.
Thanks,
Janusz
> However, cx20442 can also be selected and built
> with CONFIG_COMPILE_TEST=y and CONFIG_SND_SOC_ALL_CODECS=y. Since similar
> approach seems to apply to quite a number of ASoC CODECs, maybe build-bots
> should pay special attention to select SND_SOC_ALL_CODECS more frequently,
> like they probably do with COMPILE_TEST.
>
> Thanks,
> Janusz
>
> > Anyway, I'll pick this up in my tty tree now, thanks!
> >
> > greg k-h
> >
>
>
On 07. 10. 23, 23:38, Janusz Krzysztofik wrote:
> Since types of arguments accepted by tty_ldis_ops::receive_buf() have
> changed, the driver no longer builds.
>
> .../linux/sound/soc/ti/ams-delta.c:403:24: error: initialization of 'void (*)(struct tty_struct *, const u8 *, const u8 *, size_t)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const unsigned char *, unsigned int)'} from incompatible pointer type 'void (*)(struct tty_struct *, const u8 *, const char *, int)' {aka 'void (*)(struct tty_struct *, const unsigned char *, const char *, int)'} [-Werror=incompatible-pointer-types]
> 403 | .receive_buf = cx81801_receive,
>
> Fix it.
>
> Fixes: e8161447bb0c ("tty: make tty_ldisc_ops::*buf*() hooks operate on size_t")
> Fixes: 892bc209f250 ("tty: use u8 for flags")
> Signed-off-by: Janusz Krzysztofik <[email protected]>
Reviewed-by: Jiri Slaby <[email protected]>
> ---
> sound/soc/ti/ams-delta.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/sound/soc/ti/ams-delta.c b/sound/soc/ti/ams-delta.c
> index 371943350fdf..666057d50ea0 100644
> --- a/sound/soc/ti/ams-delta.c
> +++ b/sound/soc/ti/ams-delta.c
> @@ -336,8 +336,8 @@ static void cx81801_hangup(struct tty_struct *tty)
> }
>
> /* Line discipline .receive_buf() */
> -static void cx81801_receive(struct tty_struct *tty, const u8 *cp,
> - const char *fp, int count)
> +static void cx81801_receive(struct tty_struct *tty, const u8 *cp, const u8 *fp,
> + size_t count)
Thanks for fixing this. Funny enough that I managed to switch cp, but
not the others. Yeah, there was a lot to overlook in those big changes.
regards,
--
js
suse labs
On Sat, Oct 07, 2023 at 11:38:18PM +0200, Janusz Krzysztofik wrote:
> Since types of arguments accepted by tty_ldis_ops::receive_buf() have
> changed, the driver no longer builds.
Acked-by: Mark Brown <[email protected]>