[{"id":3683229,"web_url":"http://patchwork.ozlabs.org/comment/3683229/","msgid":"<CAMRc=Mcq0OX87jwRVtq5vrnWvt-DC5trY0uSAL329SJENwhu8Q@mail.gmail.com>","list_archive_url":null,"date":"2026-04-28T08:06:49","subject":"Re: [PATCH v3] nvmem: core: Default to read-only if wp-gpios present","submitter":{"id":92191,"url":"http://patchwork.ozlabs.org/api/people/92191/","name":"Bartosz Golaszewski","email":"brgl@kernel.org"},"content":"On Mon, 27 Apr 2026 17:19:29 +0200, Marek Vasut <marex@nabladev.com> said:\n> In case the nvmem DT node contains \"wp-gpios\" DT property, the device\n> currently defaults to read-write and the force_ro sysfs attribute reads\n> 0. Switch to the default read-only, which is both safer, and aligned\n> with eMMC HW BOOT partition force_ro sysfs attribute behavior, which\n> also defaults to read-only.\n>\n> The adjustment of nvmem->read_only value to read-only in case wp-gpios\n> DT property is present must be done only after the device_add() got\n> called because device_add() does internally call nvmem_bin_attr_get_umode(),\n> which configures the permissions of 'nvmem' bin attr based on the value\n> of nvmem->read_only that is only parsed from DT property 'read-only',\n> without any adjustment. This way, if DT property 'read-only' is present,\n> the 'nvmem' attribute is always read-only. Otherwise, if the device is\n> writeable, then 'nvmem' attribute is writeable, and nvmem->read_only\n> defaults to read-only, but can be switched to read-write at runtime via\n> the 'force_ro' attribute.\n\nThis slightly changes the behavior for user-space but I'm willing to give it\na go and see if anyone complains.\n\nReviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>\n\nBart","headers":{"Return-Path":"\n <linux-i2c+bounces-17191-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-i2c@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=VDxq41bk;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-i2c+bounces-17191-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=\"VDxq41bk\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=10.30.226.201"],"Received":["from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g4YFc24kmz1yHX\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 18:17:24 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 91E7730E6388\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 28 Apr 2026 08:06:53 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 1F58233ADAE;\n\tTue, 28 Apr 2026 08:06:52 +0000 (UTC)","from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org\n [10.30.226.201])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id BC37530CDB6\n\tfor <linux-i2c@vger.kernel.org>; Tue, 28 Apr 2026 08:06:51 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 5F8AEC2BCB8\n\tfor <linux-i2c@vger.kernel.org>; Tue, 28 Apr 2026 08:06:51 +0000 (UTC)","by mail-lf1-f53.google.com with SMTP id\n 2adb3069b0e04-5a3be187ffbso10959258e87.0\n        for <linux-i2c@vger.kernel.org>; Tue, 28 Apr 2026 01:06:51 -0700 (PDT)","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Tue, 28 Apr 2026 01:06:49 -0700","from 969154062570 named unknown by gmailapi.google.com with\n HTTPREST; Tue, 28 Apr 2026 01:06:49 -0700"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1777363611; cv=none;\n b=K7wWxNFQF9TTOBip3ngKmRfS7KgiU2SZvmijkjHYv8C6wjQDe9ig9/sj9yay2cpm7aIiQGcS5cKIo/J4nWAsKD0hpnx0piBWLAx5HEt9angk4GCTNZDBgxdweCWa/iRqZa6gOmQzIm6VhG3Py6sWieTM5r7Dv2BrRY3qkTuRgzg=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1777363611; c=relaxed/simple;\n\tbh=ZDA8d3gNgiUtPzMmZx/qyYCLHLlMH5wOeZ/Eg7ZY/tw=;\n\th=From:In-Reply-To:MIME-Version:References:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=hXa9IDpxA+b8zOmRYse/w28iNIeEvEeUWZ3ILBlMimFV5e5sExUBtCJ3PhW/tmp+ljyIog+wkZ3QvPJPZ+zpjrL00Pv1L9Yo/EiZJ9cyXDl8CFeCy3aZ0vNYmPDDzphJdORDnpljPXYslV5ZNPA4iYB/J2xWc8S5L/DAQWBmYrI=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org\n header.b=VDxq41bk; arc=none smtp.client-ip=10.30.226.201","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1777363611;\n\tbh=ZDA8d3gNgiUtPzMmZx/qyYCLHLlMH5wOeZ/Eg7ZY/tw=;\n\th=From:In-Reply-To:References:Date:Subject:To:Cc:From;\n\tb=VDxq41bk+5oz4SvrdXxS/FV1BTMazSlqDzOkLC1U2ZkXHQXB9BEpwQJojtd0/XFOA\n\t FwrAWOvOzkmw40zCTpvCHJljeO/NWR4+Sz3/J1U2DyyJkscPy6uCuUFAt1WBKTkWAQ\n\t Y7JH22mN3HglGogOZkRllqHiAsJtKMHSiK0vyw2IB/r16CTyY9josgK5+m9lrE/Ahy\n\t UvHpyyPMRoGYjXYvzzsvPypdVlGrJT0l0lfsK5OM3VWa5wBawIP50r9SR2YC/6z7Wf\n\t yjiP5qPM5+9noyvd3+NHAMH4fRmUWPN/uaRI/cuyaeWq/sFPObOHY2BuErJsO2LUiI\n\t ZRMxMqMjsAAuQ==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/an0NSfg4kMaifv1HlqmJPCA31V6GYIsEZwp16aUc1Nh+tCFK3ZKGPquXW8Q9ucd1eA9jjFTlRlGY=@vger.kernel.org","X-Gm-Message-State":"AOJu0YwAfcOWfhEZdqky+H96ca+jg6Sr0Wh7megUx8s6NUzW+BlBkipD\n\tcav6fuIIkvh5vImHrqvG7TpxDGakqQqQYa/L2ovCP5RAvdPp2p3q/3d78QevwehtAqwS/gXLpVg\n\tBSF8ZM8DiPdx8MBk2P26NhYhy+5fFDnbDrsdw9SzE7g==","X-Received":"by 2002:a05:6512:1247:b0:5a1:1de6:bc66 with SMTP id\n 2adb3069b0e04-5a7471287d0mr528462e87.18.1777363610049; Tue, 28 Apr 2026\n 01:06:50 -0700 (PDT)","From":"Bartosz Golaszewski <brgl@kernel.org>","In-Reply-To":"<20260427152003.26778-1-marex@nabladev.com>","Precedence":"bulk","X-Mailing-List":"linux-i2c@vger.kernel.org","List-Id":"<linux-i2c.vger.kernel.org>","List-Subscribe":"<mailto:linux-i2c+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-i2c+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","References":"<20260427152003.26778-1-marex@nabladev.com>","Date":"Tue, 28 Apr 2026 01:06:49 -0700","X-Gmail-Original-Message-ID":"\n <CAMRc=Mcq0OX87jwRVtq5vrnWvt-DC5trY0uSAL329SJENwhu8Q@mail.gmail.com>","X-Gm-Features":"AVHnY4KaOfkQP59M7p91oxim5tZnU_qREt-VIP5EikFBQrbvUZuWOPqd6MgOtQI","Message-ID":"\n <CAMRc=Mcq0OX87jwRVtq5vrnWvt-DC5trY0uSAL329SJENwhu8Q@mail.gmail.com>","Subject":"Re: [PATCH v3] nvmem: core: Default to read-only if wp-gpios present","To":"Marek Vasut <marex@nabladev.com>","Cc":"Arnd Bergmann <arnd@arndb.de>, Bartosz Golaszewski <brgl@kernel.org>,\n\tGreg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Srinivas Kandagatla <srini@kernel.org>,\n\tlinux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org","Content-Type":"text/plain; charset=\"UTF-8\""}}]