From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E783EC6FD1F for ; Wed, 22 Mar 2023 14:15:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230163AbjCVOPZ convert rfc822-to-8bit (ORCPT ); Wed, 22 Mar 2023 10:15:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46982 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231137AbjCVOPZ (ORCPT ); Wed, 22 Mar 2023 10:15:25 -0400 Received: from mail-ed1-f48.google.com (mail-ed1-f48.google.com [209.85.208.48]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6BEE161523; Wed, 22 Mar 2023 07:15:19 -0700 (PDT) Received: by mail-ed1-f48.google.com with SMTP id eh3so73561261edb.11; Wed, 22 Mar 2023 07:15:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1679494518; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=oc9u0QRSHAZ1FQIFQqSfH1qMlFht2R0YM5EtqXriUHE=; b=kE7kA8ZSuPB0wF57vRNvAJo+ai6Y5j/BRN1T9KJI14hye2dvMEI/1HS9gKH39jw7gS EcRbk+h/N8AaR1+h220Td5wYrDAwA05BrVf41COOC93zjIYVW+mU7VJzpDIIHDzgnomF NuUrgNeRBmnGYAi/cvek1Tf3QGMk2Kn1AoQbeGLZXSZVtt9HznDpW7Q3tyBoq7FHmtTd 8Nps6u5Pp799c1xsHRzw3pzFctU/JLpmy3FmBGSPfcYu/KFiypy56qHysuLVZou/93w0 ZvX4bjZ5wpjxKumbp6+f2O9Rqv4jdij9SZwv0W2E7aSJAgljUJZ9pBDcEjb7qfg0R7YK 3VwA== X-Gm-Message-State: AO0yUKWowRMV+JCClC/6q6BAVkhibOprMPcON86lQR/3NQ+wGT9mkl5u F4P78hIdu2nXu8MWvpjOxPeyIDCUWTnw1RP+JRM= X-Google-Smtp-Source: AK7set+sFvi2b9JHlrh82lzop6CBs+RArXGCZqOerIKmyfaW5wrAJy2Jcf3NeARQruIklHezo9aFnjJyye6iajCp1m0= X-Received: by 2002:a17:907:7da7:b0:8b1:3298:c587 with SMTP id oz39-20020a1709077da700b008b13298c587mr3405064ejc.2.1679494517779; Wed, 22 Mar 2023 07:15:17 -0700 (PDT) MIME-Version: 1.0 References: <20230322083646.2937580-1-gregkh@linuxfoundation.org> In-Reply-To: <20230322083646.2937580-1-gregkh@linuxfoundation.org> From: "Rafael J. Wysocki" Date: Wed, 22 Mar 2023 15:15:06 +0100 Message-ID: Subject: Re: [PATCH v2 02/19] ACPI: LPIT: move to use bus_get_dev_root() To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org On Wed, Mar 22, 2023 at 9:36 AM Greg Kroah-Hartman wrote: > > Direct access to the struct bus_type dev_root pointer is going away soon > so replace that with a call to bus_get_dev_root() instead, which is what > it is there for. > > Cc: "Rafael J. Wysocki" > Cc: Len Brown > Cc: linux-acpi@vger.kernel.org > Signed-off-by: Greg Kroah-Hartman Acked-by: Rafael J. Wysocki > --- > v2: - change logic to test for dev_root at the beginning of the function > and error out then based on review comments from Rafael. > - fix error handling for ioremap() call to properly drop the > reference on dev_root if it failed. > > drivers/acpi/acpi_lpit.c | 16 +++++++++++----- > 1 file changed, 11 insertions(+), 5 deletions(-) > > diff --git a/drivers/acpi/acpi_lpit.c b/drivers/acpi/acpi_lpit.c > index 3843d2576d3f..c5598b6d5db8 100644 > --- a/drivers/acpi/acpi_lpit.c > +++ b/drivers/acpi/acpi_lpit.c > @@ -98,6 +98,12 @@ EXPORT_SYMBOL_GPL(lpit_read_residency_count_address); > static void lpit_update_residency(struct lpit_residency_info *info, > struct acpi_lpit_native *lpit_native) > { > + struct device *dev_root = bus_get_dev_root(&cpu_subsys); > + > + /* Silently fail, if cpuidle attribute group is not present */ > + if (!dev_root) > + return; > + > info->frequency = lpit_native->counter_frequency ? > lpit_native->counter_frequency : tsc_khz * 1000; > if (!info->frequency) > @@ -108,18 +114,18 @@ static void lpit_update_residency(struct lpit_residency_info *info, > info->iomem_addr = ioremap(info->gaddr.address, > info->gaddr.bit_width / 8); > if (!info->iomem_addr) > - return; > + goto exit; > > - /* Silently fail, if cpuidle attribute group is not present */ > - sysfs_add_file_to_group(&cpu_subsys.dev_root->kobj, > + sysfs_add_file_to_group(&dev_root->kobj, > &dev_attr_low_power_idle_system_residency_us.attr, > "cpuidle"); > } else if (info->gaddr.space_id == ACPI_ADR_SPACE_FIXED_HARDWARE) { > - /* Silently fail, if cpuidle attribute group is not present */ > - sysfs_add_file_to_group(&cpu_subsys.dev_root->kobj, > + sysfs_add_file_to_group(&dev_root->kobj, > &dev_attr_low_power_idle_cpu_residency_us.attr, > "cpuidle"); > } > +exit: > + put_device(dev_root); > } > > static void lpit_process(u64 begin, u64 end) > -- > 2.40.0 >