[PATCH 0/2][next] firewire: Avoid -Wflex-array-member-not-at-end warnings

From: Gustavo A. R. Silva
Date: Tue Mar 05 2024 - 12:24:26 EST


-Wflex-array-member-not-at-end is coming in GCC-14, and we are getting
ready to enable it globally. So, we are deprecating flexible-array
members in the middle of another struct.

There are currently a couple of local structures (`u` and `template`)
that are using a flexible `struct fw_iso_packet` as header for a couple
of on-stack arrays.

We make use of the `struct_group_tagged()` helper to separate the
flexible array from the rest of the members in the flexible structure,
and, with this, we can now declare objects of the type of the tagged
struct, without embedding the flexible array in the middle of another
struct.

We also use `container_of()` whenever we need to retrieve a pointer to
the flexible structure, through which the flexible-array member can be
accessed.

With these changes, we fix a couple of -Wflex-array-member-not-at-end
warnings.

Gustavo A. R. Silva (2):
firewire: Avoid -Wflex-array-member-not-at-end warning
ALSA: firewire-lib: Avoid -Wflex-array-member-not-at-end warning

drivers/firewire/core-cdev.c | 9 +++++----
include/linux/firewire.h | 16 +++++++++-------
sound/firewire/amdtp-stream.c | 8 +++++---
3 files changed, 19 insertions(+), 14 deletions(-)

--
2.34.1