Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp3946373rwr; Sun, 7 May 2023 23:55:37 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7MAUg8smlqtMW0uTAk0MHM4HP7sgosZaKYdF+DEWCIkg/IUOrJx/tZN4lgXwQk5MqKlKg/ X-Received: by 2002:a05:6a20:6a04:b0:ff:6979:ebc0 with SMTP id p4-20020a056a206a0400b000ff6979ebc0mr8983998pzk.50.1683528936833; Sun, 07 May 2023 23:55:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683528936; cv=none; d=google.com; s=arc-20160816; b=y1I0tW9wBV5uLQdmdTYblKWPNHRMxxqyJSkvGvO7w7sUQJkXWHB9amEUhGDHOZZoJa HpIsPvzkvewZ00jAN4CC+AjRWf1MM81IFGvUlqc4i93EyJ1aB98AIhcLD8Yc5vGJ6kK3 wtQwzivYRPA2VtzQ+DQvAqIjBalQb+qUTKW4QIWl3I/TqnaP5hQK6zloOkURXxxw61jc Phcv2Kne+CH2djyUs8OOFY2F+TLbZVSqIeHJJSgmsOrR100wUjy2Upr7/zjh8tTu6NUO ZUo7qJa7iz20vuz/NxS5MmEFpSs3eO0UrsdX7y2BJDRuxw7+rF3vifibxaBHvFVYLquY nFrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:message-id:user-agent :references:in-reply-to:subject:cc:to:from:date:mime-version :dkim-signature; bh=oNsckQr9pOwjisGyDfnqn2Dt5LCUUag4cKDrtkUUgbo=; b=NmfIUCzkDPmPH2E9YyCZip++TWKJa5XLWvErDlro78ZjT54qcexptUlo5+FhKZbUXx 5w6FRSRTKSJy4eV+8jklDrMm4NgZAaprdRdJDvTFH90GitifxA1n+y8FdWVVTNmPJA0I XMzYrc9pbz8uAj5/bwCgdnTa+CbQVAUCRptdhZ26wCWPru/X8pjAKrEhWpFyzQXH9DbL CY+i5SU/ukWQLVcYVCxiHafV92wH9pF4dyR0L6wJs57x7kDWHWJYUP+Vw+pi4ZuDIkWC 0gUMGhgNjOlD66pC2lZUHNuaGbdG/Wn4sPRylS0tQ+DcLPeKlB733qAKuC6MxyeC3eNB RpdQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2022082101 header.b=yZbmEUow; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=walle.cc Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id z124-20020a633382000000b00524f9a05105si7879284pgz.59.2023.05.07.23.55.24; Sun, 07 May 2023 23:55:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@walle.cc header.s=mail2022082101 header.b=yZbmEUow; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=walle.cc Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232915AbjEHGoI (ORCPT + 99 others); Mon, 8 May 2023 02:44:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59560 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231791AbjEHGoG (ORCPT ); Mon, 8 May 2023 02:44:06 -0400 Received: from mail.3ffe.de (0001.3ffe.de [159.69.201.130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7BEB6EB9; Sun, 7 May 2023 23:44:05 -0700 (PDT) Received: from 3ffe.de (0001.3ffe.de [IPv6:2a01:4f8:c0c:9d57::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mail.3ffe.de (Postfix) with ESMTPSA id 3D10DD25; Mon, 8 May 2023 08:44:04 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=walle.cc; s=mail2022082101; t=1683528244; 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=oNsckQr9pOwjisGyDfnqn2Dt5LCUUag4cKDrtkUUgbo=; b=yZbmEUowMPK1RDPRDXzVEfIhgO+Gp2ZY5SAjbKwAGRGp2XLNCpNp/ge9jxqN9Z1fdABbUb JMp6HxemOz5Zpn2DanP22eZYqXPIzti5DiMGeGdzQ2+GHQ1gzbBU2CXK24yv3BU6No6VP4 wA25uVISha7Mh8iV1p+unyjY4z2q8jqxtWPeO3hTMS6NdOkIFqxTfOdqQ2TSgjEqTJKf5x /yTVnxDWsbzY11TeJUaSNa95HGffURThgNHs3cLil6AuBDiKN0XryUqAWMp7wToHPIas/O lcuR39mWDjYypNdwtXIEihjn5gfN+1yvzyM8o7BaqYfLhHDGhhleIkoRqZpgJw== MIME-Version: 1.0 Date: Mon, 08 May 2023 08:44:04 +0200 From: Michael Walle To: "Vaibhaav Ram T.L" Cc: gregkh@linuxfoundation.org, arnd@arndb.de, kumaravel.thiagarajan@microchip.com, tharunkumar.pasumarthi@microchip.com, linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, UNGLinuxDriver@microchip.com Subject: Re: [PATCH v11 char-misc-next 2/2] misc: microchip: pci1xxxx: Add support to read and write into PCI1XXXX EEPROM via NVMEM sysfs In-Reply-To: <20230429120209.2232-3-vaibhaavram.tl@microchip.com> References: <20230429120209.2232-1-vaibhaavram.tl@microchip.com> <20230429120209.2232-3-vaibhaavram.tl@microchip.com> User-Agent: Roundcube Webmail/1.4.13 Message-ID: <78faf23f4f746f332dc53f7f981ac0fe@walle.cc> X-Sender: michael@walle.cc Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, > @@ -219,6 +348,22 @@ static int pci1xxxx_otp_eeprom_probe(struct > auxiliary_device *aux_dev, > return -ENOMEM; > > priv->pdev = aux_dev; > + priv->nvmem_config_eeprom.type = NVMEM_TYPE_EEPROM; > + priv->nvmem_config_eeprom.name = EEPROM_NAME; > + priv->nvmem_config_eeprom.dev = &aux_dev->dev; > + priv->nvmem_config_eeprom.owner = THIS_MODULE; > + priv->nvmem_config_eeprom.reg_read = pci1xxxx_eeprom_read; > + priv->nvmem_config_eeprom.reg_write = pci1xxxx_eeprom_write; > + priv->nvmem_config_eeprom.priv = priv; > + priv->nvmem_config_eeprom.stride = 1; > + priv->nvmem_config_eeprom.word_size = 1; > + priv->nvmem_config_eeprom.size = EEPROM_SIZE_BYTES; > + > + priv->nvmem_eeprom = devm_nvmem_register(&aux_dev->dev, > + &priv->nvmem_config_eeprom); > + if (!priv->nvmem_eeprom) > + return -ENOMEM; > + > priv->nvmem_config_otp.type = NVMEM_TYPE_OTP; > priv->nvmem_config_otp.name = OTP_NAME; > priv->nvmem_config_otp.dev = &aux_dev->dev; > @@ -258,6 +403,9 @@ static int pci1xxxx_otp_eeprom_probe(struct > auxiliary_device *aux_dev, > > dev_set_drvdata(&aux_dev->dev, priv); > > + if (is_eeprom_responsive(priv)) > + priv->is_eeprom_present = true; What's this? The eeprom isn't there (or in whatever state), then you still register the nvmem device, but read and write doesn't do anything useful. You shouldn't register the device in the first place if it is not functional. -michael