Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp732863rdg; Wed, 11 Oct 2023 04:11:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEjLZxuL4B5cGuUgZ+e7UIokVPiDxtefT9wv1Eya3RD30RoybR1VYeiTRl+dzOHVBmrmh9X X-Received: by 2002:a17:902:988d:b0:1c9:b207:d412 with SMTP id s13-20020a170902988d00b001c9b207d412mr4217038plp.37.1697022680759; Wed, 11 Oct 2023 04:11:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697022680; cv=none; d=google.com; s=arc-20160816; b=u2Vr9tHOx5msOXNwFP7oWNkqALgnkrz0bsvispwbYxPtxYl8FInDGLsnk4C0ggElg0 7lLI99nISPzK48cqiPtMNtL638iecAZDBWsexb1uHrlkeKco7HD+RZ+CITIPeVADkECO X8A0RGX/RH+/BU2uDmPltnL0to1uiW8YOruVTcACReeHYQmmORQHVJ6wMBqFp5PMgyW+ DtkUwTx14TMSGr8ec+Or50nowo9IB6F8KF2FVwjs0EKk6/jKTDRqeFvUjaOTKKYAVOvd sMs+OswB7KXwli4Kfu7k9q905vSQzHCImZBLnlRb5weoFNC5a8v+C1frzfiDEteIeiSb pB/Q== 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 :organization:references:in-reply-to:message-id:subject:cc:to:from :date:dkim-signature; bh=KP05wLyKRD598HzULG2gUbJ6b/QOLew0QiiIOyL4nsU=; fh=YSVHZ/fhem76NWME0xrLEuX2U8OHHDKmJVoGdJ5Jzm0=; b=TDkjAQ7lqDDgu3NW6t/BM7Hn5WoM2uBCCnhoZMbxtl/vulrVRo7JueQxD3lMLsbBXJ Ui2c39FB3OO8VYipEs2VRh3ZcayKvR4O324FMjKUcZYxJHM1pxAv7eB3IJRiGlv3fQ9e O5eFcQxfWtrNEnrdjRNJU3scLCGU944Wmpb20MNbS2mKvmsqG3GQXNuf2avhvBodQU5e 1U6W8QlNYzzXVroqYoFMOKQXv5Rh2+FtqkamrE14XiJcYF+yGgZuyhaXR0H/67YH91Xb obZZpS0JXWJuWQ054QikkPvxzkUAffQLfzgI+HWnDr/XseXdTvmFnjjmj1yCTIgmlSLH drgg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=KxAXc2+y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Return-Path: Received: from howler.vger.email (howler.vger.email. [23.128.96.34]) by mx.google.com with ESMTPS id s17-20020a170902ea1100b001bc028375aasi1836480plg.538.2023.10.11.04.11.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 11 Oct 2023 04:11:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) client-ip=23.128.96.34; Authentication-Results: mx.google.com; dkim=pass header.i=@bootlin.com header.s=gm1 header.b=KxAXc2+y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.34 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=bootlin.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 13150808E0C3; Wed, 11 Oct 2023 04:10:40 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234782AbjJKLKW (ORCPT + 99 others); Wed, 11 Oct 2023 07:10:22 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49904 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234766AbjJKLKG (ORCPT ); Wed, 11 Oct 2023 07:10:06 -0400 Received: from relay7-d.mail.gandi.net (relay7-d.mail.gandi.net [217.70.183.200]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F656106; Wed, 11 Oct 2023 04:09:38 -0700 (PDT) Received: by mail.gandi.net (Postfix) with ESMTPSA id 99A2020008; Wed, 11 Oct 2023 11:09:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1697022576; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KP05wLyKRD598HzULG2gUbJ6b/QOLew0QiiIOyL4nsU=; b=KxAXc2+yFUMRaXPG/GFMXyxuaVUm2wr7o3/QPrGS4yg3Prthevv0z9dbeY1DMwgpwilD5A W5IujeLG1Mi2/bMnoco2S/0dtHjy1OCJvnyikMVNPxeNJfmI5Wku3VA2Rfq9KMLMX204Bt dWRYNI2U0SUOvon32s4W3uKcim3zQkEDa8QJV6PNNmITWap2KZJ6IsAffFAJ/373uQBVpA gsPPBD8VUWoVHTRodg+eUFEQLZrF9RVzLPexa0RkxXDmvd5WGeyY2qmeO0DraZMy6gn6/R DttSk3HcghXBtrXqWxB/nTbs06rSrD+85fXkMyp7Dth2y9c9S7QUzQaWc1Z1FA== Date: Wed, 11 Oct 2023 13:09:31 +0200 From: Miquel Raynal To: Srinivas Kandagatla Cc: Greg Kroah-Hartman , Michael Walle , =?UTF-8?B?UmFmYcWCIE1pxYJlY2tp?= , Rob Herring , Frank Rowand , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Robert Marko , Thomas Petazzoni , Luka Perkov , Randy Dunlap , Chen-Yu Tsai , Daniel Golle Subject: Re: [PATCH v12 7/7] nvmem: core: Expose cells through sysfs Message-ID: <20231011130931.3b6216aa@xps-13> In-Reply-To: <8b8403ee-b610-312b-aa98-3e4fa65a3800@linaro.org> References: <20231005155907.2701706-1-miquel.raynal@bootlin.com> <20231005155907.2701706-8-miquel.raynal@bootlin.com> <318fe799-f53e-64ed-b631-d099bb5202f4@linaro.org> <20231011091524.0c9ecc55@xps-13> <548849a8-9f11-5274-778e-f291267603bb@linaro.org> <20231011103306.08f1fbd4@xps-13> <20231011105829.778bed58@xps-13> <490c6740-06cb-9ee6-ca8c-3ab404109344@linaro.org> <20231011114419.21821f4d@xps-13> <8b8403ee-b610-312b-aa98-3e4fa65a3800@linaro.org> Organization: Bootlin X-Mailer: Claws Mail 4.0.0 (GTK+ 3.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-GND-Sasl: miquel.raynal@bootlin.com X-Spam-Status: No, score=2.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Wed, 11 Oct 2023 04:10:40 -0700 (PDT) X-Spam-Level: ** Hi Srinivas, srinivas.kandagatla@linaro.org wrote on Wed, 11 Oct 2023 11:02:16 +0100: > Hi Miquel, >=20 > On 11/10/2023 10:44, Miquel Raynal wrote: > > Hi Srinivas, > >=20 > > srinivas.kandagatla@linaro.org wrote on Wed, 11 Oct 2023 10:26:43 +0100: > > =20 > >> On 11/10/2023 09:58, Miquel Raynal wrote: =20 > >>> Hi Srinivas, > >>> > >>> srinivas.kandagatla@linaro.org wrote on Wed, 11 Oct 2023 09:45:11 +01= 00: =20 > >>> >>>> On 11/10/2023 09:33, Miquel Raynal wrote: =20 > >>>>> Hi Srinivas, > >>>>> > >>>>> srinivas.kandagatla@linaro.org wrote on Wed, 11 Oct 2023 09:27:20 += 0100: =20 > >>>>> >>>> On 11/10/2023 08:15, Miquel Raynal wrote: > >>>>>>>>> + > >>>>>>>>> + nvmem_cells_group.bin_attrs =3D cells_attrs; > >>>>>>>>> + > >>>>>>>>> + ret =3D devm_device_add_groups(&nvmem->dev, nvmem_cells_group= s); > >>>>>>>>> + if (ret) > >>>>>>>>> + goto unlock_mutex; =20 > >>>>>>>> This is going to create groups after the nvmem device is added, = isn't this going to be problem with user space notifications? =20 > >>>>>>> Greg said it was not. I hope I understood correctly =F0=9F=98=84 > >>>>>>> > >>>>>>> And anyway, cells have never been available to userspace, so ther= e is > >>>>>>> nothing userspace might expect yet? =20 > >>>>>> I agree, but once we add sysfs uapi then this is going to change. = =20 > >>>>> > >>>>> Can you elaborate? I'm not sure I follow you here. Is there still a > >>>>> problem you fear or you think it's okay? =20 > >>>>> >> Now that we add cells to sysfs. =20 > >>>> AFAIU, By the time the userspace sees the udev event from this devic= e we might not have cells populated. =20 > >>> > >>> Yes, but why would this be a problem? =20 > >>> >> It will be problem if the userspace is using things like libude= v to act on these events. There seems to be some caching of attributes in u= dev during event more info http://www.kroah.com/log/blog/2013/06/26/how-to-= create-a-sysfs-file-correctly/ =20 > >=20 > > I am already using these attributes, right? The problem here is that we > > always attach cells sysfs attributes to the nvmem device, but in some > > cases (when using layout devices/drivers) the probe of these devices > > will happen after the main nvmem device has been announced to userspace > > and thus these attributes might not be populated yet (but Greg said it > > was "supported" and I assumed it was fine). =20 > > > So what is your idea here to overcome this? =20 >=20 > Ideally we should have all the cells definitions ready by the time nvmem = is registered. I no longer think what you describe can happen because even though the rootfs might be mounted, the daemons will only be 'started' once the kernel is done starting and starts the init process, which means all the devices have probed and all the cells have been registered as well. Thanks, Miqu=C3=A8l