diff --git a/drivers/ide/Makefile b/drivers/ide/Makefile
index 8605536ea18f9128fee5dc9976aaf8da91aec7aa..39e99ace5cd3485b7466848aba3c4684237e9c88 100644
--- a/drivers/ide/Makefile
+++ b/drivers/ide/Makefile
@@ -62,7 +62,6 @@ endif
 
 obj-$(CONFIG_BLK_DEV_IDE)		+= arm/ mips/
 
-# old hd driver must be last
 ifeq ($(CONFIG_BLK_DEV_HD), y)
 	hd-core-y += legacy/hd.o
 	obj-y += hd-core.o
diff --git a/drivers/ide/legacy/hd.c b/drivers/ide/legacy/hd.c
index abdedf56643eb16f9daaa85caa05d41e79a1746a..00b695652b2a1444ed50f604143d082b425de410 100644
--- a/drivers/ide/legacy/hd.c
+++ b/drivers/ide/legacy/hd.c
@@ -812,4 +812,4 @@ static int __init parse_hd_setup(char *line)
 }
 __setup("hd=", parse_hd_setup);
 
-module_init(hd_init);
+late_initcall(hd_init);