Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp985880imm; Wed, 10 Oct 2018 07:26:21 -0700 (PDT) X-Google-Smtp-Source: ACcGV63Q0ve7WFIaDtaz67/Io1ZXoga1feMKC1z/4TxiOY/07UGiC8jdVr7DFO556Kc/tqGGWzSt X-Received: by 2002:a63:3e06:: with SMTP id l6-v6mr28496644pga.96.1539181581939; Wed, 10 Oct 2018 07:26:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539181581; cv=none; d=google.com; s=arc-20160816; b=JCjj4Fem02BxhcAkCmxsNU7VgUmhJ589pWuF96F4iR3QQWvfKUdNd824GdWfNLW+CY oF5G3qQNkucsnS+TwUbvZqZhvOo99QjIz5evDJR5PfFkUYVDKk5N9QCX5sBlDpGDXw7V 4NbttDHbAK/gGycbNlFXm3iwNSXGUC9eHtZi+h7pAqb4qZhXOECVK71QiuT9o2Bq3/3h lnvdaYS7NCy0m0uT0S8DPPQcn9AZ4kydCycrozoirHV4X6WOY6eINRPrdP9Nqp8Y2ZEn 2sKacjg4lhHMSoPmTwcKWKqtYTax/NhP+/VZ9Qxt6GYZ3wyVqElInFDgVf5q+S1pO3ea oz2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=288hCyJAGOjORDCQLHvkUJw0qvS05tFlFB1gOeAxN0s=; b=AfXfEkEXAyA4AdoGwitnvTAMJGhQigRLe3uzV2GQDuth7omQZ5kwnpBLrGfZfLROcn 19bsbux01Clydjved1j4Fj4gIvy7/5M5VoWUecba1tfhlX+8X5WYIzzFklJT2rUm8yNM A7raGTW14BsDVX1HFxNI2ig5u0X+LdLtx53OgRMPuUW+cxAL3TeW87TNDKWoFrbI6QvY NoPnmjc1ugTIIX/7tdsbQX/HxUs8yYlTHR4reUhevhtfEZMMQUsAfIpMjW727Q6gJHrb i6lRh8GH6rGZ89DCT9H5VGK5jb7CRUeG7YMbEsQQi6tmVRR4+aOmKxzHk8tqE3poMzqv XUZQ== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h14-v6si27120080plk.130.2018.10.10.07.26.07; Wed, 10 Oct 2018 07:26:21 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727593AbeJJVsD (ORCPT + 99 others); Wed, 10 Oct 2018 17:48:03 -0400 Received: from shell.v3.sk ([90.176.6.54]:53517 "EHLO shell.v3.sk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727477AbeJJVsC (ORCPT ); Wed, 10 Oct 2018 17:48:02 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.v3.sk (Postfix) with ESMTP id 54E31BCF65; Wed, 10 Oct 2018 16:25:35 +0200 (CEST) Received: from shell.v3.sk ([127.0.0.1]) by localhost (zimbra.v3.sk [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id RzZf59CMQeWp; Wed, 10 Oct 2018 16:25:21 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zimbra.v3.sk (Postfix) with ESMTP id 7BE20BCF66; Wed, 10 Oct 2018 16:25:15 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.v3.sk Received: from shell.v3.sk ([127.0.0.1]) by localhost (zimbra.v3.sk [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Cz63_773W5pS; Wed, 10 Oct 2018 16:25:11 +0200 (CEST) Received: from belphegor.lan (ip-89-102-31-34.net.upcbroadband.cz [89.102.31.34]) by zimbra.v3.sk (Postfix) with ESMTPSA id 3423EBCF64; Wed, 10 Oct 2018 16:25:11 +0200 (CEST) From: Lubomir Rintel To: Dmitry Torokhov Cc: Michael Turquette , Rob Herring , Mark Rutland , Stephen Boyd , James Cameron , linux-input@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, Lubomir Rintel Subject: [PATCH v2 7/8] Input: olpc_apsp: enable the SP clock Date: Wed, 10 Oct 2018 16:25:03 +0200 Message-Id: <20181010142504.233467-8-lkundrak@v3.sk> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181010142504.233467-1-lkundrak@v3.sk> References: <20181010142504.233467-1-lkundrak@v3.sk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Without the clock, the keyboard controller won't operate. Tested on an OLPC XO 1.75. Signed-off-by: Lubomir Rintel --- drivers/input/serio/olpc_apsp.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/input/serio/olpc_apsp.c b/drivers/input/serio/olpc_a= psp.c index 8b19a47dfa46..fe9e19014e70 100644 --- a/drivers/input/serio/olpc_apsp.c +++ b/drivers/input/serio/olpc_apsp.c @@ -23,6 +23,7 @@ #include #include #include +#include =20 /* * The OLPC XO-1.75 and XO-4 laptops do not have a hardware PS/2 control= ler. @@ -74,6 +75,7 @@ struct olpc_apsp { struct serio *kbio; struct serio *padio; void __iomem *base; + struct clk *clk; int open_count; int irq; }; @@ -146,8 +148,13 @@ static int olpc_apsp_open(struct serio *port) struct olpc_apsp *priv =3D port->port_data; unsigned int tmp; unsigned long l; + int error; =20 if (priv->open_count++ =3D=3D 0) { + error =3D clk_prepare_enable(priv->clk); + if (error) + return error; + l =3D readl(priv->base + COMMAND_FIFO_STATUS); if (!(l & CMD_STS_MASK)) { dev_err(priv->dev, "SP cannot accept commands.\n"); @@ -171,6 +178,8 @@ static void olpc_apsp_close(struct serio *port) /* Disable interrupt 0 */ tmp =3D readl(priv->base + PJ_INTERRUPT_MASK); writel(tmp | INT_0, priv->base + PJ_INTERRUPT_MASK); + + clk_disable_unprepare(priv->clk); } } =20 @@ -198,6 +207,10 @@ static int olpc_apsp_probe(struct platform_device *p= dev) if (priv->irq < 0) return priv->irq; =20 + priv->clk =3D devm_clk_get(&pdev->dev, "sp"); + if (IS_ERR(priv->clk)) + return PTR_ERR(priv->clk); + /* KEYBOARD */ kb_serio =3D kzalloc(sizeof(struct serio), GFP_KERNEL); if (!kb_serio) --=20 2.19.0