| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- From 0991afbe4b1805e7f0113ef10d7c5f0698a739e4 Mon Sep 17 00:00:00 2001
- From: Miquel Raynal <[email protected]>
- Date: Tue, 8 Aug 2023 08:29:29 +0200
- Subject: [PATCH] nvmem: core: Notify when a new layout is registered
- Tell listeners a new layout was introduced and is now available.
- Signed-off-by: Miquel Raynal <[email protected]>
- Signed-off-by: Srinivas Kandagatla <[email protected]>
- ---
- drivers/nvmem/core.c | 4 ++++
- include/linux/nvmem-consumer.h | 2 ++
- 2 files changed, 6 insertions(+)
- --- a/drivers/nvmem/core.c
- +++ b/drivers/nvmem/core.c
- @@ -772,12 +772,16 @@ int __nvmem_layout_register(struct nvmem
- list_add(&layout->node, &nvmem_layouts);
- spin_unlock(&nvmem_layout_lock);
-
- + blocking_notifier_call_chain(&nvmem_notifier, NVMEM_LAYOUT_ADD, layout);
- +
- return 0;
- }
- EXPORT_SYMBOL_GPL(__nvmem_layout_register);
-
- void nvmem_layout_unregister(struct nvmem_layout *layout)
- {
- + blocking_notifier_call_chain(&nvmem_notifier, NVMEM_LAYOUT_REMOVE, layout);
- +
- spin_lock(&nvmem_layout_lock);
- list_del(&layout->node);
- spin_unlock(&nvmem_layout_lock);
- --- a/include/linux/nvmem-consumer.h
- +++ b/include/linux/nvmem-consumer.h
- @@ -43,6 +43,8 @@ enum {
- NVMEM_REMOVE,
- NVMEM_CELL_ADD,
- NVMEM_CELL_REMOVE,
- + NVMEM_LAYOUT_ADD,
- + NVMEM_LAYOUT_REMOVE,
- };
-
- #if IS_ENABLED(CONFIG_NVMEM)
|