On Fri, Jan 03, 2014 at 09:52:25PM -0800, Andrey Smirnov wrote: > On Fri, Jan 3, 2014 at 9:28 PM, Dmitry Torokhov > <dmitry.torokhov@xxxxxxxxx> wrote: > > pcu->cmd_buf[IMS_PCU_DATA_OFFSET] is word aligned so we do not need to use > > get_unaligned_le16 to access it. > > > > Also let's add build time check to make sure it stays aligned. > > - AFAIK, there's no guarantee the "pcu" itself is aligned Yes. kmalloc returns aligned pointer, otherwise every access to members other than u8 would risk unaligned exception. > - This change assumes that aligning data on the 2-byte boundary is > sufficient for all architectures that do not allow unaligned data > access, which I don't think is a good assumption to make What arches require word access be double-word aligned? > - On x86 or any other architecture that allows unaligned access > get_unaligned_le16() is actually results to call to le16_to_cpup(), so > this change doesn't really save anything while imposing restrictions > on the arrangement of the fields in struct ims_pcu and causing > unnecessary build errors. Unless somebody changes the layout there won't be any new build errors, will there? Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html