From patchwork Fri Sep 21 13:40:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Srinivas Kandagatla X-Patchwork-Id: 147267 Delivered-To: patch@linaro.org Received: by 2002:a2e:1648:0:0:0:0:0 with SMTP id 8-v6csp837474ljw; Fri, 21 Sep 2018 06:40:59 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYCy84UPq1kpV5vIEFLh6+d15N+8zyGsGl/4UkKnuf0JOa4Y6Sf1X2e4L6T3cyhKY0HX5A4 X-Received: by 2002:a63:6507:: with SMTP id z7-v6mr9898423pgb.200.1537537259327; Fri, 21 Sep 2018 06:40:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537537259; cv=none; d=google.com; s=arc-20160816; b=CqFTO/ZiczzevW3i5yaChNZMWExvQxNnzWeOvG2HElgsQoQc6uW01sJ00Z7m8z7j4p RcxsFKdseMUW/BwZSWRbmABdwLFO2x5OeJQCzFK/E8kKjNaAj2yoqWl4l36Ir1G26pEM dI+MZqcjHQsKii6lw/SM7zrvSijCU/L+JdTbCQTzXj03BbgGPXYdHLgz+G7fr3os0C6y gfggK02cvVzFc2zIgGXiZWn+2wFKCyoxs0fGZP9TNr1HjDQ3NlZqIe1PlW7n9TT4o5Vh 5jX5eZCQ+O1RXJWvBbEuxCLQwZSOJjQ/f4+XzFYb3j/l21WJIaCt2bQAAZ+YCV3q6GkN /QqQ== 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=t41XhcCcu+sGwNEig7soNugPq9+VfgPhE6sHZdyZ9I8=; b=RnUqTofOX5vPV3R7XNFtk1E71qUxc87zSygFNzEFT9ipPJmRIaPXfQFIvFreSFIMi3 Tv5siwZ59ZUcn6FCsjXZX3YH65KEpyU6D4E2q6BV6RDkgYHFk8xjOSqnDOho4JKCyZUL cXxYPNSBLQpQn7IBSoHFZcGefqaPXgaL1kJynFPEZ1XgscChqJ3/Gngj6w3VI/hNTasP e3WT0euNXUr++c7NRFXl7+XcSUlksowNBzWtILLNgtygxPxaQ75r/w7Dc+GIxWa4Gp7h IeK1mPc5TwjAvtkjX9lZt0Zy3GXjaI+94D2k/umw2RUnqpPkmGpKhmehZFcU4Q/7KsVF bP1w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=arHHQRsW; 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 64-v6si28876870pfs.7.2018.09.21.06.40.58; Fri, 21 Sep 2018 06:40:59 -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 header.s=google header.b=arHHQRsW; 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 S2390335AbeIUT3v (ORCPT + 32 others); Fri, 21 Sep 2018 15:29:51 -0400 Received: from mail-io1-f66.google.com ([209.85.166.66]:45256 "EHLO mail-io1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390310AbeIUT3u (ORCPT ); Fri, 21 Sep 2018 15:29:50 -0400 Received: by mail-io1-f66.google.com with SMTP id e12-v6so12191870iok.12 for ; Fri, 21 Sep 2018 06:40:55 -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=t41XhcCcu+sGwNEig7soNugPq9+VfgPhE6sHZdyZ9I8=; b=arHHQRsWgLw9a+xbYf0I699ti6n5RgDJkui6P8tuwANMwow1cB+wNvT6dO/2dkv3Rm 5j2KRiu92BYDk583OkNHSbtZTe1kUSL+1zjiw8odH4dwQrcFhqI9/i5hsumlq69LqkGD 3vW7IPp2NhW3fbQ5NQ+UmITXr2gsr8I3pZKPA= 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=t41XhcCcu+sGwNEig7soNugPq9+VfgPhE6sHZdyZ9I8=; b=ugNskS35D5yerIJWIk37Zi4typW7y5NrCwQEMpKfrs2R3tti7l29x5k2HRjDhseZMc sK5GbKff+l/ilHWbsDN7tUgXjWnMoXSPfUs19CaGlCPh8XA+Mp5+3BypqTD+WKAFJH9G W2Eua2qPFaRRSv0LAjXnSHJOaNux9P1kXR8kDBv8b3ZRxgTaJVhxMhLG2eh8EObvT3WN CpWK4KaYc5fr0IBT62u0DZnBybd7OO/ecZxHcUtQRuPV2VohEOpWHxWYiSZXjFK9/lfH KdN3+ECdAgYeWop9FYeRs/66djXDu43q+qm25H1e51eOKUY/HOYce2ULjaBhSJq4Is/Q k2mw== X-Gm-Message-State: APzg51Cdq9FoujZEng8d5LwnfgguVZ2W17PoW52xWA3JJpZIrsh+eQ0a U5oqpg7ZoREStQEmEbUp77M0chqxuKE= X-Received: by 2002:a02:380c:: with SMTP id b12-v6mr9634597jaa.42.1537537255094; Fri, 21 Sep 2018 06:40:55 -0700 (PDT) Received: from localhost.localdomain ([209.82.80.116]) by smtp.gmail.com with ESMTPSA id c12-v6sm9896298ioq.81.2018.09.21.06.40.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Sep 2018 06:40:54 -0700 (PDT) From: srinivas.kandagatla@linaro.org To: gregkh@linuxfoundation.org Cc: linux-kernel@vger.kernel.org, Bartosz Golaszewski , Srinivas Kandagatla Subject: [PATCH 18/26] Documentation: nvmem: document cell tables and lookup entries Date: Fri, 21 Sep 2018 06:40:18 -0700 Message-Id: <20180921134026.4596-19-srinivas.kandagatla@linaro.org> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20180921134026.4596-1-srinivas.kandagatla@linaro.org> References: <20180921134026.4596-1-srinivas.kandagatla@linaro.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Bartosz Golaszewski Document the new nvmem kernel APIs. Signed-off-by: Bartosz Golaszewski Signed-off-by: Srinivas Kandagatla --- Documentation/nvmem/nvmem.txt | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) -- 2.19.0 diff --git a/Documentation/nvmem/nvmem.txt b/Documentation/nvmem/nvmem.txt index 8d8d8f58f96f..fc2fe4b18655 100644 --- a/Documentation/nvmem/nvmem.txt +++ b/Documentation/nvmem/nvmem.txt @@ -58,6 +58,37 @@ static int qfprom_probe(struct platform_device *pdev) It is mandatory that the NVMEM provider has a regmap associated with its struct device. Failure to do would return error code from nvmem_register(). +Users of board files can define and register nvmem cells using the +nvmem_cell_table struct: + +static struct nvmem_cell_info foo_nvmem_cells[] = { + { + .name = "macaddr", + .offset = 0x7f00, + .bytes = ETH_ALEN, + } +}; + +static struct nvmem_cell_table foo_nvmem_cell_table = { + .nvmem_name = "i2c-eeprom", + .cells = foo_nvmem_cells, + .ncells = ARRAY_SIZE(foo_nvmem_cells), +}; + +nvmem_add_cell_table(&foo_nvmem_cell_table); + +Additionally it is possible to create nvmem cell lookup entries and register +them with the nvmem framework from machine code as shown in the example below: + +static struct nvmem_cell_lookup foo_nvmem_lookup = { + .nvmem_name = "i2c-eeprom", + .cell_name = "macaddr", + .dev_id = "foo_mac.0", + .con_id = "mac-address", +}; + +nvmem_add_cell_lookups(&foo_nvmem_lookup, 1); + NVMEM Consumers +++++++++++++++