From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Perches Subject: Re: [PATCH v7 1/9] nvmem: Add a simple NVMEM framework for nvmem providers Date: Fri, 10 Jul 2015 03:29:05 -0700 Message-ID: <1436524145.24866.21.camel@perches.com> References: <1436521427-10568-1-git-send-email-srinivas.kandagatla@linaro.org> <1436521486-10682-1-git-send-email-srinivas.kandagatla@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1436521486-10682-1-git-send-email-srinivas.kandagatla-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Srinivas Kandagatla Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, Greg Kroah-Hartman , Rob Herring , Kumar Gala , Mark Brown , s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org, linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, arnd-r2nGTMty4D4@public.gmane.org, sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, pantelis.antoniou-OWPKS81ov/FWk0Htik3J/w@public.gmane.org, mporter-OWPKS81ov/FWk0Htik3J/w@public.gmane.org, stefan.wahren-eS4NqCHxEME@public.gmane.org, wxt-TNX95d0MmH7DzftRWevZcw@public.gmane.org, Maxime Ripard List-Id: linux-arm-msm@vger.kernel.org On Fri, 2015-07-10 at 10:44 +0100, Srinivas Kandagatla wrote: > This patch adds just providers part of the framework just to enable easy > review. Trivial notes: > diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c > +struct nvmem_device { > + const char *name; > + struct regmap *regmap; [] > +struct nvmem_cell { > + const char *name; > + int offset; > + int bytes; It'd be nicer to use consistent indentation for *name in nvmem_cell > +static ssize_t bin_attr_nvmem_read(struct file *filp, struct kobject *kobj, > + struct bin_attribute *attr, > + char *buf, loff_t pos, size_t count) > +{ [] > + count = count/nvmem->word_size * nvmem->word_size; maybe rounddown() ? > +static ssize_t bin_attr_nvmem_write(struct file *filp, struct kobject *kobj, > + struct bin_attribute *attr, > + char *buf, loff_t pos, size_t count) > +{ > + count = count/nvmem->word_size * nvmem->word_size; and rounddown() here too ? > +static struct nvmem_device *of_nvmem_find(struct device_node *nvmem_np) > +{ > + struct device *d; > + > + if (!nvmem_np) > + return NULL; > + > + d = bus_find_device(&nvmem_bus_type, NULL, nvmem_np, of_nvmem_match); > + > + return d ? to_nvmem_device(d) : NULL; > +} Perhaps more common as d = bus_find_device(&nvmem_bus_type, NULL, nvmem_np, of_nvmem_match); if (!d) return NULL; return to_nvmem_device(d); } > +struct nvmem_device *nvmem_register(struct nvmem_config *config) > +{ [] > + nvmem->read_only = nvmem->dev.of_node ? > + of_property_read_bool(nvmem->dev.of_node, > + "read-only") : > + config->read_only; odd indentation. Normally, "read-only" would be aligned with nvmem->dev.of_node, > + dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", > + dev_name(&nvmem->dev)); Isn't this going to have duplicated dev_name prefix and postfix? > + if (device_create_bin_file(&nvmem->dev, > + nvmem->read_only ? &bin_attr_ro_nvmem : > + &bin_attr_rw_nvmem)) > + dev_info(&nvmem->dev, "Failed to create sysfs binary file\n"); Is the KERN_LEVEL correct? Maybe dev_err/notice/warn/dbg?