Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp655618pxf; Wed, 7 Apr 2021 08:31:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwPTPSDBICl0fRV5un8Hh0esOhUb46/t/ftFKEYzCp5jnMAG5UzlCfidp7KhS2TVMkGGnZz X-Received: by 2002:a05:6402:1115:: with SMTP id u21mr5097933edv.383.1617809500296; Wed, 07 Apr 2021 08:31:40 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617809500; cv=none; d=google.com; s=arc-20160816; b=rHH509Pva1N1d+wIPJ455TghPAMeSRlAu7eqeTr9BLfAucurzym8gg4doq0sRpGvjH qZd/4eEFjCMt6BqaMkuzZa99pcr4gTplyWyYdbsEE78mDEpe7ZUe0ZkCdIThap+2CKcI PqcLtinXp6kc9Dt5vJdMSurbsZEhe6Wdx8sOWgfRy/RFKnBf3UiO7Vl+SaYyOlqVXiB8 K3jOP3mRO+4MEbQ31x/YJZ+VKxYLFxI03dcpcuDRwxbJm9LQpah9eb8aR6z09Gyaxn/C BuDfzHsWG/8KYE/7Ug/Vkj8EXVDagWNOt3CROLJXADC08thpoxWqrkP83TLMEVfpBv08 8zXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=qyunIQmpMoQ2hJkQKW9e3iWhuiH99hCwIK89nVDwBeA=; b=uXgyxxdRFVZSiY4GhjS8ldK/qsdW+MtKc97nj6W+2Lri/Ppo1KsSr7Eud1Q1r47JzQ EouraRfZ0BYUtVsYNCyDa+wYXWHpYEHmQyzshtHuFJJCJ6KsS65vxU8cR3AH/k3qFwyL kIDJH8qP58Za/uDt6PNzj5ImVyBOvajCYmzRFe0dtyrntY/Kl1pNkniK3T4CVE9OmbmZ 3Tl1AYLSyy6eQ8FWBz/RuUbtmoByh3Bt8IVNsjah15kB4adMi+VLvf/KN8pKI5lei9CF 5gDTkv4Z/dxSZXCTq802AnV6BENvfTYWcBvabD5TxpaqLQqJRmVVuV9p1+LgkPnIs8dR bycg== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id cw21si18909222edb.344.2021.04.07.08.31.16; Wed, 07 Apr 2021 08:31:40 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242199AbhDFVpw (ORCPT + 99 others); Tue, 6 Apr 2021 17:45:52 -0400 Received: from mail-oi1-f172.google.com ([209.85.167.172]:33341 "EHLO mail-oi1-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234334AbhDFVpv (ORCPT ); Tue, 6 Apr 2021 17:45:51 -0400 Received: by mail-oi1-f172.google.com with SMTP id w70so16732038oie.0 for ; Tue, 06 Apr 2021 14:45:42 -0700 (PDT) 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; bh=qyunIQmpMoQ2hJkQKW9e3iWhuiH99hCwIK89nVDwBeA=; b=jrcqA455OJk0/E/DNWtxVWrYPXnqT0JwCQpX4ftQ6CUyThYaKi5VNPu5H5mQ/bmJnv F/4JVGZErM2OA4BthFYrgxRQHrlgLVgIdL2R6P7boRA8ng3oH2yqmQwz5ooPH/tISL72 ElUaquSk/Qo394qIYaK1Jp20j1k6gD5u0tZykis+MKRuVxTmpN/9Aaf9AeLjMZA7Rhmb NAzB5NCmqNoCCKQ+IuCzV9ygm6f+hMH4uIAfvPzho3V0O7S1/C8JKUjxsf7+Pi5R32nz uB+jVAN53YPN1QYwWfJW0Ow5XJ+7EGWXcPmSOv1+KgWvF0G4S9dNup7Xu/2t5wGnx6vy 2nQg== X-Gm-Message-State: AOAM531VyfSS3Rnm3LaAaBH8zd1czSahVWt3dMqjQW9AoyLEqRhFi/gN gxud5PX8tUCeLGPbpirgYy0wMBm+bDE= X-Received: by 2002:aca:3c55:: with SMTP id j82mr4652738oia.76.1617745542135; Tue, 06 Apr 2021 14:45:42 -0700 (PDT) Received: from mail-ot1-f49.google.com (mail-ot1-f49.google.com. [209.85.210.49]) by smtp.gmail.com with ESMTPSA id l26sm4974496otd.21.2021.04.06.14.45.41 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 06 Apr 2021 14:45:41 -0700 (PDT) Received: by mail-ot1-f49.google.com with SMTP id g8-20020a9d6c480000b02901b65ca2432cso16089206otq.3 for ; Tue, 06 Apr 2021 14:45:41 -0700 (PDT) X-Received: by 2002:a05:6830:20da:: with SMTP id z26mr153933otq.74.1617745540947; Tue, 06 Apr 2021 14:45:40 -0700 (PDT) MIME-Version: 1.0 References: <20210312085822.12136-1-ran.wang_1@nxp.com> In-Reply-To: <20210312085822.12136-1-ran.wang_1@nxp.com> From: Li Yang Date: Tue, 6 Apr 2021 16:45:29 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v6] soc: fsl: enable acpi support in RCPM driver To: Ran Wang Cc: Christophe Leroy , linuxppc-dev , "moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE" , lkml , Peng Ma Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Mar 12, 2021 at 2:56 AM Ran Wang wrote: > > From: Peng Ma > > This patch enables ACPI support in RCPM driver. > > Signed-off-by: Peng Ma > Signed-off-by: Ran Wang > --- > Change in v6: > - Remove copyright udpate to rebase on latest mainline > > Change in v5: > - Fix panic when dev->of_node is null > > Change in v4: > - Make commit subject more accurate > - Remove unrelated new blank line > > Change in v3: > - Add #ifdef CONFIG_ACPI for acpi_device_id > - Rename rcpm_acpi_imx_ids to rcpm_acpi_ids > > Change in v2: > - Update acpi_device_id to fix conflict with other driver > > drivers/soc/fsl/rcpm.c | 18 ++++++++++++++++-- > 1 file changed, 16 insertions(+), 2 deletions(-) > > diff --git a/drivers/soc/fsl/rcpm.c b/drivers/soc/fsl/rcpm.c > index 4ace28cab314..7aa997b932d1 100644 > --- a/drivers/soc/fsl/rcpm.c > +++ b/drivers/soc/fsl/rcpm.c > @@ -13,6 +13,7 @@ > #include > #include > #include > +#include > > #define RCPM_WAKEUP_CELL_MAX_SIZE 7 > > @@ -78,10 +79,14 @@ static int rcpm_pm_prepare(struct device *dev) > "fsl,rcpm-wakeup", value, > rcpm->wakeup_cells + 1); > > - /* Wakeup source should refer to current rcpm device */ > - if (ret || (np->phandle != value[0])) > + if (ret) > continue; > > + if (is_of_node(dev->fwnode)) > + /* Should refer to current rcpm device */ > + if (np->phandle != value[0]) > + continue; It looks like that we assume that in the ACPI scenario there will only be one RCPM controller and all devices are controlled by this single PM controller. This probably is true for all existing SoCs with a RCPM. But since the driver tried to support multiple RCPMs, maybe we should continue to support multiple RCPM controllers or at least mention that in the comment. > + > /* Property "#fsl,rcpm-wakeup-cells" of rcpm node defines the > * number of IPPDEXPCR register cells, and "fsl,rcpm-wakeup" > * of wakeup source IP contains an integer array: @@ -172,10 +177,19 @@ static const struct of_device_id rcpm_of_match[] = { > }; > MODULE_DEVICE_TABLE(of, rcpm_of_match); > > +#ifdef CONFIG_ACPI > +static const struct acpi_device_id rcpm_acpi_ids[] = { > + {"NXP0015",}, > + { } > +}; > +MODULE_DEVICE_TABLE(acpi, rcpm_acpi_ids); > +#endif > + > static struct platform_driver rcpm_driver = { > .driver = { > .name = "rcpm", > .of_match_table = rcpm_of_match, > + .acpi_match_table = ACPI_PTR(rcpm_acpi_ids), > .pm = &rcpm_pm_ops, > }, > .probe = rcpm_probe, > -- > 2.25.1 >