Message ID | 20240410-pack-v1-1-70f287dd8a66@chromium.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | media: Fix missing warnings for llvm am32 | expand |
On 10/04/2024 14:24, Ricardo Ribalda wrote: > This structure is embedded in multiple other structures that are packed, > which conflicts with it being aligned. > > drivers/media/usb/as102/as10x_cmd.h:379:30: warning: field reg_addr within 'struct as10x_dump_memory::(unnamed at drivers/media/usb/as102/as10x_cmd.h:373:2)' is less aligned than 'struct as10x_register_addr' and is usually due to 'struct as10x_dump_memory::(unnamed at drivers/media/usb/as102/as10x_cmd.h:373:2)' being packed, which can lead to unaligned accesses [-Wunaligned-access] > > Mark it as being packed. > > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> > --- > drivers/media/dvb-frontends/as102_fe_types.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/media/dvb-frontends/as102_fe_types.h b/drivers/media/dvb-frontends/as102_fe_types.h > index 297f9520ebf9d..8a4e392c88965 100644 > --- a/drivers/media/dvb-frontends/as102_fe_types.h > +++ b/drivers/media/dvb-frontends/as102_fe_types.h > @@ -174,6 +174,6 @@ struct as10x_register_addr { > uint32_t addr; > /* register mode access */ > uint8_t mode; > -}; > +} __packed; Changing the layout of a struct is scary, but in this case I believe as10x_register_addr isn't actually used in this driver at all. So this looks OK. Regards, Hans > > #endif >
diff --git a/drivers/media/dvb-frontends/as102_fe_types.h b/drivers/media/dvb-frontends/as102_fe_types.h index 297f9520ebf9d..8a4e392c88965 100644 --- a/drivers/media/dvb-frontends/as102_fe_types.h +++ b/drivers/media/dvb-frontends/as102_fe_types.h @@ -174,6 +174,6 @@ struct as10x_register_addr { uint32_t addr; /* register mode access */ uint8_t mode; -}; +} __packed; #endif
This structure is embedded in multiple other structures that are packed, which conflicts with it being aligned. drivers/media/usb/as102/as10x_cmd.h:379:30: warning: field reg_addr within 'struct as10x_dump_memory::(unnamed at drivers/media/usb/as102/as10x_cmd.h:373:2)' is less aligned than 'struct as10x_register_addr' and is usually due to 'struct as10x_dump_memory::(unnamed at drivers/media/usb/as102/as10x_cmd.h:373:2)' being packed, which can lead to unaligned accesses [-Wunaligned-access] Mark it as being packed. Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> --- drivers/media/dvb-frontends/as102_fe_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)