Hi,
Am 29.05.2019 um 11:12 schrieb Tony Lindgren tony@atomide.com:
Hi,
- H. Nikolaus Schaller hns@goldelico.com [190529 08:57]:
[ 7.524125] pca953x 4-0022: failed writing register [ 7.529444] pca953x: probe of 4-0022 failed with error -22
I saw something similar with a BBB cape (early Baylibre ACME cape) and it was device_pca95xx_init() somehow trying to write to a read-only register causing an error.
I did not debug further and I do not have it handy, and I could not easily figure out what caused the regression.. But maybe take a look and see if commenting out the register write device_pca95xx_init() helps.
I did a quick check and there are significant recent changes
git diff v4.19 v5.2-rc1 drivers/gpio/gpio-pca953x.c
even going down to register address calculations. Most changes were introduced in v5.0 for some regulator handling and wakeup_path, irq-handling and allowing to define pullup/down (if the gpio expander chip permits).
Maybe there is a bug that was hidden by something else before v5.2-rc1.
Anyways I seem to have found a recipe to be able to bisect. The problem is that mainline does not boot and the sets of LetuxOS patches to make it boot do either apply cleanly for v5.1 or for v5.2-rc1 but not both. Sometimes the compile fails and sometimes the Pyra does not boot to login and hangs with a kernel panic.
But now I seem to have found a good mix where v5.1 boots and is good (4-0022 is listed as a gpiochip), while v5.2-rc1 boots and is bad (4-0022 missing) and intermediate bisect points seem to compile and boot as well.
Now, ca. 13 rounds of bisect are needed.
BR and thanks, Nikolaus