core: match_dev_by_uuid() should not be marked __init
Jens Axboe [Thu, 16 Sep 2010 06:33:54 +0000 (08:33 +0200)]
It is also called outside the scope of init functions. Stephen
reports:

WARNING: init/mounts.o(.text+0x21a): Section mismatch in reference from the function name_to_dev_t() to the function .init.text:match_dev_by_uuid()
The function name_to_dev_t() references
the function __init match_dev_by_uuid().
This is often because name_to_dev_t lacks a __init
annotation or the annotation of match_dev_by_uuid is wrong.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

init/do_mounts.c

index 804f9c6..b7fc839 100644 (file)
@@ -65,7 +65,7 @@ __setup("rw", readwrite);
  *
  * Returns 1 if the device matches, and 0 otherwise.
  */
-static int __init match_dev_by_uuid(struct device *dev, void *data)
+static int match_dev_by_uuid(struct device *dev, void *data)
 {
        u8 *uuid = data;
        struct hd_struct *part = dev_to_part(dev);