Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp469558ybz; Wed, 29 Apr 2020 03:40:24 -0700 (PDT) X-Google-Smtp-Source: APiQypJOtFrTRnW/r5ffgoJuPvV+FloS/senHbx1Mz1FZX+CcunKuPqFo1oFn56+pzBfrywF6Lau X-Received: by 2002:a17:906:391:: with SMTP id b17mr1935408eja.91.1588156824580; Wed, 29 Apr 2020 03:40:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588156824; cv=none; d=google.com; s=arc-20160816; b=L1C5xh+AwzOT7GYKP+omfaW6AdMeLYpI/sPx0PkJO5Wml0T8BIaKRRce/+i0p9hNTq uPTLXBk57tu0Me3CeUcLSJL1nO5HlQNRUIUeRqbpX289E+1bHtw7s8FLrEJKq4AHnLcc CSVOAD/9CwbWkIjrWiZ9UDYqEp9IlZeXj4cJoz/mvmrLoIe0dguyN261JGm335x7hxji 4vKckSgdlEpe2Ru7vElJK+fm915A8jaqYw+kUX5gjEOKUI3ujs1N2WhKDqpT+nqWnCaV 95krNBxyxNh4dikDNyVfyf1axBeDE8hSg9YJZ63tLqA3nnhb8zl/z3Z1kAsf/yQqdg/n XbZQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=Ajg0V3YAnieY8dp7jTqVJrYiDVgIPrXCOEB/FDyd0IQ=; b=wJRYPpCCSg4nbKXShBb8yWcmeqjzEl2xGo5Zef7Wdd7C0k2jDGgJzF4qHuptU0RmVx AE8nEzChLNdADns0CZB3fFj0YEz09ozQgCwjIc5lzGToWHrtZksKz1MHgl+8M9gglOhO sD3LoJELfAJgYyMZGEnDQYDY8h3pjD7q7b7hnJpb5E0588sKyE8ugShKMMqmDUvM9lMo QvXMqWsp/pfC2BDCGiC5c0RhgNn5vC3GA4quKkujCJ90dJft00AHx2zFwP6k8OKKJ0Z3 evHo48jrnt54fj9yshHsA7/hdU6BzsA6FAOSkRKg3bwNTz94ipaiGbeus/QntLFnWClT eFKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="DIXfay/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 35si3126872edm.560.2020.04.29.03.40.00; Wed, 29 Apr 2020 03:40:24 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="DIXfay/d"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1726765AbgD2Kh3 (ORCPT + 99 others); Wed, 29 Apr 2020 06:37:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53138 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726345AbgD2Kh2 (ORCPT ); Wed, 29 Apr 2020 06:37:28 -0400 Received: from mail-wm1-x342.google.com (mail-wm1-x342.google.com [IPv6:2a00:1450:4864:20::342]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E1A26C03C1AD for ; Wed, 29 Apr 2020 03:37:27 -0700 (PDT) Received: by mail-wm1-x342.google.com with SMTP id v8so4582797wma.0 for ; Wed, 29 Apr 2020 03:37:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Ajg0V3YAnieY8dp7jTqVJrYiDVgIPrXCOEB/FDyd0IQ=; b=DIXfay/duBznmXB5ADvUzPnyxxtfIxj2kizhan9HisAwxNdjLTa9l9i34gr0wqk+xa 2uanBNCtdDDTcrKxiKdyuGrCXH7HBG+yfZXWa2pdBp8lCpCnGKL0Ls2zQkox09/Mpzhw FZGjZ7b4fdPWGsKhHWwwHmbv/9x9fX8Wz+BHSQZYT+yxx89w0Fiqa8v3d5jRt8Jbtf8s 8s5RCIs36RQOsJvNFWuPXx7N6wNGWHwA5BhBM8VCLlZAfOlTHJQCLZ0mudu5YNzTwJbf u7P+sm/ev50j2OXnv85QUHDySZCx66DCWZOUPqqDrwJi29iaIJ/S6F81weuQ/XuYqzRe RFzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Ajg0V3YAnieY8dp7jTqVJrYiDVgIPrXCOEB/FDyd0IQ=; b=YHMZ+RGgZ5Qk1mtUFM/hqYkuLblDo68r8cu5Q6AB+uB+p6N9pO7d12lnRxvm7LAI9S R//99Y2MFGJa992j1l58x93GCs+dzvGphB4zAwfwj1ko7Gh2w/rnTNuiTIm3G9rRIhdc R8D0YP47phj6FSE5ySZUySJg5qoiLIbu7UZ/HzGiCOz1GhM3GJ9eblyVB0hVIcQg+ymA J6Z2/sK8o1M1BIPp4PT+S4XZ/YA+i1mQUOZl7jSM8pPlVDM7w1APHprvDcHMTtO9nZgx N9idZK52Uz07UZzjlPnliEocMHmqTkassMMLLj1h/F8GBkVuFSKYEjIjdHTQ0nu6qpF+ p/zQ== X-Gm-Message-State: AGi0PuamZw778akfQkE7oMHBtkLS0WeKYcBxrWUhPNgB0aKycOI9KTd7 3fQhN7wF1FYM6GL/9OkxdQtXMQ== X-Received: by 2002:a1c:bd08:: with SMTP id n8mr2479044wmf.23.1588156646488; Wed, 29 Apr 2020 03:37:26 -0700 (PDT) Received: from localhost.localdomain ([2a01:e34:ed2f:f020:d494:5741:b700:698f]) by smtp.gmail.com with ESMTPSA id f23sm6899576wml.4.2020.04.29.03.37.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2020 03:37:25 -0700 (PDT) From: Daniel Lezcano To: daniel.lezcano@linaro.org, rui.zhang@intel.com Cc: lukasz.luba@arm.com, "Rafael J. Wysocki" , Lorenzo Pieralisi , Sudeep Holla , linux-pm@vger.kernel.org (open list:CPU IDLE TIME MANAGEMENT FRAMEWORK), linux-kernel@vger.kernel.org (open list), linux-arm-kernel@lists.infradead.org (open list:CPUIDLE DRIVER - ARM PSCI) Subject: [PATCH v4 4/4] thermal: cpuidle: Register cpuidle cooling device Date: Wed, 29 Apr 2020 12:36:42 +0200 Message-Id: <20200429103644.5492-4-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200429103644.5492-1-daniel.lezcano@linaro.org> References: <20200429103644.5492-1-daniel.lezcano@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The cpuidle driver can be used as a cooling device by injecting idle cycles. The DT binding for the idle state added an optional When the property is set, register the cpuidle driver with the idle state node pointer as a cooling device. The thermal framework will do the association automatically with the thermal zone via the cooling-device defined in the device tree cooling-maps section. Signed-off-by: Daniel Lezcano --- - V4: - Do not check the return value as the function does no longer return one --- drivers/cpuidle/cpuidle-arm.c | 3 +++ drivers/cpuidle/cpuidle-psci.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/drivers/cpuidle/cpuidle-arm.c b/drivers/cpuidle/cpuidle-arm.c index 9e5156d39627..8c758920d699 100644 --- a/drivers/cpuidle/cpuidle-arm.c +++ b/drivers/cpuidle/cpuidle-arm.c @@ -8,6 +8,7 @@ #define pr_fmt(fmt) "CPUidle arm: " fmt +#include #include #include #include @@ -124,6 +125,8 @@ static int __init arm_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + cpuidle_cooling_register(drv); + return 0; out_kfree_drv: diff --git a/drivers/cpuidle/cpuidle-psci.c b/drivers/cpuidle/cpuidle-psci.c index bae9140a65a5..1f38e0dfc9b2 100644 --- a/drivers/cpuidle/cpuidle-psci.c +++ b/drivers/cpuidle/cpuidle-psci.c @@ -9,6 +9,7 @@ #define pr_fmt(fmt) "CPUidle PSCI: " fmt #include +#include #include #include #include @@ -313,6 +314,8 @@ static int __init psci_idle_init_cpu(int cpu) if (ret) goto out_kfree_drv; + cpuidle_cooling_register(drv); + return 0; out_kfree_drv: -- 2.17.1