@@ -2095,6 +2095,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;
@@ -2103,6 +2104,7 @@ static void loop_probe(dev_t dev)
return;
loop_add(idx);
}
+#endif
static int loop_control_remove(int idx)
{
@@ -2237,8 +2239,11 @@ static int __init loop_init(void)
if (err < 0)
goto err_out;
-
+#ifdef CONFIG_BLOCK_LEGACY_AUTOLOAD
if (__register_blkdev(LOOP_MAJOR, "loop", loop_probe)) {
+#else
+ if (register_blkdev(LOOP_MAJOR, "loop")) {
+#endif
err = -EIO;
goto misc_out;
}
The 'probe' callback in __register_blkdev() is only used under the CONFIG_BLOCK_LEGACY_AUTOLOAD deprecation guard. The loop_probe() function is only used for that callback, so guard it too, accordingly. See commit fbdee71bb5d8 ("block: deprecate autoloading based on dev_t"). Signed-off-by: Mauricio Faria de Oliveira <mfo@canonical.com> --- drivers/block/loop.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)