From patchwork Wed Feb 10 13:02:27 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 61650 Delivered-To: patch@linaro.org Received: by 10.112.43.199 with SMTP id y7csp2630197lbl; Wed, 10 Feb 2016 05:05:12 -0800 (PST) X-Received: by 10.98.69.155 with SMTP id n27mr58320158pfi.68.1455109512721; Wed, 10 Feb 2016 05:05:12 -0800 (PST) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bf9si4997930pac.163.2016.02.10.05.05.12; Wed, 10 Feb 2016 05:05:12 -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; 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; dkim=pass header.i=@linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751562AbcBJNEu (ORCPT + 30 others); Wed, 10 Feb 2016 08:04:50 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:33369 "EHLO mail-wm0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751495AbcBJNEq (ORCPT ); Wed, 10 Feb 2016 08:04:46 -0500 Received: by mail-wm0-f49.google.com with SMTP id g62so26128262wme.0 for ; Wed, 10 Feb 2016 05:04:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=e4nsI+g5x3zYi1KSKwnoviBci+yiFecD6/PZTyrAdok=; b=CmymZuEGa/2owTySUtFfJqqCkkhwE5oksl5N6UP2G28B1khIT0LsJuaf/kKJzoMfc5 StoldZ4cfYSMe3UnE0MCHqZDi2HKnQDaTFvAuBU/3F4981WDGOpFQplKLSYJvFUcNR1z i+FUrN9MWIF7MrD+GPHDDnlpt33StfjIZ1fhY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=e4nsI+g5x3zYi1KSKwnoviBci+yiFecD6/PZTyrAdok=; b=NLxdkp0AjtxpFgqfvnXhb7zy2ZceGKWWS5D5cEjryR69loSsGAfOEadK05IP/weq8R oULnzcMwh2F4YrX76VlavO671QxweLr4pEMx3jVUkmYhcdhfmFiX2xf1T8SA8kc0hnXj JvVnmpLbsJqOKvmzP+aX2zC+qNlmBsN+LipiA+3w1vmfE/zOqgs1P/SHqNAktJqZPTGI MnquiK/JFKXMtM0fxmv06ND1HkR8caNTlrwynS6sSsQHWZpB5I5RTSFqiohRsMbYJJrb HxAOwOcrdjCR6p2nZk6S2yd9pg1sYTu5HNtXRGf15dlVxSxqfzOVSlQsx0YNg7ffEQGF Pivw== X-Gm-Message-State: AG10YOSVTe1V1KCM41H1AG/b5RStN7M0OWqznXHLokThMMB9PZBpjuTPz3GUp5iqws+JMHWS X-Received: by 10.194.202.135 with SMTP id ki7mr45488426wjc.81.1455109485236; Wed, 10 Feb 2016 05:04:45 -0800 (PST) Received: from localhost.localdomain (host81-129-170-149.range81-129.btcentralplus.com. [81.129.170.149]) by smtp.gmail.com with ESMTPSA id q75sm22429319wmd.6.2016.02.10.05.04.44 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 10 Feb 2016 05:04:44 -0800 (PST) From: Lee Jones To: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, thierry.reding@gmail.com, linux-pwm@vger.kernel.org, ajitpal.singh@st.com Cc: kernel@stlinux.com, maxime.coquelin@st.com, Lee Jones Subject: [PATCH 10/11] pwm: sti: Enable PWM Capture Date: Wed, 10 Feb 2016 13:02:27 +0000 Message-Id: <1455109348-32767-11-git-send-email-lee.jones@linaro.org> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1455109348-32767-1-git-send-email-lee.jones@linaro.org> References: <1455109348-32767-1-git-send-email-lee.jones@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Once all functionality is in place, we provide the means to enable PWM Capture. Here we are simply obtaining the associated regmap and twiddling the relevant enable register bits. Signed-off-by: Lee Jones --- drivers/pwm/pwm-sti.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -- 1.9.1 diff --git a/drivers/pwm/pwm-sti.c b/drivers/pwm/pwm-sti.c index 8de9b4a..93cf20e 100644 --- a/drivers/pwm/pwm-sti.c +++ b/drivers/pwm/pwm-sti.c @@ -279,6 +279,13 @@ static int sti_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) pwm->hwpwm); goto out; } + + ret = regmap_field_write(pc->pwm_cpt_en, 1); + if (ret) { + dev_err(dev, "failed to enable PWM capture:%d\n", + pwm->hwpwm); + goto out; + } } pc->en_count++; out: @@ -296,6 +303,7 @@ static void sti_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) return; } regmap_field_write(pc->pwm_out_en, 0); + regmap_field_write(pc->pwm_cpt_en, 0); clk_disable(pc->pwm_clk); clk_disable(pc->cpt_clk); @@ -492,6 +500,11 @@ static int sti_pwm_probe_dt(struct sti_pwm_chip *pc) if (IS_ERR(pc->pwm_out_en)) return PTR_ERR(pc->pwm_out_en); + pc->pwm_cpt_en = devm_regmap_field_alloc(dev, pc->regmap, + reg_fields[PWM_CPT_EN]); + if (IS_ERR(pc->pwm_cpt_en)) + return PTR_ERR(pc->pwm_cpt_en); + pc->pwm_cpt_int_en = devm_regmap_field_alloc(dev, pc->regmap, reg_fields[PWM_CPT_INT_EN]); if (IS_ERR(pc->pwm_cpt_int_en))