From patchwork Tue Mar 7 13:37:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 65504 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:5915:0:0:0:0:0 with SMTP id v21csp2436166wrd; Tue, 7 Mar 2023 05:44:33 -0800 (PST) X-Google-Smtp-Source: AK7set/PSwGsQd4WRVGmqoJDiY83IVwe5cQBM6nob6Qe2s92wvBpMHb9XZ+FEbIcxH0U8ua/fP71 X-Received: by 2002:a17:906:1481:b0:8b1:7ae8:ba6f with SMTP id x1-20020a170906148100b008b17ae8ba6fmr14213076ejc.16.1678196673338; Tue, 07 Mar 2023 05:44:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1678196673; cv=none; d=google.com; s=arc-20160816; b=i5lyurryCq6Zsw3vUB2U9uvTTbJZ/UQuhYdI9MdrlfdQq38ahZgIKRxX/nOB+RXb5w yTbmJBCg1FWrBamCcG1zqcvgNO1Ez6V5/iR9T69ndX6NaWu0NbXByuv/BmF2AoKWWPZP /ZFrr2qx8I1KtzEZwnVgBICRBAD7GpaqbZMpZCRzwmaIPgkv4r6vVxiGkzkweXPfktuC rOokKlnatFBHrV5A2iV4DjwbC3TsEAp/QiUB17gSJ/b2X2EIdLCo4vauMmHf1cAXijaj npFGdoMlxefjJkcEArEa9bcs0InTepF2CGsKWPKLjpUQt9p0TPPM1vk4n+zORNabREBF wZ5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=r31ohlDpv5otoAeD1bVOzDiFSts1H09pvgDJbkHz6kE=; b=VBPNfTKCnNxX9Ks+j1zOK1ohx+t1joVIVtD5Kx+JRItijyr/ELbT9UM4xI0T/69RLR 9FS0gjCDuULOnvpqKKusOpfCK/UJpm8f5t0VAcfirLyIO3DNcWC46e0RwY7QnNVi2OMX 4bCNBp/u44pC7XhAGBpSkh3D04D0xrYbMwRy3bT35KWg/yUyrxF0JUnIXzjv1iyq6mSn 1fOtbuge5NdJ1uIr0xInzLkRQr5dnEfoAC/Bz9XT4o2qd7SAbPTh67R0Rb4Fcs1w9QVA mC5s7FbUEW8Vc3bfLobSnxS79AMGLoVNbCKybBVVwAJxUTeORECU2lUtmVAnDB0No5dD yOLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TrUavH00; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sb22-20020a1709076d9600b009153f0ec59bsi1014478ejc.800.2023.03.07.05.44.10; Tue, 07 Mar 2023 05:44:33 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=TrUavH00; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231249AbjCGNiY (ORCPT + 99 others); Tue, 7 Mar 2023 08:38:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:34130 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231128AbjCGNiM (ORCPT ); Tue, 7 Mar 2023 08:38:12 -0500 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D067A3A879 for ; Tue, 7 Mar 2023 05:38:05 -0800 (PST) Received: by mail-wr1-x42e.google.com with SMTP id r18so12163152wrx.1 for ; Tue, 07 Mar 2023 05:38:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1678196285; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=r31ohlDpv5otoAeD1bVOzDiFSts1H09pvgDJbkHz6kE=; b=TrUavH00tT8Tlc+XRCN+f0574vfg/jdmj2Iyd/dME2zutf2oub0jR4gbiET5ga102A HyoDuym9ddEz4WOlG7ymyFBAaTKtxu+JAFJi5Z7z+L0cp/yEFhaHHLbYheaxkxzuUXPy /MP2+UF36Miaj3r6lQxR2JuGjCQFo5LhpOEWKBzraqBuzEtNIz6qoqHylZVuvqIHHqkV ZFAsAGbVOyNoQOH739V4xtKjtdSnEIDUf6hL9ZlHLf79ausXxl3+oAdbr9E5ZtRbSV8T 4PHv71I2DWaXwgT1BbkhdL++T6oHDj8AniwXTJRSSBTVdBLohG05y+6BJ2+okXwyF/UX vBdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678196285; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=r31ohlDpv5otoAeD1bVOzDiFSts1H09pvgDJbkHz6kE=; b=BQHX/53X3hwhWls2/hRogk7eeb6/UI9n5krsNq7fhcvEh2YfvrbY0MBVdXeojDg68W yqXrLgw8UaKPReuMdq2jwPrDeHaEYYE91lR5sxVXD2kigjRmT6Sgf//VC4Fb8NbpdFDO +K69P65DUd/319vFyxEjccVE5VRMdGn4h3IVrwDaeScfOkHfozRaoocc+netMLmlJDmV I+Dw7pt0+OklXwrV5Vu0gbn3R9Vhl8k8Ga5ausoF7YqqZAyba22xnASVYeRORtniymaB CrjH7rJ4nQa40WV1rCKOO3CW/N4faxIAvmpmOs4UlJmmBY2LVYhj+qiTq/Rx7q6/KakA QNaw== X-Gm-Message-State: AO0yUKW4pRhShtDVeWpvDyElSa/UbG98Q37XZwngCa/N9fg5JQlzu3JC r6Xe+DnbE4jcQtiTCi3BL78lUQ== X-Received: by 2002:adf:e30f:0:b0:2c8:309d:77b0 with SMTP id b15-20020adfe30f000000b002c8309d77b0mr9443409wrj.0.1678196285292; Tue, 07 Mar 2023 05:38:05 -0800 (PST) Received: from mai.box.freepro.com ([2a05:6e02:1041:c10:5ab9:1ac6:870d:35c]) by smtp.gmail.com with ESMTPSA id v5-20020a5d43c5000000b002c55de1c72bsm12311477wrr.62.2023.03.07.05.38.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Mar 2023 05:38:04 -0800 (PST) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rafael@kernel.org Cc: rui.zhang@intel.com, amitk@kernel.org, Len Brown , linux-acpi@vger.kernel.org (open list:ACPI THERMAL DRIVER), linux-kernel@vger.kernel.org (open list) Subject: [PATCH v1 11/11] thermal/acpi: Use the thermal zone parameter to specify the device link Date: Tue, 7 Mar 2023 14:37:35 +0100 Message-Id: <20230307133735.90772-12-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230307133735.90772-1-daniel.lezcano@linaro.org> References: <20230307133735.90772-1-daniel.lezcano@linaro.org> MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1759716754765953433?= X-GMAIL-MSGID: =?utf-8?q?1759716754765953433?= The thermal framework can create a cyclic link between the driver and the device via the thermal zone parameters when registering the thermal zone. As this option is supported by the thermal core code, let's use it and remove the specific code in the ACPI driver. This change has the benefit of self-encapsulate the thermal zone device structure. Signed-off-by: Daniel Lezcano --- drivers/acpi/thermal.c | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) diff --git a/drivers/acpi/thermal.c b/drivers/acpi/thermal.c index 255efa73ed70..7d5c56564556 100644 --- a/drivers/acpi/thermal.c +++ b/drivers/acpi/thermal.c @@ -789,6 +789,7 @@ static struct thermal_zone_device_ops acpi_thermal_zone_ops = { static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) { + struct thermal_zone_params tzp = { .linked_dev = &tz->device->dev }; int trips = 0; int result; acpi_status status; @@ -808,33 +809,23 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) if (tz->trips.passive.flags.valid) tz->thermal_zone = thermal_zone_device_register("acpitz", trips, 0, tz, - &acpi_thermal_zone_ops, NULL, + &acpi_thermal_zone_ops, &tzp, tz->trips.passive.tsp * 100, tz->polling_frequency * 100); else tz->thermal_zone = thermal_zone_device_register("acpitz", trips, 0, tz, - &acpi_thermal_zone_ops, NULL, + &acpi_thermal_zone_ops, &tzp, 0, tz->polling_frequency * 100); if (IS_ERR(tz->thermal_zone)) return -ENODEV; - result = sysfs_create_link(&tz->device->dev.kobj, - &tz->thermal_zone->device.kobj, "thermal_zone"); - if (result) - goto unregister_tzd; - - result = sysfs_create_link(&tz->thermal_zone->device.kobj, - &tz->device->dev.kobj, "device"); - if (result) - goto remove_tz_link; - status = acpi_bus_attach_private_data(tz->device->handle, tz->thermal_zone); if (ACPI_FAILURE(status)) { result = -ENODEV; - goto remove_dev_link; + goto unregister_tzd; } result = thermal_zone_device_enable(tz->thermal_zone); @@ -848,20 +839,13 @@ static int acpi_thermal_register_thermal_zone(struct acpi_thermal *tz) acpi_bus_detach: acpi_bus_detach_private_data(tz->device->handle); -remove_dev_link: - sysfs_remove_link(&tz->thermal_zone->device.kobj, "device"); -remove_tz_link: - sysfs_remove_link(&tz->device->dev.kobj, "thermal_zone"); unregister_tzd: thermal_zone_device_unregister(tz->thermal_zone); - return result; } static void acpi_thermal_unregister_thermal_zone(struct acpi_thermal *tz) { - sysfs_remove_link(&tz->device->dev.kobj, "thermal_zone"); - sysfs_remove_link(&tz->thermal_zone->device.kobj, "device"); thermal_zone_device_unregister(tz->thermal_zone); tz->thermal_zone = NULL; acpi_bus_detach_private_data(tz->device->handle);