Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp147602pxb; Tue, 9 Mar 2021 19:03:15 -0800 (PST) X-Google-Smtp-Source: ABdhPJwEiD7/mTrFuP4Q5DaJncUcUrbwzVKULJuN3TMol0coik5gguchXUH5oD6MNMwbaCHnEW8e X-Received: by 2002:a05:6402:68e:: with SMTP id f14mr755070edy.169.1615345395606; Tue, 09 Mar 2021 19:03:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615345395; cv=none; d=google.com; s=arc-20160816; b=CkpUFbESmdLgaT3a/y9IfcAsaz3Fgkt/1tHFAcRUqASDtvUNtzoxklr+m+gljnCaKp LiYdPKbx6lnOMQyHIZrHXh2heg512SGQWHv0bDgZceZ1I818O67fYSpgqJR5u2CaR0or 2IJ6LF6jf/gjYqyeqIcp8fh/J8ysCa4TtwT/DmiYSP9doZS26IEzioABqCmtJfpevaji TJ9Q09mWsOOYmEjo9TQTfZQXnB0o92Lvk/A2d4vUFc7HjdeSicDKjuvGWDVZh6XWf+pY mft4/BpEd92DNXXQF0daGhMxKL9xMk3kkVtMPeIwlxVOGHHTQMqnp4j1gMjsWSc1j5qL 0bFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=URr+he47yRCbz6sLVAoi+oxouHEvlImerGdPlTo7EsE=; b=bPzi7ZLOneb/FCe/OKjB/kqqjwYVc583AXSamR+xK+/Q75z/FV88DYXwcVAvu69PSU +/4H0Dd5F/lrcP4PcTqghrnml8ubk6sb8ehOEuQv4EfokA8tDMca1sfoDp/rVzg96h2Z lv59QBtLew9MK2+CyOYekNOWTjXSsHeqt+SKKv5/JOQ5sqvvjtlgIrr19PGkJ7kiph60 kGZ8x4gQYH6CZPI+QfNuU6rlxp95AM1IUgvIyK7GNUAMNrFjC0iH+luBOl/oauUJeF8G 0qHzTR6lncLcqFipkHyj3bZ9QpLaox69OqLuue5bBkWlqcSKyjixawxXGrEpEIn7Id5u 8Gww== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IWiTDWTC; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id de11si10548255edb.15.2021.03.09.19.02.43; Tue, 09 Mar 2021 19:03:15 -0800 (PST) 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=@gmail.com header.s=20161025 header.b=IWiTDWTC; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232111AbhCJDAq (ORCPT + 99 others); Tue, 9 Mar 2021 22:00:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51784 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232004AbhCJDAV (ORCPT ); Tue, 9 Mar 2021 22:00:21 -0500 Received: from mail-oi1-x22e.google.com (mail-oi1-x22e.google.com [IPv6:2607:f8b0:4864:20::22e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 67B3EC06174A; Tue, 9 Mar 2021 19:00:10 -0800 (PST) Received: by mail-oi1-x22e.google.com with SMTP id o22so7733822oic.3; Tue, 09 Mar 2021 19:00:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=URr+he47yRCbz6sLVAoi+oxouHEvlImerGdPlTo7EsE=; b=IWiTDWTCKD73NZmT16HGnbl6AGoPgsr+7e+o08HsHDM+1NYOZIvwY3geT93wkESK37 uYcTfQmOjshtkRb+anhAwx6yT2VLVqRmDLFjf7D+tLRfEiWkm+aCcn+KKcfyjIYlqCwW gT9s53EjwiyNGMTTXM/RMIByf/12JHP5UEVXONbZBLYuMb/XKcU9fXkV2dgHhH/VY5zj KAoxGrXAc3WCH1useYlYfMJn5Mhx6TlhRWk0hkrY2VtgGPQON5Os39+8Eg9KTJJB4K8H LMAMeLl87UfOTJIZEjROe7lVtntvGssJemM4NvEIgxJXVMVMdKdqlGM+cqc3nSWK3ATX aE/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=URr+he47yRCbz6sLVAoi+oxouHEvlImerGdPlTo7EsE=; b=aSJ8KWmARFUeZ/Rm/FSiRYWrWJRUjjRxi6NXHPtvOHW6E0ZBet7DesK89nk0zslGfc P4d33wNF3PSfJ6qbCnzpl3vKlntB0T8wjv5Xur08CxEhjcAkaEOJvTXVbZENbWetoihe YXEnHSHw07pU3JolFaDr6XMqonCi4ciSTKtMgoOoAhME7w3mIPyrfc7sl1V6iDFhk8s5 Nl3l2ELI8VbbJOBaMeJLFbHj8P4DTVDjAsJjkvXTCxAAW9dOH/0j2X4qiBJrOXn20PrQ qIXmzoSMsJCPVzjQqU/L1GpGE0C3Hogt16a4CzycVsQ+7jXNmTYCv9ojJ4cjq3EjW6vv bTaA== X-Gm-Message-State: AOAM5304HMj1mf8wWQeCgo+SC60GWJwMAx477DI3UPJoX0iwrj0RVYKM iktK5hLUe21cs5+D2SsvBPGW0q3luL/Rpf1chLk= X-Received: by 2002:a05:6808:1413:: with SMTP id w19mr969481oiv.20.1615345209828; Tue, 09 Mar 2021 19:00:09 -0800 (PST) MIME-Version: 1.0 References: <1615294733-22761-1-git-send-email-aisheng.dong@nxp.com> <1615294733-22761-9-git-send-email-aisheng.dong@nxp.com> <0b6ceb75-040f-8e1c-73ea-9d60344b9918@gmail.com> In-Reply-To: <0b6ceb75-040f-8e1c-73ea-9d60344b9918@gmail.com> From: Dong Aisheng Date: Wed, 10 Mar 2021 11:00:09 +0800 Message-ID: Subject: Re: [PATCH 08/11] PM / devfreq: check get_dev_status in devfreq_update_stats To: Chanwoo Choi Cc: Dong Aisheng , Linux PM , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , Sascha Hauer , Shawn Guo , dl-linux-imx , open list , myungjoo.ham@samsung.com, kyungmin.park@samsung.com, Chanwoo Choi , Abel Vesa Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Mar 10, 2021 at 12:20 AM Chanwoo Choi wrote: > > On 21. 3. 9. =EC=98=A4=ED=9B=84 9:58, Dong Aisheng wrote: > > Check .get_dev_status() in devfreq_update_stats in case it's abused > > when a device does not provide it. > > > > Signed-off-by: Dong Aisheng > > --- > > drivers/devfreq/governor.h | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/devfreq/governor.h b/drivers/devfreq/governor.h > > index 31af6d072a10..67a6dbdd5d23 100644 > > --- a/drivers/devfreq/governor.h > > +++ b/drivers/devfreq/governor.h > > @@ -89,6 +89,9 @@ int devfreq_update_target(struct devfreq *devfreq, un= signed long freq); > > > > static inline int devfreq_update_stats(struct devfreq *df) > > { > > + if (!df->profile->get_dev_status) > > + return -EINVAL; > > + > > I'm considering the following method instead of returning the error > when .get_dev_status is NULL. > > if (!df->profile->get_dev_status) { > df->last_status.total_time =3D 0; > df->last_status.busy_time =3D 0; > df->last_status.current_frequency =3D 0; > return 0; > } I might suggest not cause it's meaningless for ondemand governor but introducing confusing. Simply return error could make the life a bit easier= . does it make sense to you? Regards Aisheng > > > return df->profile->get_dev_status(df->dev.parent, &df->last_stat= us); > > } > > #endif /* _GOVERNOR_H */ > > > > > -- > Best Regards, > Samsung Electronics > Chanwoo Choi