On Mon, May 30, 2022 at 03:35:28PM +0200, Arnd Bergmann wrote:
The annotations for edid are completely correct and necessary. However other driver authors just slap __packed annotations on any structure even if the layout is not fixed at all like:
struct my_driver_priv { struct device dev; u8 causes_misalignment; spinlock_t lock; atomic_t counter; } __packed; /* this annotation is harmful because it breaks the atomics */
or if the annotation does not change the layout like
struct my_dma_descriptor { __le64 address; __le64 length; } __packed; /* does not change layout but makes access slow on some architectures */
Sounds like we need a howto document for people to ignore and continue doing their own thing. :P
dri-devel@lists.freedesktop.org