FAILED: patch "[PATCH] parisc: Avoid printing the hardware path twice" failed to apply to 4.9-stable tree
Subsystems (2)
[email protected]
maintainerThe patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Possible dependencies:
2b6ae0962b42 ("parisc: Avoid printing the hardware path twice") 4f80b70e1953 ("parisc: Use proper printk format for resource_size_t") 5e791d2e4785 ("parisc: Convert printk(KERN_LEVEL) to pr_lvl()") 0ae60d0c4f19 ("parisc: Show unhashed hardware inventory")
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
From 2b6ae0962b421103feb41a80406732944b0665b3 Mon Sep 17 00:00:00 2001
From: Helge Deller <[email protected]>
Date: Fri, 28 Oct 2022 18:12:49 +0200
Subject: [PATCH] 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.
arch/parisc/include/asm/hardware.h +6 -6
@@ -10,12 +10,12 @@#define SVERSION_ANY_ID PA_SVERSION_ANY_IDstruct hp_hardware { -unsigned short hw_type:5 ;/* HPHW_xxx */ -unsigned short hversion; -unsigned long sversion:28 ; -unsigned short opt; -const char name[80 ];/* The hardware description */ -}; +unsigned int hw_type:8 ;/* HPHW_xxx */ +unsigned int hversion:12 ; +unsigned int sversion:12 ; +unsigned char opt; +unsigned char name[59 ];/* The hardware description */ +} __packed;struct parisc_device ;
arch/parisc/kernel/drivers.c +6 -8
@@ -882,15 +882,13 @@ void __init walk_central_bus(void) &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; +static int count__initdata ; -print_pa_hwpath (dev, hw_path); -pr_info ("%d. %s at %pap [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }" , - ++count, dev->name, &(dev->hpa.start), hw_path, dev->id.hw_type, - dev->id.hversion_rev, dev->id.hversion, dev->id.sversion); +pr_info ("%d. %s at %pap { type:%d, hv:%#x, sv:%#x, rev:%#x }" , + ++count, dev->name, &(dev->hpa.start), dev->id.hw_type, + dev->id.hversion, dev->id.sversion, dev->id.hversion_rev);if (dev->num_addrs) {int k;
@@ -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);