First, I noted a section mismatch in the mpc52xx_psc_spi-driver which tried to have its probe in __init. Then, I noted that the mpc512x_psc_spi-driver was in the __devinit-section, not in __init. I finally saw that there is no of-equivalent to platform_driver_probe() and tried to implement one.
This is the outcome which seems to work on a MPC5121-board. I have my spi-device and the sysfs does not show bind/unbind-files. I can't yet tell why, but the approach looks a bit clumsy. Probably there is some condition I have missed so far. It should work as a first RFC, however. Release early, right? :) All the best, Wolfram Wolfram Sang (3): of: platform: introduce of_probe_platform_driver() spi: mpc52xx_psc_spi: fix section mismatch warning spi: mpc512x_psc_spi: move init-routines to __init drivers/of/platform.c | 30 +++++++++++++++++++++++++++--- drivers/spi/mpc512x_psc_spi.c | 10 +++++----- drivers/spi/mpc52xx_psc_spi.c | 4 ++-- include/linux/of_platform.h | 2 ++ 4 files changed, 36 insertions(+), 10 deletions(-) -- 1.7.2.3 _______________________________________________ devicetree-discuss mailing list devicetree-discuss@lists.ozlabs.org https://lists.ozlabs.org/listinfo/devicetree-discuss