auxdisplay: move cfag12864bfb's probe function to .devinit.text
A pointer to cfag12864bfb_probe 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: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Acked-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Avuton Olrich <avuton@gmail.com> Cc: Antonino Daplas <adaplas@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
ea180ca4d6
Коммит
57f1e87523
|
@ -81,7 +81,7 @@ static struct fb_ops cfag12864bfb_ops = {
|
|||
.fb_mmap = cfag12864bfb_mmap,
|
||||
};
|
||||
|
||||
static int __init cfag12864bfb_probe(struct platform_device *device)
|
||||
static int __devinit cfag12864bfb_probe(struct platform_device *device)
|
||||
{
|
||||
int ret = -EINVAL;
|
||||
struct fb_info *info = framebuffer_alloc(0, &device->dev);
|
||||
|
|
Загрузка…
Ссылка в новой задаче