diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 37511d2b2caf7df1c2067019a1decaca4edba00a..6e56c3faacac705bdf25c78ac8787738dd173010 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -2093,6 +2093,7 @@ static void loop_remove(struct loop_device *lo)
 	put_disk(lo->lo_disk);
 }
 
+#ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD
 static void loop_probe(dev_t dev)
 {
 	int idx = MINOR(dev) >> part_shift;
@@ -2101,6 +2102,9 @@ static void loop_probe(dev_t dev)
 		return;
 	loop_add(idx);
 }
+#else
+#define loop_probe NULL
+#endif /* !CONFIG_BLOCK_LEGACY_AUTOLOAD */
 
 static int loop_control_remove(int idx)
 {