From patchwork Tue Oct 30 10:22:31 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 149735 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp5259569ljp; Tue, 30 Oct 2018 03:22:48 -0700 (PDT) X-Google-Smtp-Source: AJdET5deZ85ykKTmeljxR+UE99R2JEhmt7uVpGH5bUWuikbgLubWUKDjxRBcQfd3yOGOfAyP63kg X-Received: by 2002:a17:902:9a9:: with SMTP id 38-v6mr18328666pln.319.1540894968049; Tue, 30 Oct 2018 03:22:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1540894968; cv=none; d=google.com; s=arc-20160816; b=ce4b5K7KyJZbpm+H/l3+5NIRUlBrPHh9AMy//SeYHXs6gPJY5N6JoKsR6VH9EShNve yFUEfdOe/aCi6DjWPsrbnxPBafsUCV6BYRS5f207Ov/fQZvknFJlzb/PCZl4udVg3eHe 9s0Lpr/PQ5Q8lEJvgvPpl97b8tbX5nDr0e/aQjXYzzoHnpUYS/jxO3fcV8imaNAhO/MJ aHDO8RMN3aLZQumF5aE7cUsXcX6CCk84t50uj4Ruoo4WTyBVEtqv7+D0iRGs5z1YRu1r Z70XfM9/jSMlfrzlslGsjrzdnSlJjY/S2lcstUCmVQwJPkb1AqCDx0MPVi5iDsVpgzWd EE1Q== 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; bh=6ciXHZq7IgUjKzK1dmpUyx2KByjHqFG7X4uzy09xTGg=; b=m8t9b3qRe+ujQol/z6XAxhFE+YNjQmvMYaLRglnVtPveLKhC9EjU0ANiO8UVmHu/GO +5qXW0112u6+iBUwpFTRQY0tHAfQWNcEs3YGUBxLRZxrXGuc8kIXsHzrWHdDGoXEX+4i n5vB0gwwJE/JvGkwQ5Lt48tmKPyh9kUGL1VTbeYPTL6o7X8V6v1u1cNY0VF6weaVJKxj Iz2r4TL/wCOEhQbqc6jakB5KB+/D6r2sX21+M25hhqMM0OJUI5iECqyOZI/J3ppRogpG pJATp6IGQq1foWW7/+cP2RY3IodJbzlpjf/WsbYhb4aXCIOffnmCz7/S1fI3YaBA0A1w gslw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=jpu+Z8fv; 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 m14-v6si25609785pgd.282.2018.10.30.03.22.47; Tue, 30 Oct 2018 03:22:48 -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=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=jpu+Z8fv; 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 S1727590AbeJ3TPh (ORCPT + 32 others); Tue, 30 Oct 2018 15:15:37 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:34495 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727420AbeJ3TPg (ORCPT ); Tue, 30 Oct 2018 15:15:36 -0400 Received: by mail-wr1-f65.google.com with SMTP id l6-v6so11939418wrt.1 for ; Tue, 30 Oct 2018 03:22:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=6ciXHZq7IgUjKzK1dmpUyx2KByjHqFG7X4uzy09xTGg=; b=jpu+Z8fvnPHfsMy01qKgjjhOOGsGwdGkd0ILfZQFjcz+SDc1qvmaZ58TN5YbAh75HZ Znhxtxq11l4mzW61ofx1Ly9lbfyMIBzzwEvasPq72WbwB7Up0RwjRuhfyS5U5pDkfNgi AgvBQhlLtzipJUdHAio9eWd26yF49FlhrN3cvbW+WPJXBpymyh11CMNwkNetfuLQ1wyp DiIUv2mXmXt0FdETTP9SbQ3UEOUBIZfrGtnCbsyImumsR139+DCxN+lgwvlEeS7Y38qA tLJl6GC45NUPsQjTErlvLEW7EVJdo0r16FVwTHP6B0heibF7AXTZjOSeedOBkabzaHJd 7NPA== 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=6ciXHZq7IgUjKzK1dmpUyx2KByjHqFG7X4uzy09xTGg=; b=azkZCLuwmEOdZO0L2EULRj8OV90ACCQLlNaLq6uBZj8KeJnPVcqKNfgMvUrGCBdJDZ /A0Y9GTXQ/LyqR17zXHyUPQDigPqPopiQJ7AfiNLoW3OeMJgriAGIUkSdcFJ0LUrR7cr W8rDio/uudcE2yV2iUfB+cxIDEH1Len512ZABDQrxrX4Etbr3twHIRcYp1SOGDhpeXs4 J7c3MRDp4YOYjS7wbFwAhA0BIpYtV9sXHZlfB1kSTetV7iS/WEXMdp7IRl/Dqfj4v4Xn FqOUQfa+KMp1MN0MbYm+rFJ5Xe3W9tBx3YDnAcnTPukFPPBt5sG8TAckpqJyC76Ix9vk 4daA== X-Gm-Message-State: AGRZ1gJUoYfbhye3EAsjU1Zjdc07OW9sOVvSnX7ELpxv+A7AAwStPkbN GUI6xZ7SbY0dUJKG8Fgxq6Fdbg== X-Received: by 2002:adf:9403:: with SMTP id 3-v6mr17676176wrq.54.1540894962474; Tue, 30 Oct 2018 03:22:42 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id i204-v6sm26638614wmd.28.2018.10.30.03.22.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 30 Oct 2018 03:22:42 -0700 (PDT) From: Jerome Brunet To: Srinivas Kandagatla , Kevin Hilman , Carlo Caione Cc: Jerome Brunet , linux-amlogic@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 4/4] nvmem: meson-efuse: add peripheral clock Date: Tue, 30 Oct 2018 11:22:31 +0100 Message-Id: <20181030102231.4851-5-jbrunet@baylibre.com> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20181030102231.4851-1-jbrunet@baylibre.com> References: <20181030102231.4851-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Get and enable the peripheral clock required by the efuse device. The driver has been handle to work without it so far because the clock was left enabled by default but it won't be the case soon. Signed-off-by: Jerome Brunet --- drivers/nvmem/meson-efuse.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) -- 2.17.2 diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c index 40b9df1d030d..99372768446b 100644 --- a/drivers/nvmem/meson-efuse.c +++ b/drivers/nvmem/meson-efuse.c @@ -14,6 +14,7 @@ * more details. */ +#include #include #include #include @@ -46,7 +47,31 @@ static int meson_efuse_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct nvmem_device *nvmem; struct nvmem_config *econfig; + struct clk *clk; unsigned int size; + int ret; + + clk = devm_clk_get(dev, NULL); + if (IS_ERR(clk)) { + ret = PTR_ERR(clk); + if (ret != -EPROBE_DEFER) + dev_err(dev, "failed to get efuse gate"); + return ret; + } + + ret = clk_prepare_enable(clk); + if (ret) { + dev_err(dev, "failed to enable gate"); + return ret; + } + + ret = devm_add_action_or_reset(dev, + (void(*)(void *))clk_disable_unprepare, + clk); + if (ret) { + dev_err(dev, "failed to add disable callback"); + return ret; + } if (meson_sm_call(SM_EFUSE_USER_MAX, &size, 0, 0, 0, 0, 0) < 0) { dev_err(dev, "failed to get max user");