Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp4930755imm; Tue, 16 Oct 2018 02:21:17 -0700 (PDT) X-Google-Smtp-Source: ACcGV632vWAlbCni8aJTpBSyy0v7hwypM0GlM0HkNB9QoPT5NzhxA6omHiJjbRnXI2nl/rbPOD8r X-Received: by 2002:a63:7044:: with SMTP id a4-v6mr19503678pgn.63.1539681677727; Tue, 16 Oct 2018 02:21:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539681677; cv=none; d=google.com; s=arc-20160816; b=OyWz58Pb15q8GNt3QG3X9LlziRPisdPMuuQ4blPf4m2Q0eA3RwSMRl4gb/+cjtGmqO S91Gw2fVAkv40a2PMUyuJgqcJlbUltiEWfpCeoWPuo3KhlxXRaYyh5XzrznylYTiob52 dUHKj+3fjqktHAv7lI0d+1Qo81FVj045OEO8nL8mUZo0txpp4SbuS6SDTHvfZvIy0tBd inGF2wUlCtJGM7b+bzqiBrPGYD+uxBo7aAo+myTaltdbyudlhM3zc3+Ze/WSavR3qy0v 7V02jeeFVoRwMOEq+8XdiVMcjz/m+2FQZCoNdBlcYMDkjX0TCuJ/C5bzZCjI98WYpEXK 1duQ== 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; bh=AGCkKW1b50Z26zbXNOHkFXw6nd/ssRpFInfrcGsSxEA=; b=qZh2N7qJsowkOWFw376kc/jcEwWkMv3Rz7BnhCuhR9Se7Y/fNSK+nqNt/vnNeC2A0K hcH0XzPdKZ9gbN0Q/6ENuvgrpHc3T4Bpc9nYYJ2TWLv0wk9obPEnX7Cn5byIwBO9rfib SQuHNtLu5OuUwSsb6B2EHm/gavMWZTjYnq5V4mQlPdTfONnGjmRtKJv+oWXN2jFtBDyr o2u3XmPOCl4T2R2ljC6jiK+9JEkEtwpCBB+ZCUK+HH7fA3aZjX7bMXH7qhOcMrVYESNM x833xnnBunPnzZFcDHKaDxyyosRzkmbSa80jPmdqXioAeoDY9tpw8Tw8W0oW6+MvQvvH q7nA== ARC-Authentication-Results: i=1; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e199-v6si13765531pfh.289.2018.10.16.02.21.02; Tue, 16 Oct 2018 02:21:17 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727473AbeJPRJq (ORCPT + 99 others); Tue, 16 Oct 2018 13:09:46 -0400 Received: from mga01.intel.com ([192.55.52.88]:65261 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727045AbeJPRJp (ORCPT ); Tue, 16 Oct 2018 13:09:45 -0400 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Oct 2018 02:20:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,388,1534834800"; d="scan'208";a="81583675" Received: from sgsxdev001.isng.intel.com (HELO localhost) ([10.226.88.11]) by orsmga007.jf.intel.com with ESMTP; 16 Oct 2018 02:20:13 -0700 From: Songjun Wu To: yixin.zhu@linux.intel.com, chuanhua.lei@linux.intel.com, hauke.mehrtens@intel.com Cc: gregkh@linuxfoundation.org, paul.burton@mips.com, jslaby@suse.com, Songjun Wu , linux-kernel@vger.kernel.org, linux-serial@vger.kernel.org Subject: [RESEND PATCH 09/14] serial: lantiq: Add CCF support Date: Tue, 16 Oct 2018 17:19:10 +0800 Message-Id: <20181016091915.19909-10-songjun.wu@linux.intel.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20181016091915.19909-1-songjun.wu@linux.intel.com> References: <20181016091915.19909-1-songjun.wu@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Previous implementation uses platform-dependent API to get the clock. Those functions are not available for other SoC which uses the same IP. The CCF (Common Clock Framework) have an abstraction based APIs for clock. In future, the platform specific code will be removed when the legacy soc use CCF as well. Change to use CCF APIs to get clock and rate. So that different SoCs can use the same driver. Signed-off-by: Songjun Wu --- drivers/tty/serial/lantiq.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c index 34b1ef3c12ce..88210de00f35 100644 --- a/drivers/tty/serial/lantiq.c +++ b/drivers/tty/serial/lantiq.c @@ -744,14 +744,22 @@ lqasc_probe(struct platform_device *pdev) port->irq = irqres[0].start; port->mapbase = mmres->start; - ltq_port->freqclk = clk_get_fpi(); + if (IS_ENABLED(CONFIG_LANTIQ) && !IS_ENABLED(CONFIG_COMMON_CLK)) + ltq_port->freqclk = clk_get_fpi(); + else + ltq_port->freqclk = devm_clk_get(&pdev->dev, "freq"); + + if (IS_ERR(ltq_port->freqclk)) { pr_err("failed to get fpi clk\n"); return -ENOENT; } /* not all asc ports have clock gates, lets ignore the return code */ - ltq_port->clk = clk_get(&pdev->dev, NULL); + if (IS_ENABLED(CONFIG_LANTIQ) && !IS_ENABLED(CONFIG_COMMON_CLK)) + ltq_port->clk = clk_get(&pdev->dev, NULL); + else + ltq_port->clk = devm_clk_get(&pdev->dev, "asc"); ltq_port->tx_irq = irqres[0].start; ltq_port->rx_irq = irqres[1].start; -- 2.11.0