Currently the early dump of PCI configuration space looks quite unhelpful, e.g.

[    0.000000]   60:
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]  00
[    0.000000]

which makes really hard to get anything out of this. Convert the function to
use print_hex_dump() to make output neat.

In the result we will have

[    0.000000] 00000060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

which is much, much better.

Reviewed-by: Mika Westerberg <[email protected]>
Signed-off-by: Andy Shevchenko <[email protected]>
---
- add Mika's tag
- address style issue
 arch/x86/pci/early.c | 19 +++++--------------
 1 file changed, 5 insertions(+), 14 deletions(-)

diff --git a/arch/x86/pci/early.c b/arch/x86/pci/early.c
index f0114007e915..e5f753cbb1c3 100644
--- a/arch/x86/pci/early.c
+++ b/arch/x86/pci/early.c
@@ -59,24 +59,15 @@ int early_pci_allowed(void)
 
 void early_dump_pci_device(u8 bus, u8 slot, u8 func)
 {
+       u32 value[256 / 4];
        int i;
-       int j;
-       u32 val;
 
-       printk(KERN_INFO "pci 0000:%02x:%02x.%d config space:",
-              bus, slot, func);
+       pr_info("pci 0000:%02x:%02x.%d config space:\n", bus, slot, func);
 
-       for (i = 0; i < 256; i += 4) {
-               if (!(i & 0x0f))
-                       printk("\n  %02x:",i);
+       for (i = 0; i < 256; i += 4)
+               value[i / 4] = read_pci_config(bus, slot, func, i);
 
-               val = read_pci_config(bus, slot, func, i);
-               for (j = 0; j < 4; j++) {
-                       printk(" %02x", val & 0xff);
-                       val >>= 8;
-               }
-       }
-       printk("\n");
+       print_hex_dump(KERN_INFO, "", DUMP_PREFIX_OFFSET, 16, 1, value, 256, 
false);
 }
 
 void early_dump_pci_devices(void)
-- 
2.17.0

Reply via email to