On Monday 08 September 2008 21:51, you wrote:
On Mon, Sep 08, 2008 at 09:27:13PM +0100, Alan Horstmann wrote:
Attached and here inline is the small change we applied to ensure the byte order is correct in the _spi_write function. Note we observed the spi bus
I take it you're happy to give this your Signed-off-by?
Yes, fine, though obviously we haven't tested this with any other soc systems.
wm8731_spi_write_byte_order.patch
Ensure wm8731_spi_write byte order is consistent regardless of endianess.
Signed-off-by: Alan Horstmann gineera@aspect135.co.uk
With just this one change we have been successful in running the codec over spi. At present we do have an issue with dapm during capture -nothing is being turned on! Any pointers would be appreciated.
If you define DEBUG when building soc-dapm.c (a define at the top of the source file will do the trick) then it will be very verbose about the decisions it's making - that will normally point out the problem. Probably either one of the input controls is not configured to make a path from the input pins to the ADC or the input has been mistakenly marked as disabled.
Otherwise if you post the machine driver and the kernel output with DEBUG enabled someone might be able to spot something.
Thanks, Mark, we will try this.
Alan
wm8731_spi_write_byte_order.patch
--- wm8731-orig.c 2008-09-08 17:16:52.000000000 +0100 +++ wm8731.c 2008-09-08 21:03:16.000000000 +0100 @@ -688,12 +688,13 @@ { struct spi_transfer t; struct spi_message m; - u16 msg[2]; + u8 msg[2];
if (len <= 0) return 0;
- msg[0] = (data[0] << 8) + data[1]; + msg[0] = data[0]; + msg[1] = data[1];
spi_message_init(&m); memset(&t, 0, (sizeof t));