From 3d2bd009d55dcb6c24a053b5fb5ffb56765b85d0 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 9 Mar 2012 10:09:15 -0800 Subject: [PATCH] 3.0-stable patches added patches: cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch mfd-fix-cs5535-section-mismatch.patch --- ...-call-__init-function-from-__devinit.patch | 31 +++++++++ .../mfd-fix-cs5535-section-mismatch.patch | 67 +++++++++++++++++++ queue-3.0/series | 2 + 3 files changed, 100 insertions(+) create mode 100644 queue-3.0/cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch create mode 100644 queue-3.0/mfd-fix-cs5535-section-mismatch.patch diff --git a/queue-3.0/cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch b/queue-3.0/cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch new file mode 100644 index 00000000000..4de8c58d63c --- /dev/null +++ b/queue-3.0/cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch @@ -0,0 +1,31 @@ +From 474de3bbadd9cb75ffc32cc759c40d868343d46c Mon Sep 17 00:00:00 2001 +From: Danny Kukawka +Date: Thu, 2 Feb 2012 14:20:29 +0100 +Subject: cs5535-mfgpt: don't call __init function from __devinit + +From: Danny Kukawka + +commit 474de3bbadd9cb75ffc32cc759c40d868343d46c upstream. + +Fix scan_timers() to be __devinit and not __init since +the function get called from cs5535_mfgpt_probe which is +__devinit. + +Signed-off-by: Danny Kukawka +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/misc/cs5535-mfgpt.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/misc/cs5535-mfgpt.c ++++ b/drivers/misc/cs5535-mfgpt.c +@@ -262,7 +262,7 @@ static void __init reset_all_timers(void + * In other cases (such as with VSAless OpenFirmware), the system firmware + * leaves timers available for us to use. + */ +-static int __init scan_timers(struct cs5535_mfgpt_chip *mfgpt) ++static int __devinit scan_timers(struct cs5535_mfgpt_chip *mfgpt) + { + struct cs5535_mfgpt_timer timer = { .chip = mfgpt }; + unsigned long flags; diff --git a/queue-3.0/mfd-fix-cs5535-section-mismatch.patch b/queue-3.0/mfd-fix-cs5535-section-mismatch.patch new file mode 100644 index 00000000000..4a6c3e8b85c --- /dev/null +++ b/queue-3.0/mfd-fix-cs5535-section-mismatch.patch @@ -0,0 +1,67 @@ +From 97e43c983c721a47546e6db3b7711dcd912a6481 Mon Sep 17 00:00:00 2001 +From: Christian Gmeiner +Date: Tue, 13 Dec 2011 21:30:04 +0100 +Subject: mfd: Fix cs5535 section mismatch + +From: Christian Gmeiner + +commit 97e43c983c721a47546e6db3b7711dcd912a6481 upstream. + +Silence following warnings: +WARNING: drivers/mfd/cs5535-mfd.o(.data+0x20): Section mismatch in +reference from the variable cs5535_mfd_drv to the function +.devinit.text:cs5535_mfd_probe() +The variable cs5535_mfd_drv references +the function __devinit cs5535_mfd_probe() +If the reference is valid then annotate the +variable with __init* or __refdata (see linux/init.h) or name the variable: +*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console + +WARNING: drivers/mfd/cs5535-mfd.o(.data+0x28): Section mismatch in +reference from the variable cs5535_mfd_drv to the function +.devexit.text:cs5535_mfd_remove() +The variable cs5535_mfd_drv references +the function __devexit cs5535_mfd_remove() +If the reference is valid then annotate the +variable with __exit* (see linux/init.h) or name the variable: +*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console + +Rename the variable from *_drv to *_driver so +modpost ignore the OK references to __devinit/__devexit +functions. + +Signed-off-by: Christian Gmeiner +Acked-by: Andres Salomon +Signed-off-by: Samuel Ortiz +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/mfd/cs5535-mfd.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/drivers/mfd/cs5535-mfd.c ++++ b/drivers/mfd/cs5535-mfd.c +@@ -179,7 +179,7 @@ static struct pci_device_id cs5535_mfd_p + }; + MODULE_DEVICE_TABLE(pci, cs5535_mfd_pci_tbl); + +-static struct pci_driver cs5535_mfd_drv = { ++static struct pci_driver cs5535_mfd_driver = { + .name = DRV_NAME, + .id_table = cs5535_mfd_pci_tbl, + .probe = cs5535_mfd_probe, +@@ -188,12 +188,12 @@ static struct pci_driver cs5535_mfd_drv + + static int __init cs5535_mfd_init(void) + { +- return pci_register_driver(&cs5535_mfd_drv); ++ return pci_register_driver(&cs5535_mfd_driver); + } + + static void __exit cs5535_mfd_exit(void) + { +- pci_unregister_driver(&cs5535_mfd_drv); ++ pci_unregister_driver(&cs5535_mfd_driver); + } + + module_init(cs5535_mfd_init); diff --git a/queue-3.0/series b/queue-3.0/series index e5f28f2f523..fab5015c3c3 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -64,3 +64,5 @@ drm-radeon-kms-set-sx_misc-in-the-r6xx-blit-code-v2.patch net-usbnet-avoid-recursive-locking-in-usbnet_stop.patch dm-io-fix-discard-support.patch dm-raid-fix-flush-support.patch +cs5535-mfgpt-don-t-call-__init-function-from-__devinit.patch +mfd-fix-cs5535-section-mismatch.patch -- 2.47.3