Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752389AbbFXJyk (ORCPT ); Wed, 24 Jun 2015 05:54:40 -0400 Received: from mail-wg0-f43.google.com ([74.125.82.43]:34039 "EHLO mail-wg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752360AbbFXJye (ORCPT ); Wed, 24 Jun 2015 05:54:34 -0400 Message-ID: <558A7E56.9060006@linaro.org> Date: Wed, 24 Jun 2015 10:54:30 +0100 From: Srinivas Kandagatla User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Stefan Wahren , Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org CC: wxt@rock-chips.com, linux-api@vger.kernel.org, Kumar Gala , Rob Herring , sboyd@codeaurora.org, arnd@arndb.de, s.hauer@pengutronix.de, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, mporter@konsulko.com, Maxime Ripard , pantelis.antoniou@konsulko.com, devicetree@vger.kernel.org, Mark Brown Subject: Re: [PATCH v6 1/9] nvmem: Add a simple NVMEM framework for nvmem providers References: <1435014459-26138-1-git-send-email-srinivas.kandagatla@linaro.org> <1435014507-26181-1-git-send-email-srinivas.kandagatla@linaro.org> <982684639.251832.1435090259373.JavaMail.open-xchange@oxbsltgw00.schlund.de> In-Reply-To: <982684639.251832.1435090259373.JavaMail.open-xchange@oxbsltgw00.schlund.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2931 Lines: 110 On 23/06/15 21:10, Stefan Wahren wrote: > Hi Srinivas, > > sorry for the messed up indention. > NP, >> + */ >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include > > Sorting alphabetically would by nice > Good Idea. >> + [...] >> +/** >> + * nvmem_register() - Register a nvmem device for given nvmem_config. >> + * Also creates an binary entry in /sys/class/nvmem/dev-name/nvmem >> + * >> + * @config: nvmem device configuration with which nvmem device is created. >> + * >> + * The return value will be an ERR_PTR() on error or a valid pointer >> + * to nvmem_device. >> + */ >> + >> +struct nvmem_device *nvmem_register(struct nvmem_config *config) >> +{ >> + struct nvmem_device *nvmem; >> + struct regmap *rm; >> + int rval; >> + >> + if (!config->dev) >> + return ERR_PTR(-EINVAL); >> + >> + rm = dev_get_regmap(config->dev, NULL); >> + if (!rm) { >> + dev_err(config->dev, "Regmap not found\n"); >> + return ERR_PTR(-EINVAL); >> + } >> + >> + nvmem = kzalloc(sizeof(*nvmem), GFP_KERNEL); >> + if (!nvmem) >> + return ERR_PTR(-ENOMEM); >> + >> + nvmem->id = ida_simple_get(&nvmem_ida, 0, 0, GFP_KERNEL); >> + if (nvmem->id < 0) { >> + kfree(nvmem); >> + return ERR_PTR(nvmem->id); >> + } >> + >> + nvmem->regmap = rm; >> + nvmem->owner = config->owner; >> + nvmem->stride = regmap_get_reg_stride(rm); >> + nvmem->word_size = regmap_get_val_bytes(rm); >> + nvmem->size = regmap_get_max_register(rm) + nvmem->stride; >> + nvmem->dev.class = &nvmem_class; >> + nvmem->dev.parent = config->dev; >> + nvmem->dev.of_node = config->dev->of_node; >> + dev_set_name(&nvmem->dev, "%s%d", >> + config->name ? : "nvmem", config->id); >> + >> + nvmem->read_only = nvmem->dev.of_node ? >> + of_property_read_bool(nvmem->dev.of_node, >> + "read-only") : >> + config->read_only; >> + >> + device_initialize(&nvmem->dev); >> + >> + dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", >> + dev_name(&nvmem->dev)); >> + >> + rval = device_add(&nvmem->dev); >> + if (rval) { >> + ida_simple_remove(&nvmem_ida, nvmem->id); >> + kfree(nvmem); >> + return ERR_PTR(rval); >> + } >> + >> + /* update sysfs attributes */ >> + if (nvmem->read_only) >> + sysfs_update_group(&nvmem->dev.kobj, &nvmem_bin_ro_group); >> + >> + if (config->cells) >> + nvmem_add_cells(nvmem, config); > > I think this would be a better place for the debug message from above. > Additionally we could add the cell count and so on. I will give it a try. thanks, srini > > Stefan > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/