Commit ed1f8855 authored by Israel Batista's avatar Israel Batista Committed by Andrew Morton
Browse files

mm: change type of parameter for memory_notify

memory_notify() is responsible for sending events related to memory
hotplugging to a notification queue.  Since all the events must match one
of the values from the enum memory_block_state, it is appropriate to
change the function parameter type to make this condition explicit at
compile time.

Link: https://lkml.kernel.org/r/20251029195617.2210700-4-linux@israelbatista.dev.br


Signed-off-by: default avatarIsrael Batista <linux@israelbatista.dev.br>
Acked-by: default avatarMike Rapoport (Microsoft) <rppt@kernel.org>
Cc: David Hildenbrand <david@redhat.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Omar Sandoval <osandov@osandov.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 8bc7ba3d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -204,9 +204,9 @@ static ssize_t state_show(struct device *dev, struct device_attribute *attr,
	return sysfs_emit(buf, "%s\n", output);
}

int memory_notify(unsigned long val, void *v)
int memory_notify(enum memory_block_state state, void *v)
{
	return blocking_notifier_call_chain(&memory_chain, val, v);
	return blocking_notifier_call_chain(&memory_chain, state, v);
}

#if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_MEMORY_HOTPLUG)
+2 −2
Original line number Diff line number Diff line
@@ -141,7 +141,7 @@ static inline int register_memory_notifier(struct notifier_block *nb)
static inline void unregister_memory_notifier(struct notifier_block *nb)
{
}
static inline int memory_notify(unsigned long val, void *v)
static inline int memory_notify(enum memory_block_state state, void *v)
{
	return 0;
}
@@ -165,7 +165,7 @@ int create_memory_block_devices(unsigned long start, unsigned long size,
				struct memory_group *group);
void remove_memory_block_devices(unsigned long start, unsigned long size);
extern void memory_dev_init(void);
extern int memory_notify(unsigned long val, void *v);
extern int memory_notify(enum memory_block_state state, void *v);
extern struct memory_block *find_memory_block(unsigned long section_nr);
typedef int (*walk_memory_blocks_func_t)(struct memory_block *, void *);
extern int walk_memory_blocks(unsigned long start, unsigned long size,