aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hwmon/smsc47m1.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/hwmon/smsc47m1.c b/drivers/hwmon/smsc47m1.c
index bfef22395772..92cca512b38e 100644
--- a/drivers/hwmon/smsc47m1.c
+++ b/drivers/hwmon/smsc47m1.c
@@ -139,8 +139,7 @@ struct smsc47m1_sio_data {
139}; 139};
140 140
141 141
142static int smsc47m1_probe(struct platform_device *pdev); 142static int __exit smsc47m1_remove(struct platform_device *pdev);
143static int __devexit smsc47m1_remove(struct platform_device *pdev);
144static struct smsc47m1_data *smsc47m1_update_device(struct device *dev, 143static struct smsc47m1_data *smsc47m1_update_device(struct device *dev,
145 int init); 144 int init);
146 145
@@ -160,8 +159,7 @@ static struct platform_driver smsc47m1_driver = {
160 .owner = THIS_MODULE, 159 .owner = THIS_MODULE,
161 .name = DRVNAME, 160 .name = DRVNAME,
162 }, 161 },
163 .probe = smsc47m1_probe, 162 .remove = __exit_p(smsc47m1_remove),
164 .remove = __devexit_p(smsc47m1_remove),
165}; 163};
166 164
167static ssize_t get_fan(struct device *dev, struct device_attribute 165static ssize_t get_fan(struct device *dev, struct device_attribute
@@ -562,7 +560,7 @@ static int smsc47m1_handle_resources(unsigned short address, enum chips type,
562 return 0; 560 return 0;
563} 561}
564 562
565static int __devinit smsc47m1_probe(struct platform_device *pdev) 563static int __init smsc47m1_probe(struct platform_device *pdev)
566{ 564{
567 struct device *dev = &pdev->dev; 565 struct device *dev = &pdev->dev;
568 struct smsc47m1_sio_data *sio_data = dev->platform_data; 566 struct smsc47m1_sio_data *sio_data = dev->platform_data;
@@ -720,7 +718,7 @@ error_release:
720 return err; 718 return err;
721} 719}
722 720
723static int __devexit smsc47m1_remove(struct platform_device *pdev) 721static int __exit smsc47m1_remove(struct platform_device *pdev)
724{ 722{
725 struct smsc47m1_data *data = platform_get_drvdata(pdev); 723 struct smsc47m1_data *data = platform_get_drvdata(pdev);
726 struct resource *res; 724 struct resource *res;
@@ -845,27 +843,27 @@ static int __init sm_smsc47m1_init(void)
845 if (smsc47m1_find(&address, &sio_data)) 843 if (smsc47m1_find(&address, &sio_data))
846 return -ENODEV; 844 return -ENODEV;
847 845
848 err = platform_driver_register(&smsc47m1_driver); 846 /* Sets global pdev as a side effect */
847 err = smsc47m1_device_add(address, &sio_data);
849 if (err) 848 if (err)
850 goto exit; 849 goto exit;
851 850
852 /* Sets global pdev as a side effect */ 851 err = platform_driver_probe(&smsc47m1_driver, smsc47m1_probe);
853 err = smsc47m1_device_add(address, &sio_data);
854 if (err) 852 if (err)
855 goto exit_driver; 853 goto exit_device;
856 854
857 return 0; 855 return 0;
858 856
859exit_driver: 857exit_device:
860 platform_driver_unregister(&smsc47m1_driver); 858 platform_device_unregister(pdev);
861exit: 859exit:
862 return err; 860 return err;
863} 861}
864 862
865static void __exit sm_smsc47m1_exit(void) 863static void __exit sm_smsc47m1_exit(void)
866{ 864{
867 platform_device_unregister(pdev);
868 platform_driver_unregister(&smsc47m1_driver); 865 platform_driver_unregister(&smsc47m1_driver);
866 platform_device_unregister(pdev);
869} 867}
870 868
871MODULE_AUTHOR("Mark D. Studebaker <mdsxyz123@yahoo.com>"); 869MODULE_AUTHOR("Mark D. Studebaker <mdsxyz123@yahoo.com>");