blob: 0805cb07fc1acb414b94c999d37885ce22d8d4e9 [file] [log] [blame]
# 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
# N.B. The 'boot-services' start on condition assumes this
# dependency on 'udev'. Don't change this line without accounting
# for the impact.
start on started udev
script
udevadm trigger --action=add \
--subsystem-match="input" --subsystem-match="misc" \
--subsystem-match="graphics" --subsystem-match="drm" \
--subsystem-match="nvhost" --subsystem-match="tegra_dc_ext" \
--subsystem-match="tty"
# Trigger graphics pci devices that may load as modules
udevadm trigger --subsystem-match=pci --attr-match=class=0x030000
exec udevadm settle
end script