Hi,
I am trying to register AD7606 as a SPI platform driver for Intel Galileo board. Kernel 3.8. I have included the AD7606 driver in the kernel build as a built in package, so it tries registering during boot time.
Below is the logs showing errors.
It fails to allocate gpio for CONVST, though it's found to be a valid gpio.
Any Idea what might be the issue, or how I can go about debugging this problem.
Regards
Simba
mount: devtmpfs is already mounted or /dev busy
Starting udev
[ 9.858963] udevd[985]: starting version 182
[ 11.195458] ce4100_spi 0000:00:15.0: enabling device (0000 -> 0002)
[ 11.285409] ce4100_spi 0000:00:15.1: enabling device (0000 -> 0002)
[ 11.370247] AD7606: Allocating INT gpio line. // This I have added to get irq for BUSY line before SPI calls register.
[ 11.374712] platform qrk-gpio-restrict-sc.0: Driver qrk-gpio-restrict-sc requests probe deferral
[ 11.595100] intel_qrk_gpio_probe UIO addr 0x90006000 internal_addr 0xe067c000 size 4096 memtype 1
[ 11.656611] intel_qrk_gip 0000:00:15.2: i2c speed set to 100kHz
[ 13.220210] spi_master spi0: will run message pump with realtime priority
[ 13.265616] spi_master spi1: will run message pump with realtime priority
[ 13.294899] cy8c9540a 0-0020: dev_id=0x40
[ 13.379974] ad7606 spi1.1: failed to request GPIO CONVST 27 : -517
[ 13.388289] spi spi1.1: Driver ad7606 requests probe deferral
[ 13.395586] ad7606 spi1.1: failed to request GPIO CONVST 27 : -517
[ 13.423829] spi spi1.1: Driver ad7606 requests probe deferral
[ 13.457204] at24 0-0050: byte_len looks suspicious (no power of 2)!
[ 13.482705] at24 0-0050: 11264 byte at24 EEPROM, writable, 1 bytes/write
[ 13.504827] industrialio: exports duplicate symbol iio_buffer_init (owned by kernel)
[ 13.518263] ------------[ cut here ]------------
[ 13.523052] WARNING: at /home/vikram/Galileo/meta-clanton_v1.0.0/yocto_build/tmp/work/clanton-poky-linux/linux-yocto-clanton/3.8-r0/linux/drivers/gpio/gpiolib.c:1921 __gpio_set_value+0x8d/0xa0()
[ 13.540486] Hardware name: QUARK
[ 13.543744] Modules linked in: at24(+) cy8c9540a spi_pxa2xx gpio_sch intel_qrk_gip uio spi_pxa2xx_pci evdev mmc_block ehci_pci ohci_hcd ehci_hcd sdhci_pci sdhci usbcore led_class stmmac usb_common mmc_core
[ 13.562516] Pid: 768, comm: kworker/u:2 Not tainted 3.8.7-yocto-standard #5
[ 13.569513] Call Trace:
[ 13.572095] [<c1029d2d>] warn_slowpath_common+0x6d/0xa0
[ 13.577475] [<c116270d>] ? __gpio_set_value+0x8d/0xa0
[ 13.582753] [<c116270d>] ? __gpio_set_value+0x8d/0xa0
[ 13.587962] [<c1029d7d>] warn_slowpath_null+0x1d/0x20
[ 13.593244] [<c116270d>] __gpio_set_value+0x8d/0xa0
[ 13.598270] [<c123273d>] ad7606_reset+0x1d/0x50
[ 13.603033] [<c1232c8c>] ad7606_probe+0x29c/0x4c0
[ 13.607891] [<c10f4563>] ? sysfs_do_create_link+0xa3/0x1c0
[ 13.613610] [<c123328b>] ad7606_spi_probe+0x2b/0x50
[ 13.618634] [<c12124f5>] spi_drv_probe+0x15/0x20
[ 13.623478] [<c11e6566>] driver_probe_device+0x56/0x1e0
[ 13.628853] [<c121321a>] ? spi_match_device+0x3a/0x90
[ 13.634130] [<c11e6780>] ? __driver_attach+0x90/0x90
[ 13.639237] [<c11e67b9>] __device_attach+0x39/0x50
[ 13.644264] [<c11e4eb4>] bus_for_each_drv+0x34/0x70
[ 13.649290] [<c11e64db>] device_attach+0x7b/0x90
[ 13.654128] [<c11e6780>] ? __driver_attach+0x90/0x90
[ 13.659239] [<c11e5b87>] bus_probe_device+0x67/0x90
[ 13.664339] [<c11e5feb>] deferred_probe_work_func+0x5b/0x90
[ 13.670135] [<c103db1e>] process_one_work+0x10e/0x370
[ 13.675340] [<c103e9f1>] worker_thread+0x101/0x330
[ 13.680365] [<c103e8f0>] ? busy_worker_rebind_fn+0xb0/0xb0
[ 13.686010] [<c104248e>] kthread+0x8e/0xa0
[ 13.690353] [<c12c907b>] ret_from_kernel_thread+0x1b/0x30
[ 13.695916] [<c1042400>] ? kthread_create_on_node+0xa0/0xa0
[ 13.701702] ---[ end trace f8c04f99418da205 ]---
[ 13.743350] industrialio: exports duplicate symbol iio_buffer_init (owned by kernel)
[ 13.768764] ------------[ cut here ]------------
[ 13.773552] WARNING: at /home/vikram/Galileo/meta-clanton_v1.0.0/yocto_build/tmp/work/clanton-poky-linux/linux-yocto-clanton/3.8-r0/linux/drivers/gpio/gpiolib.c:1921 __gpio_set_value+0x8d/0xa0()
[ 13.791000] Hardware name: QUARK
[ 13.794261] Modules linked in: at24 cy8c9540a spi_pxa2xx gpio_sch intel_qrk_gip uio spi_pxa2xx_pci evdev mmc_block ehci_pci ohci_hcd ehci_hcd sdhci_pci sdhci usbcore led_class stmmac usb_common mmc_core
[ 13.812768] Pid: 768, comm: kworker/u:2 Tainted: G W 3.8.7-yocto-standard #5
[ 13.820784] Call Trace:
[ 13.823309] [<c1029d2d>] warn_slowpath_common+0x6d/0xa0
[ 13.828682] [<c116270d>] ? __gpio_set_value+0x8d/0xa0
[ 13.833958] [<c116270d>] ? __gpio_set_value+0x8d/0xa0
[ 13.839167] [<c1029d7d>] warn_slowpath_null+0x1d/0x20
[ 13.844445] [<c116270d>] __gpio_set_value+0x8d/0xa0
[ 13.849470] [<c1232754>] ad7606_reset+0x34/0x50
[ 13.854219] [<c1232c8c>] ad7606_probe+0x29c/0x4c0
[ 13.859075] [<c10f4563>] ? sysfs_do_create_link+0xa3/0x1c0
[ 13.864787] [<c123328b>] ad7606_spi_probe+0x2b/0x50
[ 13.869812] [<c12124f5>] spi_drv_probe+0x15/0x20
[ 13.874647] [<c11e6566>] driver_probe_device+0x56/0x1e0
[ 13.880022] [<c121321a>] ? spi_match_device+0x3a/0x90
[ 13.885293] [<c11e6780>] ? __driver_attach+0x90/0x90
[ 13.890476] [<c11e67b9>] __device_attach+0x39/0x50
[ 13.895431] [<c11e4eb4>] bus_for_each_drv+0x34/0x70
[ 13.900529] [<c11e64db>] device_attach+0x7b/0x90
[ 13.905288] [<c11e6780>] ? __driver_attach+0x90/0x90
[ 13.910468] [<c11e5b87>] bus_probe_device+0x67/0x90
[ 13.915490] [<c11e5feb>] deferred_probe_work_func+0x5b/0x90
[ 13.921285] [<c103db1e>] process_one_work+0x10e/0x370
[ 13.926490] [<c103e9f1>] worker_thread+0x101/0x330
[ 13.931510] [<c103e8f0>] ? busy_worker_rebind_fn+0xb0/0xb0
[ 13.937156] [<c104248e>] kthread+0x8e/0xa0
[ 13.941492] [<c12c907b>] ret_from_kernel_thread+0x1b/0x30
[ 13.947055] [<c1042400>] ? kthread_create_on_node+0xa0/0xa0
[ 13.952835] ---[ end trace f8c04f99418da206 ]---
[ 13.965970] ad7606: probe of spi1.1 failed with error -22
[ 14.084283] EFI Variables Facility v0.08 2004-May-17
Starting Bootlog daemon: bootlogd.