As pointed by https://github.com/systemd/systemd/issues/31406, currently, udev doesn't have pesistent names for the subsystem. Add adapter's name and device's parent device, as those may help adding unique persistent names. While here, also change em28xx-dvb to use a real name instead of the parent dev name. With that, uevent for DVB devnodes will resemble this: /sys/class/dvb/dvb0.demux0/uevent:MAJOR=212 /sys/class/dvb/dvb0.demux0/uevent:MINOR=1 /sys/class/dvb/dvb0.demux0/uevent:DEVNAME=dvb/adapter0/demux0 /sys/class/dvb/dvb0.demux0/uevent:DVB_ADAPTER_NAME=PCTV nanoStick T2 290e /sys/class/dvb/dvb0.demux0/uevent:DVB_ADAPTER_PDEV=2-1:1.0 /sys/class/dvb/dvb0.demux0/uevent:DVB_ADAPTER_NUM=0 /sys/class/dvb/dvb0.demux0/uevent:DVB_DEVICE_TYPE=demux /sys/class/dvb/dvb0.demux0/uevent:DVB_DEVICE_NUM=0 Tested with a PCTV nanoStick T2 290e device. Mauro Carvalho Chehab (2): media: dvbdev: export adapter's name and bus ID to DVB uevent variables em28xx-dvb: fix DVB adapter device name drivers/media/dvb-core/dvbdev.c | 2 ++ drivers/media/usb/em28xx/em28xx-dvb.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) -- 2.43.0