From patchwork Fri May 26 08:48:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Lezcano X-Patchwork-Id: 100569 Delivered-To: patch@linaro.org Received: by 10.182.142.97 with SMTP id rv1csp117364obb; Fri, 26 May 2017 01:49:14 -0700 (PDT) X-Received: by 10.99.43.150 with SMTP id r144mr1077832pgr.114.1495788554030; Fri, 26 May 2017 01:49:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1495788554; cv=none; d=google.com; s=arc-20160816; b=o9OOM15aj8zfaorYHKAAaQ2CGg756mOuy2e4biy498w2dBrTqyDjosNZSRPg+TJ6+o iqnRUfUQGHuGQ4DbA0Ztwbf/NdOGGQXgdEal8sui3vQWXQJbuMa+DnGkPtaTwxwj4Q7D BVhkGlNAuOQ0uZ2YBwLrLJODzH3M8j3dcez4ZUuLfM2Lbeq1X3tDRitfZ1and64Oo5pG SizO3W1UbcKyuIxj32aR6Rv8txlcHGyq3Uwnxy3AL0Zr9PRXky6uhTZsPoKm786UGWOo NWfDm+t6AkA38HYORNeBJ2JO+7CDScZc6nQSwhJj+i1ZCWpDBN7eYt2gckishegx3gCQ s4Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=KbpZZ9TCViVOvbFwvTH/Qv+Dd8SO/Rg7B7TblMz8Cj4=; b=ekreplDq8S6ZwBBDVVV/8yHRxSldAnx9HI35aBO+OtyGaKmY4LLwdbTVStb1xdaqqS XVqZCs6HAvl3meS/6nPY6S14E+CQGf4hCd+PSZDBnQZfdGvpY7cAIeaalrM/YYuXOEUv jDcoB6FCHVTK4ELWyPIvFvd3/nL8vBrH72uMKR3T1H0TtCTUL4OBG6yQGMAi06QCEVcu b6tXaUwOSOw6CZ+myP6tlI0itP6P33fIUo9vQwIxhP3TaUW2N2YtN9JJaT1jv8GR/+A9 Cz2onEIqHtF4MDLlV2yhBK25Kw9WlOxuH5Uucj4Tb7jQN03GIWKYyrjYd2NeHEfc/CaB C+TA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f86si166933pfj.267.2017.05.26.01.49.13; Fri, 26 May 2017 01:49:14 -0700 (PDT) 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; dkim=pass header.i=@linaro.org; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1425757AbdEZItB (ORCPT + 25 others); Fri, 26 May 2017 04:49:01 -0400 Received: from mail-wm0-f53.google.com ([74.125.82.53]:36461 "EHLO mail-wm0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1425741AbdEZIsx (ORCPT ); Fri, 26 May 2017 04:48:53 -0400 Received: by mail-wm0-f53.google.com with SMTP id 7so120473815wmo.1 for ; Fri, 26 May 2017 01:48:52 -0700 (PDT) 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=KbpZZ9TCViVOvbFwvTH/Qv+Dd8SO/Rg7B7TblMz8Cj4=; b=XbtVyPPDyUyMMGdALVjpvyxgakfoXQ7NY2E5WHrXotj2Ks/rqdJM8gOm+VSmYjH24M K2JajgUA3mwoBcir4j/F5WPkMg3XZldwvUMu+BoAnnjw2pc/0KvqzNQ3zfiqucimNMHr YmWTWUy7BWAejBgTNbVej/t4RokwWNrmb4Bwc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=KbpZZ9TCViVOvbFwvTH/Qv+Dd8SO/Rg7B7TblMz8Cj4=; b=Xz5O8anfBlP8pAhcjB2pIsE1wkBR9KzGKif4E5L1bBmy+fGc0sfFTL1eWZiicECUMz vbbnG3h1lPO39cwpNxGt2P4RAxlnNjugcHfvs1cVco1pcdj0dat9sp8oKO3XNkyJ9wqo mWW43G45XN/jwgDXNi26guA/VaSrYmcXadubBkwZKU1NVp87ZnLNtoF5iQ6hfghuopoX Y01Vn9e9TqdMB5xI8q7eF9RBeaDh+UMkHGB/0lFq5BBX0nnW5JppTgSYbAruQ/soOme1 dYu2on0EWRQxwao1dhB4TboJThmOWP1OK7CRQ7qhDKlqeuq/Dox58o4NTz6gY4kybDfv YOxA== X-Gm-Message-State: AODbwcAbnW9DGxEKrpc85+rDw058DSj9rh5iPMdRmgdeHJmS37+FDJhR 4s/KL05PPJ+XPGIV X-Received: by 10.28.125.148 with SMTP id y142mr1321587wmc.104.1495788531882; Fri, 26 May 2017 01:48:51 -0700 (PDT) Received: from localhost.localdomain ([2a01:e35:879a:6cd0:3e97:eff:fe5b:1402]) by smtp.gmail.com with ESMTPSA id 39sm154274wru.50.2017.05.26.01.48.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 26 May 2017 01:48:51 -0700 (PDT) From: Daniel Lezcano To: andrew@aj.id.au Cc: joel@jms.id.au, ryan_chen@aspeedtech.com, mark.rutland@arm.com, linus.walleij@linaro.org, jonas.jensen@gmail.com, Thomas Gleixner , linux-kernel@vger.kernel.org (open list:CLOCKSOURCE, CLOCKEVENT DRIVERS) Subject: [PATCH] clocksource/drivers/fttmr010: Fix aspeed-2500 initialization Date: Fri, 26 May 2017 10:48:42 +0200 Message-Id: <1495788523-26051-1-git-send-email-daniel.lezcano@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1495761138.7794.11.camel@aj.id.au> References: <1495761138.7794.11.camel@aj.id.au> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The recent changes made the fttmr010 to be more generic and support different timers with a very few differences like moxart or aspeed. The aspeed timer uses a countdown and there is a test against the aspeed2400 compatible string to set a flag. With the previous patch, we added the aspeed2500 compatible string but without taking care of setting the countdown flag. Fix this by specifiying a init function and pass the aspeed flag to a common init function. Signed-off-by: Daniel Lezcano --- drivers/clocksource/timer-fttmr010.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) -- 2.7.4 Reviewed-by: Linus Walleij Tested-by: Andrew Jeffery Reviewed-by: Andrew Jeffery Acked-by: Joel Stanley diff --git a/drivers/clocksource/timer-fttmr010.c b/drivers/clocksource/timer-fttmr010.c index 68982ad..d96190e 100644 --- a/drivers/clocksource/timer-fttmr010.c +++ b/drivers/clocksource/timer-fttmr010.c @@ -210,10 +210,9 @@ static irqreturn_t fttmr010_timer_interrupt(int irq, void *dev_id) return IRQ_HANDLED; } -static int __init fttmr010_timer_init(struct device_node *np) +static int __init fttmr010_common_init(struct device_node *np, bool is_aspeed) { struct fttmr010 *fttmr010; - bool is_ast2400; int irq; struct clk *clk; int ret; @@ -260,8 +259,7 @@ static int __init fttmr010_timer_init(struct device_node *np) * The Aspeed AST2400 moves bits around in the control register, * otherwise it works the same. */ - is_ast2400 = of_device_is_compatible(np, "aspeed,ast2400-timer"); - if (is_ast2400) { + if (is_aspeed) { fttmr010->t1_enable_val = TIMER_1_CR_ASPEED_ENABLE | TIMER_1_CR_ASPEED_INT; /* Downward not available */ @@ -280,7 +278,7 @@ static int __init fttmr010_timer_init(struct device_node *np) * Enable timer 1 count up, timer 2 count up, except on Aspeed, * where everything just counts down. */ - if (is_ast2400) + if (is_aspeed) val = TIMER_2_CR_ASPEED_ENABLE; else { val = TIMER_2_CR_ENABLE; @@ -355,8 +353,19 @@ static int __init fttmr010_timer_init(struct device_node *np) return ret; } + +static __init int aspeed_timer_init(struct device_node *np) +{ + return fttmr010_common_init(np, true); +} + +static __init int fttmr010_timer_init(struct device_node *np) +{ + return fttmr010_common_init(np, false); +} + CLOCKSOURCE_OF_DECLARE(fttmr010, "faraday,fttmr010", fttmr010_timer_init); CLOCKSOURCE_OF_DECLARE(gemini, "cortina,gemini-timer", fttmr010_timer_init); CLOCKSOURCE_OF_DECLARE(moxart, "moxa,moxart-timer", fttmr010_timer_init); -CLOCKSOURCE_OF_DECLARE(ast2400, "aspeed,ast2400-timer", fttmr010_timer_init); -CLOCKSOURCE_OF_DECLARE(ast2500, "aspeed,ast2500-timer", fttmr010_timer_init); +CLOCKSOURCE_OF_DECLARE(ast2400, "aspeed,ast2400-timer", aspeed_timer_init); +CLOCKSOURCE_OF_DECLARE(ast2500, "aspeed,ast2500-timer", aspeed_timer_init);