Hello community, here is the log from the commit of package powerpc-utils for openSUSE:Factory checked in at 2017-12-23 12:17:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/powerpc-utils (Old) and /work/SRC/openSUSE:Factory/.powerpc-utils.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "powerpc-utils" Sat Dec 23 12:17:00 2017 rev:87 rq:557964 version:1.3.4 Changes: -------- --- /work/SRC/openSUSE:Factory/powerpc-utils/powerpc-utils.changes 2017-12-08 12:55:28.333836521 +0100 +++ /work/SRC/openSUSE:Factory/.powerpc-utils.new/powerpc-utils.changes 2017-12-23 12:17:02.698725783 +0100 @@ -1,0 +2,5 @@ +Thu Dec 14 13:45:35 UTC 2017 - [email protected] + +- Update drmgr-load-rpadlpar_io-on-C-as-well.patch to more robust solution. + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ drmgr-load-rpadlpar_io-on-C-as-well.patch ++++++ --- /var/tmp/diff_new_pack.lo4rx3/_old 2017-12-23 12:17:03.302696335 +0100 +++ /var/tmp/diff_new_pack.lo4rx3/_new 2017-12-23 12:17:03.302696335 +0100 @@ -1,4 +1,4 @@ -From bbde7cb273a18893e8d4ecc2ccae7054a4bac995 Mon Sep 17 00:00:00 2001 +From 93bf5ade0d35392b342a5a8c9f56c9c5d3e957db Mon Sep 17 00:00:00 2001 From: Michal Suchanek <[email protected]> Date: Thu, 30 Nov 2017 18:14:11 +0100 Subject: [PATCH] drmgr: load rpadlpar_io on -C as well @@ -9,29 +9,75 @@ However, -C does not select any hotplug type, and the rpadlpar_io kernel module is loaded only when hotplug type pci, phb or slot is selected. -Select pci by default as if the user did drmgr -c pci -C so all -capabilities are printed. + +Make display_capabilities global and check it in check_kmods() Signed-off-by: Michal Suchanek <[email protected]> --- - src/drmgr/drmgr.c | 4 ++++ - 1 file changed, 4 insertions(+) - + src/drmgr/common.c | 4 ++-- + src/drmgr/dr.h | 1 + + src/drmgr/drmgr.c | 1 - + src/drmgr/options.c | 3 +++ + 4 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/drmgr/common.c b/src/drmgr/common.c +index f91ad82bc9b3..6e892652be68 100644 +--- a/src/drmgr/common.c ++++ b/src/drmgr/common.c +@@ -114,13 +114,13 @@ static int check_kmods(void) + + /* We only need to do this for PHB/SLOT/PCI operations */ + if (usr_drc_type != DRC_TYPE_PCI && usr_drc_type != DRC_TYPE_PHB && +- usr_drc_type != DRC_TYPE_SLOT) ++ usr_drc_type != DRC_TYPE_SLOT && !display_capabilities) + return 0; + + /* We don't use rpadlar_io/rpaphp for PCI operations run with the + * -v / virtio flag, which relies on generic PCI rescan instead + */ +- if (usr_drc_type == DRC_TYPE_PCI && pci_virtio) ++ if (usr_drc_type == DRC_TYPE_PCI && pci_virtio && !display_capabilities) + return 0; + + /* Before checking for dlpar capability, we need to ensure that +diff --git a/src/drmgr/dr.h b/src/drmgr/dr.h +index 93785b646377..d5295808afb5 100644 +--- a/src/drmgr/dr.h ++++ b/src/drmgr/dr.h +@@ -68,6 +68,7 @@ enum drc_type {DRC_TYPE_NONE, DRC_TYPE_PCI, DRC_TYPE_SLOT, DRC_TYPE_PHB, + DRC_TYPE_HIBERNATE, DRC_TYPE_MIGRATION}; + + extern enum drmgr_action usr_action; ++extern int display_capabilities; + extern int usr_slot_identification; + extern int usr_timeout; + extern char *usr_drc_name; diff --git a/src/drmgr/drmgr.c b/src/drmgr/drmgr.c -index 6777e7fe23ee..0276fe0a47b5 100644 +index 6777e7fe23ee..09e842720acf 100644 --- a/src/drmgr/drmgr.c +++ b/src/drmgr/drmgr.c -@@ -194,6 +194,10 @@ int parse_options(int argc, char *argv[]) - usr_drc_type = to_drc_type(optarg); - break; - case 'C': -+ /* If you do not ask for it rpadlpar_io is not loaded -+ * and the capabilities it provides not available */ -+ if (usr_drc_type == DRC_TYPE_NONE) -+ usr_drc_type = DRC_TYPE_PCI; - display_capabilities = 1; - break; - case 'd': +@@ -38,7 +38,6 @@ int output_level = 1; /* default to lowest output level */ + int log_fd = 0; + int action_cnt = 0; + +-static int display_capabilities = 0; + static int handle_prrn_event = 0; + static int display_usage = 0; + +diff --git a/src/drmgr/options.c b/src/drmgr/options.c +index 1ace27dd5547..eae6c9013092 100644 +--- a/src/drmgr/options.c ++++ b/src/drmgr/options.c +@@ -21,6 +21,9 @@ + /* Global User Specifications */ + enum drmgr_action usr_action = NONE; + ++/* the init routines may need to know this to enable all features */ ++int display_capabilities = 0; ++ + /* default is to do slot identification, unless the drmgr -I + * option is specified. + */ -- 2.13.6
