On Thu, May 06, 2010 at 02:46:04PM -0400, Mike Frysinger wrote: > On Thu, May 6, 2010 at 06:37, Oskar Schirmer wrote: > > struct ser_req { > > + u16 sample; > > + char __padalign[L1_CACHE_BYTES - sizeof(u16)]; > > + > > u16 reset; > > u16 ref_on; > > u16 command; > > - u16 sample; > > struct spi_message msg; > > struct spi_transfer xfer[6]; > > }; > > are you sure this is necessary ? ser_req is only ever used with > spi_sync() and it's allocated/released on the fly, so how could > anything be reading that memory between the start of the transmission > and the return to adi7877 ? The master driver can. atmel_spi flushes the cache of the buffers pretty early when queuing a message and touches the message members afterwards. > > struct ad7877 { > > + u16 conversion_data[AD7877_NR_SENSE]; > > + char __padalign[L1_CACHE_BYTES > > + - AD7877_NR_SENSE * sizeof(u16)]; > > + > > struct input_dev *input; > > char phys[32]; > > > > @@ -182,8 +188,6 @@ struct ad7877 { > > u8 averaging; > > u8 pen_down_acc_interval; > > > > - u16 conversion_data[AD7877_NR_SENSE]; > > - > > struct spi_transfer xfer[AD7877_NR_SENSE + 2]; > > struct spi_message msg; > > i can see the spi_message inside of this struct being a problem > because the spi transfer is doing asynchronously with spi_async(). > however, i would add a comment right above these two fields with a > short explanation as to why they're at the start and why the pad > exists so someone down the line doesnt move it. Good idea. -- 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