Lines Matching full:nvmem
3 * NVMEM layout bus handling
11 #include <linux/nvmem-consumer.h>
12 #include <linux/nvmem-provider.h>
61 .name = "nvmem-layout",
92 static int nvmem_layout_create_device(struct nvmem_device *nvmem, in nvmem_layout_create_device() argument
104 layout->nvmem = nvmem; in nvmem_layout_create_device()
105 nvmem->layout = layout; in nvmem_layout_create_device()
110 dev->parent = &nvmem->dev; in nvmem_layout_create_device()
133 static int nvmem_layout_bus_populate(struct nvmem_device *nvmem, in nvmem_layout_bus_populate() argument
158 /* NVMEM layout buses expect only a single device representing the layout */ in nvmem_layout_bus_populate()
159 ret = nvmem_layout_create_device(nvmem, layout_dn); in nvmem_layout_bus_populate()
168 struct device_node *of_nvmem_layout_get_container(struct nvmem_device *nvmem) in of_nvmem_layout_get_container() argument
170 return of_get_child_by_name(nvmem->dev.of_node, "nvmem-layout"); in of_nvmem_layout_get_container()
176 * for this nvmem device, an error code otherwise.
178 int nvmem_populate_layout(struct nvmem_device *nvmem) in nvmem_populate_layout() argument
183 layout_dn = of_nvmem_layout_get_container(nvmem); in nvmem_populate_layout()
189 ret = nvmem_layout_bus_populate(nvmem, layout_dn); in nvmem_populate_layout()
196 void nvmem_destroy_layout(struct nvmem_device *nvmem) in nvmem_destroy_layout() argument
200 if (!nvmem->layout) in nvmem_destroy_layout()
203 dev = &nvmem->layout->dev; in nvmem_destroy_layout()