Hi
On 16.11.2016 00:01, David Scully wrote:
I have written an overlay based on a mix of the DSDT for Lenovo 100s and the example in the ssdt-overlay documentation which binds the audio codec to an i2c interface using the Synopsys Designware I2C adapter. I have attempted to load the driver via the EFI method as well as the configfs method in the documentation, but both cause an immediate kernel oops. The overlay does not cause an oops if I target bus not controlled by the DesignWare adapter.
...
SSDT Overlay: https://gist.github.com/anonymous/eddfbb85aebcda2d547ee61873fa7117
I didn't point anything obviously wrong in your SSDT but I Cc'ed also
Mika if he notices something.
I tested the configfs method with ADXL345 on Intel Joule board which is
also using Designware I2C adapter and on it I was able dynamically add
the chip. I tried both v4.9.0-rc5 and v4.8.3.
If I'm interpreting the disassembly correctly, I believe that the problem is that the aic31xx_i2c_probe's i2c_client argument is null for the i2c_adapter pointer.
One way to debug this is to build tlv320aic31xx into the kernel with
CONFIG_DEBUG_INFO=y and use "addr2line -e vmlinux [address]" to see the
source line where it oopsed. I often also add debug prints around to see
pointer values etc.
--
Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html