summaryrefslogtreecommitdiffstats
path: root/rules (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rules: enable hardware-related targets also for user instancesZbigniew Jędrzejewski-Szmek2019-05-281-6/+6
| | | | | | | | | | > the odd thing is that these units are also defined for the systemd user > instance. However, because these are bound to SYSTEMD_USER_WANTS rather than > SYSTEMD_WANTS they are effectively useless unless some other software > installs the corresponding udev rules first. This adds the rules and starts those targets also for user instances. Fixes #12330.
* udev-rules: add udmabuf to kvm groupMarc-André Lureau2019-04-231-0/+2
| | | | | | | It will have the default 0660 mode. Fixes: #12283 Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
* units: add usb-gadget targetAndrzej Pietrasiewicz2019-02-151-0/+2
| | | | | | | | | | Linux can be run on a device meant to act as a USB peripheral. In order for a machine to act as such a USB device it has to be equipped with a UDC - USB Device Controller. This patch adds a target reached when UDC becomes available. It can be used for activating e.g. a service unit which composes a USB gadget with configfs and activates it.
* rules: watch metadata changes on nbd devicesTony Asleson2019-02-151-1/+1
| | | | | | Include nbd* in match for watch option assignment. Signed-off-by: Tony Asleson <tasleson@redhat.com>
* rules: watch metadata changes on DASD devicesVojtech Trefny2018-12-041-1/+1
| | | | | To make sure the change event is emitted and udev db is updated after metadata changes.
* Merge pull request #7411 from joergsteffens/tapechangerLennart Poettering2018-10-221-2/+12
|\ | | | | udev-rules: extend tape and tape changer rules
| * udev-rules: make tape devices also accessable by ENV{ID_SCSI_SERIAL}Joerg Steffens2017-12-271-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tape and tape changer devices from Amazon Webservice Storage Gateway VTLs and maybe other iSCSI VTLs all have the same ENV{ID_SERIAL}. The results is, that only the last device is available in /dev/tape/by-id/, as the former devices have been overwritten. However, the devices can be distinguished by ENV{ID_SCSI_SERIAL}. ENV{ID_SCSI_SERIAL} is not set on directly connected SCSI devices. This rule additional creates links based on the ENV{ID_SCSI_SERIAL}, if it is set. In my case, it creates (ID_SCSI_SERIAL) /dev/tape/by-id/scsi-AMZN_SGW-6BF81D02_MC_00001 /dev/tape/by-id/scsi-AMZN_SGW-6BF81D02_TD_00001 /dev/tape/by-id/scsi-AMZN_SGW-6BF81D02_TD_00002 ... instead of only (ID_SERIAL) scsi-2414d5a4e5f5347572d364246
| * udev-rules: make tape-changers also apprear in /dev/tape/by-path/Joerg Steffens2017-11-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is important to be able to access tape changer ("Medium Changers") by persistant name. While tape devices can be accessed via /dev/tape/by-id/ and /dev/tape/by-path/, tape-changers could only be accessed by /dev/tape/by-id/. However, in some cases, especially when accessing Amazon Webservice Storage Gateway VTLs (or accessing iSCSI VTLs in general?) this does not work, as all tape devices and the tape changer have the same ENV{ID_SERIAL}. The results is, that only the last device is available in /dev/tape/by-id/, as the former devices have been overwritten. As this behavior is hard to change without breaking consistentcy, this additional device in /dev/tape/by-path/ can be used to access the medium changes. The tape devices can also be accessed by this path. The content of the directory will now look like: # SCSI tape device, rewind (unchanged) /dev/tape/by-path/$env{ID_PATH} -> ../../st* # SCSI tape device, no-rewind (unchanged) /dev/tape/by-path/$env{ID_PATH}-nst -> ../../nst* # SCSI tape changer device (newly added) /dev/tape/by-path/$env{ID_PATH}-changer -> ../../sg* Tape devices and tape changer have different ID_PATHs. SCSI tape changer get the suffix "-changer" to make them better distinguishable from tape devices.
* | rules: Add ID_REVISION environment var for NVMe devicesHarry Mallon2018-10-161-0/+2
| |
* | don't ignore zd* block devicesMarcin Skarbek2018-08-271-1/+1
| |
* | rules: Add by-id symlinks for persistent memoryKeith Busch2018-07-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a by-id symlink to persistent memory namespace if it exports a uuid attribute. The result looks like the following example: # ls -l /dev/disk/by-id/* lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-206dcdfe-69b7-4e86-a01b-f540621ce62e -> ../../pmem1.2 lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-73840bf1-4e74-4ba4-a9c8-8248934c07c8 -> ../../pmem1.1 lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-8137bdfd-3c4d-4b26-b326-21da3d4cd4e5 -> ../../pmem1.4 lrwxrwxrwx 1 root root 13 Jul 9 15:24 pmem-f43d1b6e-3300-46cb-8afc-06d66a7c16f6 -> ../../pmem1.3 Signed-off-by: Keith Busch <keith.busch@intel.com>
* | Drop my copyright headersZbigniew Jędrzejewski-Szmek2018-06-141-2/+0
| | | | | | | | | | | | | | perl -i -0pe 's/\s*Copyright © .... Zbigniew Jędrzejewski.*?\n/\n/gms' man/*xml git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/(#\n)?# +Copyright © [0-9, -]+ Zbigniew Jędrzejewski.*?\n//gms' git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s*\/\*\*\*\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*?\s*\*\*\*\/\s*/\n\n/gms' git grep -e 'Copyright.*Jędrzejewski' -l | xargs perl -i -0pe 's/\s+Copyright © [0-9, -]+ Zbigniew Jędrzejewski[^\n]*//gms'
* | tree-wide: beautify remaining copyright statementsLennart Poettering2018-06-141-1/+1
| | | | | | | | | | | | Let's unify an beautify our remaining copyright statements, with a unicode ©. This means our copyright statements are now always formatted the same way. Yay.
* | udev: create /dev/disk/by-label symlink for LUKS2 (#8998)Milan Broz2018-05-151-1/+1
| | | | | | | | | | | | | | | | LUKS2 header supports to device label and blkid since 2.32 version already supports this option. Persistent udev storage rules should create symlink for this label. For older devices this value is not set so changed rule should be compatible.
* | tree-wide: drop license boilerplateZbigniew Jędrzejewski-Szmek2018-04-061-13/+0
| | | | | | | | | | | | | | | | | | | | Files which are installed as-is (any .service and other unit files, .conf files, .policy files, etc), are left as is. My assumption is that SPDX identifiers are not yet that well known, so it's better to retain the extended header to avoid any doubt. I also kept any copyright lines. We can probably remove them, but it'd nice to obtain explicit acks from all involved authors before doing that.
* | rules: skip btrfs check if devices are not ready in 64-btrfs.rules (#8304)Franck Bui2018-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | If any devices are marked with 'SYSTEMD_READY=0' then we shouldn't run any btrfs check on them. Indeed there's no point in running "btrfs ready" on devices that already have SYSTEMD_READY=0 set. Most probably such devices are members of a higher layer aggregate device such as dm-multipath or software RAID. Doing IO on them wastes time at best, and may cause delays, timeouts, or even hangs at worst (think active-passive multipath or degraded RAID, for example). It was initially reported at: https://bugzilla.opensuse.org/show_bug.cgi?id=872929
* | rules: Mark the kvm device as static_node (for s390x and ppc64) (#7795)Thomas Huth2018-01-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On s390x and ppc64, the permissions of the /dev/kvm device are currently not right as long as the kvm kernel module has not been loaded yet. The kernel module is using MODULE_ALIAS("devname:kvm") there, so the module will be loaded on the first access to /dev/kvm. In that case, udev needs to apply the permission to the static node already (which was created via devtmpfs), i.e. we have to specify the option "static_node=kvm" in the udev rule. Note that on x86, the kvm kernel modules are loaded early instead (via the MODULE_DEVICE_TABLE(x86cpu, ...) feature checking), so that the right module is loaded for the Intel or AMD hypervisor extensions right from the start. Thus the "static_node=kvm" is not required on x86 - but it also should not hurt here (and using it here even might be more future proof in case the module loading is also done delayed there one day), so we just add the new option to the rule here unconditionally.
* | meson: re-attach rule-syntax-check.py testZbigniew Jędrzejewski-Szmek2017-11-221-0/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 39/248 rule-syntax-check OK 0.07 s --- command --- /home/zbyszek/src/systemd-work/test/rule-syntax-check.py \ /home/zbyszek/src/systemd-work/build/../rules/60-block.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-cdrom_id.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-drm.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-evdev.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-input-id.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-persistent-alsa.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-persistent-input.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-persistent-storage.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-persistent-storage-tape.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-persistent-v4l.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-sensor.rules \ /home/zbyszek/src/systemd-work/build/../rules/60-serial.rules \ /home/zbyszek/src/systemd-work/build/../rules/70-joystick.rules \ /home/zbyszek/src/systemd-work/build/../rules/70-mouse.rules \ /home/zbyszek/src/systemd-work/build/../rules/70-touchpad.rules \ /home/zbyszek/src/systemd-work/build/../rules/75-net-description.rules \ /home/zbyszek/src/systemd-work/build/../rules/75-probe_mtd.rules \ /home/zbyszek/src/systemd-work/build/../rules/78-sound-card.rules \ /home/zbyszek/src/systemd-work/build/../rules/80-drivers.rules \ /home/zbyszek/src/systemd-work/build/../rules/80-net-setup-link.rules \ /home/zbyszek/src/systemd-work/build/rules/50-udev-default.rules \ /home/zbyszek/src/systemd-work/build/rules/64-btrfs.rules \ /home/zbyszek/src/systemd-work/build/rules/99-systemd.rules --- stdout --- ... ------- It got dropped by mistake in 72cdb3e783174dcf9223a49f03e3b0e2ca95ddb8.
* Add license headers and SPDX identifiers to meson.build filesZbigniew Jędrzejewski-Szmek2017-11-191-0/+17
| | | | | | | So far I avoided adding license headers to meson files, but they are pretty big and important and should carry license headers like everything else. I added my own copyright, even though other people modified those files too. But this is mostly symbolic, so I hope that's OK.
* Add SPDX license headers to various assorted filesZbigniew Jędrzejewski-Szmek2017-11-191-0/+2
|
* rules: run all persistent-input rules for rmi and i8042 (#7287)Simon Arlott2017-11-101-2/+2
| | | | | | | Commit 83b48159 set ID_BUS for these subsystems but copied the intent of commit c49df207 by not creating symlinks for those devices. Remove the GOTO so that the rest of the rules are still processed and symlinks are created for rmi and i8042 devices.
* udev-rules: Add rule for /dev/kfdTom Stellard2017-11-081-0/+1
|
* udev-rules: Permission changes for /dev/dri/renderD*Tom Stellard2017-11-081-1/+3
| | | | | | | | - Remove the uaccess tag from /dev/dri/renderD*. - Change the owning group from video to render. - Change default mode to 0666. - Add an option to allow users to set the access mode for these devices at compile time.
* Merge pull request #7212 from whot/masterLennart Poettering2017-10-301-0/+1
|\ | | | | hwdb: add a hwdb for custom ID_INPUT_* overrides
| * hwdb: add a hwdb file to override ID_INPUT assignmentsPeter Hutterer2017-10-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | The input_id builtin assigns the various ID_INPUT based on the exported evdev bits. In some cases, the device may not have the properties required to label a device as one specific type but the physical form factor is clear. e.g. in the case of #7197 it's a tablet pad that does not have x/y axes which the kernel exports for pads for historical reasons. A custom override is needed, best to be solved with a hwdb entry. Related #7197
* | rules: add Freescale IMX serial ports name to serial port udev rule (#7203)Maciej S. Szmigiero2017-10-301-1/+1
|/ | | | | Freescale IMX SoCs serial ports driven by kernel "imx-uart" driver have names of "ttymxcN", let's add this pattern to an udev rule for serial ports so they will have proper ownership applied.
* rules: Add MODEL_ID for NVMe device (#7037)gwendalcr2017-10-101-2/+6
| | | | | | | | | | | | To mimic MODEL_ID variable built for ATA and SCSI devices, add rules to add MODEL_ID variable for NVMe devices. TEST: Check on a system with NVMe device that MODEL_ID variable is present: udevadm info --query=all -n /dev/nvme0n1p1 | grep ID_MODEL and udevadm info --query=all -n /dev/nvme0n1p1 | grep ID_MODEL return: E: ID_MODEL=SAMSUNG...
* fix path in btrfs rule (#6844)Christian Hesse2017-09-151-1/+1
| | | | | Commit 0e8856d2 (assemble multidevice btrfs volumes without external tools (#6607)) introduced a call to udevadm. That lives in @rootbindir@, not @rootlibexecdir@. So fix the path.
* rules: ubi mtd - add link to named partitions (#6750)Michael Grzeschik2017-09-141-0/+3
| | | | | | [zjs: - rebase onto recent master - drop signed-off-by]
* rules: load drivers only on "add" eventsDmitry Torokhov2017-09-111-1/+1
| | | | | | | | | | Previously we were loading kernel modules on all device events save for "remove". With the introduction of KOBJ_BIND/KOBJ_UNBIND this causes issues, as driver modules that have devices bound to their drivers get immediately reloaded, and it appears to the user that module unloading does not work. Let's change the rules to only load modules on "add" events instead.
* assemble multidevice btrfs volumes without external tools (#6607)g0tar2017-09-072-1/+4
| | | | | | | | assemble multidevice btrfs volumes without external tools This self-contained approach introduce very little overhead, unless someone has a large number of devices composing many btrfs volumes, in which case btrfs device scan would be faster. Still, having robust implementation is a nice to have alternative for btrfs-progs.
* rules: split the rfkill subsystem rule (#6556)Xiang Fan2017-08-081-1/+2
| | | | | | This patch makes sure both rules are applied to rfkill devices. Otherwise the ENV rule may be skipped if path_id fails. Fixes: #6528
* build-sys: drop gitignore patterns for in-tree buildsZbigniew Jędrzejewski-Szmek2017-07-181-2/+0
| | | | ... and other autotools-generated files.
* build-sys: drop automake supportZbigniew Jędrzejewski-Szmek2017-07-181-1/+0
| | | | | v2: - also mention m4
* build-sys: install udev rule 70-joystick.{rules,hwdb} (#6363)Christian Hesse2017-07-141-0/+1
| | | | | * meson: install udev files 70-joystick.{rules,hwdb} * Makefile: install udev file 70-joystick.hwdb
* build-sys: fix installation of new 60-input-id.rulesZbigniew Jędrzejewski-Szmek2017-06-281-0/+1
| | | | Fixup for 38887d1bd5eb037a532279b2b75d6a87ce381419.
* rules: move input_id rule to a separate fileMichal Suchanek2017-06-273-2/+8
| | | | | | | | | This places the input_id call after the evdev hwdb calls. With this the hwdb fixups in evdev can affect the device capabilities assigned in input_id. Remove the ID_INPUT_KEY dependency in atkbd rule because it is now not assigned at this point.
* hwdb: Add ID_INPUT_JOYSTICK_INTEGRATION property (#5413)hadess2017-06-261-0/+12
| | | | | | | | When the joystick is integrated directly into the machine, knowing that the device is internal allows us to disable attached functionality when the device is not used or inaccessible. For example, this allows disabling rumble and accelerometer on flip-console-like devices like the GPD-XD.
* rules: watch metadata changes in mmcblk devices (#6050)kjackiewicz2017-05-301-1/+1
| | | | | | | Formatting sd-cards does not trigger "change" uevents. As a result clients using udev API don't get any updates afterwards and get outdated information about the device. Include mmcblk* in a match for watch option assignment.
* rules: Handle MMC boot partitions by-path correctly (#6026)George McCollister2017-05-261-1/+2
| | | | | | | | | | | | | | | | | | | | | | Many eMMC devices have separate boot partitions that aren't part of the normal partition table that show up as /dev/mmcblk[0-9]boot[0-9]. These partitions are generally small (128KB to 16MB) and typically hold a boot loader, boot loader data or a recovery image. Match these and create -boot%n by-path symlinks. Prior to this change by-path symlinks for the main device would be incorrectly linked to one of the boot partitions. For instance before: /dev/disk/by-path/platform-219c000.usdhc linked to /dev/mmcblk1boot1 Now: /dev/disk/by-path/platform-219c000.usdhc links to /dev/mmcblk1 /dev/disk/by-path/platform-219c000.usdhc-boot0 links to /dev/mmcblk1boot0 /dev/disk/by-path/platform-219c000.usdhc-boot1 links to /dev/mmcblk1boot1 On systems that support multiple SD/MMC devices it can be essential to have by-path links to these devices since device names vary depending on which other devices are connected.
* 50-udev-default.rules.in: set correct group for mediaX/cecX (#5921)Lennart Poettering2017-05-091-0/+2
| | | | | | | | | | | The /dev/mediaX and /dev/cecX devices belong to the video group. Add two default rules for that. The /dev/cecX devices were introduced in kernel 4.8 in staging and moved out of staging in 4.10. These devices support the HDMI CEC bus. The /dev/mediaX devices are much older, but because they are not used very frequently nobody got around to adding this rule to systemd. They let the user control complex media pipelines.
* meson: reindent all files with 8 spacesZbigniew Jędrzejewski-Szmek2017-04-241-29/+27
| | | | | | | The indentation for emacs'es meson-mode is added .dir-locals. All files are reindented automatically, using the lasest meson-mode from git. Indentation should now be fairly consistent.
* meson: build systemd using mesonZbigniew Jędrzejewski-Szmek2017-04-241-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's crucial that we can build systemd using VS2010! ... er, wait, no, that's not the official reason. We need to shed old systems by requring python 3! Oh, no, it's something else. Maybe we need to throw out 345 years of knowlege accumulated in autotools? Whatever, this new thing is cool and shiny, let's use it. This is not complete, I'm throwing it out here for your amusement and critique. - rules for sd-boot are missing. Those might be quite complicated. - rules for tests are missing too. Those are probably quite simple and repetitive, but there's lots of them. - it's likely that I didn't get all the conditions right, I only tested "full" compilation where most deps are provided and nothing is disabled. - busname.target and all .busname units are skipped on purpose. Otherwise, installation into $DESTDIR has the same list of files and the autoconf install, except for .la files. It'd be great if people had a careful look at all the library linking options. I added stuff until things compiled, and in the end there's much less linking then in the old system. But it seems that there's still a lot of unnecessary deps. meson has a `shared_module` statement, which sounds like something appropriate for our nss and pam modules. Unfortunately, I couldn't get it to work. For the nss modules, we need an .so version of '2', but `shared_module` disallows the version argument. For the pam module, it also didn't work, I forgot the reason. The handling of .m4 and .in and .m4.in files is rather awkward. It's likely that this could be simplified. If make support is ever dropped, I think it'd make sense to switch to a different templating system so that two different languages and not required, which would make everything simpler yet. v2: - use get_pkgconfig_variable - use sh not bash - use add_project_arguments v3: - drop required:true and fix progs/prog typo v4: - use find_library('bz2') - add TTY_GID definition - define __SANE_USERSPACE_TYPES__ - use join_paths(prefix, ...) is used on all paths to make them all absolute v5: - replace all declare_dependency's with [] - add more conf.get guards around optional components v6: - drop -pipe, -Wall which are the default in meson - use compiler.has_function() and compiler.has_header_symbol instead of the hand-rolled checks. - fix duplication in 'liblibsystemd' library name - use the right .sym file for pam_systemd - rename 'compiler' to 'cc': shorter, and more idiomatic. v7: - use ENABLE_ENVIRONMENT_D not HAVE_ENVIRONMENT_D - rename prefix to prefixdir, rootprefix to rootprefixdir ("prefix" is too common of a name and too easy to overwrite by mistake) - wrap more stuff with conf.get('ENABLE...') == 1 - use rootprefix=='/' and rootbindir as install_dir, to fix paths under split-usr==true. v8: - use .split() also for src/coredump. Now everything is consistent ;) - add rootlibdir option and use it on the libraries that require it v9: - indentation v10: - fix check for qrencode and libaudit v11: - unify handling of executable paths, provide options for all progs This makes the meson build behave slightly differently than the autoconf-based one, because we always first try to find the executable in the filesystem, and fall back to the default. I think different handling of loadkeys, setfont, and telinit was just a historical accident. In addition to checking in $PATH, also check /usr/sbin/, /sbin for programs. In Fedora $PATH includes /usr/sbin, (and /sbin is is a symlink to /usr/sbin), but in Debian, those directories are not included in the path. C.f. https://github.com/mesonbuild/meson/issues/1576. - call all the options 'xxx-path' for clarity. - sort man/rules/meson.build properly so it's stable
* rules: add a rule to set /dev/kvm access mode and ownership (#5597)Zbigniew Jędrzejewski-Szmek2017-03-272-0/+3
| | | | | | | | | | | | | | | | | | Kernel default mode is 0600, but distributions change it to group kvm, mode either 0660 (e.g. Debian) or 0666 (e.g. Fedora). Both approaches have valid reasons (a stricter mode limits exposure to bugs in the kvm subsystem, a looser mode makes libvirt and other virtualization mechanisms work out of the box for unprivileged users over ssh). In Fedora the qemu package carries the relevant rule, but it's nicer to have it in systemd, so that the permissions are not dependent on the qemu package being installed. Use of packaged qemu binaries is not required to make use of /dev/kvm, e.g. it's possible to use a self-compiled qemu or some alternative. https://bugzilla.redhat.com/show_bug.cgi?id=1431876 To accomodate both approaches, add a rule to set the mode in 50-udev-default.rules, but allow the mode to be overridden with a --with-dev-kvm-mode configure rule. The default is 0660, as the (slightly) more secure option.
* rules: allow SPARC vdisk devices when identifying CD drives (#5599)John Paul Adrian Glaubitz2017-03-201-1/+1
|
* rules: set ID_BUS=bluetooth for any device with id/bustype attr of 0x0005 ↵Peter Hutterer2017-03-071-0/+2
| | | | | | | | | | | | (#5539) Not all bluetooth devices come through the bluetooth subsystem and those that don't currently lack the ID_BUS=bluetooth env. This again fails to apply udev rules and/or hwdb entries that rely on the bluetooth bustype to be set. Fix this by checking the attribute id/bustype on the device instead of just the subsystem. Fixes #4566
* rules: allow quirks for platform input accelerometersThomas Hindoe Paaboel Andersen2017-03-031-0/+4
|
* udev: Allow quirks for ACPI input accelerometersDaniel Drake2017-03-021-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing accelerometer rules only support IIO devices, however iio-sensor-proxy can also work with accelerometers made available through the input (evdev) subsystem. In this case I am working with an accelerometer input device backed by an ACPI driver for which the hierarchy is: - ACCE0001 (ACPI device) -> input8 -> event7 We want the mount matrix (from hwdb) to be applied to both input8 and event7. However, to match in 60-sensor.hwdb, we need to be working with the modalias of the parent device (ACCE0001), and it is tricky to access that when processing the input8 device which has it's own modalias. Instead of working directly with modalias, this ACPI-specific rule uses the "hid" attribute to reconstruct the ACPI modalias. Since input and event devices do not provide a hid attribute we will always get this from the ACPI parent. The modalias is constructed according to the definition in the kernel's Documentation/acpi/namespace.txt and create_pnp_modalias(). We will only use the first _CID/_HID value available, i.e. in some cases we will only reconstruct the first part of the modalias, but that should be enough granularity for our needs.
* udev: Use parent bus id for virtio disk builtin path-id (#5500)Viktor Mihajlovski2017-03-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The builtin path id for virtio block devices has been changed to use the bus id without a prefix "virtio-pci" to be compatible with all virtio transport types. In order to not break existing setups, the by-path symlinks for virtio block devices on the PCI bus are reintroduced by udev rules. The virtio-pci symlinks are considered to be deprecated and should be replaced by the native PCI symlinks. Example output for a virtio disk in PCI slot 7: $ ls /dev/disk/by-path pci-0000:00:07.0 pci-0000:00:07.0-part1 virtio-pci-0000:00:07.0 virtio-pci-0000:00:07.0-part1 See also [1] https://lists.freedesktop.org/archives/systemd-devel/2017-February/038326.html [2] https://lists.freedesktop.org/archives/systemd-devel/2017-March/038397.html This reverts f073b1b but keeps the same symlinks for compatibility.
* udev rules: add udev rule to create /dev/ptp_kvm (#5495)Lennart Poettering2017-02-281-0/+2
| | | | | | | | Its necessary to specify the KVM PTP device name in userspace. In case a network card with PTP device is assigned to the guest, it might be the case that KVM PTP gets /dev/ptp0 instead of /dev/ptp1. Fix a device name for the KVM PTP device.