blob: 21f756c71cfc6922da1d70b124af1b2f1504ed5f [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?><manifest revision="1890994c18ff19cc9aedccb28b03f748e305626f">
<notice>Your sources have been sync'd successfully.</notice>
<remote fetch="https://android.googlesource.com" name="aosp" review="https://android-review.googlesource.com"/>
<remote alias="cros" fetch="https://chromium.googlesource.com/" name="chromium"/>
<remote fetch="https://chromium.googlesource.com" name="cros" review="https://chromium-review.googlesource.com"/>
<default remote="cros" revision="refs/heads/master" sync-j="8"/>
<project name="aosp/platform/external/libbrillo" path="src/aosp/external/libbrillo" revision="91944f28f4685f6fcf46720339b1834717b8a23e" upstream="refs/heads/master"/>
<project name="aosp/platform/external/libchrome" path="src/aosp/external/libchrome" revision="8263a04a1e4e6e40ed479f62ac529874eb7675ef" upstream="refs/heads/master"/>
<project name="aosp/platform/external/modp_b64" path="src/third_party/modp_b64" revision="99dc13926931cedfd2e4e582c33ef657d0645c5c" upstream="refs/heads/master"/>
<project name="aosp/platform/system/connectivity/apmanager" path="src/aosp/system/connectivity/apmanager" revision="5f43fb626cf8bba55580bc8781beb6234444366c" upstream="refs/heads/master"/>
<project name="aosp/platform/system/connectivity/shill" path="src/aosp/system/connectivity/shill" revision="3d6ced9262c6bbdfda79bbdf156768e72e39d0c5" upstream="refs/heads/master"/>
<project name="aosp/platform/system/core/libsync" path="src/aosp/system/libsync" revision="f4f4387b6bf2387efbcfd1453af4892e8982faf6" upstream="refs/heads/master"/>
<project groups="devserver" name="aosp/platform/system/update_engine" path="src/aosp/system/update_engine" revision="6d2c71e261e331def8d41caea5a254f6312ece76" upstream="refs/heads/master"/>
<project name="apps/libapps" path="src/third_party/libapps" revision="b514dd802d1fcaf246a5456929ea6cb3a5ed77d1" upstream="refs/heads/master">
<annotation name="branch-mode" value="pin"/>
</project>
<project groups="minilayout,buildtools,labtools" name="chromium/buildtools" path="chromium/src/buildtools" remote="chromium" revision="2637e7e911524502ea862870f52c36ed2723a25f" upstream="refs/heads/master"/>
<project name="chromium/deps/libmtp" path="chromium/src/third_party/libmtp" remote="chromium" revision="a9c7333ec45588e0e6c2a26d21a8a474df1f53b6" upstream="refs/heads/master"/>
<project groups="minilayout,buildtools,labtools" name="chromium/llvm-project/cfe/tools/clang-format" path="chromium/src/buildtools/clang_format/script" remote="chromium" revision="3597d09ff878cea3c89a8776d3b69a765213b3db" upstream="refs/heads/master"/>
<project name="chromium/src/third_party/Python-Markdown" remote="chromium" revision="b08af21eb795e522e1b972cb85bff59edb1ae209" upstream="refs/heads/master"/>
<project name="chromium/src/tools/md_browser" remote="chromium" revision="e9462696241f3ca832890473173e03e7bcfe6adc" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,labtools" name="chromium/tools/depot_tools" remote="chromium" revision="bfc4082f431375a49de0a5a18fd0e6685715426f"/>
<project groups="minilayout,firmware,buildtools,chromeos-admin,labtools,sysmon,devserver" name="chromiumos/chromite" path="chromite" revision="79c64561b1ed5fbfb296bfcb7bfdee2f4e361f2a" upstream="refs/heads/master">
<copyfile dest="AUTHORS" src="AUTHORS"/>
<copyfile dest="LICENSE" src="LICENSE"/>
</project>
<project name="chromiumos/docs" path="docs" revision="6de3bdb35b0cbdea07adf9e501d8d7a9546b3a41" upstream="refs/heads/master"/>
<project name="chromiumos/graphyte" path="src/platform/graphyte" revision="95983fe63a86126bfe50315f279646936ef0f6e5" upstream="refs/heads/master"/>
<project name="chromiumos/infra/bad_cl_detector" path="infra/bad_cl_detector" revision="899f13f9936df9c3cd83e8452bea1be4989c62ff" upstream="refs/heads/master"/>
<project groups="chromeos-admin" name="chromiumos/infra/ci_results_archiver" path="infra/ci_results_archiver" revision="dd5cfd07e7802fcac79c20afd66ddb3d0d9316d0" upstream="refs/heads/master"/>
<project name="chromiumos/infra/cl_exonerator" path="infra/cl_exonerator" revision="29ec8f7c704596b7293e9bd140cacfa09fdd95b1" upstream="refs/heads/master"/>
<project name="chromiumos/infra/cl_status_viewer" path="infra/cl_status_viewer" revision="8f8fb2b2a07986c26a3d4f9198e1735635678e98" upstream="refs/heads/master"/>
<project name="chromiumos/infra/distfiles_updater" path="infra/distfiles_updater" revision="2d1aa33972b2028d19a288baaacee9b2cd8644f7" upstream="refs/heads/master"/>
<project name="chromiumos/infra/dummies/general-sandbox" path="infra/dummies/general-sandbox" revision="e996a748f373f1941209c29126f541f1fe1adddd" upstream="refs/heads/master"/>
<project name="chromiumos/infra/dummies/merge-sandbox" path="infra/dummies/merge-sandbox" revision="651c1f3b89c112222f5dae2f79091421543dd4ee" upstream="refs/heads/master"/>
<project name="chromiumos/infra/lucifer" path="infra/lucifer" revision="27c211f3621657a6848b71ee7e616ce6fd8d44b0" upstream="refs/heads/master"/>
<project name="chromiumos/infra/suite_scheduler" path="infra/suite_scheduler" revision="13365fa9f300e1b4c65040c9c279c64aadcb6a4c" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,chromeos-admin,labtools,sysmon,devserver" name="chromiumos/infra_virtualenv" path="infra_virtualenv" revision="6a40ab440e76fa4aa4e4d47efa377962db3e7411" upstream="refs/heads/master"/>
<project name="chromiumos/manifest" path="manifest" revision="eee69a3ce20da0f8f8a91783462dec309917da17" upstream="refs/heads/master"/>
<project groups="minilayout,firmware" name="chromiumos/overlays/board-overlays" path="src/overlays" revision="5bfae598960b0d75fc5bc6eb58c78d00e2196340" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,labtools" name="chromiumos/overlays/chromiumos-overlay" path="src/third_party/chromiumos-overlay" revision="acb9a73aa0750cc44e8fb8333c81a320cf020daf" sync-c="true" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,labtools" name="chromiumos/overlays/eclass-overlay" path="src/third_party/eclass-overlay" revision="2aea4eec6b35672ee6b37c0a4587180edae18ddd" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,labtools" name="chromiumos/overlays/portage-stable" path="src/third_party/portage-stable" revision="52be15dd808caff1c07a9957d4cc36293dc12836" upstream="refs/heads/master"/>
<project name="chromiumos/platform/arc-camera" path="src/platform/arc-camera" revision="67c72d33891c4db6cb30c5557db5375b3ef8dc71" upstream="refs/heads/master"/>
<project name="chromiumos/platform/assets" path="src/platform/assets" revision="adab2563fb71891ee410c570c5eaca96c167c3c9" upstream="refs/heads/master"/>
<project name="chromiumos/platform/audiotest" path="src/platform/audiotest" revision="07d6399256002ba8ce499ca702dd1c25e27d3ac0" upstream="refs/heads/master"/>
<project name="chromiumos/platform/battery_updater" path="src/platform/battery_updater" revision="32463c6de8e8c98d4b1711937bc7678afc121a85" upstream="refs/heads/master"/>
<project name="chromiumos/platform/bisect-kit" path="src/platform/bisect-kit" revision="848b1afe6fde210c9c42d268086f4daafebf7c2a" upstream="refs/heads/master"/>
<project name="chromiumos/platform/bmpblk" path="src/platform/bmpblk" revision="f695ee30536d7c9067b6b7b811545a183230288b" upstream="refs/heads/master"/>
<project name="chromiumos/platform/bootcache" path="src/platform/bootcache" revision="ebe3a0995e90026433ffc62b7aeed6cad1f28694" upstream="refs/heads/master"/>
<project name="chromiumos/platform/btsocket" path="src/platform/btsocket" revision="300354e5d74418c8e03737ca9029c64d9297a28d" upstream="refs/heads/master"/>
<project name="chromiumos/platform/cfm-device-monitor" path="src/platform/cfm-device-monitor" revision="d38c76b0057636e8765856d5c7e4c8b205fa8161" upstream="refs/heads/master"/>
<project name="chromiumos/platform/chameleon" path="src/platform/chameleon" revision="724abe47dd95ab947a566666cac51faa91c84268" upstream="refs/heads/master"/>
<project name="chromiumos/platform/chromiumos-assets" path="src/platform/chromiumos-assets" revision="c72f1bc16319ebd970ad277e76ef10d0b4663461" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools" name="chromiumos/platform/crostestutils" path="src/platform/crostestutils" revision="6221a4a06b0b8400fa190914227996bde937daa3" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,labtools" name="chromiumos/platform/crosutils" path="src/scripts" revision="93c015d5098ff7205d3c3f2b23f134718aba65e4" upstream="refs/heads/master"/>
<project name="chromiumos/platform/crosvm" path="src/platform/crosvm" revision="6cc352f4fa0ddef9f698b0e73dcd70c24701921c" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/platform/depthcharge" path="src/platform/depthcharge" revision="7433fb0be2f598c7fc4a09f09393277e4a5e506e" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,devserver" name="chromiumos/platform/dev-util" path="src/platform/dev" revision="441bb522121d15a8a638b65ca8b03a60875c5b80" upstream="refs/heads/master"/>
<project name="chromiumos/platform/dm-verity" path="src/platform/verity" revision="0a59878032d4bda0c4a7c13b2086c59283df63f1" upstream="refs/heads/master"/>
<project name="chromiumos/platform/drm-tests" path="src/platform/drm-tests" revision="95c374f24ecb5bb5c64691a5c785f02710986d98" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/platform/ec" path="src/platform/ec" revision="59fe7c7a5861f95da3d3539a55e3ad019a615517" upstream="refs/heads/master"/>
<project name="chromiumos/platform/experimental" path="src/platform/experimental" revision="925176b619bbb1213ec73be61bddbc8f86002bb2" upstream="refs/heads/master"/>
<project name="chromiumos/platform/factory" path="src/platform/factory" revision="4b97fabffd010ae906e3092f5ab7c18227e67d06" upstream="refs/heads/master"/>
<project name="chromiumos/platform/factory_installer" path="src/platform/factory_installer" revision="4db73b0cd9303d7701d0bf55d3c94df1843314ec" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/platform/firmware" path="src/platform/firmware" revision="3c0497acb562de993243f079cd3a0a99b33cd3c6" upstream="refs/heads/master"/>
<project name="chromiumos/platform/frecon" path="src/platform/frecon" revision="01c7c05897beb2992dfe49ed493ee8036c245566" upstream="refs/heads/master"/>
<project name="chromiumos/platform/gestures" path="src/platform/gestures" revision="20c9cb56793f9561a0d599acffa0345ab63853fd" upstream="refs/heads/master"/>
<project name="chromiumos/platform/go-seccomp" path="src/platform/go-seccomp" revision="613458c0e3c589e52e7f093288ef1d2ba57a9ff7" upstream="refs/heads/master"/>
<project name="chromiumos/platform/google-breakpad" path="src/third_party/breakpad" revision="9bcfabcaa75750fe01d97351941fb1d45e7e8722" upstream="refs/heads/master"/>
<project name="chromiumos/platform/initramfs" path="src/platform/initramfs" revision="a5a7579ec5a163cf3523a1cdae2e29e3ee2b39a7" upstream="refs/heads/master"/>
<project name="chromiumos/platform/inputcontrol" path="src/platform/inputcontrol" revision="ae0b15dc322bab9bf6d7c4fcd5f77d488766a275" upstream="refs/heads/master"/>
<project name="chromiumos/platform/jabra_vold" path="src/platform/jabra_vold" revision="8830911158ae632b7626d0ebe33248e66ffaeef3" upstream="refs/heads/master"/>
<project name="chromiumos/platform/libevdev" path="src/platform/libevdev" revision="9f7a1961eb4726211e18abd147d5a11a4ea86744" upstream="refs/heads/master"/>
<project name="chromiumos/platform/microbenchmarks" path="src/platform/microbenchmarks" revision="518003bc070970f25b9ab97c0560d762846c5e65" upstream="refs/heads/master"/>
<project name="chromiumos/platform/minigbm" path="src/platform/minigbm" revision="7f79cb53e1b38e8284f365a22c5dc9223f6ad847" upstream="refs/heads/master"/>
<project name="chromiumos/platform/moblab" path="src/platform/moblab" revision="dca599879cab0dba8ed32ef3a5d1b82e26524732" upstream="refs/heads/master"/>
<project name="chromiumos/platform/monitor_reconfig" path="src/platform/monitor_reconfig" revision="f022d19d84f232290b596beeb26347f62442e7eb" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mosys" path="src/platform/mosys" revision="9deb7e4de1018d4f58978403cda43d8b549e31d9" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mtplot" path="src/platform/mtplot" revision="5e4f631e633384751f582bd9db5f4d6eb2112494" upstream="refs/heads/master"/>
<project name="chromiumos/platform/mttools" path="src/platform/mttools" revision="97d6b3b0c32595b75b053047f02f7789ea8cfe03" upstream="refs/heads/master"/>
<project name="chromiumos/platform/newblue" path="src/platform/newblue" revision="ff18cd5b774600bc2a05d27a42fdaaa7357e9ce3" upstream="refs/heads/master"/>
<project name="chromiumos/platform/punybench" path="src/platform/punybench" revision="c050715684a5dde3a4fc818f3de816a407fdb2de" upstream="refs/heads/master"/>
<project name="chromiumos/platform/system_api" path="src/platform/system_api" revision="6744b813f67dd7774446af34327353f6af41aeca" upstream="refs/heads/master"/>
<project name="chromiumos/platform/tast" path="src/platform/tast" revision="13acd8c35787a588715fe182d2243df8b4eed3c6" upstream="refs/heads/master"/>
<project name="chromiumos/platform/tast-tests" path="src/platform/tast-tests" revision="d6be583ee93c7a2bdb799df32209f50b4aed69cf" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/platform/touch_firmware_test" path="src/platform/touch_firmware_test" revision="f2ee184d8e1db088d88527830804164450171f6f" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touch_noise_filter" path="src/platform/touch_noise_filter" revision="f1eb895f7ea70ad99bbe60508fda825923c35af6" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touch_updater" path="src/platform/touch_updater" revision="b65baf2c4f7d822bb916c0da07df2c48c27b9458" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touchbot" path="src/platform/touchbot" revision="9546ffbb37d5fef191ad1607eeb0b76a6f3a9872" upstream="refs/heads/master"/>
<project name="chromiumos/platform/touchpad-tests" path="src/platform/touchpad-tests" revision="6968cc316dfc639aceb0c00d0844db0cfc1a776a" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/platform/tpm" path="src/third_party/tpm" revision="0cba6cadd1bea1ce3717779201d594c4c9131dc2" upstream="refs/heads/master"/>
<project name="chromiumos/platform/tpm_lite" path="src/platform/tpm_lite" revision="066c7f963b3ef733716251b666e0af0afd03b4fe" upstream="refs/heads/master"/>
<project name="chromiumos/platform/uboot-env" path="src/platform/uboot-env" revision="108ebbfac4d13d11e1940216434c368384ee0c0b" upstream="refs/heads/master"/>
<project groups="firmware,buildtools" name="chromiumos/platform/vboot_reference" path="src/platform/vboot_reference" revision="3585eb3d21da676db3d87e9e0490a0df92d597d2" upstream="refs/heads/master"/>
<project name="chromiumos/platform/vpd" path="src/platform/vpd" revision="0a1804831284fb990df34bc3d111fbce5176f281" upstream="refs/heads/master"/>
<project name="chromiumos/platform/webplot" path="src/platform/webplot" revision="bbd5ea22ef9f8e109e363b26958d9a2fc8921f0f" upstream="refs/heads/master"/>
<project name="chromiumos/platform/xf86-input-cmt" path="src/platform/xf86-input-cmt" revision="3f2ffc921952e57a4343463b0679d90b80b51fc7" upstream="refs/heads/master"/>
<project name="chromiumos/platform/xorg-conf" path="src/platform/xorg-conf" revision="cd33180ac4c80d21eb39d3750bc2b91f6d262a0c" upstream="refs/heads/master"/>
<project name="chromiumos/platform2" path="src/platform2" revision="2dfc026f850825e25d48fd85368d8d279aef51f7" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,labtools" name="chromiumos/repohooks" path="src/repohooks" revision="948284afa9616a2519fa038624582c0ad2e61995" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/adhd" path="src/third_party/adhd" revision="d67885b57e9311c19be24acff1f69a20ebeae0a7" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/android_mtdutils" path="src/third_party/android_mtdutils" revision="9bcfc3ee238f16925e9aaa4573129784ebb397e7" upstream="chromeos"/>
<project name="chromiumos/third_party/arm-trusted-firmware" path="src/third_party/arm-trusted-firmware" revision="693e278e308441d716f7f5116c43aa150955da31" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/atheros" path="src/third_party/atheros" revision="52a5bdaa8930c14ee42518354de3e5ec09911c6b" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/atrusctl" path="src/third_party/atrusctl" revision="0ab4e82dbd07ca94126a9c3e88704f559e03f1c8" upstream="refs/heads/master"/>
<project groups="buildtools,labtools,devserver" name="chromiumos/third_party/autotest" path="src/third_party/autotest/files" revision="066c89ecdc92118d94e869579b65f1c85015a9c6" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/bluez" path="src/third_party/bluez" revision="e0a7062a65b35022c7dc43fbf40d6a4d9f4141e3" upstream="refs/heads/chromeos-5.44"/>
<project groups="firmware" name="chromiumos/third_party/bootstub" path="src/third_party/bootstub" revision="5ac54e8d3d305c2c6c7297e8e54d3cf7e4629b29" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/broadcom" path="src/third_party/broadcom" revision="4070e7161f2f1a1a22027a744eb868500688f0b6" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/cbootimage" path="src/third_party/cbootimage" revision="b7d5b2d6a6dd05874d86ee900ff441d261f9034c" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/coreboot" path="src/third_party/coreboot" revision="07fa854c8fe53abd27d4a2a1d181ce32ca4dd85f" upstream="refs/heads/chromeos-2016.05"/>
<project groups="firmware" name="chromiumos/third_party/coreboot/blobs" path="src/third_party/coreboot/3rdparty/blobs" revision="9e10c5b0fa833231670b4b5c543ccb52ef3498b4" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/cryptoc" path="src/third_party/cryptoc" revision="6283eeeaf5ccebcca982d5318b36d49e7b32cb6d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/cypress-tools" path="src/third_party/cypress-tools" revision="043fba1c35f89cce95f804bf6d4f01cfc23a6c21" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/daisydog" path="src/third_party/daisydog" revision="96d9e30fdfb7ab8b0cdc44228359dd0c08d59946" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/dbus-cplusplus" path="src/third_party/dbus-c++" revision="ccb37a514aa1d0ea1604dbc9ad290491a1e65832" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/dbus-spy" path="src/third_party/dbus-spy" revision="0e04421c73b24536de7fcc1886da469d8b7a2a41" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/displaylink-updater" path="src/third_party/displaylink-updater" revision="a52808b5995fe2ed481269c8f089358d4b451d5c" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools" name="chromiumos/third_party/dpkt" path="chromite/third_party/dpkt" revision="f5259728b1294412bee945df9708efba09ea9160">
<annotation name="branch-mode" value="pin"/>
</project>
<project groups="firmware" name="chromiumos/third_party/edk2" path="src/third_party/edk2" revision="ab586ccd21556108662fbd80ab5a429143eac264" upstream="refs/heads/chromeos-2017.08"/>
<project groups="firmware" name="chromiumos/third_party/em100" path="src/third_party/em100" revision="6e60dbae5bf62cd0ffffb9fc5ca9ba93e831ee88" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/flashmap" path="src/third_party/flashmap" revision="9108393752ffd93b133037add1f7b484de09bdbc" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/flashrom" path="src/third_party/flashrom" revision="4166d34d881200733da1ac8b04fb1d12f7b180de" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gcc" path="src/third_party/gcc" revision="a2bc87ab8851051e765d60626a6997f63ddfe00e" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gdmwimax" path="src/third_party/gdmwimax" revision="e8236b4b2d66b1972e4f84955a238134acd7f6a1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/gobi3k-sdk" path="src/third_party/gobi3k-sdk" revision="5e5d1a65cbf855609e4d7c9c425615090a834704" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/grub2" path="src/third_party/grub2" revision="df6034c59cb2d847f9e780cf2def30c5c9b8305f" upstream="refs/heads/master"/>
<project groups="labtools" name="chromiumos/third_party/hdctools" path="src/third_party/hdctools" revision="1eedc607be6333b000381346f95df3c081734781" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/hostap" path="src/third_party/wpa_supplicant" revision="cafbd467468a4e6cdf873ea4368fcecf9ff1eca5" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/hostap" path="src/third_party/wpa_supplicant-2.6" revision="67df2c8a3ee26e67b2f13008b40277d88e51b938" upstream="refs/heads/wpa_supplicant-2.6"/>
<project name="chromiumos/third_party/huddly-updater" path="src/third_party/huddly-updater" revision="eeb79ce39812a393bba8c5e888e3c25f4b30334d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.8" revision="63cbd0070da1ee67efdbd0322447ea87d2ba54a9" upstream="refs/heads/chromeos-3.8"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.10" revision="6b2c54f7fb0d95bd2edaa5ef68bd4bc5cb4e0c29" upstream="refs/heads/chromeos-3.10"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.14" revision="9b0447c5e31b1e481ef32c1b384ab403a10dc25a" upstream="refs/heads/chromeos-3.14"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v3.18" revision="344c58425890e489daceb0428a2484b1dd21e754" upstream="refs/heads/chromeos-3.18"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v4.4" revision="a207b53fe93903e723b73ed71d92e26fde8ed1aa" upstream="refs/heads/chromeos-4.4"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/v4.14" revision="4323c9ce6d93b5c8783c340c2166da2765713043" upstream="refs/heads/chromeos-4.14"/>
<project name="chromiumos/third_party/kernel" path="src/third_party/kernel/experimental" revision="c70caee3e6bff5abbecd4ebc694d5bb5ed6ebd5a" upstream="refs/heads/next/chromeos-experimental"/>
<project name="chromiumos/third_party/khronos" path="src/third_party/khronos" revision="bbd199f8f3dc9c2a49cfecfc7956fe7706d9f0e9" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/kvmtool" path="src/third_party/kvmtool" revision="1b159b990afd33c0c2e3b47ebda6dd5cc793dd92" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libc-bench" path="src/third_party/libc-bench" revision="76793dd4b09191a78a78180012718e72d792717f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libdrm" path="src/third_party/libdrm" revision="a26058d29c0210a79a0caa02adb13c9f8355353e" upstream="refs/heads/chromeos-2.4.89"/>
<project name="chromiumos/third_party/libmbim" path="src/third_party/libmbim" revision="fd84e3464b08d1a6ce87489d5a3501cc6f1abe5e" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libqmi" path="src/third_party/libqmi" revision="334bbca9f7fca2d88a7762a8f92c71d938d8e06c" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libresample" path="src/third_party/libresample" revision="cc9f20f439396b7d45e94b8301edd95d33f26a46" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libscrypt" path="src/third_party/libscrypt" revision="b45c53f9418a6eff2c8ed98703a55f96029304b1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/libsigrok" path="src/third_party/libsigrok" revision="199fe31115c76231746f5953271795d58679561c" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libsigrok-cli" path="src/third_party/sigrok-cli" revision="c9edfa218e5a5972531b6f4a3ece8d33a44ae1b5" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libsigrokdecode" path="src/third_party/libsigrokdecode" revision="3279c2825684c7009775b731d0a9e37815778282" upstream="refs/heads/chromeos"/>
<project name="chromiumos/third_party/libv4lplugins" path="src/third_party/libv4lplugins" revision="cfb9e18bc09d70e46ea8be34510729c005ec6906" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/linux-firmware" path="src/third_party/linux-firmware" revision="e372786926290ea41977a2b81128a80fb32bc8d5" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/logitech-updater" path="src/third_party/logitech-updater" revision="bcdb037bb33beeb5b9398c655aef29cb2cc3ffc9" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/ltp" path="src/third_party/ltp" revision="7df860dd2389c5c9a5b2ed9ac8a7f1d48d6fed03" upstream="refs/heads/chromeos-20150119"/>
<project name="chromiumos/third_party/marvell" path="src/third_party/marvell" revision="b5d3741d042bde7941284303712c3790ab4e489d" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/memtest" path="src/third_party/memtest" revision="3d4be6e3bfd819856e38a82e35c206fec4551851" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/arc-mesa" revision="037026e90f3f44b3cf7555abba43f9305bce463d" upstream="refs/heads/arc-17.3"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/mesa" revision="34838c221260f961140040416b1a84b490448ac1" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mesa" path="src/third_party/mesa-img" revision="129178893b2260df22db96327c5ca9c2ce7db046" upstream="refs/heads/mesa-img"/>
<project name="chromiumos/third_party/mimo-updater" path="src/third_party/mimo-updater" revision="f173901a2ce769fe95b85123f7be445ac9a083a5" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/mmc-utils" path="src/third_party/mmc-utils" revision="bcc3e2e4246431be511be3959a11cd9733bedd29" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/modemmanager-next" path="src/third_party/modemmanager-next" revision="a29226c13cd005e2fcb58c41e96fa6ae7c2a9a5e" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/nfs-ganesha" path="src/third_party/nfs-ganesha" revision="165395bf01548d8a0135357ca4c222b9c0c0acaa" upstream="refs/heads/V2.3-stable"/>
<project name="chromiumos/third_party/ntirpc" path="src/third_party/ntirpc" revision="a9fc54d636fc3e5b5f0918769a2e5343c5f0d823" upstream="refs/heads/V1.3.3-cros"/>
<project name="chromiumos/third_party/portage_tool" path="src/third_party/portage_tool" revision="2d106af1ab8026661a35f5b218c67f6f5b485a8c" upstream="refs/heads/chromeos-2.2.28"/>
<project groups="minilayout,firmware,buildtools" name="chromiumos/third_party/pyelftools" path="chromite/third_party/pyelftools" revision="af64f6c7b19cdb84226161dd3742a13fd7974cc3" upstream="refs/heads/master-0.22"/>
<project name="chromiumos/third_party/realtek-updater" path="src/third_party/realtek-updater" revision="7e603e12fbf9d2a8aeb67f1075fe43dbfaf52f7f" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/rootdev" path="src/third_party/rootdev" revision="fc570685c1ca4acb871c706a66d0493b5e92c7c9" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/seabios" path="src/third_party/seabios" revision="3004147dd3707e600772ec6c5d37beac7f4b8eb4" upstream="refs/heads/chromeos-2014.11.03"/>
<project name="chromiumos/third_party/sis-updater" path="src/third_party/sis-updater" revision="64388ca12cbec5ad5c0c6c6fec7a670dfdaedf82" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/sysbios" path="src/third_party/sysbios" revision="33e1db34b8162de72a5e9bbbc44e6bce38978396" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tegra-power-query" path="src/third_party/tegra-power-query" revision="66f1f0d949f4ca4836c1a65b622629205240e37a" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tegrastats" path="src/third_party/tegrastats" revision="1be161a89525d840e1f6d1f21b3f45645a7dedb3" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tlsdate" path="src/third_party/tlsdate" revision="c4e7e80a1c601c68a602598a8192da1daf3fea35" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/toolchain-utils" path="src/third_party/toolchain-utils" revision="edcf3d33a602438104cafd76f534fa8007e9de7b" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/tpm-emulator" path="src/third_party/tpm-emulator" revision="310a21ef24ace14b4d6e8095172445494f54ff25" upstream="refs/heads/master"/>
<project groups="firmware" name="chromiumos/third_party/tpm2" path="src/third_party/tpm2" revision="f6187c733f349b9529006f6d1afbc42f150c2bf0" upstream="refs/heads/master"/>
<project name="chromiumos/third_party/trousers" path="src/third_party/trousers" revision="418dbebdef6ea0fb7ad4001f12b9cb67fa62e5fb" upstream="refs/heads/master-0.3.13"/>
<project name="chromiumos/third_party/u-boot" path="src/third_party/u-boot/files" revision="1e26ac220258662e911d2471a090c9219566fffe" upstream="refs/heads/chromeos-v2017.05"/>
<project name="chromiumos/third_party/u-boot" path="src/third_party/u-boot/next" revision="23d97f8348d640504a58ddf40e9c0ef211be6f1b" upstream="refs/heads/chromeos-v2015.07-rc1"/>
<project name="chromiumos/third_party/whining" path="src/third_party/whining" revision="94432d906408506d6f4c279ea03979037547b849" upstream="refs/heads/master"/>
<project name="external/git.kernel.org/fs/xfs/xfstests-dev" path="src/third_party/xfstests" revision="27f7ed634816fb4748bacbf5f00adb21ef10b0cb" upstream="refs/heads/master"/>
<project groups="minilayout,firmware,buildtools,chromeos-admin" name="external/swarming.client" path="chromite/third_party/swarming.client" remote="chromium" revision="715861067a7cc8d20d2d629b6d76d796c004feb4"/>
<project name="linux-syscall-support" path="src/third_party/breakpad/src/third_party/lss" revision="e6527b0cd469e3ff5764785dadcb39bf7d787154"/>
<project name="platform/external/bsdiff" path="src/aosp/external/bsdiff" remote="aosp" revision="922cdaab26890dda1247e31f7b3479a645166cc8" upstream="refs/heads/master"/>
<project name="platform/external/libcxx" path="src/aosp/external/libcxx" remote="aosp" revision="e90ce7b5d60c704be09a8ae458fa72d727ccfe63" upstream="refs/heads/master"/>
<project name="platform/external/libcxxabi" path="src/aosp/external/libcxxabi" remote="aosp" revision="fd5cfb8557ee5599498a63f08f500ae930a1b53b" upstream="refs/heads/master"/>
<project name="platform/external/libmojo" path="src/aosp/external/libmojo" remote="aosp" revision="7db3d20fd6c3c29cc8fc1f9fded774ea84e7cd16" upstream="refs/heads/master"/>
<project name="platform/external/libunwind_llvm" path="src/aosp/external/libunwind_llvm" remote="aosp" revision="9ca0ad7a15a8b9868f22f67d13fe49a2d02601dc" upstream="refs/heads/master"/>
<project name="platform/external/minijail" path="src/aosp/external/minijail" remote="aosp" revision="4f3e09f23a0e338440513c0e10db14d41ebc5dd0" upstream="refs/heads/master"/>
<project name="platform/external/puffin" path="src/aosp/external/puffin" remote="aosp" revision="1cefbac0a70e615066b3282ce232360f5d71fde8" upstream="refs/heads/master"/>
<project name="toolchain/binutils" path="src/aosp/toolchain/binutils" remote="aosp" revision="3c7a1bd9829e9c535ae0e67d2023ed7be5462836"/>
<project name="toolchain/gcc" path="src/aosp/toolchain/gcc" remote="aosp" revision="d64d815b3af9d2653d924ea2e1ebb21ee8b043b7"/>
<project name="weave/libweave" path="src/weave/libweave" revision="fa29d8f43a37aaf4b47fd2f3c76785050d075a7d" upstream="refs/heads/master"/>
<repo-hooks enabled-list="pre-upload" in-project="chromiumos/repohooks"/>
<pending_commit branch="chromeos-4.4" change_id="I8234306b1dcad5a266bf71e1b627eacddef0d4e7" commit="7ac5675e0f48f4be579d7406dc399ac047d9a7f6" commit_message="UPSTREAM: Revert &quot;ACPI / LPSS: allow to use specific PM domain during -&gt;probe()&quot; The specific power domain can't be used in a way provided by the commit 01ac170ba29a, i.e. pointer to platform device is a subject to change during unbound / bind cycle. This reverts commit 01ac170ba29a9903ee590e1ef2d8e6b27b49a16c. Fixes: 3df2da968744 (Revert &quot;ACPI / LPSS: introduce a 'proxy' device to power on LPSS for DMA&quot;) Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit b5f88dd1d6efc472e35ca1b21a44e662c5422088) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached CQ-DEPEND=CL:896915 Change-Id: I8234306b1dcad5a266bf71e1b627eacddef0d4e7 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/891039 Tested-by: Tomasz Figa &lt;tfiga@chromium.org&gt; Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="891039" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="2" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/39/891039/2" remote="cros" total_fail_count="3"/><pending_commit branch="chromeos-4.4" change_id="Ie0af8d90d1950d4a712f8311435fee5a6c98c84a" commit="027fa59deba2779ef426bfbe0b7751c143a8fae5" commit_message="UPSTREAM: ACPI / LPSS: allow to use specific PM domain during -&gt;probe() This is an amendment to previously pushed commit 01ac170ba29a (ACPI / LPSS: allow to use specific PM domain during -&gt;probe()). We can't assign anything to the platform device on ADD_DEVICE stage since it might be changed during unbound / bind cycle. Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit de16d55206c5ce82ad44590b01718fbe2323853c) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ie0af8d90d1950d4a712f8311435fee5a6c98c84a Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/891040 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="891040" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="2" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/40/891040/2" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ie0af8d90d1950d4a712f8311435fee5a6c98c84b" commit="262f06b45889608c4e84f91f1e1dbb90ed99014e" commit_message="BACKPORT: PM / Domains: add setter for dev.pm_domain Adds a function that sets the pointer to dev_pm_domain in struct device and that warns if the device has already finished probing. The reason why we want to enforce that is because in the general case that can cause problems and also that we can simplify code quite a bit if we can always assume that. This patch also changes all current code that directly sets the dev.pm_domain pointer. Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt; Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit 989561de9b5112999475b406557d9c7e9e59c041) Conflicts: drivers/base/power/domain.c [due to earlier picked patch: c7ca61734ba7 PM / Domains: defer dev_pm_domain_set() until genpd-&gt;attach_dev succeeds if present] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ie0af8d90d1950d4a712f8311435fee5a6c98c84b Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/891041 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="891041" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="3" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/41/891041/3" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I863963f5c0c48d3eaa690ce4ba55e4dbc9e513e9" commit="80fd28d3eb361e1a72c031f9c3d2e98f65c7d11f" commit_message="BACKPORT: PM / sleep: Go direct_complete if driver has no callbacks If a suitable prepare callback cannot be found for a given device and its driver has no PM callbacks at all, assume that it can go direct to complete when the system goes to sleep. The reason for this is that there's lots of devices in a system that do no PM at all and there's no reason for them to prevent their ancestors to do direct_complete if they can support it. Signed-off-by: Tomeu Vizoso &lt;tomeu.vizoso@collabora.com&gt; Reviewed-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit aa8e54b559479d0cb7eb632ba443b8cacd20cd4b) Conflicts: include/linux/pm.h [due to chromium dark resume patches] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I863963f5c0c48d3eaa690ce4ba55e4dbc9e513e9 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870018 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870018" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/18/870018/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I1592380bb4197c310218ffdd72536e215ece05d1" commit="d4de48fa4d12bfafa59e26034a2ad15d7f50ee4d" commit_message="UPSTREAM: driver core: Add a wrapper around __device_release_driver() Add an internal wrapper around __device_release_driver() that will acquire device locks and do the necessary checks before calling it. The next patch will make use of it. Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 4bdb35506b89cbbd150c1baa284e7c191698241f) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I1592380bb4197c310218ffdd72536e215ece05d1 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870019 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870019" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/19/870019/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I8e8d9f924374a9afb953a854a57e48726d92b3d8" commit="d4bc058eaef88551822995edbb4c57382f96cd84" commit_message="UPSTREAM: device core: add BUS_NOTIFY_DRIVER_NOT_BOUND notification The users of BUS_NOTIFY_BIND_DRIVER have no chance to do any cleanup in case of a probe failure. In the result there might be problems, such as some resources that had been allocated will continue to be allocated and therefore lead to a resource leak. Introduce a new notification to inform the subscriber that -&gt;probe() failed. Do the same in case of failed device_bind_driver() call. Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt; Acked-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit 14b6257a5f3dca3817b0826cb32967e3c2b935c8) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I8e8d9f924374a9afb953a854a57e48726d92b3d8 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870020 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870020" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/20/870020/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I2da52b601f83aa380b26cec93e516907db393550" commit="529ebc9e4e8e374cd6f04ddcdec0f65405f70d3d" commit_message="UPSTREAM: driver core: Functional dependencies tracking support Currently, there is a problem with taking functional dependencies between devices into account. What I mean by a &quot;functional dependency&quot; is when the driver of device B needs device A to be functional and (generally) its driver to be present in order to work properly. This has certain consequences for power management (suspend/resume and runtime PM ordering) and shutdown ordering of these devices. In general, it also implies that the driver of A needs to be working for B to be probed successfully and it cannot be unbound from the device before the B's driver. Support for representing those functional dependencies between devices is added here to allow the driver core to track them and act on them in certain cases where applicable. The argument for doing that in the driver core is that there are quite a few distinct use cases involving device dependencies, they are relatively hard to get right in a driver (if one wants to address all of them properly) and it only gets worse if multiplied by the number of drivers potentially needing to do it. Morever, at least one case (asynchronous system suspend/resume) cannot be handled in a single driver at all, because it requires the driver of A to wait for B to suspend (during system suspend) and the driver of B to wait for A to resume (during system resume). For this reason, represent dependencies between devices as &quot;links&quot;, with the help of struct device_link objects each containing pointers to the &quot;linked&quot; devices, a list node for each of them, status information, flags, and an RCU head for synchronization. Also add two new list heads, representing the lists of links to the devices that depend on the given one (consumers) and to the devices depended on by it (suppliers), and a &quot;driver presence status&quot; field (needed for figuring out initial states of device links) to struct device. The entire data structure consisting of all of the lists of link objects for all devices is protected by a mutex (for link object addition/removal and for list walks during device driver probing and removal) and by SRCU (for list walking in other case that will be introduced by subsequent change sets). If CONFIG_SRCU is not selected, however, an rwsem is used for protecting the entire data structure. In addition, each link object has an internal status field whose value reflects whether or not drivers are bound to the devices pointed to by the link or probing/removal of their drivers is in progress etc. That field is only modified under the device links mutex, but it may be read outside of it in some cases (introduced by subsequent change sets), so modifications of it are annotated with WRITE_ONCE(). New links are added by calling device_link_add() which takes three arguments: pointers to the devices in question and flags. In particular, if DL_FLAG_STATELESS is set in the flags, the link status is not to be taken into account for this link and the driver core will not manage it. In turn, if DL_FLAG_AUTOREMOVE is set in the flags, the driver core will remove the link automatically when the consumer device driver unbinds from it. One of the actions carried out by device_link_add() is to reorder the lists used for device shutdown and system suspend/resume to put the consumer device along with all of its children and all of its consumers (and so on, recursively) to the ends of those lists in order to ensure the right ordering between all of the supplier and consumer devices. For this reason, it is not possible to create a link between two devices if the would-be supplier device already depends on the would-be consumer device as either a direct descendant of it or a consumer of one of its direct descendants or one of its consumers and so on. There are two types of link objects, persistent and non-persistent. The persistent ones stay around until one of the target devices is deleted, while the non-persistent ones are removed automatically when the consumer driver unbinds from its device (ie. they are assumed to be valid only as long as the consumer device has a driver bound to it). Persistent links are created by default and non-persistent links are created when the DL_FLAG_AUTOREMOVE flag is passed to device_link_add(). Both persistent and non-persistent device links can be deleted with an explicit call to device_link_del(). Links created without the DL_FLAG_STATELESS flag set are managed by the driver core using a simple state machine. There are 5 states each link can be in: DORMANT (unused), AVAILABLE (the supplier driver is present and functional), CONSUMER_PROBE (the consumer driver is probing), ACTIVE (both supplier and consumer drivers are present and functional), and SUPPLIER_UNBIND (the supplier driver is unbinding). The driver core updates the link state automatically depending on what happens to the linked devices and for each link state specific actions are taken in addition to that. For example, if the supplier driver unbinds from its device, the driver core will also unbind the drivers of all of its consumers automatically under the assumption that they cannot function properly without the supplier. Analogously, the driver core will only allow the consumer driver to bind to its device if the supplier driver is present and functional (ie. the link is in the AVAILABLE state). If that's not the case, it will rely on the existing deferred probing mechanism to wait for the supplier driver to become available. Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 9ed9895370aedd6032af2a9181c62c394d08223b) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I2da52b601f83aa380b26cec93e516907db393550 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870021 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870021" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/21/870021/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I9ccbfe7ac8f13e15c6855621c46fbf62f97d65ae" commit="263d20975a77d6b3ae2be0b9b89ca731bff3ee32" commit_message="BACKPORT: PM / sleep: Make async suspend/resume of devices use device links Make the device suspend/resume part of the core system suspend/resume code use device links to ensure that supplier and consumer devices will be suspended and resumed in the right order in case of async suspend/resume. The idea, roughly, is to use dpm_wait() to wait for all consumers before a supplier device suspend and to wait for all suppliers before a consumer device resume. Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 8c73b4288496407d91bc616df3f7c62a88356cb2) Conflicts: drivers/base/power/main.c [due to pre-picked upstream patch: 04c0800c73b2 PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I9ccbfe7ac8f13e15c6855621c46fbf62f97d65ae Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870022 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870022" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/22/870022/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I75e5806fb97906a39c5febc0ef97d7ccfea0490c" commit="0f0b548b1319c6fef23d290f70011318ae81aec5" commit_message="UPSTREAM: PM / runtime: Use device links Modify the runtime PM framework to use device links to ensure that supplier devices will not be suspended if any of their consumer devices are active. The idea is to reference count suppliers on the consumer's resume and drop references to them on its suspend. The information on whether or not the supplier has been reference counted by the consumer's (runtime) resume is stored in a new field (rpm_active) in the link object for each link. It may be necessary to clean up those references when the supplier is unbinding and that's why the links whose status is DEVICE_LINK_SUPPLIER_UNBIND are skipped by the runtime suspend and resume code. The above means that if the consumer device is probed in the runtime-active state, the supplier has to be resumed and reference counted by device_link_add() so the code works as expected on its (runtime) suspend. There is a new flag, DEVICE_LINK_RPM_ACTIVE, to tell device_link_add() about that (in which case the caller is responsible for making sure that the consumer really will be runtime-active when runtime PM is enabled for it). The other new link flag, DEVICE_LINK_PM_RUNTIME, tells the core whether or not the link should be used for runtime PM at all. Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 21d5c57b3726166421251e94dabab047baaf8ce4) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I75e5806fb97906a39c5febc0ef97d7ccfea0490c Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870023 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870023" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/23/870023/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ib52b5de18cbb91a61d3872cf1e7021bd8333234c" commit="df8aee1c7b2c988b544e0769b3592a528f3919be" commit_message="UPSTREAM: PM / runtime: Optimize the use of device links If the device has no links to suppliers that should be used for runtime PM (links with DEVICE_LINK_PM_RUNTIME set), there is no reason to walk the list of suppliers for that device during runtime suspend and resume. Add a simple mechanism to detect that case and possibly avoid the extra unnecessary overhead. Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit baa8809f60971d10220dfe79248f54b2b265f003) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ib52b5de18cbb91a61d3872cf1e7021bd8333234c Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870024 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870024" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/24/870024/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I4a0b9231a6301f144ef59a89b21e6c14b529894b" commit="ca5c6c8e2aa8ffb9172d6d8dcd76ccab4b4ff236" commit_message="UPSTREAM: PM / Runtime: Don't allow to suspend a device with an active child When resuming a device in __pm_runtime_set_status(), the prerequisite is that its parent must already be active, else an error code is returned and the device's status remains suspended. When suspending a device there is no similar constraints being validated. Let's change this to make the behaviour consistent, by not allowing to suspend a device with an active child, unless it has been explicitly set to ignore its children. Signed-off-by: Ulf Hansson &lt;ulf.hansson@linaro.org&gt; Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit a8636c89648ab12e59d8f3aa667ec76fc96fd643) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I4a0b9231a6301f144ef59a89b21e6c14b529894b Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870025 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870025" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/25/870025/4" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ic1fd22e7b1da2a4c22166ad4b8279745a83cd80a" commit="974682f122a2a13297fac6bc87cb6fef6de4e7af" commit_message="UPSTREAM: driver core: Silence device links sphinx warning Silence this warning emitted by sphinx: include/linux/device.h:938: warning: No description found for parameter 'links' While at it, fix typos in comments of device links code. Cc: Rafael J. Wysocki &lt;rafael@kernel.org&gt; Cc: Jonathan Corbet &lt;corbet@lwn.net&gt; Cc: Silvio Fricke &lt;silvio.fricke@gmail.com&gt; Signed-off-by: Lukas Wunner &lt;lukas@wunner.de&gt; Reviewed-by: Mauro Carvalho Chehab &lt;mchehab@s-opensource.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 64df1148876e35e81e91195e01c8197edc66fcc5) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ic1fd22e7b1da2a4c22166ad4b8279745a83cd80a Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870026 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870026" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="4" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/26/870026/4" remote="cros" total_fail_count="5"/><pending_commit branch="chromeos-4.4" change_id="Ie6b41e4fd2335b2a3fc7e5a8eca84ad6d85ca9dd" commit="a67e9efd4dbe12730bf1fedad5513a96a01ea3f1" commit_message="UPSTREAM: ACPI: Implement acpi_dma_configure On DT based systems, the of_dma_configure() API implements DMA configuration for a given device. On ACPI systems an API equivalent to of_dma_configure() is missing which implies that it is currently not possible to set-up DMA operations for devices through the ACPI generic kernel layer. This patch fills the gap by introducing acpi_dma_configure/deconfigure() calls that for now are just wrappers around arch_setup_dma_ops() and arch_teardown_dma_ops() and also updates ACPI and PCI core code to use the newly introduced acpi_dma_configure/acpi_dma_deconfigure functions. Since acpi_dma_configure() is used to configure DMA operations, the function initializes the dma/coherent_dma masks to sane default values if the current masks are uninitialized (also to keep the default values consistent with DT systems) to make sure the device has a complete default DMA set-up. The DMA range size passed to arch_setup_dma_ops() is sized according to the device coherent_dma_mask (starting at address 0x0), mirroring the DT probing path behaviour when a dma-ranges property is not provided for the device being probed; this changes the current arch_setup_dma_ops() call parameters in the ACPI probing case, but since arch_setup_dma_ops() is a NOP on all architectures but ARM/ARM64 this patch does not change the current kernel behaviour on them. Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt; Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt; [pci] Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Reviewed-by: Tomasz Nowicki &lt;tn@semihalf.com&gt; Tested-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt; Tested-by: Tomasz Nowicki &lt;tn@semihalf.com&gt; Cc: Bjorn Helgaas &lt;bhelgaas@google.com&gt; Cc: Robin Murphy &lt;robin.murphy@arm.com&gt; Cc: Tomasz Nowicki &lt;tn@semihalf.com&gt; Cc: Joerg Roedel &lt;joro@8bytes.org&gt; Cc: &quot;Rafael J. Wysocki&quot; &lt;rjw@rjwysocki.net&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit d760a1baf20e067d3a063aa134834ddd3d183e2f) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ie6b41e4fd2335b2a3fc7e5a8eca84ad6d85ca9dd Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859176 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859176" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="5" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/76/859176/5" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="If9a84f3b3e7a6e79bab7ec43a4a335a3a972ca5b" commit="c0167b1ca95046bf8c2db5d7d3da9a79423a3d3b" commit_message="BACKPORT: iommu/exynos: Prepare for deferred probe support Register iommu_ops at the end of successful probe instead of doing that unconditionally. This makes Exynos IOMMU driver ready for deferred probe caused by not-yet-available clocks. Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 96f6655700d16d1bae8ef49db6ce28607ebee6f3) Conflicts: drivers/iommu/exynos-iommu.c [due to missing a lot of exynos-iommu patches] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: If9a84f3b3e7a6e79bab7ec43a4a335a3a972ca5b Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859177 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859177" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="5" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/77/859177/5" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I2a4f99d532855444b07b2a112be75b35ee99826c" commit="4cf5b7adbb2762c699eaf3da568e45c381c253de" commit_message="BACKPORT: of/irq: Break out msi-map lookup (again) The PCI msi-map code is already doing double-duty translating IDs and retrieving MSI parents, which unsurprisingly is the same functionality we need for the identically-formatted PCI iommu-map property. Drag the core parsing routine up yet another layer into the general OF-PCI code, and further generalise it for either kind of lookup in either flavour of map property. Acked-by: Rob Herring &lt;robh+dt@kernel.org&gt; Acked-by: Marc Zyngier &lt;marc.zyngier@arm.com&gt; Tested-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit 987068fcbdb7a085bb11151b91dc6f4c956c4a1b) Conflicts: include/linux/of_pci.h [due to pre-picked upstream patch: 9a1dc3891255 of/pci: Add of_pci_get_max_link_speed() to parse max-link-speed from DT] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I2a4f99d532855444b07b2a112be75b35ee99826c Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859178 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859178" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="5" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/78/859178/5" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I47b0f68ed628a97ad6840e65459b1d94304a4c32" commit="de1027cb4056e83eb5593cdc951378d9f3771ca0" commit_message="UPSTREAM: drivers: of: Fix of_pci.h header guard The compilation of of_pci.c is governed by CONFIG_OF_PCI, but the corresponding declarations in of_pci.h are inconsistently guarded by CONFIG_OF, with the result that if CONFIG_PCI is disabled for an OF platform, the dangling external declarations are still active and the inline stub definitions not. So far this has managed to go unnoticed since it happens that the only references to these functions are from code which itself depends on CONFIG_PCI or CONFIG_OF_PCI. Fix this with the appropriate config guard so that any new callers outside PCI-specific code don't start unexpectedly breaking under certain configs. Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Rob Herring &lt;robh@kernel.org&gt; (cherry picked from commit 5c1d3310d84309330264e2a06e5000eb289a44ad) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I47b0f68ed628a97ad6840e65459b1d94304a4c32 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/896904 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="896904" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="2" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/04/896904/2" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Id0634a5985107e6f9bff547a19983dd64b44393a" commit="3ba66af4170b0dc2981ba7a22ca17d82d4f41639" commit_message="UPSTREAM: iommu/of: Handle iommu-map property for PCI Now that we have a way to pick up the RID translation and target IOMMU, hook up of_iommu_configure() to bring PCI devices into the of_xlate mechanism and allow them IOMMU-backed DMA ops without the need for driver-specific handling. Reviewed-by: Will Deacon &lt;will.deacon@arm.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit b996444cf35e736621855e73f9d0762bd49f41f2) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Id0634a5985107e6f9bff547a19983dd64b44393a Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859179 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859179" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/79/859179/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="If2df4e68fcd34da53a66cb2b8ecfb1c07d468d5c" commit="bece0592acdc715a59aace33c2665bf5a1d36cf2" commit_message="BACKPORT: iommu: Introduce iommu_fwspec Introduce a common structure to hold the per-device firmware data that most IOMMU drivers need to keep track of. This enables us to configure much of that data from common firmware code, and consolidate a lot of the equivalent implementations, device look-up tables, etc. which are currently strewn across IOMMU drivers. This will also be enable us to address the outstanding &quot;multiple IOMMUs on the platform bus&quot; problem by tweaking IOMMU API calls to prefer dev-&gt;fwspec-&gt;ops before falling back to dev-&gt;bus-&gt;iommu_ops, and thus gracefully handle those troublesome systems which we currently cannot. As the first user, hook up the OF IOMMU configuration mechanism. The driver-defined nature of DT cells means that we still need the drivers to translate and add the IDs themselves, but future users such as the much less free-form ACPI IORT will be much simpler and self-contained. CC: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; Suggested-by: Will Deacon &lt;will.deacon@arm.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit 57f98d2f61e191ef9d06863c9ce3f8621f3671ef) Conflicts: drivers/iommu/iommu.c [due to chromium only CL: 1f001160a7e9 FROMLIST: iommu: Export non-static functions to use in modules] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: If2df4e68fcd34da53a66cb2b8ecfb1c07d468d5c Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859180 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859180" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/80/859180/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Id0634a5985107e6f9bff547a19983dd64b44393b" commit="e297f86f60028a7d45dbc4ce232d68cacc42eec9" commit_message="UPSTREAM: iommu: Make of_iommu_set/get_ops() DT agnostic The of_iommu_{set/get}_ops() API is used to associate a device tree node with a specific set of IOMMU operations. The same kernel interface is required on systems booting with ACPI, where devices are not associated with a device tree node, therefore the interface requires generalization. The struct device fwnode member represents the fwnode token associated with the device and the struct it points at is firmware specific; regardless, it is initialized on both ACPI and DT systems and makes an ideal candidate to use it to associate a set of IOMMU operations to a given device, through its struct device.fwnode member pointer, paving the way for representing per-device iommu_ops (ie an iommu instance associated with a device). Convert the DT specific of_iommu_{set/get}_ops() interface to use struct device.fwnode as a look-up token, making the interface usable on ACPI systems and rename the data structures and the registration API so that they are made to represent their usage more clearly. Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt; Acked-by: Will Deacon &lt;will.deacon@arm.com&gt; Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Reviewed-by: Tomasz Nowicki &lt;tn@semihalf.com&gt; Tested-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt; Tested-by: Tomasz Nowicki &lt;tn@semihalf.com&gt; Cc: Will Deacon &lt;will.deacon@arm.com&gt; Cc: Hanjun Guo &lt;hanjun.guo@linaro.org&gt; Cc: Robin Murphy &lt;robin.murphy@arm.com&gt; Cc: Joerg Roedel &lt;joro@8bytes.org&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit e4f10ffe4c9b500e545b874b816ffea5e8659b05) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Id0634a5985107e6f9bff547a19983dd64b44393b Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859181 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859181" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/81/859181/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="If4a05a5b662807049c204cfeb1e2562630f6c7a5" commit="445fab12f024f7cd07c50a50686f9f77fd9ec805" commit_message="BACKPORT: iommu: Rename iommu_get_instance() Rename the function to iommu_ops_from_fwnode(), because that is what the function actually does. The new name is much more descriptive about what the function does. Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 534766dfef999f7e7349bbd91cd19c1673792af3) Conflicts: drivers/acpi/arm64/iort.c [due to no drivers/acpi/arm64/iort.c] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: If4a05a5b662807049c204cfeb1e2562630f6c7a5 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859182 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859182" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/82/859182/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ib403a3e8320bbfb112a2e1a0ce04ed52e26a2897" commit="42adfdcf8046b34a2575c741f1b6970e4c234d6f" commit_message="BACKPORT: iommu: Drop the of_iommu_{set/get}_ops() interface With the introduction of the new iommu_{register/get}_instance() interface in commit e4f10ffe4c9b (&quot;iommu: Make of_iommu_set/get_ops() DT agnostic&quot;) (based on struct fwnode_handle as look-up token, so firmware agnostic) to register IOMMU instances with the core IOMMU layer there is no reason to keep the old OF based interface around any longer. Convert all the IOMMU drivers (and OF IOMMU core code) that rely on the of_iommu_{set/get}_ops() to the new kernel interface to register/retrieve IOMMU instances and remove the of_iommu_{set/get}_ops() remaining glue code in order to complete the interface rework. Cc: Matthias Brugger &lt;matthias.bgg@gmail.com&gt; Cc: Will Deacon &lt;will.deacon@arm.com&gt; Cc: Joerg Roedel &lt;joro@8bytes.org&gt; Cc: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Tested-by: Sricharan R &lt;sricharan@codeaurora.org&gt; Tested-by: Yong Wu &lt;yong.wu@mediatek.com&gt; Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt; Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt; (cherry picked from commit 65e251a4634c5644efca6f7e15803f0962d8943d) Conflicts: drivers/iommu/msm_iommu.c [due to missing a lot of msm_iommu patches] drivers/iommu/of_iommu.c [due to upstream renames iommu_get_instance to iommu_ops_from_fwnode] drivers/iommu/rockchip_iommu.c [due to we are using of_iommu in cros 4.4 rockchip iommu driver] Also modified rockchip-iommu driver, since the chromium version is using of_iommu too. BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ib403a3e8320bbfb112a2e1a0ce04ed52e26a2897 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859184 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859184" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/84/859184/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I4ad9d3adc796e871051a6b2ea07b882d1cd52e39" commit="a6a5b5375467c734fb312f7d8fd0a118e0c67aff" commit_message="UPSTREAM: iommu/of: Refactor of_iommu_configure() for error handling In preparation for some upcoming cleverness, rework the control flow in of_iommu_configure() to minimise duplication and improve the propogation of errors. It's also as good a time as any to switch over from the now-just-a-compatibility-wrapper of_iommu_get_ops() to using the generic IOMMU instance interface directly. Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 2a0c57545a291f257cd231b1c4b18285b84608d8) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I4ad9d3adc796e871051a6b2ea07b882d1cd52e39 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859185 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859185" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/85/859185/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I84e9a00387017fdd614c47c179e633d0a1d7f199" commit="3147caebc33a3af28c482c85be619f6809da539f" commit_message="UPSTREAM: iommu/of: Prepare for deferred IOMMU configuration IOMMU configuration represents unchanging properties of the hardware, and as such should only need happen once in a device's lifetime, but the necessary interaction with the IOMMU device and driver complicates exactly when that point should be. Since the only reasonable tool available for handling the inter-device dependency is probe deferral, we need to prepare of_iommu_configure() to run later than it is currently called (i.e. at driver probe rather than device creation), to handle being retried, and to tell whether a not-yet present IOMMU should be waited for or skipped (by virtue of having declared a built-in driver or not). Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit d7b0558230e444f29488fcee0b0b561015d16f8a) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I84e9a00387017fdd614c47c179e633d0a1d7f199 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859186 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859186" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/86/859186/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I8c67517c9161bc87594f8b4cec7dca27bf50a29c" commit="2f2479793b7d10c1f641973a9fcb93ec141f9875" commit_message="UPSTREAM: of: dma: Make of_dma_deconfigure() public As part of moving DMA initializing to probe time the of_dma_deconfigure() function will need to be called from different source files. Make it public and move it to drivers/of/device.c where the of_dma_configure() function is. Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Acked-by: Rob Herring &lt;robh@kernel.org&gt; Signed-off-by: Laurent Pinchart &lt;laurent.pinchart+renesas@ideasonboard.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 3f1866779cf8338e1c8bd32e5f6f5424795ef191) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I8c67517c9161bc87594f8b4cec7dca27bf50a29c Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859187 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859187" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/87/859187/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I16026b21641ce453cae64773a4ef2512b22ff3bb" commit="299d481314b24cff2896a0d9a743683250193dc1" commit_message="UPSTREAM: of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices Configuring DMA ops at probe time will allow deferring device probe when the IOMMU isn't available yet. The dma_configure for the device is now called from the generic device_attach callback just before the bus/driver probe is called. This way, configuring the DMA ops for the device would be called at the same place for all bus_types, hence the deferred probing mechanism should work for all buses as well. pci_bus_add_devices (platform/amba)(_device_create/driver_register) | | pci_bus_add_device (device_add/driver_register) | | device_attach device_initial_probe | | __device_attach_driver __device_attach_driver | driver_probe_device | really_probe | dma_configure Similarly on the device/driver_unregister path __device_release_driver is called which inturn calls dma_deconfigure. This patch changes the dma ops configuration to probe time for both OF and ACPI based platform/amba/pci bus devices. Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Tested-by: Hanjun Guo &lt;hanjun.guo@linaro.org&gt; Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Acked-by: Rob Herring &lt;robh@kernel.org&gt; Acked-by: Bjorn Helgaas &lt;bhelgaas@google.com&gt; (drivers/pci part) Acked-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Sricharan R &lt;sricharan@codeaurora.org&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 09515ef5ddad71c7820e5e428da418b709feeb26) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-id: I16026b21641ce453cae64773a4ef2512b22ff3bb Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Change-Id: I16026b21641ce453cae64773a4ef2512b22ff3bb Reviewed-on: https://chromium-review.googlesource.com/859188 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859188" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/88/859188/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I600274b33cae4cefab43986fff26864da3333d56" commit="33f2f7b693575df3b9ab787096cec5bd56c47a3c" commit_message="UPSTREAM: iommu: of: Handle IOMMU lookup failure with deferred probing or error Failures to look up an IOMMU when parsing the DT iommus property need to be handled separately from the .of_xlate() failures to support deferred probing. The lack of a registered IOMMU can be caused by the lack of a driver for the IOMMU, the IOMMU device probe not having been performed yet, having been deferred, or having failed. The first case occurs when the device tree describes the bus master and IOMMU topology correctly but no device driver exists for the IOMMU yet or the device driver has not been compiled in. Return NULL, the caller will configure the device without an IOMMU. The second and third cases are handled by deferring the probe of the bus master device which will eventually get reprobed after the IOMMU. The last case is currently handled by deferring the probe of the bus master device as well. A mechanism to either configure the bus master device without an IOMMU or to fail the bus master device probe depending on whether the IOMMU is optional or mandatory would be a good enhancement. Tested-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt; Reviewed-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Acked-by: Rob Herring &lt;robh@kernel.org&gt; Signed-off-by: Laurent Pichart &lt;laurent.pinchart+renesas@ideasonboard.com&gt; Signed-off-by: Sricharan R &lt;sricharan@codeaurora.org&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 7b07cbefb68d486febf47e13b570fed53d9296b4) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I600274b33cae4cefab43986fff26864da3333d56 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859189 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859189" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/89/859189/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ie01d26b37c10bfeb412290d07cff441c356af1cd" commit="cbeffd8f4481b01bad3434af07e644e7a6da3465" commit_message="UPSTREAM: iommu/of: Adjust system_state check To enable smp_processor_id() and might_sleep() debug checks earlier, it's required to add system states between SYSTEM_BOOTING and SYSTEM_RUNNING. Adjust the system_state check in of_iommu_driver_present() to handle the extra states. Tested-by: Mark Rutland &lt;mark.rutland@arm.com&gt; Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt; Signed-off-by: Peter Zijlstra (Intel) &lt;peterz@infradead.org&gt; Acked-by: Joerg Roedel &lt;joro@8bytes.org&gt; Acked-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Cc: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt; Cc: Peter Zijlstra &lt;peterz@infradead.org&gt; Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt; Cc: iommu@lists.linux-foundation.org Link: http://lkml.kernel.org/r/20170516184735.788023442@linutronix.de Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt; (cherry picked from commit b903dfb277c09e53d499480e9670557dcce36fbd) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ie01d26b37c10bfeb412290d07cff441c356af1cd Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859190 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859190" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/90/859190/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I85cc04dca91331abc8c6e823502a466c358e8db1" commit="c6ccb10b83a35cbf26be6e097b2eb337be53607c" commit_message="UPSTREAM: iommu/of: Fix check for returning EPROBE_DEFER Now with IOMMU probe deferral, we return -EPROBE_DEFER for masters that are connected to an IOMMU which is not probed yet, but going to get probed, so that we can attach the correct dma_ops. So while trying to defer the probe of the master, check if the of_iommu node that it is connected to is marked in DT as 'status=disabled', then the IOMMU is never is going to get probed. So simply return NULL and let the master work without an IOMMU. Fixes: 7b07cbefb68d (&quot;iommu: of: Handle IOMMU lookup failure with deferred probing or error&quot;) Reported-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt; Reviewed-by: Laurent Pinchart &lt;laurent.pinchart@ideasonboard.com&gt; Tested-by: Will Deacon &lt;will.deacon@arm.com&gt; Tested-by: Magnus Damn &lt;magnus.damn@gmail.com&gt; Acked-by: Will Deacon &lt;will.deacon@arm.com&gt; Signed-off-by: Sricharan R &lt;sricharan@codeaurora.org&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 573d41757c47cb71cd572236685d4c9e6cacc06c) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I85cc04dca91331abc8c6e823502a466c358e8db1 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859191 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859191" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/91/859191/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I167bea37562278bebcf93db8b374cba3defcd4a3" commit="734d84fda19e52bed297d5ea477139df97d7ebef" commit_message="UPSTREAM: iommu/of: Ignore all errors except EPROBE_DEFER While deferring the probe of IOMMU masters, xlate and add_device callbacks called from of_iommu_configure can pass back error values like -ENODEV, which means the IOMMU cannot be connected with that master for real reasons. Before the IOMMU probe deferral, all such errors were ignored. Now all those errors are propagated back, killing the master's probe for such errors. Instead ignore all the errors except EPROBE_DEFER, which is the only one of concern and let the master work without IOMMU, thus restoring the old behavior. Also make explicit that of_dma_configure handles only -EPROBE_DEFER from of_iommu_configure. Fixes: 7b07cbefb68d (&quot;iommu: of: Handle IOMMU lookup failure with deferred probing or error&quot;) Reported-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt; Tested-by: Magnus Damn &lt;magnus.damn@gmail.com&gt; Signed-off-by: Sricharan R &lt;sricharan@codeaurora.org&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit a37b19a384914c60b7e1264a6c21e7bf96b637e8) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I167bea37562278bebcf93db8b374cba3defcd4a3 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859192 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859192" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/92/859192/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I822e2297fe1c97eac67f973af4dfa71c3d052039" commit="1ec2db2033af45605a93942b74ae7b9031e6576d" commit_message="UPSTREAM: iommu/of: Handle PCI aliases properly When a PCI device has DMA quirks, we need to ensure that an upstream IOMMU knows about all possible aliases, since the presence of a DMA quirk does not preclude the device still also emitting transactions (e.g. MSIs) on its 'real' RID. Similarly, the rules for bridge aliasing are relatively complex, and some bridges may only take ownership of transactions under particular transient circumstances, leading again to multiple RIDs potentially being seen at the IOMMU for the given device. Take all this into account in the OF code by translating every RID produced by the alias walk, not just whichever one comes out last. Happily, this also makes things tidy enough that we can reduce the number of both total lines of code, and confusing levels of indirection, by pulling the &quot;iommus&quot;/&quot;iommu-map&quot; parsing helpers back in-line again. Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit d87beb749281404b4b4919930b1cc6352e3746f2) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I822e2297fe1c97eac67f973af4dfa71c3d052039 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859193 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859193" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/93/859193/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Icad592b036a01049f30b3595f85df6f25fbbd5c7" commit="8c8b5923d0040af7e53a93bc313751eab069a6bf" commit_message="UPSTREAM: iommu/of: Fix of_iommu_configure() for disabled IOMMUs Sudeep reports that the logic got slightly broken when a PCI iommu-map entry targets an IOMMU marked as disabled in DT, since of_pci_map_rid() succeeds in following a phandle, and of_iommu_xlate() doesn't return an error value, but we miss checking whether ops was actually non-NULL. Whilst this could be solved with a point fix in of_pci_iommu_init(), it suggests that all the juggling of ERR_PTR values through the ops pointer is proving rather too complicated for its own good, so let's instead simplify the whole flow (with a side-effect of eliminating the cause of the bug). The fact that we now rely on iommu_fwspec means that we no longer need to pass around an iommu_ops pointer at all - we can simply propagate a regular int return value until we know whether we have a viable IOMMU, then retrieve the ops from the fwspec if and when we actually need them. This makes everything a bit more uniform and certainly easier to follow. Fixes: d87beb749281 (&quot;iommu/of: Handle PCI aliases properly&quot;) Reported-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt; Tested-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit da4b02750a9fe1d1c4d047d14e69ec7542dddeb3) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Icad592b036a01049f30b3595f85df6f25fbbd5c7 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859194 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859194" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/94/859194/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Ia995b0ff5ee3455c88601dc47a86b4aefdb6eeab" commit="e1f5da1a98d7b93e67ec42fc5d24eb765fbc02ae" commit_message="UPSTREAM: iommu/of: Remove PCI host bridge node check of_pci_iommu_init() tries to be clever and stop its alias walk at the device represented by master_np, in case of weird PCI topologies where the bridge to the IOMMU and the rest of the system is not at the root. It turns out this is a bit short-sighted, since there are plenty of other callers of pci_for_each_dma_alias() which would also need the same behaviour in that situation, and the only platform so far with such a topology (Cavium ThunderX2) already solves it more generally via a PCI quirk. As this check is effectively redundant, and returning a boolean value as an int is a bit broken anyway, let's just get rid of it. Reported-by: Jean-Philippe Brucker &lt;jean-philippe.brucker@arm.com&gt; Fixes: d87beb749281 (&quot;iommu/of: Handle PCI aliases properly&quot;) Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Tested-by: Jean-Philippe Brucker &lt;jean-philippe.brucker@arm.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit c0d05cde2a685cd6486390c62be684ce456d84d6) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Ia995b0ff5ee3455c88601dc47a86b4aefdb6eeab Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859195 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859195" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/95/859195/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I7b000485029f4837dbe3631a512599b9c81958f9" commit="3e88a6ec74f7b31bc7d77e920a96860d3464ef2f" commit_message="UPSTREAM: arm64: Remove pointless WARN_ON in DMA teardown We expect arch_teardown_dma_ops() to be called very late in a device's life, after it has been removed from its bus, and thus after the IOMMU bus notifier has run. As such, even if this funny little check did make sense, it's unlikely to achieve what it thinks it's trying to do anyway. It's a residual trace of an earlier implementation which didn't belong here from the start; belatedly snuff it out. Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Acked-by: Will Deacon &lt;will.deacon@arm.com&gt; Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt; (cherry picked from commit b7b941afe557638b29aa6bab7070cc706f3231c1) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I7b000485029f4837dbe3631a512599b9c81958f9 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859196 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859196" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/96/859196/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I84bd6a5f268ec842519a9246aaa8d988a3ffdfc0" commit="94c408eca9d8e16a11fc1fb7ae22638f69297b82" commit_message="BACKPORT: driver core: Move device_links_purge() after bus_remove_device() The current ordering of code in device_del() triggers a WARN_ON() in device_links_purge(), because of an unexpected link status. The device_links_unbind_consumers() call in device_release_driver() has to take place before device_links_purge() for the status of all links to be correct, so move the device_links_purge() call in device_del() after the invocation of bus_remove_device() which calls device_release_driver(). Fixes: 9ed9895370ae (driver core: Functional dependencies tracking support) Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt; (cherry picked from commit 2ec16150179888b81717d1d3ce84e634f4736af2) Conflicts: drivers/base/core.c [due to missing upstream patch: 478573c93abd driver core: Don't leak secondary fwnode on device removal] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I84bd6a5f268ec842519a9246aaa8d988a3ffdfc0 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870027 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870027" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/27/870027/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I3bbffb58237c921701a091e9e5aef4467442d644" commit="28c09de2536c2f3d660a144a195b2e2044b59b2a" commit_message="UPSTREAM: iommu: Make iommu_bus_notifier return NOTIFY_DONE rather than error code In iommu_bus_notifier(), when action is BUS_NOTIFY_ADD_DEVICE, it will return 'ops-&gt;add_device(dev)' directly. But ops-&gt;add_device will return ERR_VAL, such as -ENODEV. These value will make notifier_call_chain() not to traverse the remain nodes in struct notifier_block list. This patch revises iommu_bus_notifier() to return NOTIFY_DONE when some errors happened in ops-&gt;add_device(). Signed-off-by: zhichang.yuan &lt;yuanzhichang@hisilicon.com&gt; Signed-off-by: Joerg Roedel &lt;jroedel@suse.de&gt; (cherry picked from commit 3ba8775f64484a2b56bf3c88d09a186d819fa348) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I3bbffb58237c921701a091e9e5aef4467442d644 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859197 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859197" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/97/859197/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Iae259c5bb95ee8236bd86ccb74cf067d84666d19" commit="6d58642a63317de2e44cd54bbb75b88510e140ad" commit_message="UPSTREAM: ACPI: Drop misplaced acpi_dma_deconfigure() call from acpi_bind_one() The acpi_bind_one() error return path can be hit either on physical node allocation failure or if the device being configured is already associated with an ACPI node and its ACPI companion does not match the one acpi_bind_one() is setting it up with. In both cases the error return path is executed before DMA is configured for a device therefore there is no need to call acpi_dma_deconfigure() on the function error return path. Furthermore, if acpi_bind_one() does configure DMA for a device (ie it successfully executes acpi_dma_configure()) acpi_bind_one() always completes execution successfully hence there is no need to add an exit path to deconfigure the DMA set-up (ie by calling acpi_dma_deconfigure()). Remove the misplaced acpi_dma_deconfigure() in acpi_bind_one() to reinstate its correct error return path behaviour. Fixes: d760a1baf20e (ACPI: Implement acpi_dma_configure) Signed-off-by: Lorenzo Pieralisi &lt;lorenzo.pieralisi@arm.com&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit 709f94ff018a4403d0bb32643254058d5d9cfa24) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Iae259c5bb95ee8236bd86ccb74cf067d84666d19 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870190 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870190" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/90/870190/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I803c24c5996967506d5717adb99bee1409324862" commit="6d25c2af7d25e676042a7bdaf6a716cea574c32a" commit_message="BACKPORT: of/pci: Fix theoretical NULL dereference In the (relatively mechanical) process of adapting the RID-mapping code to put the resulting ID in an output argument rather than the funtion return value, we ended up with the debug print using the argument pointer rather than the local value, which potentially defeats the earlier NULL check. Fixes: 987068fcbdb7: &quot;of/irq: Break out msi-map lookup (again)&quot; Reported-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt; Signed-off-by: Robin Murphy &lt;robin.murphy@arm.com&gt; Signed-off-by: Rob Herring &lt;robh@kernel.org&gt; (cherry picked from commit c545f637f81ebab88c257a243083a879af0b85b7) Conflicts: drivers/of/of_pci.c [due to missing upstream patch: 0d638a07d3a1 of: Convert to using %pOF instead of full_name] BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I803c24c5996967506d5717adb99bee1409324862 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870191 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870191" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/91/870191/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="Iaf322a61f8507c5c9baff36a0a6a8b9bc9975683" commit="41e72c596d07324e4252774553622e57090ab6ee" commit_message="UPSTREAM: PM: core: Fix device_pm_check_callbacks() The device_pm_check_callbacks() function doesn't check legacy -&gt;suspend and -&gt;resume callback pointers under the device's bus type, class and driver, so in some cases it may set the no_pm_callbacks flag for the device incorrectly and then the callbacks may be skipped during system suspend/resume, which shouldn't happen. Fixes: aa8e54b55947 (PM / sleep: Go direct_complete if driver has no callbacks) Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; Cc: 4.5+ &lt;stable@vger.kernel.org&gt; # 4.5+ (cherry picked from commit 157c460e10cb6eca29ccbd0f023db159d0c55ec7) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: Iaf322a61f8507c5c9baff36a0a6a8b9bc9975683 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/870790 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="870790" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="6" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/90/870790/6" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I47b0f68ed628a97ad6840e65459b1d94304a4c33" commit="5a942dffa88428170c9b169fed0d4effe67931d5" commit_message="CHROMIUM: iommu/rockchip: Drop rk_iommu_of_setup Register bus IOMMU ops after IOMMU device probed for deferred IOMMU configuration. It replaces these 2 old CLs which are not needed after deferred IOMMU configuration: c0346906a871 CHROMIUM: iommu/rockchip: Set bus IOMMU only after all IOMMUs probe 6563c875aa88 CHROMIUM: iommu/rockchip: Only count for enabled IOMMUs BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached CQ-DEPEND=CL:859189 Change-Id: I47b0f68ed628a97ad6840e65459b1d94304a4c33 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/859183 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="859183" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="9" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/83/859183/9" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-4.4" change_id="I6bcd967e6280d9121633f263952737051081c962" commit="ce74e5681f7f88495712d4f8cb1db8cb7c24f653" commit_message="UPSTREAM: ACPI / LPSS: set PM domain via helper setter The commit 989561de9b51 (&quot;PM / Domains: add setter for dev.pm_domain&quot;) changed acpi_lpss.c module to use PM domain setter, though it missed one assignment. Add it here. Fixes: 989561de9b51 (PM / Domains: add setter for dev.pm_domain) Signed-off-by: Andy Shevchenko &lt;andriy.shevchenko@linux.intel.com&gt; Signed-off-by: Rafael J. Wysocki &lt;rafael.j.wysocki@intel.com&gt; (cherry picked from commit 5be6ada39f3f11a14fae9c6c328bcc78cf476e2e) BUG=b:71779147 TEST=Test on scarlet, IOMMUs still attached Change-Id: I6bcd967e6280d9121633f263952737051081c962 Signed-off-by: Jeffy Chen &lt;jeffy.chen@rock-chips.com&gt; Reviewed-on: https://chromium-review.googlesource.com/896915 Reviewed-by: Tomasz Figa &lt;tfiga@chromium.org&gt; " fail_count="0" gerrit_number="896915" owner_email="jeffy.chen@rock-chips.com" pass_count="0" patch_number="2" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/15/896915/2" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I0025e8d10f6259cb57af08d09aa35ff4233dea25" commit="05dc1551904b75b877329f6a2cf2d8f26267196a" commit_message="UPSTREAM: arch/x86/acpi/statdef.asl: Remove unnecessary whitespace BUG=none BRANCH=none TEST=none Change-Id: I0025e8d10f6259cb57af08d09aa35ff4233dea25 Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 879eab862630d45b35177785619fcbf8604e1169 Original-Change-Id: I8c49853a54fc301d39dc7c362f2085c25fad7fbd Original-Signed-off-by: Elyes HAOUAS &lt;ehaouas@noos.fr&gt; Original-Reviewed-on: https://review.coreboot.org/23433 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Original-Reviewed-by: Patrick Rudolph &lt;siro@das-labor.org&gt; Reviewed-on: https://chromium-review.googlesource.com/901342 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901342" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/42/901342/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="Ifa2c8fc2ea0f9c44941a98228001a9d1918e19db" commit="aee69347620131ad64aaab96892000db3a322e78" commit_message="UPSTREAM: nb/intel/sandybridge: Add required space before opening parenthesis '(' BUG=none BRANCH=none TEST=none Change-Id: Ifa2c8fc2ea0f9c44941a98228001a9d1918e19db Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: adda3f810fd8202194b698d9fa06212a93ce81fb Original-Change-Id: I6dfef118dc2fecf2a8f2f3401c779a3becfb71a9 Original-Signed-off-by: Elyes HAOUAS &lt;ehaouas@noos.fr&gt; Original-Reviewed-on: https://review.coreboot.org/23522 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Original-Reviewed-by: Patrick Rudolph &lt;siro@das-labor.org&gt; Reviewed-on: https://chromium-review.googlesource.com/901343 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901343" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/43/901343/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="Ic2c40c248d3e2f62d0f44905b9ba2c1ac6bf629c" commit="74102d91db0c885b0d6d65c228a075295293e015" commit_message="UPSTREAM: mb/google/kahlee/mainboard.c: Create mainboard_pirq_data When booting kahlee, there's an error message: &quot;Warning: Can't write PCI IRQ assignments because 'mainboard_pirq_data' structure does not exist&quot;. This is generated by write_pci_cfg_irqs due to missing mainboard_pirq_data. BUG=b:70788755 TEST=Build and boot kahlee. Warning message must be gone. Change-Id: Ic2c40c248d3e2f62d0f44905b9ba2c1ac6bf629c Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 9dc5600f860107f78b6da5d6717650587617b902 Original-Change-Id: If07d2f54f06f6cf77566c43eddc8ee8a314e7a3a Original-Signed-off-by: Richard Spiegel &lt;richard.spiegel@silverbackltd.com&gt; Original-Reviewed-on: https://review.coreboot.org/22940 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Martin Roth &lt;martinroth@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/901344 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901344" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/44/901344/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I0bbca7884c43a56f110e1298c965328f9e96c25f" commit="c0a071c39802854708bc802b0a87a75e63796f10" commit_message="UPSTREAM: ec/google/chromeec: Remove wake flag from keyboard IRQ The keyboard IRQ was changed to ExclusiveAndWake in order to support waking from suspend-to-idle (S0ix) with commit f611fcfacac5be14a51e04ae4d0b1e25cd5439c0 http://review.coreboot.org/11712 However this is triggering a kernel panic on Windows 10 because it apparently does not like legacy device interrupts to to be set as wake capable. This change is no longer necessary because the linux kernel was changed to always treat the keyboard as wake capable: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/input/serio/i8042.c?id=f13b2065de8147a1652b830ea5db961cf80c09df BUG=none BRANCH=none TEST=none Change-Id: I0bbca7884c43a56f110e1298c965328f9e96c25f Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 2177ccfac9a85f3ef431884a4a59b136c34cb5cd Original-Change-Id: I26e27de68095f8d176108f39312338522d7cfba0 Original-Signed-off-by: Duncan Laurie &lt;dlaurie@chromium.org&gt; Original-Reviewed-on: https://review.coreboot.org/23563 Original-Reviewed-by: Aaron Durbin &lt;adurbin@chromium.org&gt; Original-Reviewed-by: Furquan Shaikh &lt;furquan@google.com&gt; Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/901345 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901345" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/45/901345/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I89ccd50eccd12f77eebb29f7cdfa7c34a777a89b" commit="886d77d82652f6bbc77e7ff538091d718a58eaa9" commit_message="UPSTREAM: google/gru: Use newer version of Innolux P097PFG panel init code There is a line artifact in the lower third of the display with the current initialization code. So update it with code provided by Innolux to fix this issue. BUG=b:69689064, b:72191820 TEST=boot on dru with an Innolux panel and artifact line disappear. Change-Id: I89ccd50eccd12f77eebb29f7cdfa7c34a777a89b Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 1cce10ed5ccabc6d2eb6360cdc1f9051196c484b Original-Change-Id: I9679c4f7f706fd6cd2e1dba7ec79e772fe3f227a Original-Signed-off-by: Lin Huang &lt;hl@rock-chips.com&gt; Original-Reviewed-on: https://review.coreboot.org/23561 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Matthias Kaehlcke &lt;mka@chromium.org&gt; Original-Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Reviewed-on: https://chromium-review.googlesource.com/901346 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901346" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/46/901346/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="Ie8aacfc6671311bb975e824f0ee7683eb7ba64f5" commit="619e4e22430d4a4530dcdfd73d6a5acded039653" commit_message="UPSTREAM: rockchip/rk3399: extend delay between saradc power up and start command We found when ambient temperature low, with now saradc frequency and delay between saradc power up and start command, there may get wrong adc value, then get the wrong ramid or boardid, so lower the saradc frequency and add the delay time between power up and start command. BUG=b:70692504 BRANCH=gru TEST=test on Dru in 0C temperature, always get right adc value Change-Id: Ie8aacfc6671311bb975e824f0ee7683eb7ba64f5 Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 1df0c570c33f09ba47138d6d9cdec66a742b4e42 Original-Change-Id: I42e49ca63299479912fa05e2a62cba6f2de4b337 Original-Signed-off-by: Lin Huang &lt;hl@rock-chips.com&gt; Original-Reviewed-on: https://review.coreboot.org/23515 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Reviewed-on: https://chromium-review.googlesource.com/901347 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901347" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/47/901347/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I8941ac466ec8a7fa1d71cba455d035e3cd773c62" commit="eb27f523ce53921dc8e2595dc956b70f2efed02f" commit_message="UPSTREAM: rockchip/rk3288: Fix includes for &lt;soc/clock.h&gt; This header uses common types and macros so it needs to include the headers that provide those itself. BUG=none BRANCH=none TEST=none Change-Id: I8941ac466ec8a7fa1d71cba455d035e3cd773c62 Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 8e08a844f7528ec6778e1e063f5cc2d53fbbf2e9 Original-Change-Id: Ieceb0deadbeef8ddbbb00b13542b78f8def4072d Original-Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-on: https://review.coreboot.org/23559 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Aaron Durbin &lt;adurbin@chromium.org&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Original-Reviewed-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/901348 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901348" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/48/901348/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I422f222d58bff899ca481c49a49146548966d1ac" commit="cfc70ba5bcce325436ea5ae80a813255d01d198f" commit_message="UPSTREAM: rockchip: Correct UART reference clock value The Rockchip UARTs are tied directly to the 24MHz oscillator and are thus clocked with exactly 24MHz. The reasons why our code instead uses some 23.xxMHz value have long been lost in time. For the current shared 8250 implementation, the baud rate divisor for 115200 would be the same. Correcting this does make the information in the coreboot table more accurate and help payloads chose a better divisor, though. BUG=none BRANCH=none TEST=none Change-Id: I422f222d58bff899ca481c49a49146548966d1ac Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 6d643cf722872dfe25a3fb6f8b149642b93a1adc Original-Change-Id: Ieceb07760178f8ddbb5936f8742b78f8def4072d Original-Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-on: https://review.coreboot.org/23556 Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Aaron Durbin &lt;adurbin@chromium.org&gt; Original-Reviewed-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Reviewed-on: https://chromium-review.googlesource.com/901349 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901349" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/49/901349/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I2a599ece332143ba0443e7a7d3aac818c19e21ee" commit="372c3d157c6fb7045af791ea54f11ac0951f7a9c" commit_message="UPSTREAM: rockchip/rk3399: Pass coreboot table pointer to ARM TF This patch passes the coreboot table base address to ARM TF on RK3399 devices to be able to use the new coreboot table parsing support. BUG=none BRANCH=none TEST=none Change-Id: I2a599ece332143ba0443e7a7d3aac818c19e21ee Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 89c2e7f77de98a89bfe57a8e40bfb99ced2bb2e3 Original-Change-Id: I5cb2f13ce71e374207d0fa7a71c38852d680dc56 Original-Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-on: https://review.coreboot.org/23557 Original-Reviewed-by: Aaron Durbin &lt;adurbin@chromium.org&gt; Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Reviewed-by: Paul Menzel &lt;paulepanter@users.sourceforge.net&gt; Reviewed-on: https://chromium-review.googlesource.com/901350 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901350" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/50/901350/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-2016.05" change_id="I9c01dcfc6a70f382e7c3386b6848cf2c0767ea0f" commit="6b62b755a666225c933b5552b6e832952c530d25" commit_message="UPSTREAM: arm64: Pass COREBOOT flag to ARM TF, always enable logging This patch changes the way coreboot builds ARM TF to pass the new COREBOOT flag introduced with the following pull request: https://github.com/ARM-software/arm-trusted-firmware/pull/1193 Since the new coreboot support code supports the CBMEM console, we need to always enable LOG_LEVEL INFO. Supporting platforms will parse the coreboot table to conditionally enable the serial console only if it was enabled in coreboot as well. Also remove explicit cache flushes of some BL31 parameters. Turns out we never really needed these because we already flush the whole cache when disabling the MMU, and we were already not doing it for most parameters. BUG=none BRANCH=none TEST=none Change-Id: I9c01dcfc6a70f382e7c3386b6848cf2c0767ea0f Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Original-Commit-Id: 91ebbfdc5c7b99abc5391b3938367747b1bfc53b Original-Change-Id: I3c52a536dc6067da1378b3f15c4a4d6cf0be7ce7 Original-Signed-off-by: Julius Werner &lt;jwerner@chromium.org&gt; Original-Reviewed-on: https://review.coreboot.org/23558 Original-Reviewed-by: Aaron Durbin &lt;adurbin@chromium.org&gt; Original-Tested-by: build bot (Jenkins) &lt;no-reply@coreboot.org&gt; Original-Reviewed-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/901351 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; " fail_count="0" gerrit_number="901351" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/coreboot" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/coreboot" ref="refs/changes/51/901351/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I0b2346cc3426b9ef51127424f9953fd5c20ecd49" commit="02b8fb77e9ab22960a6f094f4e12a192969580ca" commit_message="keyboard_scan: Disable when USB is suspended without wake Keyboard matrix scanning can be disabled when the USB interface is disabled without setting the remote wake feature (USB_REQ_FEATURE_DEVICE_REMOTE_WAKEUP), as events would be ignored anyway. BRANCH=none BUG=b:72683995 TEST=keyboard matrix scanning is disabled when lid is closed. Change-Id: I0b2346cc3426b9ef51127424f9953fd5c20ecd49 Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/897068 Reviewed-by: Vincent Palatin &lt;vpalatin@chromium.org&gt; " fail_count="0" gerrit_number="897068" owner_email="drinkcat@chromium.org" pass_count="0" patch_number="4" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/68/897068/4" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I688fce16ab8c75330e588ec130fb2aa499fc0ed1" commit="bbf5be7149f5c100fb8dc09e92edcff11c3b63d8" commit_message="touchpad_elan: Power off when USB is suspended without wake touchpad can be powered off when the USB interface is disabled without setting the remote wake feature (USB_REQ_FEATURE_DEVICE_REMOTE_WAKEUP), as events would be ignored anyway. BRANCH=none BUG=b:72683995 TEST=touchpad is disabled when lid is closed. Change-Id: I688fce16ab8c75330e588ec130fb2aa499fc0ed1 Signed-off-by: Nicolas Boichat &lt;drinkcat@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/897069 Reviewed-by: Vincent Palatin &lt;vpalatin@chromium.org&gt; " fail_count="0" gerrit_number="897069" owner_email="drinkcat@chromium.org" pass_count="0" patch_number="4" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/69/897069/4" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I30c765c0cd513404f4c6097faad3834041342bca" commit="5c769b348e4967d4818aa416491129aaec37cb8c" commit_message="libchromeos-ui: use ScopedTempDir::GetPath Upstream versions of libchrome have gotten rid of ScopedTempDir's inline path method because they wanted to introduce a DCHECK that helps make sure people create the temp directory before using it. To avoid introducing a header dependency on the logging header they took this method out of the header so it wouldn't be inlined. CQ-DEPEND=CL:875325 BUG=b:37434548 TEST=unit tests Change-Id: I30c765c0cd513404f4c6097faad3834041342bca Reviewed-on: https://chromium-review.googlesource.com/887368 Commit-Ready: Luis Hector Chavez &lt;lhchavez@chromium.org&gt; Tested-by: Eric Caruso &lt;ejcaruso@chromium.org&gt; Reviewed-by: Dan Erat &lt;derat@chromium.org&gt; Reviewed-by: Ben Chan &lt;benchan@chromium.org&gt; " fail_count="0" gerrit_number="887368" owner_email="ejcaruso@chromium.org" pass_count="0" patch_number="1" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/68/887368/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ia4e102db5b55951fe8e1e6392156f7151550599b" commit="b596d1ef11b89b2f7841afa2d74402dade9180e0" commit_message="Remove unused static variable coreboot-sdk's GCC 6.3 complains about it. BUG=b:65441143 BRANCH=none TEST=USE=coreboot-sdk emerge-* depthcharge builds now Change-Id: Ia4e102db5b55951fe8e1e6392156f7151550599b Signed-off-by: Patrick Georgi &lt;pgeorgi@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/901665 Commit-Ready: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Tested-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Julius Werner &lt;jwerner@chromium.org&gt; " fail_count="0" gerrit_number="901665" owner_email="pgeorgi@chromium.org" pass_count="0" patch_number="1" project="chromiumos/platform/depthcharge" project_url="https://chromium-review.googlesource.com/chromiumos/platform/depthcharge" ref="refs/changes/65/901665/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ie1f86378c59fc4a717edc537ff8afe01b21d9b68" commit="184c4e5a75d18c12203e6f05b7eaec7de3969d1d" commit_message="meowth: zoombini: Add HPD support. The HPD pins for meowth and zoombini go from the EC to the AP. This commit drives the HPD correctly. BUG=b:72413020 BRANCH=None TEST=Flash meowth; Use a couple charge-through hubs, unplug HDMI cable, replug, verify AP sees new DP sink. Change-Id: Ie1f86378c59fc4a717edc537ff8afe01b21d9b68 Signed-off-by: Aseda Aboagye &lt;aaboagye@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/888226 Commit-Ready: Aseda Aboagye &lt;aaboagye@chromium.org&gt; Tested-by: Aseda Aboagye &lt;aaboagye@chromium.org&gt; Reviewed-by: Edward Hill &lt;ecgh@chromium.org&gt; " fail_count="0" gerrit_number="888226" owner_email="aaboagye@chromium.org" pass_count="0" patch_number="2" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/26/888226/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I5639be21b285beef61e939f1c70c5ab5a14ade7e" commit="d06d71b96398fd7474d1a7e151c4c977fdc11f9b" commit_message="cleanup: adding port info and timing to debug message BRANCH=none TEST=none BUG=none Change-Id: I5639be21b285beef61e939f1c70c5ab5a14ade7e Signed-off-by: Jett Rink &lt;jettrink@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/900305 Reviewed-by: Edward Hill &lt;ecgh@chromium.org&gt; " fail_count="0" gerrit_number="900305" owner_email="jettrink@chromium.org" pass_count="0" patch_number="2" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/05/900305/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I6b5babb86f3948f90e6a92216d46d23024df5563" commit="fd601aae205bc5ba17da59fac71cf6469739166a" commit_message="smbprovider: refactor SmbProvider to use DirectoryIterator This change updates SmbProvider to use the DirectoryIterator class for ReadDirectory. This change also removes tests regarding ReadDirectory and buffer size because the buffer is now managed by the DirectoryIterator class. TEST=unittests BUG=chromium:757625 Change-Id: I6b5babb86f3948f90e6a92216d46d23024df5563 Reviewed-on: https://chromium-review.googlesource.com/894714 Commit-Ready: Bailey Berro &lt;baileyberro@chromium.org&gt; Tested-by: Bailey Berro &lt;baileyberro@chromium.org&gt; Reviewed-by: Zentaro Kavanagh &lt;zentaro@chromium.org&gt; " fail_count="0" gerrit_number="894714" owner_email="baileyberro@chromium.org" pass_count="0" patch_number="16" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/14/894714/16" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Idc9d91ce617e109dffe2e5da4b7fcf20a1527e88" commit="7edcc1e0baffe3a0f2ec2fb3fc730fed715b0efb" commit_message="graphyte: Choose test case in plugin shell Add a command to let user choose a test case from the test plan. BUG=b:72921753 TEST=Run plugin shell, and use 'choose' command to select a test. Change-Id: Idc9d91ce617e109dffe2e5da4b7fcf20a1527e88 Reviewed-on: https://chromium-review.googlesource.com/899409 Commit-Ready: Shen-En Shih &lt;petershih@chromium.org&gt; Tested-by: Shen-En Shih &lt;petershih@chromium.org&gt; Reviewed-by: Chih-Yu Huang &lt;akahuang@chromium.org&gt; " fail_count="0" gerrit_number="899409" owner_email="petershih@chromium.org" pass_count="0" patch_number="2" project="chromiumos/graphyte" project_url="https://chromium-review.googlesource.com/chromiumos/graphyte" ref="refs/changes/09/899409/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ide41a0fce40254f2fa3a8626dec75840a728d967" commit="7d89bf722955605bffd000a7e7fd18e20d0d313e" commit_message="cbi-util: Help GCC determine that variable is initialized GCC 6.3 can't tell that we enforce the variable 'size' being set, so initialize it to 0 to make the warning go away. The code does actually verify that size is set, but not by checking the size variable itself. util/cbi-util.c: In function 'main': util/cbi-util.c:139:8: error: 'size' may be used uninitialized in this function [-Werror=maybe-uninitialized] buf = malloc(size); ^~~~~~~~~~~~ util/cbi-util.c:233:11: note: 'size' was declared here uint32_t size; ^~~~ BUG=b:72609872 BRANCH=None TEST=Build with coreboot toolchain. Change-Id: Ide41a0fce40254f2fa3a8626dec75840a728d967 Signed-off-by: Martin Roth &lt;martinroth@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/890703 Commit-Ready: Martin Roth &lt;martinroth@chromium.org&gt; Tested-by: Martin Roth &lt;martinroth@chromium.org&gt; Reviewed-by: Daisuke Nojiri &lt;dnojiri@chromium.org&gt; Reviewed-by: Edward Hill &lt;ecgh@chromium.org&gt; Reviewed-by: Patrick Georgi &lt;pgeorgi@chromium.org&gt; Reviewed-by: Jett Rink &lt;jettrink@chromium.org&gt; " fail_count="0" gerrit_number="890703" owner_email="martinroth@chromium.org" pass_count="0" patch_number="1" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/03/890703/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ifb50a752c6114d7b001cd679e4efca7879318573" commit="df7bb01ff4003713803d1a2a878e1a0afa56ce41" commit_message="Reland &quot;cbuildbot: Re-enable chroot image files&quot; This reverts commit 7ca2ca4f7d461d8f20a4f6f976ba5ff4fcc99204. We still haven't tracked down why master-paladin is leaking loopback devices. https://crrev.com/c/896823 turns on rebooting after each run, so the problem should be mitigated for now. Re-enable image support so that we can start debugging. BUG=chromium:730144,chromium:752562 TEST=cros tryjob master-paladin-tryjob Change-Id: Ifb50a752c6114d7b001cd679e4efca7879318573 Reviewed-on: https://chromium-review.googlesource.com/713442 Commit-Ready: Benjamin Gordon &lt;bmgordon@chromium.org&gt; Tested-by: Benjamin Gordon &lt;bmgordon@chromium.org&gt; Reviewed-by: Don Garrett &lt;dgarrett@chromium.org&gt; " fail_count="0" gerrit_number="713442" owner_email="bmgordon@chromium.org" pass_count="0" patch_number="2" project="chromiumos/chromite" project_url="https://chromium-review.googlesource.com/chromiumos/chromite" ref="refs/changes/42/713442/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I813e3dfb84a8868629c4bcbb17c33fd3f1c52173" commit="eb8c7e0671264f49dc5d1555eece206df1f18e0f" commit_message="meowth: Remove cr50 FW build. It is not necessary to build cr50 FW as part of the meowth EC build. Meowth devices get the prebuilt and signed FW through the USE flag cr50_onboard. BUG=b:72828578 TEST=emerge-meowth chromeos-ec Change-Id: I813e3dfb84a8868629c4bcbb17c33fd3f1c52173 Reviewed-on: https://chromium-review.googlesource.com/898391 Commit-Ready: Patrick Berny &lt;pberny@chromium.org&gt; Tested-by: Patrick Berny &lt;pberny@chromium.org&gt; Reviewed-by: Vincent Palatin &lt;vpalatin@chromium.org&gt; " fail_count="0" gerrit_number="898391" owner_email="pberny@chromium.org" pass_count="0" patch_number="1" project="chromiumos/overlays/board-overlays" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/board-overlays" ref="refs/changes/91/898391/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-3.18" change_id="I746d8ddb2960311e2709f73f5232f3f1cd02ccb7" commit="99da37d41f7963b43038e598c0fa7d442aa16465" commit_message="UPSTREAM: drm/i915/gen9: Increase PCODE request timeout to 50ms After commit 2c7d0602c815277f7cb7c932b091288710d8aba7 Author: Imre Deak &lt;imre.deak@intel.com&gt; Date: Mon Dec 5 18:27:37 2016 +0200 drm/i915/gen9: Fix PCODE polling during CDCLK change notification there is still one report of the CDCLK-change request timing out on a KBL machine, see the Reference link. On that machine the maximum time the request took to succeed was 34ms, so increase the timeout to 50ms. v2: - Change timeout from 100 to 50 ms to maintain the current 50 ms limit for atomic waits in the driver. (Chris, Tvrtko) BUG=chromium:773825 TEST=set short dimming and blanking timeouts, wait for blanking and resume multiple times Reference: https://bugs.freedesktop.org/show_bug.cgi?id=99345 Cc: Ville Syrjl &lt;ville.syrjala@linux.intel.com&gt; Cc: Chris Wilson &lt;chris@chris-wilson.co.uk&gt; Cc: Tvrtko Ursulin &lt;tvrtko.ursulin@intel.com&gt; Cc: &lt;stable@vger.kernel.org&gt; Signed-off-by: Imre Deak &lt;imre.deak@intel.com&gt; Acked-by: Chris Wilson &lt;chris@chris-wilson.co.uk&gt; Link: http://patchwork.freedesktop.org/patch/msgid/1487946730-17162-1-git-send-email-imre.deak@intel.com (cherry picked from commit 0129936ddda26afd5d9d207c4e86b2425952579f) Signed-off-by: Dominik Behr &lt;dbehr@chromium.org&gt; Change-Id: I746d8ddb2960311e2709f73f5232f3f1cd02ccb7 Reviewed-on: https://chromium-review.googlesource.com/898212 Commit-Ready: Dominik Behr &lt;dbehr@chromium.org&gt; Tested-by: Dominik Behr &lt;dbehr@chromium.org&gt; Reviewed-by: Stéphane Marchesin &lt;marcheu@chromium.org&gt; " fail_count="3" gerrit_number="898212" owner_email="dbehr@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/12/898212/1" remote="cros" total_fail_count="3"/><pending_commit branch="chromeos-3.8" change_id="Iad871f952c3eda1ef8e6336876fa6d10062e35c6" commit="ece59d6d0fb19197c3f48c4d17449db1fd06d357" commit_message="BACKPORT: loop: fix concurrent lo_open/lo_release reports that KASAN can report a use-after-free in __lock_acquire. The reason is due to insufficient serialization in lo_release(), which will continue to use the loop device even after it has decremented the lo_refcnt to zero. In the meantime, another process can come in, open the loop device again as it is being shut down. Confusion ensues. BUG=chromium:808389 TEST=Build and run Change-Id: Iad871f952c3eda1ef8e6336876fa6d10062e35c6 Reported-by: &lt;long7573@126.com&gt; Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt; Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt; Conflicts: drivers/block/loop.c (return type of lo_release() changed; older kernels return an error) Signed-off-by: Guenter Roeck &lt;groeck@chromium.org&gt; (cherry picked from commit ae6650163c66a7eff1acd6eb8b0f752dcfa8eba5) Reviewed-on: https://chromium-review.googlesource.com/900550 Reviewed-by: Zubin Mithra &lt;zsm@chromium.org&gt; Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="0" gerrit_number="900550" owner_email="groeck@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/50/900550/1" remote="cros" total_fail_count="0"/><pending_commit branch="chromeos-4.14" change_id="Iad871f952c3eda1ef8e6336876fa6d10062e35c6" commit="c4af8622cf5b8897d77dfd0c4235703ac3cbb38c" commit_message="UPSTREAM: loop: fix concurrent lo_open/lo_release reports that KASAN can report a use-after-free in __lock_acquire. The reason is due to insufficient serialization in lo_release(), which will continue to use the loop device even after it has decremented the lo_refcnt to zero. In the meantime, another process can come in, open the loop device again as it is being shut down. Confusion ensues. BUG=chromium:808389 TEST=Build and run Change-Id: Iad871f952c3eda1ef8e6336876fa6d10062e35c6 Reported-by: &lt;long7573@126.com&gt; Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt; Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt; Signed-off-by: Guenter Roeck &lt;groeck@chromium.org&gt; (cherry picked from commit ae6650163c66a7eff1acd6eb8b0f752dcfa8eba5) Reviewed-on: https://chromium-review.googlesource.com/900549 Reviewed-by: Zubin Mithra &lt;zsm@chromium.org&gt; Reviewed-by: Dylan Reid &lt;dgreid@chromium.org&gt; " fail_count="0" gerrit_number="900549" owner_email="groeck@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/49/900549/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ib46712e3c9e5740ef8942fd7f5991e38b1f09f8b" commit="d88fc6850746682d9d1e70f56765d82d0e256f78" commit_message="[autotest] Always enable lucifer Lucifer is now running in prod and moblab. We are now committed, burn our only path of retreat. BUG=chromium:798870 TEST=None Change-Id: Ib46712e3c9e5740ef8942fd7f5991e38b1f09f8b Reviewed-on: https://chromium-review.googlesource.com/896627 Commit-Ready: Allen Li &lt;ayatane@chromium.org&gt; Tested-by: Allen Li &lt;ayatane@chromium.org&gt; Reviewed-by: Prathmesh Prabhu &lt;pprabhu@chromium.org&gt; " fail_count="0" gerrit_number="896627" owner_email="ayatane@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/27/896627/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I2b34f3647e7cc0823bacc971732bce9e56bd4ff2" commit="fa1bf440b0df551e8b9fc751210aa2c7fe747958" commit_message="autotest-server-tests: add a wifi stress test Add an entry for network_WiFi_StressTest to the ebuild. BUG=chromium:730281 TEST=None Change-Id: I2b34f3647e7cc0823bacc971732bce9e56bd4ff2 Reviewed-on: https://chromium-review.googlesource.com/901024 Commit-Ready: Kirtika Ruchandani &lt;kirtika@chromium.org&gt; Tested-by: Kirtika Ruchandani &lt;kirtika@chromium.org&gt; Reviewed-by: Mike Frysinger &lt;vapier@chromium.org&gt; " fail_count="0" gerrit_number="901024" owner_email="kirtika@chromium.org" pass_count="0" patch_number="2" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/24/901024/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I9e3bfb34894cf759294b3a348e39eb0461c897cb" commit="7d0cc5a4e154ec560581605d2a2b85b1322748d8" commit_message="autotest-tests: Add crosvm_Sanity test. This CL adds the client autotest &quot;crosvm_Sanity&quot; into the ebuild. BUG=chromium:804619 TEST=emerge-betty chromeos-base/autotest-tests &amp;&amp; test_that -b betty dut_ip crosvm_Sanity CQ-DEPEND=CL:899651 Change-Id: I9e3bfb34894cf759294b3a348e39eb0461c897cb Reviewed-on: https://chromium-review.googlesource.com/898305 Commit-Ready: Po-Hsien Wang &lt;pwang@chromium.org&gt; Tested-by: Po-Hsien Wang &lt;pwang@chromium.org&gt; Reviewed-by: Ilja H. Friedel &lt;ihf@chromium.org&gt; " fail_count="2" gerrit_number="898305" owner_email="pwang@chromium.org" pass_count="0" patch_number="2" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/05/898305/2" remote="cros" total_fail_count="2"/><pending_commit branch="master" change_id="I1cf1149fb90077deeb940737e8d103dcec8444fe" commit="856155fe07358a654d01ff2805961f11ea98e4be" commit_message="meowth: Enable discharge on AC. This is needed for testing. BUG=None BRANCH=None TEST=Flash meowth; verify can discharge on AC. Change-Id: I1cf1149fb90077deeb940737e8d103dcec8444fe Signed-off-by: Aseda Aboagye &lt;aaboagye@google.com&gt; Reviewed-on: https://chromium-review.googlesource.com/888225 Commit-Ready: Aseda Aboagye &lt;aaboagye@chromium.org&gt; Tested-by: Aseda Aboagye &lt;aaboagye@chromium.org&gt; Reviewed-by: Furquan Shaikh &lt;furquan@chromium.org&gt; " fail_count="0" gerrit_number="888225" owner_email="aaboagye@chromium.org" pass_count="0" patch_number="2" project="chromiumos/platform/ec" project_url="https://chromium-review.googlesource.com/chromiumos/platform/ec" ref="refs/changes/25/888225/2" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Ie8010223eac4445698b7f4ea0209ce1affe16c8c" commit="093ce3c2c1d4d42132feb4259201dfc22c2c21e0" commit_message="Use cryptohome libraries in platform_CryptohomeChangePassword This test rolls its own cryptohome CLI calls for everything. Most of these are strictly worse versions of the tools in the existing cryptohome libraries but the call to MigrateKey isn't present there. So, add that to the cryptohome libraries, and then we can make this test a lot shorter. This is the last remaining direct call to --action=mount in the cryptohome CLI so we can now move the mount_vault function to use --action=mount_ex and deprecate the legacy mount methods. BUG=chromium:765525 TEST=run platform_CryptohomeChangePassword Change-Id: Ie8010223eac4445698b7f4ea0209ce1affe16c8c Reviewed-on: https://chromium-review.googlesource.com/898545 Commit-Ready: Eric Caruso &lt;ejcaruso@chromium.org&gt; Tested-by: Eric Caruso &lt;ejcaruso@chromium.org&gt; Reviewed-by: Andrey Pronin &lt;apronin@chromium.org&gt; " fail_count="0" gerrit_number="898545" owner_email="ejcaruso@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/45/898545/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I3f30cdf72a89d35b121cdc27cd752231abc55c42" commit="4895b443aae5109b0486123de79653275f96bf4a" commit_message="cryptohome: fix fragility in MountCryptohomeInner This code only does what is intended because the MOUNT_ERROR_FATAL value is defined (elsewhere, in system_api) as 1, and so it lines up with the standard integral values for booleans. Use logical and instead of bitwise and so that even if the value changes this doesn't break. While we're here, rename the recreate_decrypt_fatal argument to make it slightly more clear. BUG=None TEST=unit tests Change-Id: I3f30cdf72a89d35b121cdc27cd752231abc55c42 Reviewed-on: https://chromium-review.googlesource.com/898000 Commit-Ready: Eric Caruso &lt;ejcaruso@chromium.org&gt; Tested-by: Eric Caruso &lt;ejcaruso@chromium.org&gt; Reviewed-by: Andrey Pronin &lt;apronin@chromium.org&gt; " fail_count="0" gerrit_number="898000" owner_email="ejcaruso@chromium.org" pass_count="0" patch_number="1" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/00/898000/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I0795fa9d3b32b63ce98cef13462b8ee1df6fac8f" commit="f3b6a3ddcade7b5e90745320b10ab6e0544cb6c7" commit_message="[Autotest] Minor enterprise_policy_base and policy suite fixes - Add auto_logout parameter to let someone use this framework to set up a machine that remains logged in. - Add extra_chrome_flags parameter to let someone pass in additional Chrome flags (passed to Telemetry). - Make deep copies of policy values to avoid modifying the originals. - Fix the way dicts in lists are treated in order to add the first policy test which uses this format. - Remove suite:policy from tests which need help. - Fix race condition in LockOnIdleSuspend test where it was possible to check for a member of a None value. TEST=ran suite:policy BUG=None Change-Id: I0795fa9d3b32b63ce98cef13462b8ee1df6fac8f Reviewed-on: https://chromium-review.googlesource.com/889523 Commit-Ready: Katherine Threlkeld &lt;kathrelkeld@chromium.org&gt; Tested-by: Katherine Threlkeld &lt;kathrelkeld@chromium.org&gt; Reviewed-by: David Haddock &lt;dhaddock@chromium.org&gt; " fail_count="1" gerrit_number="889523" owner_email="kathrelkeld@chromium.org" pass_count="0" patch_number="3" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/23/889523/3" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I9f455281356e5a2452262872b134d180e5ae8561" commit="efec7654949c150c006fef5da561b13651e05997" commit_message="[autotest] Save host instance for further use. Observing current autotest running on DUT, create_host() is called four times: get_network_stats, run_client, crashdumps, and get_network_stats at the end. Caching the host instance will save the following three create_host() invocations. BUG=None TEST=cros tryjob -g 781601 --hwtest guado_moblab-paladin-tryjob Change-Id: I9f455281356e5a2452262872b134d180e5ae8561 Reviewed-on: https://chromium-review.googlesource.com/781601 Commit-Ready: ChromeOS CL Exonerator Bot &lt;chromiumos-cl-exonerator@appspot.gserviceaccount.com&gt; Tested-by: Shuo-Peng Liao &lt;deanliao@chromium.org&gt; Reviewed-by: Xixuan Wu &lt;xixuan@chromium.org&gt; " fail_count="3" gerrit_number="781601" owner_email="deanliao@chromium.org" pass_count="0" patch_number="4" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/01/781601/4" remote="cros" total_fail_count="3"/><pending_commit branch="master" change_id="I0611b83d1dda2bb408a36a14e7473366e8983c6f" commit="399ea5d6010fc1240ad14ac134c0338bc8c95d9f" commit_message="cheets_CTS_N: add adb_keepalive. adb_keepalive was added to shield GTS tests from expected reboots. It seems a good idea to unify this to CTS. BUG=b:34280955 TEST=Ran a CTS test with change. Change-Id: I0611b83d1dda2bb408a36a14e7473366e8983c6f Reviewed-on: https://chromium-review.googlesource.com/900271 Commit-Ready: ChromeOS CL Exonerator Bot &lt;chromiumos-cl-exonerator@appspot.gserviceaccount.com&gt; Tested-by: Ilja H. Friedel &lt;ihf@chromium.org&gt; Reviewed-by: Kazuhiro Inaba &lt;kinaba@chromium.org&gt; " fail_count="2" gerrit_number="900271" owner_email="ihf@chromium.org" pass_count="0" patch_number="1" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/71/900271/1" remote="cros" total_fail_count="2"/><pending_commit branch="master" change_id="I3c466a4109629bfcb0bb669983ad3aecf17e6df7" commit="2e787fee1004150f35bb52b7f40cfbb735458a69" commit_message="common-mk: Add fuzzer_corpus Adds the fuzzer_corpus directory with just one simple file so the fuzzer builders can test theirs fuzzer binaries. This makes sure the fuzzers have been built correctly before uploading them for contiguous runs. BUG=chromium:807375 TEST=USE=fuzzer FEATURES=test emerge-amd64-generic puffin Change-Id: I3c466a4109629bfcb0bb669983ad3aecf17e6df7 Reviewed-on: https://chromium-review.googlesource.com/899854 Commit-Ready: Amin Hassani &lt;ahassani@chromium.org&gt; Tested-by: Amin Hassani &lt;ahassani@chromium.org&gt; Reviewed-by: Manoj Gupta &lt;manojgupta@chromium.org&gt; " fail_count="1" gerrit_number="899854" owner_email="ahassani@chromium.org" pass_count="0" patch_number="1" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/54/899854/1" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I0a065c270981beab590141f04af0ead7a9500649" commit="53875946f0ccd9fd01f95923e6f620eecd0599fd" commit_message="platform.eclass: add fuzzer utilities Add platform_fuzzer_install for installing project's fuzzer binary to /usr/libexec/fuzzers Add platform_fuzzer_test for testing that the fuzzer is built and runs properly. The runs uses a predefined common corpus in platform2/common-mk/fuzzer_corpus. BUG=chromium:807375 TEST=puffin fuzzer test passes Change-Id: I0a065c270981beab590141f04af0ead7a9500649 Reviewed-on: https://chromium-review.googlesource.com/900424 Commit-Ready: Amin Hassani &lt;ahassani@chromium.org&gt; Tested-by: Amin Hassani &lt;ahassani@chromium.org&gt; Reviewed-by: Manoj Gupta &lt;manojgupta@chromium.org&gt; " fail_count="1" gerrit_number="900424" owner_email="ahassani@chromium.org" pass_count="0" patch_number="1" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/24/900424/1" remote="cros" total_fail_count="1"/><pending_commit branch="master" change_id="I03f8ee2be87ea688b825cf36a12ba4627b256709" commit="7a22d41030f0277beb7c02c9c4fb004734e10ef1" commit_message="[llvm] Checkout and build clang-tidy. This is part of the work to look into setting up regular static analyzer builds in ChromeOS. This CL updates the LLVM ebuild to check out, build, and install clang-tidy as part of the LLVM build. It also updates the compiler wrapper scripts to invoke clang-tidy (in addition to doing the regular compilation) if the environment variable 'WITH_TIDY' is set to 1. BUG=chromium:808076 TEST=Successfully built llvm and clang-tidy. Successfully emerged Chrome, using WITH_TIDY=1, and got clang-tidy warnings in the build log. Change-Id: I03f8ee2be87ea688b825cf36a12ba4627b256709 Reviewed-on: https://chromium-review.googlesource.com/802174 Commit-Ready: Caroline Tice &lt;cmtice@chromium.org&gt; Tested-by: Caroline Tice &lt;cmtice@chromium.org&gt; Reviewed-by: Manoj Gupta &lt;manojgupta@chromium.org&gt; Reviewed-by: Caroline Tice &lt;cmtice@chromium.org&gt; " fail_count="7" gerrit_number="802174" owner_email="cmtice@chromium.org" pass_count="0" patch_number="15" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/74/802174/15" remote="cros" total_fail_count="7"/><pending_commit branch="master" change_id="Id1ee87215a69aee53c96bec98ff7f6b75d7a3b67" commit="1d7f90c576412534aa9ffb7bee774315f254a5db" commit_message="PRESUBMIT.cfg: Don't license check VERSION file BUG=None TEST=Doesn't cause presubmit error Change-Id: Id1ee87215a69aee53c96bec98ff7f6b75d7a3b67 Reviewed-on: https://chromium-review.googlesource.com/897672 Commit-Ready: Lutz Justen &lt;ljusten@chromium.org&gt; Tested-by: Lutz Justen &lt;ljusten@chromium.org&gt; Reviewed-by: Mike Frysinger &lt;vapier@chromium.org&gt; " fail_count="0" gerrit_number="897672" owner_email="ljusten@chromium.org" pass_count="0" patch_number="1" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/72/897672/1" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I9a50be069c21baf97ab9cee4ecedcba831c4dd2f" commit="0adb6fd61ba6d5399448a70c596548364147ceed" commit_message="arc-setup: Improve WriteToFile() and MkdirRecursively() With this CL, these functions check if the path is safe to open and bail out when it isn't. BUG=chromium:767018 TEST=FEATURES=&quot;test&quot; emerge-caroline-arcnext arc-setup TEST=ARC container still starts Change-Id: I9a50be069c21baf97ab9cee4ecedcba831c4dd2f Reviewed-on: https://chromium-review.googlesource.com/896371 Commit-Ready: Yusuke Sato &lt;yusukes@chromium.org&gt; Tested-by: Yusuke Sato &lt;yusukes@chromium.org&gt; Reviewed-by: Mattias Nissler &lt;mnissler@chromium.org&gt; " fail_count="0" gerrit_number="896371" owner_email="yusukes@chromium.org" pass_count="0" patch_number="3" project="chromiumos/platform2" project_url="https://chromium-review.googlesource.com/chromiumos/platform2" ref="refs/changes/71/896371/3" remote="cros" total_fail_count="0"/><pending_commit branch="master-0.3.13" change_id="Ic8b03284c45172e0afd36506e897fdd234ee3dd3" commit="f5b603249a0278e14cf13cb9454ad5aa5c849fcd" commit_message="Trousers: Fix returning already-freed pointers on errors This fixes several Trousers functions to not return garbage (already-freed) pointers when finishing with an error. While the old behavior could be considered to be a part of the API contract, we propose to fix this behavior because it's error-prone for the caller. Moreover, most of other API functions that we checked do take care to return nulls instead of garbage pointers (and there is a couple of them that actually relies on the caller to free allocated handles). Without this fix, it would be easy to program the caller so that it attempts to call Tspi_Context_FreeMemory() with the garbage pointer - which is not an immediate problem, but may lead to subtle issues in some specific scenarios. Affected functions: * Tspi_Data_Unbind, * Tspi_Key_GetPubKey, * Tspi_TPM_GetRandom, * Tspi_Hash_Sign, * Tspi_TPM_GetCapability. BUG=chromium:808001 TEST=none (relying on existing tests) Change-Id: Ic8b03284c45172e0afd36506e897fdd234ee3dd3 Reviewed-on: https://chromium-review.googlesource.com/897367 Commit-Ready: Maksim Ivanov &lt;emaxx@chromium.org&gt; Tested-by: Maksim Ivanov &lt;emaxx@chromium.org&gt; Reviewed-by: Mattias Nissler &lt;mnissler@chromium.org&gt; Reviewed-by: Andrey Pronin &lt;apronin@chromium.org&gt; " fail_count="1" gerrit_number="897367" owner_email="emaxx@chromium.org" pass_count="0" patch_number="3" project="chromiumos/third_party/trousers" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/trousers" ref="refs/changes/67/897367/3" remote="cros" total_fail_count="1"/><pending_commit branch="chromeos-3.10" change_id="I528c252c93cb7b1b978dca28c4464115b0fb9de5" commit="94d4d836ae59ef8614561210bd5c739055fce325" commit_message="Block FIFO access on stateful partition. Extend the system for attaching security policy metadata to inodes and enforcing security policies at runtime. Make the framework for adding a new inode security policy simple: just set a new enum value in inode_mark.h and add the corresponding file entry structures to the array in securityfs.c. Any hooks in lsm.c can then query the policy data for a dentry. This CL adds a specific hook for blocking access to FIFOs during the open() syscall. BUG=chromium:655606 TEST=Manually confirm no blocked accesses during boot (init scripts and autotest in another CL) Change-Id: I528c252c93cb7b1b978dca28c4464115b0fb9de5 Signed-off-by: Micah Morton &lt;mortonm@chromium.org&gt; Reviewed-on: https://chromium-review.googlesource.com/875191 Reviewed-by: Mattias Nissler &lt;mnissler@chromium.org&gt; " fail_count="0" gerrit_number="875191" owner_email="mortonm@chromium.org" pass_count="0" patch_number="5" project="chromiumos/third_party/kernel" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/kernel" ref="refs/changes/91/875191/5" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="Iffc5257cfb0acc0e478ceead601274f520653f1e" commit="7b290fa0aae2196f16f9c4f5f42c5f9145309b72" commit_message="Add firmware upgrade stress test for Atrus Test to repeatedly upgrade the Atrus device, and verify that upgrade work as intended. The upgrade is classified as successful if the transfer of the firmware file, and the writing of the firmware file to flash on the device was successfull. BUG=b:68496712 TEST=Tested on a local DUT setup. pre-cq-configs: bluestreak-pre-cq CQ-DEPEND=CL:677389 Change-Id: Iffc5257cfb0acc0e478ceead601274f520653f1e Reviewed-on: https://chromium-review.googlesource.com/744010 Commit-Ready: Marcus Wirebrand &lt;wirebrand@chromium.org&gt; Tested-by: Marcus Wirebrand &lt;wirebrand@chromium.org&gt; Reviewed-by: Kristoffer Erlandsson &lt;kerl@google.com&gt; " fail_count="0" gerrit_number="744010" owner_email="wirebrand@chromium.org" pass_count="0" patch_number="9" project="chromiumos/third_party/autotest" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/autotest" ref="refs/changes/10/744010/9" remote="cros" total_fail_count="0"/><pending_commit branch="master" change_id="I723c007a662b073988abbf8efd2399ce2a558b6c" commit="291cda0c3d5c7db8f5b878de796f19659f424007" commit_message="autotest-server-tests: add network throttling test Adding an ebuild entry for network_WiFi_Throttle test. BUG=chromium:687435 TEST=None Change-Id: I723c007a662b073988abbf8efd2399ce2a558b6c Reviewed-on: https://chromium-review.googlesource.com/619570 Commit-Ready: Kirtika Ruchandani &lt;kirtika@chromium.org&gt; Tested-by: Kirtika Ruchandani &lt;kirtika@chromium.org&gt; Reviewed-by: Kirtika Ruchandani &lt;kirtika@chromium.org&gt; " fail_count="0" gerrit_number="619570" owner_email="curtissa@google.com" pass_count="0" patch_number="3" project="chromiumos/overlays/chromiumos-overlay" project_url="https://chromium-review.googlesource.com/chromiumos/overlays/chromiumos-overlay" ref="refs/changes/70/619570/3" remote="cros" total_fail_count="2"/><pending_commit branch="master" change_id="Iba9ed83205bbc015d52a6344290f50127c871a1e" commit="58d7b9a7f96e00b08209b7d5d0b620ca3a35ad9a" commit_message="FROMGIT: linux-firmware: intel: Update Kabylake audio firmware This updates Kabylake audio dsp firmware to latest version. The version of this firmware release is 9.21.00.3266_144. The md5sum of this firmware binary is fc1075485cebfc2ee39ca12ac1fb9ca2. Signed-off-by: Guneshwor Singh &lt;guneshwor.o.singh@intel.com&gt; Signed-off-by: Vinod Koul &lt;vinod.koul@intel.com&gt; (cherry picked from commit aab8b6fff9417a9938f6393dc09cf6ce90e55565 git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/firmware kbl) BUG=b:70648323 TEST=basic audio functionalities should work. power-cycle test: audio pci device resume time shouldn't regress. Change-Id: Iba9ed83205bbc015d52a6344290f50127c871a1e Signed-off-by: Naveen Manohar &lt;naveen.m@intel.com&gt; Reviewed-on: https://chromium-review.googlesource.com/897070 Commit-Ready: Naveen M &lt;naveen.m@intel.com&gt; Tested-by: Naveen M &lt;naveen.m@intel.com&gt; Reviewed-by: Cheng-Yi Chiang &lt;cychiang@chromium.org&gt; " fail_count="0" gerrit_number="897070" owner_email="naveen.m@intel.com" pass_count="0" patch_number="1" project="chromiumos/third_party/linux-firmware" project_url="https://chromium-review.googlesource.com/chromiumos/third_party/linux-firmware" ref="refs/changes/70/897070/1" remote="cros" total_fail_count="0"/><lkgm version="10376.0.0-rc2"/></manifest>