powerpc/fadump: when fadump is supported register the fadump sysfs files.
authorMichal Suchanek <msuchanek@suse.de>
Thu, 7 Nov 2019 16:47:57 +0000 (17:47 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 13 Nov 2019 05:58:11 +0000 (16:58 +1100)
Currently it is not possible to distinguish the case when fadump is
supported by firmware and disabled in kernel and completely unsupported
using the kernel sysfs interface. User can investigate the devicetree
but it is more reasonable to provide sysfs files in case we get some
fadumpv2 in the future.

With this patch sysfs files are available whenever fadump is supported
by firmware.

There is duplicate message about lack of support by firmware in
fadump_reserve_mem and setup_fadump. Remove the duplicate message in
setup_fadump.

Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Reviewed-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20191107164757.15140-1-msuchanek@suse.de
arch/powerpc/kernel/fadump.c

index ed59855430b93c43e106f0a2629dc4b9e992e371..ff0114aeba9b5c80202698cd1df1680da7defe6a 100644 (file)
@@ -1466,16 +1466,15 @@ static void fadump_init_files(void)
  */
 int __init setup_fadump(void)
 {
-       if (!fw_dump.fadump_enabled)
-               return 0;
-
-       if (!fw_dump.fadump_supported) {
-               printk(KERN_ERR "Firmware-assisted dump is not supported on"
-                       " this hardware\n");
+       if (!fw_dump.fadump_supported)
                return 0;
-       }
 
+       fadump_init_files();
        fadump_show_config();
+
+       if (!fw_dump.fadump_enabled)
+               return 1;
+
        /*
         * If dump data is available then see if it is valid and prepare for
         * saving it to the disk.
@@ -1492,8 +1491,6 @@ int __init setup_fadump(void)
        else if (fw_dump.reserve_dump_area_size)
                fw_dump.ops->fadump_init_mem_struct(&fw_dump);
 
-       fadump_init_files();
-
        return 1;
 }
 subsys_initcall(setup_fadump);