parisc: Fix device names in /proc/iomem
authorHelge Deller <deller@gmx.de>
Mon, 18 Jul 2022 15:06:47 +0000 (17:06 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 25 Aug 2022 09:11:12 +0000 (11:11 +0200)
commit cab56b51ec0e69128909cef4650e1907248d821b upstream.

Fix the output of /proc/iomem to show the real hardware device name
including the pa_pathname, e.g. "Merlin 160 Core Centronics [8:16:0]".
Up to now only the pa_pathname ("[8:16.0]") was shown.

Signed-off-by: Helge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org> # v4.9+
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/kernel/drivers.c

index 6a71d3151a232b03d9c42aef73a9ae2bc7e3f60e..6f270d081cfc3ea3f50f621b9319a4ece54a17e6 100644 (file)
@@ -505,7 +505,6 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
        dev->id.hversion_rev = iodc_data[1] & 0x0f;
        dev->id.sversion = ((iodc_data[4] & 0x0f) << 16) |
                        (iodc_data[5] << 8) | iodc_data[6];
-       dev->hpa.name = parisc_pathname(dev);
        dev->hpa.start = hpa;
        /* This is awkward.  The STI spec says that gfx devices may occupy
         * 32MB or 64MB.  Unfortunately, we don't know how to tell whether
@@ -519,10 +518,10 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
                dev->hpa.end = hpa + 0xfff;
        }
        dev->hpa.flags = IORESOURCE_MEM;
-       name = parisc_hardware_description(&dev->id);
-       if (name) {
-               strlcpy(dev->name, name, sizeof(dev->name));
-       }
+       dev->hpa.name = dev->name;
+       name = parisc_hardware_description(&dev->id) ? : "unknown";
+       snprintf(dev->name, sizeof(dev->name), "%s [%s]",
+               name, parisc_pathname(dev));
 
        /* Silently fail things like mouse ports which are subsumed within
         * the keyboard controller