Using platform_driver_register with a probe function defined using __init is wrong.
This fixes an oops after: cd /sys/bus/platform/drivers/spi_imx echo -n spi_imx.0 > unbind echo -n spi_imx.0 > bind Signed-off-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de> Cc: David Brownell <dbrown...@users.sourceforge.net> Cc: Andrew Morton <a...@linux-foundation.org> Cc: Sascha Hauer <s.ha...@pengutronix.de> --- drivers/spi/spi_imx.c | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi_imx.c b/drivers/spi/spi_imx.c index 1b17f44..c83ca05 100644 --- a/drivers/spi/spi_imx.c +++ b/drivers/spi/spi_imx.c @@ -666,13 +666,12 @@ static struct platform_driver spi_imx_driver = { .name = DRIVER_NAME, .owner = THIS_MODULE, }, - .probe = spi_imx_probe, .remove = __exit_p(spi_imx_remove), }; static int __init spi_imx_init(void) { - return platform_driver_register(&spi_imx_driver); + return platform_driver_probe(&spi_imx_driver, spi_imx_probe); } static void __exit spi_imx_exit(void) -- 1.6.5.2 ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ spi-devel-general mailing list spi-devel-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/spi-devel-general