From patchwork Tue Nov 1 15:56:37 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13752 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3063916wru; Tue, 1 Nov 2022 09:12:18 -0700 (PDT) X-Google-Smtp-Source: AMsMyM7UOMrBs3PINvXe0hUvEHVfV+QMixA05AEcGIj9/C9IGZyI4PW0nAt0pteUSTELkL43SZQO X-Received: by 2002:aa7:d553:0:b0:463:18d3:195c with SMTP id u19-20020aa7d553000000b0046318d3195cmr16265657edr.235.1667319137881; Tue, 01 Nov 2022 09:12:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319137; cv=none; d=google.com; s=arc-20160816; b=L5fprcC+tO8UfA15ECj4CAtNVOR3OfInnwTJY22Gagc+KBHNVzfA8MIGdFTQSO8ZnE 9XcBu0ZUBc0885GXZkw8sfsf11nZ+56tPNf/FR2N6yf4CLvWAmNJnlS1oDW3PJ1psU2i qR5g8KlFwLl+HbNGUt+Np0FhcTquP/pCReGCd/zkYx5lrIC9pReUNsdETEI3xdro+z4b Ni8GuobZN0SGUfR35PmtUgk09a0ePXLjlpBi079AwNohZZFyZ2okSy1LBUISgzGI8J1h H2+uD9/L25SCpJbDVbGuNIrcyEtWelrlRCByTIRAh7sXjtQ4vIRz0xDcb+oJzfjRWktO ii8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=csHEeEiWJouDZ9wik6UxaocYYypqTNRCwt42tOlH7CE=; b=msVRypBi6wXyXztuc2Qo3BZNiqXIfSbBNra5wZee0fQskM/p3e4Qn+2RVCopN0GTrq sb0NQdF0hjKs9Dp4cop5elmTQAo7z4VTAFhXyJSYPsxn7ywPImHYnI/SX68y6h7DqO8x 2fEWRepx3HkZShyn72MtbPLrXpytcXNPsohzFLVwKgVgrIjuMYxtBiY3xQlZyguDJmXB 7s2Zkq4A9925VQiKMJh0j5niQRKhijtbP4Xh9G9g2acf1oyKdrZwhE2NOxrNS1C52Ar5 OTAXfijZIED/ldzStO3Ke7M4ov/amWXTMKW035+ZMoVgFvXvZ3+OwRVK/PlUxBUj1Abr d5Pg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bdpLUrip; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a27-20020a50c31b000000b00457e9f88b90si12421662edb.246.2022.11.01.09.11.50; Tue, 01 Nov 2022 09:12:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=bdpLUrip; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231567AbiKAP4q (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229981AbiKAP4a (ORCPT ); Tue, 1 Nov 2022 11:56:30 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6F8FC381; Tue, 1 Nov 2022 08:56:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318189; x=1698854189; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=32rEyVNWT8FR+vish5GvE6UoII8LYbwmJ5c2195UtCk=; b=bdpLUrip82BJsF3anrXGwC8D1ZBmXmi7RpvMpHv89WkaopcdjBnnPppH MfqzuLKD8f2lSvHY2zAE454XvJgQ6zLNUNQQ5pXd4DCM6Q14vgmpISCEz gMwhyGAWYTJAFxyoz5+Hb4ema0EicsvyTMfFyntGQl9WAFBx1qbRn1s79 5SLeNZMQzu/mtplADnNLBuk03+P3mg5CjQskeHbZTWJQ4A7SA2Dq9/oSi n9OnqaEFqD4Q6NUYuOWbQDNGbqWelPQF5uhLhvZ3LaSGFcMrR7q9+APqB 4XC+SVtDszCmXYRW/VyQHO59s33qaCXX3zezvkOUHMxRmGwy/NaBTKcUE w==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="292474808" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="292474808" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="776537915" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="776537915" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 01 Nov 2022 08:56:24 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 6A44BD0; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 1/6] pwm: Add a stub for devm_pwmchip_add() Date: Tue, 1 Nov 2022 17:56:37 +0200 Message-Id: <20221101155642.52575-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310832516944981?= X-GMAIL-MSGID: =?utf-8?q?1748310832516944981?= devm_pwmchip_add() can be called by a module that optionally instantiates PWM chip. In case of CONFIG_PWM=n, the compilation can't be performed. Hence, add a necessary stub. Signed-off-by: Andy Shevchenko --- include/linux/pwm.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/linux/pwm.h b/include/linux/pwm.h index d70c6e5a839d..bba492eea96c 100644 --- a/include/linux/pwm.h +++ b/include/linux/pwm.h @@ -478,6 +478,11 @@ static inline int pwmchip_remove(struct pwm_chip *chip) return -EINVAL; } +static inline int devm_pwmchip_add(struct device *dev, struct pwm_chip *chip) +{ + return -EINVAL; +} + static inline struct pwm_device *pwm_request_from_chip(struct pwm_chip *chip, unsigned int index, const char *label) From patchwork Tue Nov 1 15:56:38 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13749 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3063801wru; Tue, 1 Nov 2022 09:12:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4REzqZQgrB1F3XeDVC5wNokautwy9nsEETl+mr8zLucBwS0Pqi+0XE01HLNUjfIG0+Fj1M X-Received: by 2002:a17:907:9627:b0:78d:a7d8:9407 with SMTP id gb39-20020a170907962700b0078da7d89407mr18558711ejc.675.1667319129873; Tue, 01 Nov 2022 09:12:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319129; cv=none; d=google.com; s=arc-20160816; b=1ByOcKNrevS9oHqKJi8sRQdkFs3wANVP8cZ+bCrId+i4PkkQh04hxq8Nr71d2VYvcC s2YDMHCYKu9BQCa0mSKOYkfS+21vzomvOZ1BFsY05ITXXqmKddwS3bOWvtci2rbrzvHz V6jf75b3anRw3Du6Z4WDhRao641BU2x2AOKgTcvgoImmCV7LeNNWU38TpLYLwNGlT9Re lLmhO4E29kyZ/XgZ+92c7j1p9U92cZlcV1EQcRpEE80VZMv5zXjre0d9hm12CYqhCjXY r72VPpPenqrL6B003qE9xnwEYteCj7/Wt7EbaxZrJZwI/cQZRlhrhTONcN3G2NRyDU0s 8TKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=4IjE2W1XVonRaJmT1wGVFXeeqSC8pF7C7a5JO1HXh8Y=; b=tDQ9oQ0S972LNSW4oQ3f+MVphehvLS3d5IWGycbC40NXRtXe77/ZJCptSJxqIV7qs/ 0fUIv0zYvzhA56zCU2nTGBlPhviczVLQ3hxoJqziVr5UsuF+pjtaOrBn23dS6x83P804 LRK1Y0R+EiTn1qqF+eHMwiqv3zslAhzx93a5x2ieP4G70sTHBiTZD8VhMG6su2xfNiB+ s6ejyhvDKgukHvTxuYymouyfHdzq0GKiIqssxN263urx8C04sVTAtGGesFijueax5qFb mgX+o0EMANjrfzWfzXCfxRfDvMwCw5OAIA0PYi8INBPePagB3egIOtz5iTqxg72KZCVh rheg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KkXarmWr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id be7-20020a1709070a4700b007a46fa50b26si13500347ejc.517.2022.11.01.09.11.41; Tue, 01 Nov 2022 09:12:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KkXarmWr; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231438AbiKAP4h (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229827AbiKAP43 (ORCPT ); Tue, 1 Nov 2022 11:56:29 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4BBBF65AC; Tue, 1 Nov 2022 08:56:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318188; x=1698854188; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=NI154NeC1RWG4hSdSSq9uISzU3eVykdnlrIdlNSvC4A=; b=KkXarmWr/Efn/RiHllZ6FOxL4J4zLyJxG7rAdBs3f6Hn513mEUpjTm8H fyfa/3KqBnIskWPCOXYoJvTlkCXFhbl6GyybEo06AuBESG9dNIMP2zueI TThVK7v8VzU+YY/0iqMqSBquVv5BowV5kBBJN+VpnYFsiMyDxn7ktXmYy 76iBf44lfehHNVDii4hhhTFj5iNgWqYbVwySY8YvYKUpZ2YydgvM9Htkt tygQoDQ7SAYGjCX7FK8sEE3KCvqve/9dwzu5H2bR/IhhbI9X3+pXBVBVk qTSgHNAUqzU0XKTHNehSuHE77rL4X9W1B40Y4KkUjODYoidMEqbx0QWia A==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="292474806" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="292474806" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="776537916" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="776537916" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 01 Nov 2022 08:56:24 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 7271215C; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 2/6] pwm: lpss: Rename MAX_PWMS --> LPSS_MAX_PWMS Date: Tue, 1 Nov 2022 17:56:38 +0200 Message-Id: <20221101155642.52575-3-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310823939540172?= X-GMAIL-MSGID: =?utf-8?q?1748310823939540172?= The MAX_PWMS definition is already being used by PWM core. Using the same name in the certain driver confuses people and potentially can clash with it. Hence, rename it by adding LPSS prefix. Reported-by: Uwe Kleine-König Signed-off-by: Andy Shevchenko --- drivers/pwm/pwm-lpss.c | 2 +- drivers/pwm/pwm-lpss.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pwm/pwm-lpss.c b/drivers/pwm/pwm-lpss.c index accdef5dd58e..b8739cd2c235 100644 --- a/drivers/pwm/pwm-lpss.c +++ b/drivers/pwm/pwm-lpss.c @@ -252,7 +252,7 @@ struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, int i, ret; u32 ctrl; - if (WARN_ON(info->npwm > MAX_PWMS)) + if (WARN_ON(info->npwm > LPSS_MAX_PWMS)) return ERR_PTR(-ENODEV); lpwm = devm_kzalloc(dev, sizeof(*lpwm), GFP_KERNEL); diff --git a/drivers/pwm/pwm-lpss.h b/drivers/pwm/pwm-lpss.h index 8e82eb5a7e00..2c746c51b883 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/drivers/pwm/pwm-lpss.h @@ -13,7 +13,7 @@ #include #include -#define MAX_PWMS 4 +#define LPSS_MAX_PWMS 4 struct pwm_lpss_chip { struct pwm_chip chip; From patchwork Tue Nov 1 15:56:39 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13751 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3063825wru; Tue, 1 Nov 2022 09:12:11 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5/WKLBri3L/m0jvjC8QvSCYbaEVGEN01kwptvHwspizKy+p99ICEt0nTkCUlpHiuPUb58q X-Received: by 2002:a17:907:8a23:b0:78d:a24e:a9aa with SMTP id sc35-20020a1709078a2300b0078da24ea9aamr19473168ejc.404.1667319131462; Tue, 01 Nov 2022 09:12:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319131; cv=none; d=google.com; s=arc-20160816; b=LtbSaBljSQ3RF9aRK/KymU3ZrRIIFDepI8sa9Qu3VHmpvi9CKhG0qDtJi1Zc6rW74b RtuIAkktct/n0gqSIRL1IL6fsstN3YSYg2NpEEADtMZcQ1jurmjc0Ts1Keld/Pb8s8L9 VaKKaKu2UckHMLnZGcykneOLhf1AG1JT+yr+JttnYSK6wRlf7u4YU2SNqp3HREMi89og wkQaIc1HIHVRYMQYrpiMzJF4Ko/ByTrDgHSzyh3ooGpDc7NfTMroFr8aM9uGBh/mlcoW zlZiGvS6rOdRTbembbJnVsXQH5biDwGtoIgs6t7YJjwpHXOHsguVnzBGJ37TSYEvvSKy SN0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=00+tEGDIVgLqGcEFs77jFFTruUfHvnIETnYDZxueZ/M=; b=Yg3Lw34Fuo8BCrohzniCMf3rRhCUxMyJOgTC0CFulxDb0Sj0pXsUNfXuvemHj4M8tp mXPyJ9xDow7Rc0J+QzNrpuFHerREUnxv3srqweyud8aMMFIfQGSCP4NQZIaAzspxSVXY PAEWkHQXP/xNpVcBuSS6nJuuBdBkfqhmBY2tiO+UBXnfHgLkxxA0zf5dzzGHAu3eSXlA U7IH77BP587IahYtnMghusYN8Wfierra6X6qtf1iqt0YJCbSA8BfDM+Y7Prx2PRaRzYc 1BGLz0MPkL9uE1yHPeQs7kz9L+gK6h41tszrk7fy92tof1IjMf/EUOqWjJMB9KuJ/LHh UcFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Mr5I/Z7v"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id gt7-20020a1709072d8700b0078e1a6fbe15si12381633ejc.690.2022.11.01.09.11.43; Tue, 01 Nov 2022 09:12:11 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Mr5I/Z7v"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229827AbiKAP4k (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229920AbiKAP43 (ORCPT ); Tue, 1 Nov 2022 11:56:29 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7D48BDEE4; Tue, 1 Nov 2022 08:56:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318188; x=1698854188; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=3EvRlLYJGkNaFR0CEneATqIgsr+cfpB23wrxayXUipM=; b=Mr5I/Z7vshj0P/SIWBRS89+qJNXwYLFoSBuSsNbSmOALgQ2OKSibe2NV ZKz8ny+X8aJPokYZ5hFC6HVi+OXeTUC2AwdrXbRH36CtU/Aefb5QqH476 JK8ORLGBKflPS5HUhyJ02xKIPVkLF9+MbafuNaea9sNOj8TxA0hci7xXo gHkFD6IyLyM95afq928YbSXzKdvjVvWSKQZ77y2eHGyCEJCZ2XXQejdQP PEdfZzrDR4Zoz9N/4n2PZVCQXmMsv4dSSQuAy9EjTpu/JDxb505cwK/yX 3/gWPma1mOh5dbHlO9H7z7gbWKvYNx0Cgw33iiYTdpGKaJr49GJZZ7sF0 A==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="335838671" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="335838671" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="628614197" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="628614197" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 01 Nov 2022 08:56:24 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 79F9B1E5; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 3/6] pwm: lpss: Include headers we are direct user of Date: Tue, 1 Nov 2022 17:56:39 +0200 Message-Id: <20221101155642.52575-4-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310825300244283?= X-GMAIL-MSGID: =?utf-8?q?1748310825300244283?= For the sake of integrity, include headers we are direct user of. While at it, move the struct pwm_lpss_chip to be after the struct pwm_lpss_boardinfo as the former uses pointer to the latter. Replace device.h with a forward declaration in order to improve the compilation time due to reducing overhead of device.h parsing with entire train of dependencies. Signed-off-by: Andy Shevchenko Reviewed-by: Hans de Goede --- drivers/pwm/pwm-lpss.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/pwm/pwm-lpss.h b/drivers/pwm/pwm-lpss.h index 2c746c51b883..4561d229b27d 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/drivers/pwm/pwm-lpss.h @@ -10,16 +10,12 @@ #ifndef __PWM_LPSS_H #define __PWM_LPSS_H -#include #include +#include -#define LPSS_MAX_PWMS 4 +struct device; -struct pwm_lpss_chip { - struct pwm_chip chip; - void __iomem *regs; - const struct pwm_lpss_boardinfo *info; -}; +#define LPSS_MAX_PWMS 4 struct pwm_lpss_boardinfo { unsigned long clk_rate; @@ -43,6 +39,12 @@ extern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info; extern const struct pwm_lpss_boardinfo pwm_lpss_bxt_info; extern const struct pwm_lpss_boardinfo pwm_lpss_tng_info; +struct pwm_lpss_chip { + struct pwm_chip chip; + void __iomem *regs; + const struct pwm_lpss_boardinfo *info; +}; + struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, const struct pwm_lpss_boardinfo *info); From patchwork Tue Nov 1 15:56:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13750 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3063812wru; Tue, 1 Nov 2022 09:12:10 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4maAUBkAuSnTqZmBZ+TbwIfBUMhYSdS2owY2yYkJA5brkrV6Pk4t3HKp8MbJyXBzu4d/tR X-Received: by 2002:a05:6402:28cd:b0:459:19c3:43d0 with SMTP id ef13-20020a05640228cd00b0045919c343d0mr19939417edb.197.1667319130592; Tue, 01 Nov 2022 09:12:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319130; cv=none; d=google.com; s=arc-20160816; b=ZxavLN1g6n9t7RrQWoTdJ9elus4im1y8E8X7NEUg7EJxElvZ7XGrx95Qs99SnRuPNZ 7zQKB884iA8W4jO5p9cqYzP7+6GAvTGNJcXMdbPAtwfzTPGTHqRWLUUD1gXBTSlkAwru NuiL5rhWWsUpgXMXjRRTFknhGtjB5e1rzgWsObDTz+oCfXG00e3R4JHTKVZGC/aiMWHd rB2bH5p1RPY2kjcspSnKgNGNMFHgnIsTE2jSpBEG7F83XCDwehzO8ZlqsszvaBqMiQ46 IubTEtcu+5XlG9QqsgeM9KlC0dZuodRgvBwZYAaaQTOB8r7Nodn3TkWAhqBVqXAub41z Bs+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=J1rZSFO+o+eVg+uc5+gheSzIMzB6slm6s7I4HsEZcQo=; b=h0R5EGg1TNcATd/zEPgYLAjAw+5IBI1T8WND4sWVOW2KCN8V8K89KtL3LoLpcz6lRN DDjObhp6YGDBOWruLkWSdbOQIdYONmBvThmt5CSxozfO93VIXNbZhVsIyg+toIFPQeMa 0xn3lKabyGAASHbA16MR20QrYKC/buCVgUFSXfk+pPArEO2cCZ/rUb6+xvQ546Em3WUL IwPb9sqZhIAnNsxOOmIopo3+lF7/y0wljEVSlkZKmBlnFKA2bJrbVF9sycwSQGXyxgsf JBdOwWg8XnkS7Oc2nlhm2mMJyfJVso8n8vtCykf5UGBfy5OQ5w0aospv6uwqFEoqRcOi XVoQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lGqFiRte; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id cr17-20020a170906d55100b007707ab4be28si13824369ejc.972.2022.11.01.09.11.41; Tue, 01 Nov 2022 09:12:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=lGqFiRte; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230437AbiKAP4d (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36520 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229475AbiKAP42 (ORCPT ); Tue, 1 Nov 2022 11:56:28 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0D606460; Tue, 1 Nov 2022 08:56:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318187; x=1698854187; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=XBafnubMqFq/SZkOKUaP3VSykoY0r8hf6OiR8NcEyP8=; b=lGqFiRte+bUByNzGAgCAbpAFBp7T9zMJ7upGCEs5KXpKWKcXyeWiGzib PhhoIjJW+beYKuECqBUdOG3dTS83w3tz9qNPITTRyY8tG9++zXh0ccz3m /j8ZGnoey+VPHdoCNWYAm2/4SYhcGoy3dcioxGyhu1rfcyrOYfC452fFu XTycDwBw6a0WcP9UHpOrPM21qKwG3d+JOPlsFXct/lTcdvZEVful1RmOS 3mqQkRShsgotf0fJLD0Sb+eyPJwy5MjMu9ECNU4QGjmdv9RiIZi4NQmhO oRFg1mnzxZ7so4N28F//sJXRtPqYwDRr/n12IJqP8M5+b2QSYSPOErqn6 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="335838670" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="335838670" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:27 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="628614198" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="628614198" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 01 Nov 2022 08:56:24 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 8154029D; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 4/6] pwm: lpss: Allow other drivers to enable PWM LPSS Date: Tue, 1 Nov 2022 17:56:40 +0200 Message-Id: <20221101155642.52575-5-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310824704101317?= X-GMAIL-MSGID: =?utf-8?q?1748310824704101317?= The PWM LPSS device can be embedded in another device. In order to enable it, allow that drivers to probe a corresponding device. Signed-off-by: Andy Shevchenko Reviewed-by: Hans de Goede --- drivers/pwm/pwm-lpss.h | 22 +-------------- .../linux/platform_data/x86}/pwm-lpss.h | 28 ++++--------------- 2 files changed, 6 insertions(+), 44 deletions(-) copy {drivers/pwm => include/linux/platform_data/x86}/pwm-lpss.h (53%) diff --git a/drivers/pwm/pwm-lpss.h b/drivers/pwm/pwm-lpss.h index 4561d229b27d..b721532c6c3c 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/drivers/pwm/pwm-lpss.h @@ -13,27 +13,10 @@ #include #include -struct device; +#include #define LPSS_MAX_PWMS 4 -struct pwm_lpss_boardinfo { - unsigned long clk_rate; - unsigned int npwm; - unsigned long base_unit_bits; - /* - * Some versions of the IP may stuck in the state machine if enable - * bit is not set, and hence update bit will show busy status till - * the reset. For the rest it may be otherwise. - */ - bool bypass; - /* - * On some devices the _PS0/_PS3 AML code of the GPU (GFX0) device - * messes with the PWM0 controllers state, - */ - bool other_devices_aml_touches_pwm_regs; -}; - extern const struct pwm_lpss_boardinfo pwm_lpss_byt_info; extern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info; extern const struct pwm_lpss_boardinfo pwm_lpss_bxt_info; @@ -45,7 +28,4 @@ struct pwm_lpss_chip { const struct pwm_lpss_boardinfo *info; }; -struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, - const struct pwm_lpss_boardinfo *info); - #endif /* __PWM_LPSS_H */ diff --git a/drivers/pwm/pwm-lpss.h b/include/linux/platform_data/x86/pwm-lpss.h similarity index 53% copy from drivers/pwm/pwm-lpss.h copy to include/linux/platform_data/x86/pwm-lpss.h index 4561d229b27d..296bd837ddbb 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/include/linux/platform_data/x86/pwm-lpss.h @@ -1,21 +1,14 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -/* - * Intel Low Power Subsystem PWM controller driver - * - * Copyright (C) 2014, Intel Corporation - * - * Derived from the original pwm-lpss.c - */ +/* Intel Low Power Subsystem PWM controller driver */ -#ifndef __PWM_LPSS_H -#define __PWM_LPSS_H +#ifndef __PLATFORM_DATA_X86_PWM_LPSS_H +#define __PLATFORM_DATA_X86_PWM_LPSS_H -#include #include struct device; -#define LPSS_MAX_PWMS 4 +struct pwm_lpss_chip; struct pwm_lpss_boardinfo { unsigned long clk_rate; @@ -34,18 +27,7 @@ struct pwm_lpss_boardinfo { bool other_devices_aml_touches_pwm_regs; }; -extern const struct pwm_lpss_boardinfo pwm_lpss_byt_info; -extern const struct pwm_lpss_boardinfo pwm_lpss_bsw_info; -extern const struct pwm_lpss_boardinfo pwm_lpss_bxt_info; -extern const struct pwm_lpss_boardinfo pwm_lpss_tng_info; - -struct pwm_lpss_chip { - struct pwm_chip chip; - void __iomem *regs; - const struct pwm_lpss_boardinfo *info; -}; - struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, const struct pwm_lpss_boardinfo *info); -#endif /* __PWM_LPSS_H */ +#endif /* __PLATFORM_DATA_X86_PWM_LPSS_H */ From patchwork Tue Nov 1 15:56:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13756 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3065412wru; Tue, 1 Nov 2022 09:14:46 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4lMnBK6DmDDLubj8n2TaZccDDGbZckYbrD+UFyIet7zckB9Il+b4eOBku+lzWwuY1fGuxJ X-Received: by 2002:a17:906:b08d:b0:782:d526:3e36 with SMTP id x13-20020a170906b08d00b00782d5263e36mr18597735ejy.358.1667319285988; Tue, 01 Nov 2022 09:14:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319285; cv=none; d=google.com; s=arc-20160816; b=FI1AxKmHTDFPZGS3jfTthF4FXFg81Zd4hwF87HinZwa7TLsG9QsNx9aiUTnCwzLr4R 2SlOxx5eqmeZdws1JwAuZx7DsSq4ZYVGJQUpEpW4B2Eu8juIBSkptBkzhUZ1OBL2TsOz 3EbkIzr5VUekR9a2TUapxWsVrwiXaXaCVwwu/ZwjIfHi+ZYRK2vOzXuK0FoVkFved+t6 CqrBqkZh8VmuFkG72wL4f18OxLAhw0xz00haaG1+s1qi5AXsQGQi6xIiIBOhV4e0knuf nDTtRLFEfBvbAmxHrTo8UtV0k8kNzhz7WIPVW5tqE8oqsc37TUBYjVl5ynLbhGzvgWw4 Guqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=yIp3qFaMfl5P4I80uAudIWoLig64umL47yD4w8LNIMY=; b=Qdj4qcmhHMCNvShrflJ3+JfmR6gZV6pfEAc/isgePmj47lG4+egi+RpEtxBgRXjDXd IZ07bnYLEqe9ma5kYNfDCLYRE+y0dybehPoHv+58I3d9gl+iNHh+st8vtShWC2yvb/l+ 3uJZbrfGZS9U290BWk7VdaOjAbp1Ic03b4Ugy2DoTO5zso0ffQsA6h5k5a28/WNYYceF z6fTfc9N2ZbRmBFnzlVc0FpVWHZGHqZ70hIU83iuCMWhXW+IdLEuLn7V3hUyfS8NJcxo ok7BXmWiBWpU8fSwLvLmuzF+bgVBSy29rVtBXArEZTxE5lHJhj3FT6KcTXxwajxS2Sb0 MvGw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=gYCpsRzO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ec42-20020a0564020d6a00b004574aae3f47si9959434edb.509.2022.11.01.09.14.20; Tue, 01 Nov 2022 09:14:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=gYCpsRzO; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231588AbiKAP4y (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36564 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230147AbiKAP4c (ORCPT ); Tue, 1 Nov 2022 11:56:32 -0400 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5C9856460; Tue, 1 Nov 2022 08:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318191; x=1698854191; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=fpXlo8kvfJtMcRYRZn8k21Sc+r8WOd5lo/n0c5p4HlI=; b=gYCpsRzOT9+Y9bELPIUMxVcl35GOH2a/yXGvRYMmP9gokLdo8UWXLoim ilcq9IDGHeRh8s+gENtMKh7gAWtMVhdbRfSyxUFYl2RewlVs6arJMN2Rc EfJgdwBiceelUxBEgcA78OpLv+Ivmqo+pGkWoY+JKgoHGoeYi9/HN5xVy /j+kgI0XcLad8NNP2dDtizY5Qsw7eBtGTK3EMBKDgu548jQ9A2NFx0cPW JwN6wkl6nq758Uh65NRUJxRVIIQXNeYon86rvswZaIxBxZBh7+AYWt07V 7LcJkty64kH56GJuuP+5w3q/QqoH/8KG7npU7b2Unl25OEWK3t4zvKShZ w==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="335838675" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="335838675" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="628614205" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="628614205" Received: from black.fi.intel.com ([10.237.72.28]) by orsmga007.jf.intel.com with ESMTP; 01 Nov 2022 08:56:28 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 88BDD2B7; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 5/6] pwm: lpss: Add pwm_lpss_probe() stub Date: Tue, 1 Nov 2022 17:56:41 +0200 Message-Id: <20221101155642.52575-6-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-8.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310987893077689?= X-GMAIL-MSGID: =?utf-8?q?1748310987893077689?= In case the PWM LPSS module is not provided, allow users to be compiled with a help of a pwm_lpss_probe() stub. Signed-off-by: Andy Shevchenko --- include/linux/platform_data/x86/pwm-lpss.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/linux/platform_data/x86/pwm-lpss.h b/include/linux/platform_data/x86/pwm-lpss.h index 296bd837ddbb..c868b396ed2c 100644 --- a/include/linux/platform_data/x86/pwm-lpss.h +++ b/include/linux/platform_data/x86/pwm-lpss.h @@ -4,6 +4,8 @@ #ifndef __PLATFORM_DATA_X86_PWM_LPSS_H #define __PLATFORM_DATA_X86_PWM_LPSS_H +#include +#include #include struct device; @@ -27,7 +29,16 @@ struct pwm_lpss_boardinfo { bool other_devices_aml_touches_pwm_regs; }; +#if IS_REACHABLE(CONFIG_PWM_LPSS) struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, const struct pwm_lpss_boardinfo *info); +#else +static inline +struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, void __iomem *base, + const struct pwm_lpss_boardinfo *info) +{ + return ERR_PTR(-ENODEV); +} +#endif /* CONFIG_PWM_LPSS */ #endif /* __PLATFORM_DATA_X86_PWM_LPSS_H */ From patchwork Tue Nov 1 15:56:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andy Shevchenko X-Patchwork-Id: 13753 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:6687:0:0:0:0:0 with SMTP id l7csp3063919wru; Tue, 1 Nov 2022 09:12:18 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4yg34mOuZPFXQSLq/z98S/28T4W2iVXEL4fSS4mHEo/m8xQQp2pXhpGkp2r4lVZ3U+AEtf X-Received: by 2002:a17:907:6d8c:b0:7ad:b45c:dd24 with SMTP id sb12-20020a1709076d8c00b007adb45cdd24mr16793769ejc.616.1667319138746; Tue, 01 Nov 2022 09:12:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1667319138; cv=none; d=google.com; s=arc-20160816; b=BihTVhYBxsEzpzVtmwCBsBh1KcPrivvSy8b40PmfUXwD6oQrzk9DmV70/Q0/GNXsH0 ORpR8PMZ+aclrSC96HoX3rJ7pQH3IBF9gifjHKIjVkhl+VGIlMuVL7JZMTgekYXCxB5J XQSsJpzA5pNZ1K7iAzygXNBybiNbl+Y98mJ0apIEcO10dYqvH+Ipw+UD/tTRhEWpV/OB vtTeAF4T9SvwxU4CBAQp6O0C+NERAHRoDJYGQnVpOkX1i8Su2ijwkaFyOjfyVVIYaB5O wZkcqm7dUNFZpUpn0Hcqws7Dv6O3YLVOUdzgSAG6sqAhQAZiWyN55FYGpee9WFCUM0PN Vsvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=9jYaPXvRxJAMPlwCl/rhG8WQGrs1hCVIdLKh2kG4t0o=; b=HhjlEv5rPSuntXC4Y3EesCBoXsG6HO9VtZbPCq8bJQeHS1E65WeBJd4kw/ow83toNA 6PtuGHf8lmuHccKepFOT4Kbpsr56uJsR17eNP0VCs4uSabF0AcQZy+tK4VVWFG12NFA7 Fy646obh5ZR3M7eTCqYgrLc2NuC+qZnH2g69bToEVeAznaCGhdT71bJBTOlo6JgsFw/k JNAcuXT8wbu4bmB3egQLnigwqsTSadBVuhgj/l8dSMQNjQwLx/XNJwRGustDKeIfp6up AszDcgHXYISAmYy7X+tbUcdXl50K20JEEzjhzw40kyGvzw2/taqoxWkf+7fj1Kfd4H2a kuxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Amc1/UUZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id ca7-20020aa7cd67000000b0045caa8bf80bsi10660182edb.307.2022.11.01.09.11.52; Tue, 01 Nov 2022 09:12:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b="Amc1/UUZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231542AbiKAP4u (ORCPT + 99 others); Tue, 1 Nov 2022 11:56:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230100AbiKAP4b (ORCPT ); Tue, 1 Nov 2022 11:56:31 -0400 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0FC32167E8; Tue, 1 Nov 2022 08:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1667318191; x=1698854191; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9EMEBtyd+ncSOy04taxX8rD97/YD448iR78mVb4VTLI=; b=Amc1/UUZbZYYXCeYtWD7C+H1E+Dkd5JxPxMR007CkP4uPucKxkzSc1vB nsUJyvY1/61kXXdo01XGdUzEl+qA+Q9YgVMFBj5NKrNZs5rVO54B71wJh 50CmP/33NsoS9XFMkAAd/5gwxqTFjXxnV6mygEwk9BCCKgQ9VGJ0dsqQ/ XBte+/lC9xUgEgJqhL8M/qV8ywX22ddQpF1RFm/UvqE0HWlCipFS1o+aG 5F6JNUy/jv6h/XO8LAo4V6E5whsQmatlLY+yo7/g2H1PIqSwNOquA5+Hx c0M4nSMqbcpJY4++s7+VUUYf60rqY8hwSZadtnCS5jh0wHpFoJ54Mz9cZ Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="292474815" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="292474815" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 01 Nov 2022 08:56:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10518"; a="776537934" X-IronPort-AV: E=Sophos;i="5.95,231,1661842800"; d="scan'208";a="776537934" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga001.fm.intel.com with ESMTP; 01 Nov 2022 08:56:28 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id 903364B5; Tue, 1 Nov 2022 17:56:47 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , Hans de Goede , =?utf-8?q?Uwe_Kleine-K=C3=B6nig?= , Thierry Reding , linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, linux-pwm@vger.kernel.org Cc: Mika Westerberg , Andy Shevchenko , Linus Walleij Subject: [PATCH v1 6/6] pinctrl: intel: Enumerate PWM device when community has a capabilitty Date: Tue, 1 Nov 2022 17:56:42 +0200 Message-Id: <20221101155642.52575-7-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> References: <20221101155642.52575-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1748310833134347248?= X-GMAIL-MSGID: =?utf-8?q?1748310833134347248?= Some of the Communities may have PWM capability. In such cases, enumerate PWM device via respective driver. User is still responsible for setting correct pin muxing for the line that needs to output the signal. Signed-off-by: Andy Shevchenko --- drivers/pinctrl/intel/pinctrl-intel.c | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c index e17d1318b913..fe5bf2184cbf 100644 --- a/drivers/pinctrl/intel/pinctrl-intel.c +++ b/drivers/pinctrl/intel/pinctrl-intel.c @@ -24,6 +24,8 @@ #include #include +#include + #include "../core.h" #include "pinctrl-intel.h" @@ -49,6 +51,8 @@ #define PADOWN_MASK(p) (GENMASK(3, 0) << PADOWN_SHIFT(p)) #define PADOWN_GPP(p) ((p) / 8) +#define PWMC 0x204 + /* Offset from pad_regs */ #define PADCFG0 0x000 #define PADCFG0_RXEVCFG_SHIFT 25 @@ -1494,6 +1498,27 @@ static int intel_pinctrl_pm_init(struct intel_pinctrl *pctrl) return 0; } +static int intel_pinctrl_probe_pwm(struct intel_pinctrl *pctrl, + struct intel_community *community) +{ + static const struct pwm_lpss_boardinfo info = { + .clk_rate = 19200000, + .npwm = 1, + .base_unit_bits = 22, + .bypass = true, + }; + struct pwm_lpss_chip *pwm; + + if (!(community->features & PINCTRL_FEATURE_PWM)) + return 0; + + pwm = pwm_lpss_probe(pctrl->dev, community->regs + PWMC, &info); + if (IS_ERR(pwm) && PTR_ERR(pwm) != -ENODEV) + return PTR_ERR(pwm); + + return 0; +} + int intel_pinctrl_probe(struct platform_device *pdev, const struct intel_pinctrl_soc_data *soc_data) { @@ -1592,6 +1617,10 @@ int intel_pinctrl_probe(struct platform_device *pdev, ret = intel_pinctrl_add_padgroups_by_size(pctrl, community); if (ret) return ret; + + ret = intel_pinctrl_probe_pwm(pctrl, community); + if (ret) + return ret; } irq = platform_get_irq(pdev, 0);