linux/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
..
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 *: convert stream-like files from nonseekable_open -> stream_open 2019-05-06 17:46:41 +03:00
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
Kconfig s390/hmcdrv: fix Kconfig "its" grammar 2022-07-28 18:05:22 +02:00
keyboard.c
keyboard.h tty: the rest, stop using tty_schedule_flip() 2021-11-25 18:35:23 +01:00
Makefile drivers/s390/char: Add Ultravisor io device 2022-05-20 16:38:35 +02:00
monreader.c s390/monreader: Remove power management support 2021-06-18 16:41:20 +02:00
monwriter.c s390/monwriter: Remove power management support 2021-06-18 16:41:20 +02:00
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_ap.c s390/sclp: Add support for SCLP AP adapter config/deconfig 2020-10-07 21:50:00 +02:00
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_core.c s390/boot: move sclp early buffer from fixed address in asm to C 2021-07-27 09:39:15 +02:00
sclp_early.c s390/sclp: detect the AISI facility 2022-07-11 09:54:00 +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 s390: Replace zero-length array with flexible-array member 2020-02-27 16:02:21 +01:00
sclp_quiesce.c s390/sclp: Remove quiesce power management support 2021-06-18 16:41:20 +02:00
sclp_rw.c TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
sclp_rw.h TTY / Serial patches for 5.14-rc1 2021-07-05 14:08:24 -07:00
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
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
tape_34xx.c s390/tape: fix comment typo 2022-07-28 18:05:23 +02:00
tape_3590.c s390/tape: Fix spelling mistake in function name tape_3590_erp_succeded 2021-01-27 13:00:47 +01:00
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 s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
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 s390: remove orphaned function declarations 2020-09-30 12:09:54 +02:00
tape.h s390/tape: remove unsupported PM functions 2020-12-02 18:19:24 +01:00
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 s390/vmlogrdr: Remove power management support 2021-06-18 16:41:21 +02:00
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