at v4.4 1.1 kB view raw
1/* 2 * nvmem framework provider. 3 * 4 * Copyright (C) 2015 Srinivas Kandagatla <srinivas.kandagatla@linaro.org> 5 * Copyright (C) 2013 Maxime Ripard <maxime.ripard@free-electrons.com> 6 * 7 * This file is licensed under the terms of the GNU General Public 8 * License version 2. This program is licensed "as is" without any 9 * warranty of any kind, whether express or implied. 10 */ 11 12#ifndef _LINUX_NVMEM_PROVIDER_H 13#define _LINUX_NVMEM_PROVIDER_H 14 15struct nvmem_device; 16struct nvmem_cell_info; 17 18struct nvmem_config { 19 struct device *dev; 20 const char *name; 21 int id; 22 struct module *owner; 23 const struct nvmem_cell_info *cells; 24 int ncells; 25 bool read_only; 26}; 27 28#if IS_ENABLED(CONFIG_NVMEM) 29 30struct nvmem_device *nvmem_register(const struct nvmem_config *cfg); 31int nvmem_unregister(struct nvmem_device *nvmem); 32 33#else 34 35static inline struct nvmem_device *nvmem_register(const struct nvmem_config *c) 36{ 37 return ERR_PTR(-ENOSYS); 38} 39 40static inline int nvmem_unregister(struct nvmem_device *nvmem) 41{ 42 return -ENOSYS; 43} 44 45#endif /* CONFIG_NVMEM */ 46 47#endif /* ifndef _LINUX_NVMEM_PROVIDER_H */