Re: arm:collie_defconfig broken since commit ff2b135922 ("gpio: make the gpiochip a real device")

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Mar 27, 2016 at 10:03:53PM -0700, Guenter Roeck wrote:
> Hi,
> 
> arm:collie_defconfig is broken since commit ff2b135922 ("gpio: make the gpiochip a real device").
> 
> Test is quite simple:
> 
> Build arm:collie_defconfig, run with
> 	qemu-system-arm -M collie -kernel arch/arm/boot/zImage --append "console=ttySA1" -monitor null -nographic
> 
> Prior to the above commit, there is console output (the image crashes because it
> doesn't have a root file system, but that is irrelevant). After the commit, the
> console is silent.
> 
> Let me know if I can do anything to help tracking down the problem.
> 
After adding a check and WARN() into gpio_add_data(), the reason is obvious.

Here is the log:

WARNING: CPU: 0 PID: 0 at drivers/gpio/gpiolib.c:473
gpiochip_add_data+0x5b0/0x694
gpio subsystem not initialized
CPU: 0 PID: 0 Comm: swapper Not tainted 4.6.0-rc1-dirty #1
Hardware name: Sharp-Collie
[<c000dc9c>] (unwind_backtrace) from [<c000c4ec>] (show_stack+0x10/0x14)
[<c000c4ec>] (show_stack) from [<c0016824>] (__warn+0xcc/0xf4)
[<c0016824>] (__warn) from [<c0016884>] (warn_slowpath_fmt+0x38/0x48)
[<c0016884>] (warn_slowpath_fmt) from [<c015fbdc>] (gpiochip_add_data+0x5b0/0x694)
[<c015fbdc>] (gpiochip_add_data) from [<c033c980>] (sa1100_init_gpio+0x2c/0x15c)
[<c033c980>] (sa1100_init_gpio) from [<c032e3d4>] (init_IRQ+0x14/0x1c)
[<c032e3d4>] (init_IRQ) from [<c032bac0>] (start_kernel+0x200/0x42c)
[<c032bac0>] (start_kernel) from [<c0008048>] (0xc0008048)

Turns out gpio_add_data() is called before gpiolib_dev_init(), and the gpio
subsytem doesn't like that at all.

Guenter

> Thanks,
> Guenter
> 
> ---
> Bisect log:
> 
> # bad: [f55532a0c0b8bb6148f4e07853b876ef73bc69ca] Linux 4.6-rc1
> # good: [b562e44f507e863c6792946e4e1b1449fbbac85d] Linux 4.5
> git bisect start 'HEAD' 'v4.5'
> # bad: [6b5f04b6cf8ebab9a65d9c0026c650bb2538fd0f] Merge branch 'for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
> git bisect bad 6b5f04b6cf8ebab9a65d9c0026c650bb2538fd0f
> # good: [96b9b1c95660d4bc5510c5d798d3817ae9f0b391] Merge tag 'tty-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
> git bisect good 96b9b1c95660d4bc5510c5d798d3817ae9f0b391
> # good: [18f038e6bfb715310526ac05e4f20e55683471de] staging: dgnc: cleanup properly
> git bisect good 18f038e6bfb715310526ac05e4f20e55683471de
> # bad: [10fdfee7f7fd8d4a6a8455ac4c9fbbc51d79b9f7] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
> git bisect bad 10fdfee7f7fd8d4a6a8455ac4c9fbbc51d79b9f7
> # good: [3d15cfdb1b77536c205d8e49c0312219ddf162ec] Merge tag 'linux-kselftest-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
> git bisect good 3d15cfdb1b77536c205d8e49c0312219ddf162ec
> # bad: [ccbd805aa934dd1b863ef115a9c55f119b2388cf] Revert "Share upstreaming patches"
> git bisect bad ccbd805aa934dd1b863ef115a9c55f119b2388cf
> # bad: [db303a9053c8a81717cb6497f4cf63b773b21ca8] gpio: arizona: Use devm_gpiochip_add_data() for gpio registration
> git bisect bad db303a9053c8a81717cb6497f4cf63b773b21ca8
> # bad: [ed07247dbf5b0a23b0289c9e8e4a2ceb9b8f2e9d] gpio: Remove unused asm/gpio.h files
> git bisect bad ed07247dbf5b0a23b0289c9e8e4a2ceb9b8f2e9d
> # bad: [2f890cf0dfe421ecd2095d8cabb89e7207b499ee] gpio: ath79: Make the driver removable
> git bisect bad 2f890cf0dfe421ecd2095d8cabb89e7207b499ee
> # good: [daec0beda6fd7a741e4381741b3f7ff15970fdf6] Merge branch 'error-return-from-get' into devel
> git bisect good daec0beda6fd7a741e4381741b3f7ff15970fdf6
> # bad: [40c159b776f882f2e2cbe20c9e29832841e5c0f9] gpio: add a userspace character device ABI
> git bisect bad 40c159b776f882f2e2cbe20c9e29832841e5c0f9
> # bad: [34ffd85d9c46cde3dc987cac82bff370a937ac4b] gpio: refer to gpio device in prints and debugfs
> git bisect bad 34ffd85d9c46cde3dc987cac82bff370a937ac4b
> # bad: [ff2b1359229927563addbf2f5ad480660c350903] gpio: make the gpiochip a real device
> git bisect bad ff2b1359229927563addbf2f5ad480660c350903
> # first bad commit: [ff2b1359229927563addbf2f5ad480660c350903] gpio: make the gpiochip a real device
> --
> To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux