From patchwork Mon Apr 23 12:41:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerome Brunet X-Patchwork-Id: 133995 Delivered-To: patch@linaro.org Received: by 10.46.151.6 with SMTP id r6csp950331lji; Mon, 23 Apr 2018 05:42:24 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/ap2an2xoY3OZXr2XA7/w8ndhOi6iApEiK2Tr0y32IBYtsac1Q8g7/DknA5Bg++qTZSPiA X-Received: by 2002:a17:902:462:: with SMTP id 89-v6mr15156297ple.300.1524487344558; Mon, 23 Apr 2018 05:42:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524487344; cv=none; d=google.com; s=arc-20160816; b=LDpzefrRYva0czvF8tMIFQamD4iIy4ZxOPBR0aalXlhodsotfDhT+pDVUFO42TXzzS YbFOaGHhSoEu/upfGH0sbV4RdWEmHa7w17e9+8ZUh4aBWetRpurF2Vq/PyX7Sllwmbpz OzMHUl0r/rukoM0d1Bncgr69F4R/Bhmwj18vKzFmzEVbzgti9Gq4ROc/2anfbJftYRS8 gJpfR0QA+Fxry4YbxAPXpEc41G5QnLHFFDMkTo9QBhCIPoQYdjK8iCjhsDRwVRXko9E+ H833PSjCMf/Y5RNX1LuN2XaRkAOUyAfvLXLE/Lx5jXvS2rjRZKijcLnEZAqMkDsO9gU3 +5zA== 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=EcqPYNHTIL96uRagP/nyIFajaBILMQX8z2TC4uZBJcY=; b=W4tSuIjcpoDw+l9k4X/LUTxJw3/GSlTPbKOUP5pl7kBttrU906/vbP5/1n8gQzQc/+ vxBx2mZ64+EX2mdH0/9sFnCLtRbckjIW7Oh7iugu94JdDL/2j0G5LDv0wxPvPg6FsrhM 9veuq4I4Bb1zYhcCm6Ny2A9OcoxD5KlFAbf7WVPnCuNkQVqnBOBvXMhGHqBwnBoN0Ffv LTFcKBr9VTVTqVR36qsFB4MShP/h6wImXjtJjwgJZLxEiN+GS+0CyYk0vvvVV+WgFNn0 3Bq6HxcIr/GHVZfgNhwfVXECHl1siV0Y2xagObRhsXFGgHf2ALfh59plAWuVSG/LUYpa UGaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baylibre-com.20150623.gappssmtp.com header.s=20150623 header.b=ZRSaQDOf; 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 h17si11274199pfj.178.2018.04.23.05.42.24; Mon, 23 Apr 2018 05:42:24 -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=ZRSaQDOf; 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 S1755162AbeDWMmV (ORCPT + 29 others); Mon, 23 Apr 2018 08:42:21 -0400 Received: from mail-wr0-f194.google.com ([209.85.128.194]:46409 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755063AbeDWMl5 (ORCPT ); Mon, 23 Apr 2018 08:41:57 -0400 Received: by mail-wr0-f194.google.com with SMTP id d1-v6so40824159wrj.13 for ; Mon, 23 Apr 2018 05:41:56 -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=EcqPYNHTIL96uRagP/nyIFajaBILMQX8z2TC4uZBJcY=; b=ZRSaQDOfHmTDweVL7ihV1AvVetTK19UIhXW/KP3EZsL3sVgksV9EPqmy/V+CrvkjLq 0Q3wo3jjQuM0fGsFcMhzjTw0Pnad33/Jv9aZ8U4t9B3P1XNiDHTx8Hf4G2VM0o/DQz91 0cfOcWIRcJG+AglpKsjE8sA6DAxiHtMQHszckk2F1xm5UkwqURNFYFbOmCtuCWw3+V+F JUM57yP2pBZwie9ffe6D9d7CK9Vhiup+eDc+EjOpOJrE67OIZnW+8PI4QgHPUlF/W2N6 UizaaddbTgIfnf72zIcouL8A7rrfs2Tdg4gamxs+OhKeTyKpbJBLzwlF77h5fGIAAySN vgDw== 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=EcqPYNHTIL96uRagP/nyIFajaBILMQX8z2TC4uZBJcY=; b=C8oyqjecMUVAalmwA8gLMHvTO/A7U8/EEo1nssNU+gqvz6GBsuRXPfJRoyEeTjuRR+ AjL7347KUcYWlBpyhoWX4RB3tJXlgY0N/rzmJVK6wxgMmyPV/HyFmpwD91j9WSauXFR2 mpn+unFPkTf8bb7VIVpLAXSv0VgPGmBN3T/YsvEeU0UTuhn2If6AUcx27iMLONOT9dkA ArY2VT9qh890tV8tFRapQKKJbXI5Ara2A4A+gZ8hQMZQFg1L/LSwDuZUzOAnjZ/sdyYw j4rOjQOSpSCVlMavzJxNVYI0SS/rJM8T4aENENvLlL3ck3jxBSDm8Pg6TByLrM6khnl4 Po6A== X-Gm-Message-State: ALQs6tBc7AVzybHUaVXRgXoPRQmIw8ICnrjaMqHjn9XBxZJKImwIJcem VX14S/udm7JYqocdAxW2Knec/47e X-Received: by 10.28.54.141 with SMTP id y13mr9969784wmh.126.1524487316263; Mon, 23 Apr 2018 05:41:56 -0700 (PDT) Received: from boomer.baylibre.local ([90.63.244.31]) by smtp.googlemail.com with ESMTPSA id e202sm8727927wma.43.2018.04.23.05.41.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 23 Apr 2018 05:41:55 -0700 (PDT) From: Jerome Brunet To: Srinivas Kandagatla , Carlo Caione , Kevin Hilman Cc: Jerome Brunet , linux-arm-kernel@lists.infradead.org, linux-amlogic@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/3] nvmem: meson-efuse: add write support Date: Mon, 23 Apr 2018 14:41:49 +0200 Message-Id: <20180423124149.3077-4-jbrunet@baylibre.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180423124149.3077-1-jbrunet@baylibre.com> References: <20180423124149.3077-1-jbrunet@baylibre.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add write support to the meson-gx efuse driver. Beware, this efuse is one time programmable ! Reviewed-by: Kevin Hilman Signed-off-by: Jerome Brunet --- drivers/nvmem/meson-efuse.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) -- 2.14.3 diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c index 4623249dfd87..d769840d1e18 100644 --- a/drivers/nvmem/meson-efuse.c +++ b/drivers/nvmem/meson-efuse.c @@ -28,6 +28,13 @@ static int meson_efuse_read(void *context, unsigned int offset, bytes, 0, 0, 0); } +static int meson_efuse_write(void *context, unsigned int offset, + void *val, size_t bytes) +{ + return meson_sm_call_write((u8 *)val, bytes, SM_EFUSE_WRITE, offset, + bytes, 0, 0, 0); +} + static const struct of_device_id meson_efuse_match[] = { { .compatible = "amlogic,meson-gxbb-efuse", }, { /* sentinel */ }, @@ -52,8 +59,8 @@ static int meson_efuse_probe(struct platform_device *pdev) econfig->name = dev_name(dev); econfig->stride = 1; econfig->word_size = 1; - econfig->read_only = true; econfig->reg_read = meson_efuse_read; + econfig->reg_write = meson_efuse_write; econfig->size = size; nvmem = devm_nvmem_register(&pdev->dev, econfig);