pstore/blk: Move verify_size() macro out of function
[linux-2.6-microblaze.git] / fs / pstore / blk.c
index 4bb8a34..7d8e5a1 100644 (file)
@@ -108,14 +108,39 @@ struct bdev_info {
        _##name_;                                               \
 })
 
+#define verify_size(name, alignsize, enabled) {                        \
+       long _##name_;                                          \
+       if (enabled)                                            \
+               _##name_ = check_size(name, alignsize);         \
+       else                                                    \
+               _##name_ = 0;                                   \
+       /* Synchronize module parameters with resuls. */        \
+       name = _##name_ / 1024;                                 \
+       pstore_zone_info->name = _##name_;                      \
+}
+
 static int __register_pstore_device(struct pstore_device_info *dev)
 {
        int ret;
 
        lockdep_assert_held(&pstore_blk_lock);
 
-       if (!dev || !dev->total_size || !dev->read || !dev->write)
+       if (!dev) {
+               pr_err("NULL device info\n");
+               return -EINVAL;
+       }
+       if (!dev->total_size) {
+               pr_err("zero sized device\n");
+               return -EINVAL;
+       }
+       if (!dev->read) {
+               pr_err("no read handler for device\n");
                return -EINVAL;
+       }
+       if (!dev->write) {
+               pr_err("no write handler for device\n");
+               return -EINVAL;
+       }
 
        /* someone already registered before */
        if (pstore_zone_info)
@@ -129,21 +154,10 @@ static int __register_pstore_device(struct pstore_device_info *dev)
        if (!dev->flags)
                dev->flags = UINT_MAX;
 
-#define verify_size(name, alignsize, enabled) {                                \
-               long _##name_;                                          \
-               if (enabled)                                            \
-                       _##name_ = check_size(name, alignsize);         \
-               else                                                    \
-                       _##name_ = 0;                                   \
-               name = _##name_ / 1024;                                 \
-               pstore_zone_info->name = _##name_;                      \
-       }
-
        verify_size(kmsg_size, 4096, dev->flags & PSTORE_FLAGS_DMESG);
        verify_size(pmsg_size, 4096, dev->flags & PSTORE_FLAGS_PMSG);
        verify_size(console_size, 4096, dev->flags & PSTORE_FLAGS_CONSOLE);
        verify_size(ftrace_size, 4096, dev->flags & PSTORE_FLAGS_FTRACE);
-#undef verify_size
 
        pstore_zone_info->total_size = dev->total_size;
        pstore_zone_info->max_reason = max_reason;