platform-drivers: move probe to .devinit.text in arch/arm
A pointer to a probe callback is passed to the core via platform_driver_register and so the function must not disappear when the .init sections are discarded. Otherwise (if also having HOTPLUG=y) unbinding and binding a device to the driver via sysfs will result in an oops as does a device being registered late. An alternative to this patch is using platform_driver_probe instead of platform_driver_register plus removing the pointer to the probe function from the struct platform_driver. Signed-off-by: NUwe Kleine-König <u.kleine-koenig@pengutronix.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Ben Dooks <ben-linux@fluff.org> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> Cc: Eric Miao <eric.miao@marvell.com> Cc: Liam Girdwood <liam.girdwood@wolfsonmicro.com> Cc: Paul Sokolovsky <pmiscml@gmail.com> Cc: Richard Purdie <rpurdie@rpsys.net> Cc: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: NArnaud Patard <arnaud.patard@rtp-net.org> Acked-by: NDmitry Eremin-Solenikov <dbaryshkov@gmail.com> Acked-by: NKristoffer Ericson <kristoffer.ericson@gmail.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
Showing
想要评论请 注册 或 登录