From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A3B972 for ; Wed, 29 Sep 2021 19:08:08 +0000 (UTC) Received: by mail.kernel.org (Postfix) with ESMTPSA id 9228B61506; Wed, 29 Sep 2021 19:08:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1632942488; bh=V7P9Dpo+mgUjVW9uQztKl7TPFTOtCqIlyiXw//J0a4k=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=btPVSf5x7vMYBcmJQXGjDQufdGB7+wjOy/1iDEdfKVnUipcgeBnw5JU7jBFyK00ix YZoR4thoCZKqiMIguMmT04BdtlIVeF0i3IsuPSPzK0aNLoWDjY/aDUwO2XO21kL+E0 5rholWmLqPj33VWKR3nhyfnjV7RNcquGdMWDstNsYDp+GSkqGFjfPgJmu6OKpd12sW akiKTy3ioJNpkN8aD1VAppF4Jbxa+qT5g5Vv+lRspuIdB2vVn9OO9sfVFcKQQmZJ5Z p0SfNbILnawfWuUYyqu/+385V8bJI7UH9Ph5R0uRpjsXig0t2etVtN9Ggsb1K8One2 dlXiBwC5dsmgA== Date: Wed, 29 Sep 2021 12:08:03 -0700 From: Nathan Chancellor To: "Rafael J. Wysocki" Cc: Linux PCI , Linux ACPI , LKML , Bjorn Helgaas , Andy Shevchenko , Mika Westerberg , llvm@lists.linux.dev Subject: Re: [PATCH v2 2/7] PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI Message-ID: References: <1800633.tdWV9SEqCh@kreacher> <8879480.rMLUfLXkoz@kreacher> Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <8879480.rMLUfLXkoz@kreacher> On Mon, Sep 20, 2021 at 09:17:08PM +0200, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki > > Using struct pci_platform_pm_ops for ACPI adds unnecessary > indirection to the interactions between the PCI core and ACPI PM, > which is also subject to retpolines. > > Moreover, it is not particularly clear from the current code that, > as far as PCI PM is concerned, "platform" really means just ACPI > except for the special casess when Intel MID PCI PM is used or when > ACPI support is disabled (through the kernel config or command line, > or because there are no usable ACPI tables on the system). > > To address the above, rework the PCI PM code to invoke ACPI PM > functions directly as needed and drop the acpi_pci_platform_pm > object that is not necessary any more. > > Accordingly, update some of the ACPI PM functions in question to do > extra checks in case the ACPI support is disabled (which previously > was taken care of by avoiding to set the pci_platform_ops pointer > in those cases). > > Signed-off-by: Rafael J. Wysocki This patch as commit 9896a58cdd59 ("PCI: ACPI: PM: Do not use pci_platform_pm_ops for ACPI") in -next causes the following build error when compiling x86_64 allmodconfig with clang: drivers/pci/pci-acpi.c:1125:7: error: variable 'adev' is uninitialized when used here [-Werror,-Wuninitialized] if (!adev || !acpi_device_power_manageable(adev)) ^~~~ drivers/pci/pci-acpi.c:1110:26: note: initialize the variable 'adev' to silence this warning struct acpi_device *adev; ^ = NULL 1 error generated. Should the adev assignment be moved up or is there a different fix necessary? Cheers, Nathan