diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2009-06-12 23:46:50 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2009-06-12 08:16:53 -0400 |
commit | ab8e2eb722f1e5fcbd8181e3e9ef4e95c52124df (patch) | |
tree | 41db45ac5411221c6e581952f7842004e6db48a5 /drivers/video | |
parent | 8ebf975608aaebd7feb33d77f07ba21a6380e086 (diff) |
cyber2000fb.c: use proper method for stopping unload if CONFIG_ARCH_SHARK
Russell explains the __module_get():
> cyber2000fb.c does it in its module initialization function
> to prevent the module (when built for Shark) from being unloaded. It
> does this because it's from the days of 2.2 kernels and no one bothered
> writing the module unload support for Shark.
Since 2.4, the correct answer has been to not define an unload fn.
Cc: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: alex@shark-linux.de
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'drivers/video')
-rw-r--r-- | drivers/video/cyber2000fb.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/video/cyber2000fb.c b/drivers/video/cyber2000fb.c index 83c5cefc266c..da7c01b39be2 100644 --- a/drivers/video/cyber2000fb.c +++ b/drivers/video/cyber2000fb.c | |||
@@ -1736,10 +1736,8 @@ static int __init cyber2000fb_init(void) | |||
1736 | 1736 | ||
1737 | #ifdef CONFIG_ARCH_SHARK | 1737 | #ifdef CONFIG_ARCH_SHARK |
1738 | err = cyberpro_vl_probe(); | 1738 | err = cyberpro_vl_probe(); |
1739 | if (!err) { | 1739 | if (!err) |
1740 | ret = 0; | 1740 | ret = 0; |
1741 | __module_get(THIS_MODULE); | ||
1742 | } | ||
1743 | #endif | 1741 | #endif |
1744 | #ifdef CONFIG_PCI | 1742 | #ifdef CONFIG_PCI |
1745 | err = pci_register_driver(&cyberpro_driver); | 1743 | err = pci_register_driver(&cyberpro_driver); |
@@ -1749,14 +1747,15 @@ static int __init cyber2000fb_init(void) | |||
1749 | 1747 | ||
1750 | return ret ? err : 0; | 1748 | return ret ? err : 0; |
1751 | } | 1749 | } |
1750 | module_init(cyber2000fb_init); | ||
1752 | 1751 | ||
1752 | #ifndef CONFIG_ARCH_SHARK | ||
1753 | static void __exit cyberpro_exit(void) | 1753 | static void __exit cyberpro_exit(void) |
1754 | { | 1754 | { |
1755 | pci_unregister_driver(&cyberpro_driver); | 1755 | pci_unregister_driver(&cyberpro_driver); |
1756 | } | 1756 | } |
1757 | |||
1758 | module_init(cyber2000fb_init); | ||
1759 | module_exit(cyberpro_exit); | 1757 | module_exit(cyberpro_exit); |
1758 | #endif | ||
1760 | 1759 | ||
1761 | MODULE_AUTHOR("Russell King"); | 1760 | MODULE_AUTHOR("Russell King"); |
1762 | MODULE_DESCRIPTION("CyberPro 2000, 2010 and 5000 framebuffer driver"); | 1761 | MODULE_DESCRIPTION("CyberPro 2000, 2010 and 5000 framebuffer driver"); |