public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Renninger <trenn@suse.de>
To: Lucas Stach <dev@lynxeye.de>
Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
	rjw@rjwysocki.net
Subject: Re: [PATCH] cpupower: fix breakage from libpci API change
Date: Tue, 14 Apr 2015 18:28:59 +0200	[thread overview]
Message-ID: <6742910.A5LcpWTI3L@skinner> (raw)
In-Reply-To: <1428956641-7765-1-git-send-email-dev@lynxeye.de>

Hi,

On Monday, April 13, 2015 10:24:01 PM Lucas Stach wrote:
> libpci 3.3.0 introduced an additional member in the pci_filter struct
> which needs to be initialized to -1 to get the same behavior as before
> the API change.
Sounds not that clever, but there probably is a reason for this...

I am not that familiar with the pci lib and its recent changes, but
below patch looks reasonable.

Acked-by: Thomas Renninger <trenn@suse.de>


> The libpci internal helpers got updated accordingly,
> but as the cpupower pci helpers initialized the struct themselves the
> behavior changed.
> 
> Use the libpci helper pci_filter_init() to fix this and guard against
> similar breakages in the future.
> 
> This fixes probing of the AMD fam12h/14h cpuidle monitor on systems
> with libpci >= 3.3.0.
> 
> Signed-off-by: Lucas Stach <dev@lynxeye.de>
> ---
>  tools/power/cpupower/utils/helpers/pci.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/power/cpupower/utils/helpers/pci.c
> b/tools/power/cpupower/utils/helpers/pci.c index 9690798..8b27898 100644
> --- a/tools/power/cpupower/utils/helpers/pci.c
> +++ b/tools/power/cpupower/utils/helpers/pci.c
> @@ -25,14 +25,21 @@
>  struct pci_dev *pci_acc_init(struct pci_access **pacc, int domain, int bus,
> int slot, int func, int vendor, int dev)
>  {
> -	struct pci_filter filter_nb_link = { domain, bus, slot, func,
> -					     vendor, dev };
> +	struct pci_filter filter_nb_link;
>  	struct pci_dev *device;
> 
>  	*pacc = pci_alloc();
>  	if (*pacc == NULL)
>  		return NULL;
> 
> +	pci_filter_init(*pacc, &filter_nb_link);
> +	filter_nb_link.domain	= domain;
> +	filter_nb_link.bus	= bus;
> +	filter_nb_link.slot	= slot;
> +	filter_nb_link.func	= func;
> +	filter_nb_link.vendor	= vendor;
> +	filter_nb_link.device	= dev;
> +
>  	pci_init(*pacc);
>  	pci_scan_bus(*pacc);


  reply	other threads:[~2015-04-14 16:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-13 20:24 [PATCH] cpupower: fix breakage from libpci API change Lucas Stach
2015-04-14 16:28 ` Thomas Renninger [this message]
2015-04-28 19:26   ` Lucas Stach
2015-04-29  0:05     ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6742910.A5LcpWTI3L@skinner \
    --to=trenn@suse.de \
    --cc=dev@lynxeye.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox