Received: by 10.223.185.116 with SMTP id b49csp6307321wrg; Wed, 28 Feb 2018 07:19:13 -0800 (PST) X-Google-Smtp-Source: AH8x2246iXe6FkisBCS/J8hyxcR355aVjr4XDAkd6lssmB7yUugiO6Bw7W+yGA2hFjxZ8Oj2ihar X-Received: by 2002:a17:902:8289:: with SMTP id y9-v6mr18270492pln.242.1519831153257; Wed, 28 Feb 2018 07:19:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519831153; cv=none; d=google.com; s=arc-20160816; b=Ve+BLdBn5HQ2JKl3FSrH5qx6W6WlMc6d+jeRyylEbFkmlzr17S4EqWNqfyhpupg1i4 eA5uzra1fTtjm/LRBmUSh7NXB+EIGmjUl7zHMBfE+MCL6hJxmO/SFRNbYGkWUB2G5SBe YW4rP6r6h6im+GYupCnrBolBuy61RTp7qOAckE9RQyFxAgow2SoBwpZ196GJXSXDm4aV s0N/Zd5qPyZblYtXlGgKjM05rzVUy+qMZY2bAGlT6q42hnlGpt2QP+RjAmgeHF8A9Qks yxaQZ17EZ52pTk17gDLJLfKBnZdlbffxFzdy0K2dsFH7zv7B54MVdCUHsU8iq7bUEOh4 xkMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:arc-authentication-results; bh=VkwSA8CyatdN1K8LimWPe9eqIY5k4d4u+yig/1t4c7Q=; b=Vujek7bwqZNukJqBsKP+NoFcdCD7rr68M2DjHHzWQxNiJsJ+5zVlbh6XiGjadoWMQU 4yFZr1rROvN0ov7ZdBwL00W7PSNAwxh0012YeHAaymjXB2/AzbIuepsRXwXYvWG1AmPI UanOGwTNJ/YlrzyuRoKUSGBOw9I3os5osFOnMToveP7D0btVm03IVe7TpyANCqKj0dqN CwD/ROU9LxcO67uq8TYwcfM0Jwe7hap7mE5RwZCh1RjM1nKBJyC9YNHYKw+6Mo7bFXgn s/scX/MZaXOYSCPJ05lHihZqtjwEMiGIgqzTsXP/Zpgd6mGTVuP/uzcQ1TEhImkRWFqW Ytsw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r62si1154203pgr.77.2018.02.28.07.18.56; Wed, 28 Feb 2018 07:19:13 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932490AbeB1PRF (ORCPT + 99 others); Wed, 28 Feb 2018 10:17:05 -0500 Received: from mail.bootlin.com ([62.4.15.54]:37643 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932153AbeB1PRD (ORCPT ); Wed, 28 Feb 2018 10:17:03 -0500 Received: by mail.bootlin.com (Postfix, from userid 110) id 5D5ED2087E; Wed, 28 Feb 2018 16:17:00 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.free-electrons.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT shortcircuit=ham autolearn=disabled version=3.4.0 Received: from localhost (unknown [37.71.171.242]) by mail.bootlin.com (Postfix) with ESMTPSA id 0181020876; Wed, 28 Feb 2018 16:16:59 +0100 (CET) Date: Wed, 28 Feb 2018 16:17:01 +0100 From: Alexandre Belloni To: David Daney Cc: Alessandro Zummo , Rob Herring , Mark Rutland , linux-rtc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Andy Shevchenko Subject: Re: [PATCH v6] rtc: isl12026: Add driver. Message-ID: <20180228151701.GM1479@piout.net> References: <20180222200432.22003-1-david.daney@cavium.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180222200432.22003-1-david.daney@cavium.com> User-Agent: Mutt/1.9.3 (2018-01-21) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, That's mostly good On 22/02/2018 at 12:04:32 -0800, David Daney wrote: > + priv->rtc->ops = &isl12026_rtc_ops; > + priv->rtc->nvram_old_abi = false; This allocation is not necessary and I would refer not having t so when the ABI goes away, it is not necessary to change this driver. > + ret = rtc_register_device(priv->rtc); > + if (ret) > + return ret; > + > + memset(&nvm_cfg, 0, sizeof(nvm_cfg)); > + nvm_cfg.name = "eeprom"; You probably need something more descriptive, usually the rtc model name else, it is difficult (but not impossible) to find where this nvmem is actually located when using /sys/bus/nvmem/devices isl12026- would be a good choice. > + nvm_cfg.read_only = false; > + nvm_cfg.root_only = true; any reason to have it root only? > + nvm_cfg.base_dev = &client->dev; > + nvm_cfg.priv = priv; > + nvm_cfg.stride = 1; > + nvm_cfg.word_size = 1; > + nvm_cfg.size = 512; > + nvm_cfg.reg_read = isl12026_nvm_read; > + nvm_cfg.reg_write = isl12026_nvm_write; > + > + return rtc_nvmem_register(priv->rtc, &nvm_cfg); The probe function must not fail after rtc_register_device has been called so you must return 0 here. It is not currently possible to call rtc_nvmem_register before rtc_register_device unless we move the nvmem to the parent device: diff --git a/drivers/rtc/nvmem.c b/drivers/rtc/nvmem.c index 3a02357eb783..17ec4c8d0fad 100644 --- a/drivers/rtc/nvmem.c +++ b/drivers/rtc/nvmem.c @@ -91,7 +91,7 @@ int rtc_nvmem_register(struct rtc_device *rtc, if (!nvmem_config) return -ENODEV; - nvmem_config->dev = &rtc->dev; + nvmem_config->dev = rtc->dev.parent; nvmem_config->owner = rtc->owner; rtc->nvmem = nvmem_register(nvmem_config); if (IS_ERR_OR_NULL(rtc->nvmem)) I'll submit this patch for this cycle before there are many users of the interface (converted drivers are still exposing the old ABI). If you prefer, you can depend on it. -- Alexandre Belloni, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com