Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp625153imu; Wed, 23 Jan 2019 02:45:44 -0800 (PST) X-Google-Smtp-Source: ALg8bN4tzWmfLjcQ3gv82xj005j+h3swaBv9gLpZAqjvVW397E9v3fbPLpfnURvv6KF9CZlzKQs3 X-Received: by 2002:a17:902:4624:: with SMTP id o33mr1666259pld.289.1548240344000; Wed, 23 Jan 2019 02:45:44 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1548240343; cv=none; d=google.com; s=arc-20160816; b=oCppflPUseISDHkihQofltBFmMmnpP7uV7VXfMBMIrx44hAm9e3Q0FhhhCilZGhJuv tApi9h6TK56zuDTcyhns1WXd1qQeW4yRx7HkoehrlGUidd8coFOn6+swPECitaM55EvN DPP+z421TWITxxiZyoWU/xuTklYmvB2vW80K6NzhHiLlLPS9RW0VLPFNVVnGC478iBS1 TYKa5v7Q+4pckCjG1/p393GGy3PSFkJaigj4uXTGaMqaigis4GSXNaKGqJ3sHjUSlaTV /vTlDbI7x7Fa1p42ml31Fwae0joK47QgqGfbiRI0+dJ87jMccF46Dd9zPtXB3TyaK2Ae KK7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=9pw4RwT4muo1zdh9Ll40k+ETO7F58dzgX5dQSvihvpI=; b=G0gRlHK92ujV13T7Pvf4SP0ZxPhzF8WtWsz8IogFiFEgPsOW/srSsO9Tx2HRDaQdCT SF8knNCvXYavaX01pmF/7yuxmeePk/ljdRtQiLOp5+WNgdXVQdQuQzXDYeSg+ZWNpRPF g85Za4AfiIpdF+hstpu8R7Y0699sbhyqznItHvbgdayFUQseho77ru/W/Ns3ACSPFvnC hKriGMyV6XDEohrGRcCT9v8fgwZ1VXfsm/2DsrY9sdgSr8rM+bIj3zwRuLf1Go+2LVUg qrzUSbOgXezhPETYVUR7JXVUFBczD0gWvHPLiNcRBESWR1Z5SmJrBBEGnWbCpxk4nUfa sCrQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DpoYcyLj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id r18si1885856pgo.9.2019.01.23.02.45.29; Wed, 23 Jan 2019 02:45:43 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DpoYcyLj; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S1727331AbfAWKoH (ORCPT + 99 others); Wed, 23 Jan 2019 05:44:07 -0500 Received: from mail-pf1-f196.google.com ([209.85.210.196]:41435 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726322AbfAWKoG (ORCPT ); Wed, 23 Jan 2019 05:44:06 -0500 Received: by mail-pf1-f196.google.com with SMTP id b7so985901pfi.8 for ; Wed, 23 Jan 2019 02:44:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=9pw4RwT4muo1zdh9Ll40k+ETO7F58dzgX5dQSvihvpI=; b=DpoYcyLjk52fPCLcIiJaeM0dUVyhxgpiIPooB0FgeITf6Cl5DXI3QNoaFIzuS48xhA zC9gEudvvUZpr1srqRI/6U0ncVB/TyXRfm275Vpei53WLBF1JeFInpabBA8ftbuyabth cpD9PFSIgn1WntVmlHgJ99mIe7A/uP/q798YU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=9pw4RwT4muo1zdh9Ll40k+ETO7F58dzgX5dQSvihvpI=; b=SpCv7Oz/nteMuMyAuW4SfmOvvnXQtU4l+KSKKraFDetcy+/uX263phyfwKFCIqa1J8 Kj/MWlon2DTD1qsDZRJRfP/CEo3EXQ0cMEmZBUNV9kJdtJT+WgJBzasuEjXSCY/T6o+2 F2omoVWwUEBKkMKzEKV/LmK01hq8LS/07iPL+2yrHbt9ZRHrTnRjF1hYf0wlMlsppTJk 4A0d4TUuMlivVcHRbNMf5I2CPoFwtxi49jynEPqJhtTssho0K4UXQZf5q+1Vehdpa50O U/DnaAchUTGLOVXmHxmK+HYWIFSBoBOKa/T40Vo3ZLTWSkc4oAoe7IHp71ort4EF8sPu pQNg== X-Gm-Message-State: AJcUukdwqAGSqj6h89r3s9myFPj3CMtF6iRDkiqTtC64EP/PUe5pJPI7 7BoWRD3Xd7CqY6hDMIks1vx6Og== X-Received: by 2002:a62:2781:: with SMTP id n123mr1613101pfn.138.1548240245768; Wed, 23 Jan 2019 02:44:05 -0800 (PST) Received: from localhost ([122.172.102.63]) by smtp.gmail.com with ESMTPSA id k191sm27828803pgd.9.2019.01.23.02.44.04 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 23 Jan 2019 02:44:05 -0800 (PST) Date: Wed, 23 Jan 2019 16:14:03 +0530 From: Viresh Kumar To: "Rafael J. Wysocki" Cc: Amit Kucheria , Linux Kernel Mailing List , linux-arm-msm , Eduardo Valentin , Stephen Boyd , Doug Anderson , Matthias Kaehlcke , "Rafael J. Wysocki" , Ingo Molnar , Sudeep Holla , Tao Wang , Linux PM Subject: Re: [PATCH v2 2/9] cpufreq: Auto-register the driver as a thermal cooling device if asked Message-ID: <20190123104403.bl7mdidmvd7c227q@vireshk-i7> References: <0036de796308b8919eac74a9a910f0d7b9c0cbf8.1548084260.git.amit.kucheria@linaro.org> <20190123103624.t4b2ij3bfvpezgjf@vireshk-i7> <20190123104322.o3whk6rfiaootspn@vireshk-i7> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190123104322.o3whk6rfiaootspn@vireshk-i7> User-Agent: NeoMutt/20180323-120-3dd1ac Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23-01-19, 16:13, Viresh Kumar wrote: > On 23-01-19, 11:39, Rafael J. Wysocki wrote: > > On Wed, Jan 23, 2019 at 11:36 AM Viresh Kumar wrote: > > > > > > On 21-01-19, 21:10, Amit Kucheria wrote: > > > > @@ -151,6 +152,11 @@ struct cpufreq_policy { > > > > > > > > /* For cpufreq driver's internal use */ > > > > void *driver_data; > > > > + > > > > +#ifdef CONFIG_CPU_THERMAL > > > > + /* Pointer to the cooling device if used for thermal mitigation */ > > > > + struct thermal_cooling_device *cdev; > > > > +#endif > > > > }; > > > > > > > > /* Only for ACPI */ > > > > @@ -386,6 +392,12 @@ struct cpufreq_driver { > > > > */ > > > > #define CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING BIT(6) > > > > > > > > +/* > > > > + * Set by drivers that want the core to automatically register the cpufreq > > > > + * driver as a thermal cooling device. > > > > + */ > > > > +#define CPUFREQ_AUTO_REGISTER_COOLING_DEV BIT(7) > > > > + > > > > int cpufreq_register_driver(struct cpufreq_driver *driver_data); > > > > int cpufreq_unregister_driver(struct cpufreq_driver *driver_data); > > > > > > > > @@ -415,6 +427,19 @@ cpufreq_verify_within_cpu_limits(struct cpufreq_policy *policy) > > > > policy->cpuinfo.max_freq); > > > > } > > > > > > > > +#ifdef CONFIG_CPU_THERMAL > > > > +static inline void register_cooling_device(struct cpufreq_policy *policy) { > > > > + policy->cdev = of_cpufreq_cooling_register(policy); > > > > +} > > > > + > > > > +static inline void unregister_cooling_device(struct cpufreq_policy *policy) { > > > > + cpufreq_cooling_unregister(policy->cdev); > > > > + policy->cdev = NULL; > > > > +} > > > > +#else > > > > +static inline void register_cooling_device(struct cpufreq_policy *policy) {} > > > > +static inline void unregister_cooling_device(struct cpufreq_policy *policy) {} > > > > +#endif > > > > > > The whole ifdef hackery here saves space for a pointer per policy. > > > Just get rid of it, it isn't worth it. > > > > Is struct thermal_cooling_device defined if CONFIG_THERMAL is unset? > > No and it is defined in thermal.h without any ifdef stuff. I meant it is always available and doesn't depend on CONFIG_THERMAL. -- viresh