Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp430993pxj; Fri, 11 Jun 2021 02:48:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxRpb52XCnSDFLqkVpV8YuU8k3v70GRvlDJ7ndXNrXwmYb16o2D3AtuKBImCBv3iBkAn1HE X-Received: by 2002:a17:906:c212:: with SMTP id d18mr2891660ejz.291.1623404883669; Fri, 11 Jun 2021 02:48:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623404883; cv=none; d=google.com; s=arc-20160816; b=ke/Aj+yh5HvsGw96+ZjrDXu1I+Z1GXFitQq/4nMCaCftqsmPoc95YspJSriobHEs1M YTnlTr/iFBm5m5ctB0wpDLeUa8J8o5xvLuD9GWKL/3iWO0TbHGnEDpKUWdING8YFuqC6 v+gJ8529cVTKVF6Ae/YEk8SkL3t+RPeH6WUDLxgYpSogrrf7gB3nxIjS5LHOozJcCjMs IEQVJLnbKQpIzVOFkbzd/Psp0qdqkBuHzZXLb4xBllVaIqZ8ye7UY4u+ja32TLeYa2/r 42NIzj1AyZpSFyCXP8k3Ai8cZwje40hjX5YxOvPgxd88mMYavYM5cuZWRo7Id34kldd9 Mr0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=RUFraGS1EmcdZLLgoITzPhYks5QPHn8TY5cjtgTHaZE=; b=OKMVjue2OVulU6tGraSgHw2pzuFwvf9+xlVrKK/H2rQdR9oJTonlYqJcAIc/AsBeLw 0SnYDGt+mD7mDPuyVAg001CNgra+yomagi3YBKf0zOZT9Kj9WaZ8bbgX1xdJodJi300p ntj826J3fBpwd4CTv5jdDuSS7Bf3HZWQA2eWSwwNqyh5vtnS61PdR73a5wJT2yI9GLuT HS0HgmE+N21xAWbcWPkGPqlpwLVBvGTZUx6UMnBodvQMhC7Vh+C/krURBQX+fnfAD+RS Djd2YyihyipBN2M/ZOzAaLDiOGwMGCt9fzmRCjjdnY0TsoVQbNScPKV/9+cBFDY3rDFt H7XA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id yh25si3260633ejb.182.2021.06.11.02.47.41; Fri, 11 Jun 2021 02:48:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231622AbhFKJsH (ORCPT + 99 others); Fri, 11 Jun 2021 05:48:07 -0400 Received: from router.aksignal.cz ([62.44.4.214]:58820 "EHLO router.aksignal.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230526AbhFKJsF (ORCPT ); Fri, 11 Jun 2021 05:48:05 -0400 Received: from localhost (localhost [127.0.0.1]) by router.aksignal.cz (Postfix) with ESMTP id 28ED341790; Fri, 11 Jun 2021 11:46:06 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at router.aksignal.cz Received: from router.aksignal.cz ([127.0.0.1]) by localhost (router.aksignal.cz [127.0.0.1]) (amavisd-new, port 10026) with LMTP id 0WOPoFG7nrNX; Fri, 11 Jun 2021 11:46:05 +0200 (CEST) Received: from pc-gameroom.prchals.tk (unknown [83.240.30.185]) (Authenticated sender: jiri.prchal@aksignal.cz) by router.aksignal.cz (Postfix) with ESMTPSA id 2C6E5415FD; Fri, 11 Jun 2021 11:46:05 +0200 (CEST) From: Jiri Prchal To: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Rob Herring , Christian Eggers , Arnd Bergmann , Greg Kroah-Hartman , Jiri Prchal Subject: [PATCH v10 1/4] nvmem: prepare basics for FRAM support Date: Fri, 11 Jun 2021 11:45:58 +0200 Message-Id: <20210611094601.95131-2-jiri.prchal@aksignal.cz> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210611094601.95131-1-jiri.prchal@aksignal.cz> References: <20210611094601.95131-1-jiri.prchal@aksignal.cz> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Added enum and string for FRAM (ferroelectric RAM) to expose it as file named "fram". Added documentation of sysfs file. Signed-off-by: Jiri Prchal --- v2: no change here v3: resend and added more recipients v4: resend v5: no change here v6: changed commit subject v7: no change here v8: changed subject v9: no change here v10: moved documentation to here --- Documentation/ABI/testing/sysfs-class-spi-eeprom | 8 ++++++++ drivers/nvmem/core.c | 4 ++++ include/linux/nvmem-provider.h | 1 + 3 files changed, 13 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-class-spi-eeprom diff --git a/Documentation/ABI/testing/sysfs-class-spi-eeprom b/Documentation/ABI/testing/sysfs-class-spi-eeprom new file mode 100644 index 000000000000..7447e242d415 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-class-spi-eeprom @@ -0,0 +1,8 @@ +What: /sys/class/spi_master/spi/spi./fram +Date: June 2021 +KernelVersion: 5.14 +Contact: Jiri Prchal +Description: + Contains the FRAM binary data. Same as EEPROM, just another file + name to indicate that it employs ferroelectric process. + It performs write operations at bus speed - no write delays. diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 177f5bf27c6d..01ef9a934b0a 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -180,6 +180,7 @@ static const char * const nvmem_type_str[] = { [NVMEM_TYPE_EEPROM] = "EEPROM", [NVMEM_TYPE_OTP] = "OTP", [NVMEM_TYPE_BATTERY_BACKED] = "Battery backed", + [NVMEM_TYPE_FRAM] = "FRAM", }; #ifdef CONFIG_DEBUG_LOCK_ALLOC @@ -359,6 +360,9 @@ static int nvmem_sysfs_setup_compat(struct nvmem_device *nvmem, if (!config->base_dev) return -EINVAL; + if (config->type == NVMEM_TYPE_FRAM) + bin_attr_nvmem_eeprom_compat.attr.name = "fram"; + nvmem->eeprom = bin_attr_nvmem_eeprom_compat; nvmem->eeprom.attr.mode = nvmem_bin_attr_get_umode(nvmem); nvmem->eeprom.size = nvmem->size; diff --git a/include/linux/nvmem-provider.h b/include/linux/nvmem-provider.h index e162b757b6d5..890003565761 100644 --- a/include/linux/nvmem-provider.h +++ b/include/linux/nvmem-provider.h @@ -25,6 +25,7 @@ enum nvmem_type { NVMEM_TYPE_EEPROM, NVMEM_TYPE_OTP, NVMEM_TYPE_BATTERY_BACKED, + NVMEM_TYPE_FRAM, }; #define NVMEM_DEVID_NONE (-1) -- 2.25.1