From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Lezcano Subject: Re: [PATCH v12 1/4] PM / Domains: Add a generic data pointer to the genpd_power_state struct Date: Thu, 21 Mar 2019 10:52:53 +0100 Message-ID: References: <20190227195836.24739-1-ulf.hansson@linaro.org> <20190227195836.24739-2-ulf.hansson@linaro.org> <11aa2536-9f9c-059d-a4d6-3f683be7caeb@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: In-Reply-To: Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org To: Ulf Hansson Cc: "Rafael J . Wysocki" , Linux PM , Frederic Weisbecker , Thomas Gleixner , Sudeep Holla , Lorenzo Pieralisi , Mark Rutland , "Raju P . L . S . S . S . N" , Stephen Boyd , Tony Lindgren , Kevin Hilman , Lina Iyer , Viresh Kumar , Vincent Guittot , Geert Uytterhoeven , Linux ARM , linux-arm-msm , Linux Kernel Mailing List List-Id: linux-arm-msm@vger.kernel.org On 21/03/2019 10:36, Ulf Hansson wrote: > On Thu, 21 Mar 2019 at 08:47, Daniel Lezcano wrote: [ ... ] >>> cancel_work_sync(&genpd->power_off_work); >>> - kfree(genpd->free); >>> + if (genpd->free_states) >> >> Is this test necessary as the free_states function is initialized with >> the genpd_set_default_power_state() in any case? > > That's the case when the genpd provider did not allocate states, so > then we know genpd deals with this properly for us. > > In the other case, when genpd provider has allocates states, then we > need to check that the provider has assigned the ->free_states() > callback before we invokes it, as there is no guarantees that it had. > > I was initially tempted to do this check already at pm_genpd_init(), > as it would allow us to check for the error condition and return an > error code if it's not been assigned. However, that requires me to > change all providers that currently "allocates" their states, so that > isn't really a smooth way forward. Perhaps, we should simply print a > message to the log about this condition in pm_genpd_init(), as to > start with!? I can add a patch on top doing that. Yes, that would make sense to track those providers which do not initialize the free field. Acked-by: Daniel Lezcano -- Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog 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 X-Spam-Level: X-Spam-Status: No, score=-1.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67EB4C43381 for ; Thu, 21 Mar 2019 09:53:06 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 3CF1420850 for ; Thu, 21 Mar 2019 09:53:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="KlQK6Ai6"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="RiwA6Bc8" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 3CF1420850 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date: Message-ID:From:References:To:Subject:Reply-To:Content-ID:Content-Description :Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=U/ukrpAacg59eRuMFBN76uln5c1brC8Qag1+wPBaU6Q=; b=KlQK6Ai6k/8lO5 8ltUlo4zwY6wbrrCxcNNsq9DqSxpxgOGWf2GZPdowoVHw0X4I6j1CW8/XUiMi9rWqfPodnqONPLZI hTtM5LZRFFKdRmNJ5Eh+saXduWn4xYKgBjLBJCKsw3/To6xSB1CUq4PY+grBfdiNP4sE/E58cNhCS ikDi3caXysEGwQJLXLFOLuV1kGyPmAbBUgo1//zvFxgnXLC44togb/NXUV4lorYslgm8f9MsvWj1/ TSownGBFiM84QdKbtVlucHasgn2n7AOfVGIozvTTLqspYlVbVP3MbpjDjLLJmQl0f5NHxLDvTOg1f XjVn9pOSauOc4NIVjhWw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6uNi-0002It-Py; Thu, 21 Mar 2019 09:53:02 +0000 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h6uNf-000283-Jz for linux-arm-kernel@lists.infradead.org; Thu, 21 Mar 2019 09:53:01 +0000 Received: by mail-wr1-x444.google.com with SMTP id w1so5865663wrp.2 for ; Thu, 21 Mar 2019 02:52:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=zeiuNd0X/hU2OqiAp0r4ROe1Degv8ihSLidUCb4EjRM=; b=RiwA6Bc8fGiQfcDZ05c137mRUFztOKJu2oKg/ppmmtwsufO1eMvAHRQuFh307BUyai vFEgnOAeb+dKiuHkzKjH1/ndkfXyTdgUOmRqbR/ucmLlnbQXP0Nm6/28DhqTM9YdBrei vbgW39OeCdicQfH0j/+bj5wRYnkSHNOJELYZ0Kw21pBaSyQP/fPt0gl5ArsZic65l4Sw 6cZj+AAkjvwpKZkd4wKB/Yz7aSseX2BKlLw58/FXU/iKAxUesCP+i6bSFyZs8S7/FgxE 2+D7Gg3VYAgScybg/GC0b4NdP9TR8qrVNdk+eaBEKy9zraW9VyKNWWwFsKj021uE9hbT f1UQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=zeiuNd0X/hU2OqiAp0r4ROe1Degv8ihSLidUCb4EjRM=; b=QywlftYiGhG60G82wktko/te9AEfJ5l1upnAUHdpqktkl9jm2ybi0aqmoSOv7rkdiY h0gUa4FH7O+lrX3cEH0iHNh1OCQ2dVJJyt9Qgx/UwJYA2SPZPQ8FhaL1nSv+cik6wiJ9 06vcNCqvP/9NYNftBXcAsJVFrHkBIXH+PLXiEF6PjvXcyGfg/igLZelj6n6dfgcZ1QDA Ai28SCfM+bPuNlqLg4VuolJHUIxXWumGZSGbL8cTwvPF/+VpxaLWtGfy+LC4SibYiS0Q smZctI5TJBxJgDjxjWfZQHZDsO7/foug52Ajwv9ZLI1lo2BddJD+N/bPatTWtQKAA2tx CvbA== X-Gm-Message-State: APjAAAUwLcxHNMo5MMFRNDJ9yhFK64ejLTWhrJAF2U/PTPpwxNp3fHmw x9qAAs/7EfYGwCY222dc28ALiQ== X-Google-Smtp-Source: APXvYqzUSI7StPWwTk2mXXlhuoZyGLznUv2/nZqVNVRfJy1WpcI6pvtrshX/kKV3/WazBxjEwVx4aA== X-Received: by 2002:a5d:62c4:: with SMTP id o4mr1823861wrv.282.1553161976849; Thu, 21 Mar 2019 02:52:56 -0700 (PDT) Received: from [192.168.0.41] (27.78.95.92.rev.sfr.net. [92.95.78.27]) by smtp.googlemail.com with ESMTPSA id l12sm5825826wrt.31.2019.03.21.02.52.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Mar 2019 02:52:55 -0700 (PDT) Subject: Re: [PATCH v12 1/4] PM / Domains: Add a generic data pointer to the genpd_power_state struct To: Ulf Hansson References: <20190227195836.24739-1-ulf.hansson@linaro.org> <20190227195836.24739-2-ulf.hansson@linaro.org> <11aa2536-9f9c-059d-a4d6-3f683be7caeb@linaro.org> From: Daniel Lezcano Message-ID: Date: Thu, 21 Mar 2019 10:52:53 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190321_025259_660954_E84B132A X-CRM114-Status: GOOD ( 20.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Lorenzo Pieralisi , Vincent Guittot , Geert Uytterhoeven , Linux PM , Stephen Boyd , Frederic Weisbecker , linux-arm-msm , Kevin Hilman , "Rafael J . Wysocki" , Linux Kernel Mailing List , Lina Iyer , Tony Lindgren , Viresh Kumar , Sudeep Holla , Thomas Gleixner , "Raju P . L . S . S . S . N" , Linux ARM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjEvMDMvMjAxOSAxMDozNiwgVWxmIEhhbnNzb24gd3JvdGU6Cj4gT24gVGh1LCAyMSBNYXIg MjAxOSBhdCAwODo0NywgRGFuaWVsIExlemNhbm8gPGRhbmllbC5sZXpjYW5vQGxpbmFyby5vcmc+ IHdyb3RlOgoKWyAuLi4gXQoKPj4+ICAgICAgIGNhbmNlbF93b3JrX3N5bmMoJmdlbnBkLT5wb3dl cl9vZmZfd29yayk7Cj4+PiAtICAgICBrZnJlZShnZW5wZC0+ZnJlZSk7Cj4+PiArICAgICBpZiAo Z2VucGQtPmZyZWVfc3RhdGVzKQo+Pgo+PiBJcyB0aGlzIHRlc3QgbmVjZXNzYXJ5IGFzIHRoZSBm cmVlX3N0YXRlcyBmdW5jdGlvbiBpcyBpbml0aWFsaXplZCB3aXRoCj4+IHRoZSBnZW5wZF9zZXRf ZGVmYXVsdF9wb3dlcl9zdGF0ZSgpIGluIGFueSBjYXNlPwo+IAo+IFRoYXQncyB0aGUgY2FzZSB3 aGVuIHRoZSBnZW5wZCBwcm92aWRlciBkaWQgbm90IGFsbG9jYXRlIHN0YXRlcywgc28KPiB0aGVu IHdlIGtub3cgZ2VucGQgZGVhbHMgd2l0aCB0aGlzIHByb3Blcmx5IGZvciB1cy4KPiAKPiBJbiB0 aGUgb3RoZXIgY2FzZSwgd2hlbiBnZW5wZCBwcm92aWRlciBoYXMgYWxsb2NhdGVzIHN0YXRlcywg dGhlbiB3ZQo+IG5lZWQgdG8gY2hlY2sgdGhhdCB0aGUgcHJvdmlkZXIgaGFzIGFzc2lnbmVkIHRo ZSAtPmZyZWVfc3RhdGVzKCkKPiBjYWxsYmFjayBiZWZvcmUgd2UgaW52b2tlcyBpdCwgYXMgdGhl cmUgaXMgbm8gZ3VhcmFudGVlcyB0aGF0IGl0IGhhZC4KPiAKPiBJIHdhcyBpbml0aWFsbHkgdGVt cHRlZCB0byBkbyB0aGlzIGNoZWNrIGFscmVhZHkgYXQgcG1fZ2VucGRfaW5pdCgpLAo+IGFzIGl0 IHdvdWxkIGFsbG93IHVzIHRvIGNoZWNrIGZvciB0aGUgZXJyb3IgY29uZGl0aW9uIGFuZCByZXR1 cm4gYW4KPiBlcnJvciBjb2RlIGlmIGl0J3Mgbm90IGJlZW4gYXNzaWduZWQuIEhvd2V2ZXIsIHRo YXQgcmVxdWlyZXMgbWUgdG8KPiBjaGFuZ2UgYWxsIHByb3ZpZGVycyB0aGF0IGN1cnJlbnRseSAi YWxsb2NhdGVzIiB0aGVpciBzdGF0ZXMsIHNvIHRoYXQKPiBpc24ndCByZWFsbHkgYSBzbW9vdGgg d2F5IGZvcndhcmQuIFBlcmhhcHMsIHdlIHNob3VsZCBzaW1wbHkgcHJpbnQgYQo+IG1lc3NhZ2Ug dG8gdGhlIGxvZyBhYm91dCB0aGlzIGNvbmRpdGlvbiBpbiBwbV9nZW5wZF9pbml0KCksIGFzIHRv Cj4gc3RhcnQgd2l0aCE/IEkgY2FuIGFkZCBhIHBhdGNoIG9uIHRvcCBkb2luZyB0aGF0LgoKWWVz LCB0aGF0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gdHJhY2sgdGhvc2UgcHJvdmlkZXJzIHdoaWNoIGRv IG5vdAppbml0aWFsaXplIHRoZSBmcmVlIGZpZWxkLgoKQWNrZWQtYnk6IERhbmllbCBMZXpjYW5v IDxkYW5pZWwubGV6Y2Fub0BsaW5hcm8ub3JnPgoKCgoKLS0gCiA8aHR0cDovL3d3dy5saW5hcm8u b3JnLz4gTGluYXJvLm9yZyDilIIgT3BlbiBzb3VyY2Ugc29mdHdhcmUgZm9yIEFSTSBTb0NzCgpG b2xsb3cgTGluYXJvOiAgPGh0dHA6Ly93d3cuZmFjZWJvb2suY29tL3BhZ2VzL0xpbmFybz4gRmFj ZWJvb2sgfAo8aHR0cDovL3R3aXR0ZXIuY29tLyMhL2xpbmFyb29yZz4gVHdpdHRlciB8CjxodHRw Oi8vd3d3LmxpbmFyby5vcmcvbGluYXJvLWJsb2cvPiBCbG9nCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=