Re: [PATCH] nvmem: core: Set no-read-write provider to avoid userspace read/write

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Oh i was in wrong version, will upload new patch v2, thanks for update.

Regards

Gaurav

On 3/17/2019 9:51 AM, kbuild test robot wrote:
Hi Gaurav,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0 next-20190306]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Gaurav-Kohli/nvmem-core-Set-no-read-write-provider-to-avoid-userspace-read-write/20190317-105219
config: i386-randconfig-x010-201911 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
         # save the attached .config to linux build tree
         make ARCH=i386

All errors (new ones prefixed by >>):

    drivers//nvmem/core.c: In function 'nvmem_register':
drivers//nvmem/core.c:662:47: error: 'np' undeclared (first use in this function); did you mean 'up'?
      nvmem->no_read_write = of_property_read_bool(np, "no-read-write") |
                                                   ^~
                                                   up
    drivers//nvmem/core.c:662:47: note: each undeclared identifier is reported only once for each function it appears in

vim +662 drivers//nvmem/core.c

    602	
    603	/**
    604	 * nvmem_register() - Register a nvmem device for given nvmem_config.
    605	 * Also creates an binary entry in /sys/bus/nvmem/devices/dev-name/nvmem
    606	 *
    607	 * @config: nvmem device configuration with which nvmem device is created.
    608	 *
    609	 * Return: Will be an ERR_PTR() on error or a valid pointer to nvmem_device
    610	 * on success.
    611	 */
    612	
    613	struct nvmem_device *nvmem_register(const struct nvmem_config *config)
    614	{
    615		struct nvmem_device *nvmem;
    616		int rval;
    617	
    618		if (!config->dev)
    619			return ERR_PTR(-EINVAL);
    620	
    621		nvmem = kzalloc(sizeof(*nvmem), GFP_KERNEL);
    622		if (!nvmem)
    623			return ERR_PTR(-ENOMEM);
    624	
    625		rval  = ida_simple_get(&nvmem_ida, 0, 0, GFP_KERNEL);
    626		if (rval < 0) {
    627			kfree(nvmem);
    628			return ERR_PTR(rval);
    629		}
    630	
    631		kref_init(&nvmem->refcnt);
    632		INIT_LIST_HEAD(&nvmem->cells);
    633	
    634		nvmem->id = rval;
    635		nvmem->owner = config->owner;
    636		if (!nvmem->owner && config->dev->driver)
    637			nvmem->owner = config->dev->driver->owner;
    638		nvmem->stride = config->stride ?: 1;
    639		nvmem->word_size = config->word_size ?: 1;
    640		nvmem->size = config->size;
    641		nvmem->dev.type = &nvmem_provider_type;
    642		nvmem->dev.bus = &nvmem_bus_type;
    643		nvmem->dev.parent = config->dev;
    644		nvmem->priv = config->priv;
    645		nvmem->type = config->type;
    646		nvmem->reg_read = config->reg_read;
    647		nvmem->reg_write = config->reg_write;
    648		if (!config->no_of_node)
    649			nvmem->dev.of_node = config->dev->of_node;
    650	
    651		if (config->id == -1 && config->name) {
    652			dev_set_name(&nvmem->dev, "%s", config->name);
    653		} else {
    654			dev_set_name(&nvmem->dev, "%s%d",
    655				     config->name ? : "nvmem",
    656				     config->name ? config->id : nvmem->id);
    657		}
    658	
    659		nvmem->read_only = device_property_present(config->dev, "read-only") ||
    660				   config->read_only || !nvmem->reg_write;
    661	
  > 662		nvmem->no_read_write = of_property_read_bool(np, "no-read-write") |
    663				   config->read_only;
    664		if (config->root_only)
    665			nvmem->dev.groups = nvmem->read_only ?
    666				nvmem_ro_root_dev_groups :
    667				nvmem_rw_root_dev_groups;
    668		else
    669			nvmem->dev.groups = nvmem->read_only ?
    670				nvmem_ro_dev_groups :
    671				nvmem_rw_dev_groups;
    672	
    673		device_initialize(&nvmem->dev);
    674	
    675		dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name);
    676	
    677		rval = device_add(&nvmem->dev);
    678		if (rval)
    679			goto err_put_device;
    680	
    681		if (config->compat) {
    682			rval = nvmem_setup_compat(nvmem, config);
    683			if (rval)
    684				goto err_device_del;
    685		}
    686	
    687		if (config->cells) {
    688			rval = nvmem_add_cells(nvmem, config->cells, config->ncells);
    689			if (rval)
    690				goto err_teardown_compat;
    691		}
    692	
    693		rval = nvmem_add_cells_from_table(nvmem);
    694		if (rval)
    695			goto err_remove_cells;
    696	
    697		rval = nvmem_add_cells_from_of(nvmem);
    698		if (rval)
    699			goto err_remove_cells;
    700	
    701		blocking_notifier_call_chain(&nvmem_notifier, NVMEM_ADD, nvmem);
    702	
    703		return nvmem;
    704	
    705	err_remove_cells:
    706		nvmem_device_remove_all_cells(nvmem);
    707	err_teardown_compat:
    708		if (config->compat)
    709			device_remove_bin_file(nvmem->base_dev, &nvmem->eeprom);
    710	err_device_del:
    711		device_del(&nvmem->dev);
    712	err_put_device:
    713		put_device(&nvmem->dev);
    714	
    715		return ERR_PTR(rval);
    716	}
    717	EXPORT_SYMBOL_GPL(nvmem_register);
    718	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center,
Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux