WSL2-Linux-Kernel/drivers/s390/char
Peter Oberparleiter bf18140d30 s390/vmur: generate uevent on unsolicited device end
When a traditional channel-attached device transitions from not-ready to
ready state, an unsolicited DEVICE END I/O interrupt is raised. This
happens for example when a new file arrives in the z/VM virtual reader
device.

Change the Linux kernel to generate a change uevent when such an
interrupt occurs for any online unit record devices supported by the
vmur driver. This can be useful to automatically trigger processing of
files as they arrive in the reader device.

A sample udev rule for running a program when this event occurs looks as
follows:

  ENV{DRIVER}=="vmur", ACTION=="change", ENV{EVENT}=="unsol_de", \
    RUN{program}="/path/to/program"

The rule can be tested using the following steps:

1. Set reader device online (assuming default reader device number 000c)

   $ chzdev -ea 0.0.000c

2. Force a ready-state transition using z/VM's READY CP command

   $ vmcp ready 000c

Suggested-by: Alan Altmark <Alan_Altmark@us.ibm.com>
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Reviewed-by: Sven Schnelle <svens@linux.ibm.com>
Signed-off-by: Peter Oberparleiter <oberpar@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
2022-10-10 10:15:10 +02:00
..
Kconfig s390/hmcdrv: fix Kconfig "its" grammar 2022-07-28 18:05:22 +02:00
Makefile drivers/s390/char: Add Ultravisor io device 2022-05-20 16:38:35 +02:00
con3215.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
con3270.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
ctrlchar.c s390/ctrlchar: fix kernel doc comment 2021-09-07 13:38:42 +02:00
ctrlchar.h
defkeymap.c
defkeymap.map
diag_ftp.c s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
diag_ftp.h
fs3270.c
hmcdrv_cache.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
hmcdrv_cache.h
hmcdrv_dev.c
hmcdrv_dev.h
hmcdrv_ftp.c s390/hmcdrv_ftp: fix kernel doc comment 2021-09-07 13:38:42 +02:00
hmcdrv_ftp.h
hmcdrv_mod.c
keyboard.c
keyboard.h tty: the rest, stop using tty_schedule_flip() 2021-11-25 18:35:23 +01:00
monreader.c
monwriter.c
raw3270.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
raw3270.h s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
sclp.c s390/sclp: Fix typo in comments 2022-06-30 19:40:36 +02:00
sclp.h s390/extable: move EX_TABLE define to asm-extable.h 2022-03-08 00:33:00 +01:00
sclp_ap.c
sclp_cmd.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
sclp_con.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
sclp_config.c s390: remove invalid email address of Heiko Carstens 2022-02-06 23:31:29 +01:00
sclp_cpi_sys.c
sclp_cpi_sys.h
sclp_ctl.c
sclp_diag.h
sclp_early.c s390/sclp: detect the AISI facility 2022-07-11 09:54:00 +02:00
sclp_early_core.c s390/boot: move sclp early buffer from fixed address in asm to C 2021-07-27 09:39:15 +02:00
sclp_ftp.c s390/hmcdrv: fix kernel doc comments 2021-10-26 15:21:29 +02:00
sclp_ftp.h
sclp_ocf.c
sclp_pci.c
sclp_quiesce.c
sclp_rw.c
sclp_rw.h
sclp_sd.c s390/sclp_sd: use default_groups in kobj_type 2022-01-08 17:44:05 +01:00
sclp_sdias.c s390/sclp_sdias: fix sclp_sdias_copy() virtual vs physical address confusion 2022-02-06 23:31:29 +01:00
sclp_sdias.h
sclp_tty.c tty: drop put_tty_driver 2021-07-27 12:17:21 +02:00
sclp_tty.h
sclp_vt220.c s390/consoles: improve panic notifiers reliability 2022-05-06 20:45:13 +02:00
tape.h
tape_34xx.c s390/tape: fix comment typo 2022-07-28 18:05:23 +02:00
tape_3590.c
tape_3590.h
tape_char.c s390: Fix fall-through warnings for Clang 2021-07-13 14:43:09 -05:00
tape_class.c s390: move from strlcpy with unused retval to strscpy 2022-08-30 22:00:33 +02:00
tape_class.h
tape_core.c
tape_proc.c
tape_std.c s390/tape: fix timer initialization in tape_std_assign() 2021-11-08 14:17:49 +01:00
tape_std.h
tty3270.c tty: Make ->set_termios() old ktermios const 2022-08-30 14:22:35 +02:00
tty3270.h
uvdevice.c s390/uvdevice: autoload module based on CPU facility 2022-07-19 16:18:49 +02:00
vmcp.c s390/vmcp: use page_to_virt instead of page_to_phys 2021-12-06 14:42:25 +01:00
vmlogrdr.c
vmur.c s390/vmur: generate uevent on unsolicited device end 2022-10-10 10:15:10 +02:00
vmur.h s390/vmur: generate uevent on unsolicited device end 2022-10-10 10:15:10 +02:00
zcore.c s390/mm: rework memcpy_real() to avoid DAT-off mode 2022-09-14 16:46:01 +02:00