Commit 2b6ae096 authored by Helge Deller's avatar Helge Deller

parisc: Avoid printing the hardware path twice

Avoid that the hardware path is shown twice in the kernel log, and clean
up the output of the version numbers to show up in the same order as
they are listed in the hardware database in the hardware.c file.
Additionally, optimize the memory footprint of the hardware database
and mark some code as init code.

Fixes: cab56b51 ("parisc: Fix device names in /proc/iomem")
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
Cc: <stable@vger.kernel.org> # v4.9+
parent a0c9f1f2
...@@ -10,12 +10,12 @@ ...@@ -10,12 +10,12 @@
#define SVERSION_ANY_ID PA_SVERSION_ANY_ID #define SVERSION_ANY_ID PA_SVERSION_ANY_ID
struct hp_hardware { struct hp_hardware {
unsigned short hw_type:5; /* HPHW_xxx */ unsigned int hw_type:8; /* HPHW_xxx */
unsigned short hversion; unsigned int hversion:12;
unsigned long sversion:28; unsigned int sversion:12;
unsigned short opt; unsigned char opt;
const char name[80]; /* The hardware description */ unsigned char name[59]; /* The hardware description */
}; } __packed;
struct parisc_device; struct parisc_device;
......
...@@ -882,15 +882,13 @@ void __init walk_central_bus(void) ...@@ -882,15 +882,13 @@ void __init walk_central_bus(void)
&root); &root);
} }
static void print_parisc_device(struct parisc_device *dev) static __init void print_parisc_device(struct parisc_device *dev)
{ {
char hw_path[64]; static int count __initdata;
static int count;
print_pa_hwpath(dev, hw_path); pr_info("%d. %s at %pap { type:%d, hv:%#x, sv:%#x, rev:%#x }",
pr_info("%d. %s at %pap [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }", ++count, dev->name, &(dev->hpa.start), dev->id.hw_type,
++count, dev->name, &(dev->hpa.start), hw_path, dev->id.hw_type, dev->id.hversion, dev->id.sversion, dev->id.hversion_rev);
dev->id.hversion_rev, dev->id.hversion, dev->id.sversion);
if (dev->num_addrs) { if (dev->num_addrs) {
int k; int k;
...@@ -1079,7 +1077,7 @@ static __init int qemu_print_iodc_data(struct device *lin_dev, void *data) ...@@ -1079,7 +1077,7 @@ static __init int qemu_print_iodc_data(struct device *lin_dev, void *data)
static int print_one_device(struct device * dev, void * data) static __init int print_one_device(struct device * dev, void * data)
{ {
struct parisc_device * pdev = to_parisc_device(dev); struct parisc_device * pdev = to_parisc_device(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment