Skip to content

Commit 768ce42

Browse files
thierryredingsuryasaimadhu
authored andcommitted
EDAC, mv64x60: Use platform_register/unregister_drivers()
These new helpers simplify implementing multi-driver modules and properly handle failure to register one driver by unregistering all previously registered drivers. Signed-off-by: Thierry Reding <[email protected]> Cc: linux-edac <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Borislav Petkov <[email protected]>
1 parent d54051f commit 768ce42

File tree

1 file changed

+11
-28
lines changed

1 file changed

+11
-28
lines changed

drivers/edac/mv64x60_edac.c

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -847,6 +847,15 @@ static struct platform_driver mv64x60_mc_err_driver = {
847847
}
848848
};
849849

850+
static struct platform_driver * const drivers[] = {
851+
&mv64x60_mc_err_driver,
852+
&mv64x60_cpu_err_driver,
853+
&mv64x60_sram_err_driver,
854+
#ifdef CONFIG_PCI
855+
&mv64x60_pci_err_driver,
856+
#endif
857+
};
858+
850859
static int __init mv64x60_edac_init(void)
851860
{
852861
int ret = 0;
@@ -863,39 +872,13 @@ static int __init mv64x60_edac_init(void)
863872
break;
864873
}
865874

866-
ret = platform_driver_register(&mv64x60_mc_err_driver);
867-
if (ret)
868-
printk(KERN_WARNING EDAC_MOD_STR "MC err failed to register\n");
869-
870-
ret = platform_driver_register(&mv64x60_cpu_err_driver);
871-
if (ret)
872-
printk(KERN_WARNING EDAC_MOD_STR
873-
"CPU err failed to register\n");
874-
875-
ret = platform_driver_register(&mv64x60_sram_err_driver);
876-
if (ret)
877-
printk(KERN_WARNING EDAC_MOD_STR
878-
"SRAM err failed to register\n");
879-
880-
#ifdef CONFIG_PCI
881-
ret = platform_driver_register(&mv64x60_pci_err_driver);
882-
if (ret)
883-
printk(KERN_WARNING EDAC_MOD_STR
884-
"PCI err failed to register\n");
885-
#endif
886-
887-
return ret;
875+
return platform_register_drivers(drivers, ARRAY_SIZE(drivers));
888876
}
889877
module_init(mv64x60_edac_init);
890878

891879
static void __exit mv64x60_edac_exit(void)
892880
{
893-
#ifdef CONFIG_PCI
894-
platform_driver_unregister(&mv64x60_pci_err_driver);
895-
#endif
896-
platform_driver_unregister(&mv64x60_sram_err_driver);
897-
platform_driver_unregister(&mv64x60_cpu_err_driver);
898-
platform_driver_unregister(&mv64x60_mc_err_driver);
881+
platform_unregister_drivers(drivers, ARRAY_SIZE(drivers));
899882
}
900883
module_exit(mv64x60_edac_exit);
901884

0 commit comments

Comments
 (0)