| # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| description "Replay critical udev events" |
| author "chromium-os-dev@chromium.org" |
| |
| # This job is used to replay events of devices critical to the bring-up of |
| # the system. Since device nodes always exist, this is only needed if |
| # special permissions are required for nodes or special processing that |
| # would otherwise take place later. |
| # |
| # Subsystems listed here must be excluded from udev-trigger.conf to avoid |
| # replaying twice. |
| |
| # Rationale: |
| # input - required to switch synaptics into raw mode, and also so X |
| # can initialize its input devices on startup rather than later |
| # misc - required if synaptics is already in raw mode |
| # graphics & drm - required to set permissions for accelerated graphics |
| # nvhost & tegra_dc_ext - on nVidia systems, X needs this |
| # tty - opened by powerd (running as user in "tty" group) at startup |
| # mem - kmsg opened by syslog service |
| # i2c-dev - Ensure /dev/i2c-* permissions are set for non-root firmware updaters |
| # hidraw - Ensure /dev/hidraw* permissions are set for non-root firmware |
| # updaters |
| |
| # N.B. The 'boot-services' start on condition assumes this dependency on |
| # 'udev-boot'/'udev'. Don't change this line without accounting for the impact. |
| start on started udev-boot |
| task |
| |
| script |
| udevadm trigger --action=add --settle \ |
| --subsystem-match="input" --subsystem-match="misc" \ |
| --subsystem-match="graphics" \ |
| --subsystem-match="drm" --subsystem-match="drm_dp_aux_dev" \ |
| --subsystem-match="nvhost" --subsystem-match="tegra_dc_ext" \ |
| --subsystem-match="tty" --subsystem-match="mem" \ |
| --subsystem-match="i2c-dev" --subsystem-match="hidraw" |
| # Trigger graphics pci devices that may load as modules |
| udevadm trigger --settle --subsystem-match=pci --attr-match=class=0x030000 |
| end script |