s390/ap: extend AP change bindings-complete uevent with counter
Userspace udev rules need an indication about the very first AP change BINDINGS=complete uevent. So now this uevent is extend with an additional key-value entry COMPLETECOUNT=<counter>. The very first uevent will show counter=1 and the following BINDINGS=complete uevents increase this counter by 1. Here is an example how the very first BINDINGS=complete uevent looks like: KERNEL[106.079510] change /devices/ap (ap) ACTION=change DEVPATH=/devices/ap SUBSYSTEM=ap BINDINGS=complete COMPLETECOUNT=1 SEQNUM=10686 Signed-off-by: Harald Freudenberger <freude@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
This commit is contained in:
Родитель
d2e834c62d
Коммит
0677519ab9
|
@ -1,6 +1,6 @@
|
|||
// SPDX-License-Identifier: GPL-2.0+
|
||||
/*
|
||||
* Copyright IBM Corp. 2006, 2020
|
||||
* Copyright IBM Corp. 2006, 2021
|
||||
* Author(s): Cornelia Huck <cornelia.huck@de.ibm.com>
|
||||
* Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||||
* Ralph Wuerthner <rwuerthn@de.ibm.com>
|
||||
|
@ -77,6 +77,9 @@ EXPORT_SYMBOL(ap_perms_mutex);
|
|||
/* # of bus scans since init */
|
||||
static atomic64_t ap_scan_bus_count;
|
||||
|
||||
/* # of bindings complete since init */
|
||||
static atomic64_t ap_bindings_complete_count = ATOMIC64_INIT(0);
|
||||
|
||||
/* completion for initial APQN bindings complete */
|
||||
static DECLARE_COMPLETION(ap_init_apqn_bindings_complete);
|
||||
|
||||
|
@ -613,8 +616,11 @@ static void ap_send_init_scan_done_uevent(void)
|
|||
|
||||
static void ap_send_bindings_complete_uevent(void)
|
||||
{
|
||||
char *envp[] = { "BINDINGS=complete", NULL };
|
||||
char buf[32];
|
||||
char *envp[] = { "BINDINGS=complete", buf, NULL };
|
||||
|
||||
snprintf(buf, sizeof(buf), "COMPLETECOUNT=%llu",
|
||||
atomic64_inc_return(&ap_bindings_complete_count));
|
||||
kobject_uevent_env(&ap_root_device->kobj, KOBJ_CHANGE, envp);
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче