Lines Matching full:nvmem
3 * NVMEM layout bus handling
11 #include <linux/nvmem-consumer.h>
12 #include <linux/nvmem-provider.h>
49 .name = "nvmem-layout",
77 static int nvmem_layout_create_device(struct nvmem_device *nvmem, in nvmem_layout_create_device() argument
89 layout->nvmem = nvmem; in nvmem_layout_create_device()
90 nvmem->layout = layout; in nvmem_layout_create_device()
95 dev->parent = &nvmem->dev; in nvmem_layout_create_device()
118 static int nvmem_layout_bus_populate(struct nvmem_device *nvmem, in nvmem_layout_bus_populate() argument
143 /* NVMEM layout buses expect only a single device representing the layout */ in nvmem_layout_bus_populate()
144 ret = nvmem_layout_create_device(nvmem, layout_dn); in nvmem_layout_bus_populate()
153 struct device_node *of_nvmem_layout_get_container(struct nvmem_device *nvmem) in of_nvmem_layout_get_container() argument
155 return of_get_child_by_name(nvmem->dev.of_node, "nvmem-layout"); in of_nvmem_layout_get_container()
161 * for this nvmem device, an error code otherwise.
163 int nvmem_populate_layout(struct nvmem_device *nvmem) in nvmem_populate_layout() argument
168 layout_dn = of_nvmem_layout_get_container(nvmem); in nvmem_populate_layout()
174 ret = nvmem_layout_bus_populate(nvmem, layout_dn); in nvmem_populate_layout()
181 void nvmem_destroy_layout(struct nvmem_device *nvmem) in nvmem_destroy_layout() argument
185 if (!nvmem->layout) in nvmem_destroy_layout()
188 dev = &nvmem->layout->dev; in nvmem_destroy_layout()