^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-or-later */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) * Device Mapper Uevent Support
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) * Copyright IBM Corporation, 2007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Author: Mike Anderson <andmike@linux.vnet.ibm.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #ifndef DM_UEVENT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) #define DM_UEVENT_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) enum dm_uevent_type {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) DM_UEVENT_PATH_FAILED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) DM_UEVENT_PATH_REINSTATED,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) #ifdef CONFIG_DM_UEVENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) extern int dm_uevent_init(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) extern void dm_uevent_exit(void);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) extern void dm_send_uevents(struct list_head *events, struct kobject *kobj);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) extern void dm_path_uevent(enum dm_uevent_type event_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) struct dm_target *ti, const char *path,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) unsigned nr_valid_paths);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) static inline int dm_uevent_init(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) static inline void dm_uevent_exit(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) static inline void dm_send_uevents(struct list_head *events,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) struct kobject *kobj)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) static inline void dm_path_uevent(enum dm_uevent_type event_type,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) struct dm_target *ti, const char *path,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) unsigned nr_valid_paths)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #endif /* CONFIG_DM_UEVENT */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #endif /* DM_UEVENT_H */