Deprecate Android P VINTF.
Devices launching with P VINTF requirements (including HALs and kernels) will not be able to update to Android U. If a device wish to do so, it must update the vendor / odm partitions to match newer VINTF requirements. The list in fcm_execlude is generated with: system/libvintf/analyze_matrix/hals_for_release.py -d -j --package-only | python3 -m json.tool in the 3~4 section. Test: TH Bug: 205175891 Change-Id: I0f3584f461f9545ca9d3a508baa1e2fc562eabd3
This commit is contained in:
parent
227fecd3ed
commit
909db8a309
4 changed files with 18 additions and 493 deletions
|
@ -21,17 +21,6 @@ package {
|
|||
default_applicable_licenses: ["hardware_interfaces_license"],
|
||||
}
|
||||
|
||||
vintf_compatibility_matrix {
|
||||
name: "framework_compatibility_matrix.3.xml",
|
||||
stem: "compatibility_matrix.3.xml",
|
||||
srcs: [
|
||||
"compatibility_matrix.3.xml",
|
||||
],
|
||||
kernel_configs: [
|
||||
"kernel_config_p_4.14",
|
||||
],
|
||||
}
|
||||
|
||||
vintf_compatibility_matrix {
|
||||
name: "framework_compatibility_matrix.4.xml",
|
||||
stem: "compatibility_matrix.4.xml",
|
||||
|
|
|
@ -98,7 +98,6 @@ include $(BUILD_FRAMEWORK_COMPATIBILITY_MATRIX)
|
|||
endif # DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE
|
||||
|
||||
my_system_matrix_deps := \
|
||||
framework_compatibility_matrix.3.xml \
|
||||
framework_compatibility_matrix.4.xml \
|
||||
framework_compatibility_matrix.5.xml \
|
||||
framework_compatibility_matrix.6.xml \
|
||||
|
|
|
@ -1,481 +0,0 @@
|
|||
<compatibility-matrix version="1.0" type="framework" level="3">
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.audio</name>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IDevicesFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.audio.effect</name>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IEffectsFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.authsecret</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAuthSecret</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.automotive.audiocontrol</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IAudioControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.automotive.evs</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IEvsEnumerator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.automotive.vehicle</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IVehicle</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.biometrics.fingerprint</name>
|
||||
<version>2.1</version>
|
||||
<interface>
|
||||
<name>IBiometricsFingerprint</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.bluetooth</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothHci</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.bluetooth.a2dp</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBluetoothAudioOffload</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.boot</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IBootControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.broadcastradio</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IBroadcastRadioFactory</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.broadcastradio</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IBroadcastRadio</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.camera.provider</name>
|
||||
<version>2.4</version>
|
||||
<interface>
|
||||
<name>ICameraProvider</name>
|
||||
<regex-instance>[^/]+/[0-9]+</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.cas</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMediaCasService</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.configstore</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>ISurfaceFlingerConfigs</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.confirmationui</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IConfirmationUI</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.contexthub</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IContexthub</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.drm</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.drm</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>ICryptoFactory</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IDrmFactory</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.dumpstate</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDumpstateDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.gatekeeper</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IGatekeeper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.gnss</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IGnss</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<!-- Either the AIDL or the HIDL allocator HAL must exist on the device.
|
||||
If the HIDL composer HAL exists, it must be at least version 2.0.
|
||||
See DeviceManifestTest.GrallocHal -->
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.graphics.allocator</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IAllocator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.graphics.composer</name>
|
||||
<version>2.1-2</version>
|
||||
<interface>
|
||||
<name>IComposer</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.graphics.mapper</name>
|
||||
<version>2.0-1</version>
|
||||
<interface>
|
||||
<name>IMapper</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<!-- Either the AIDL or the HIDL health HAL must exist on the device.
|
||||
If the HIDL health HAL exists, it must be at least version 2.0.
|
||||
See DeviceManifestTest.HealthHal -->
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.health</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>IHealth</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.ir</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IConsumerIr</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<version>3.0</version>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IKeymasterDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.keymaster</name>
|
||||
<version>4.0</version>
|
||||
<interface>
|
||||
<name>IKeymasterDevice</name>
|
||||
<instance>strongbox</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.light</name>
|
||||
<version>2.0</version>
|
||||
<interface>
|
||||
<name>ILight</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="false">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.memtrack</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IMemtrack</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.neuralnetworks</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<regex-instance>.*</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.nfc</name>
|
||||
<version>1.1</version>
|
||||
<interface>
|
||||
<name>INfc</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.oemlock</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOemLock</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.power</name>
|
||||
<version>1.0-3</version>
|
||||
<interface>
|
||||
<name>IPower</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.radio</name>
|
||||
<!-- ref: b/123249760. 1.3 added here since 1.3 and 1.4 introduced in Q -->
|
||||
<version>1.0-3</version>
|
||||
<interface>
|
||||
<name>IRadio</name>
|
||||
<instance>slot1</instance>
|
||||
<instance>slot2</instance>
|
||||
<instance>slot3</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.radio</name>
|
||||
<version>1.0-2</version>
|
||||
<interface>
|
||||
<name>ISap</name>
|
||||
<instance>slot1</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.radio.config</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IRadioConfig</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.renderscript</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IDevice</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.secure_element</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISecureElement</name>
|
||||
<regex-instance>eSE[1-9][0-9]*</regex-instance>
|
||||
<regex-instance>SIM[1-9][0-9]*</regex-instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.sensors</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ISensors</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.soundtrigger</name>
|
||||
<version>2.0-1</version>
|
||||
<interface>
|
||||
<name>ISoundTriggerHw</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.tetheroffload.config</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOffloadConfig</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.tetheroffload.control</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOffloadControl</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.thermal</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IThermal</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.tv.cec</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHdmiCec</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.tv.input</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>ITvInput</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.usb</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>IUsb</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.usb.gadget</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IUsbGadget</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.vibrator</name>
|
||||
<version>1.0-2</version>
|
||||
<interface>
|
||||
<name>IVibrator</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.vr</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IVr</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.weaver</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IWeaver</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.wifi</name>
|
||||
<version>1.0-2</version>
|
||||
<interface>
|
||||
<name>IWifi</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.wifi.hostapd</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IHostapd</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.wifi.offload</name>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOffload</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl" optional="true">
|
||||
<name>android.hardware.wifi.supplicant</name>
|
||||
<version>1.0-1</version>
|
||||
<interface>
|
||||
<name>ISupplicant</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</compatibility-matrix>
|
|
@ -84,6 +84,24 @@ bool ShouldCheckMissingHalsInFcm(const std::string& package) {
|
|||
"android.hardware.nfc@1.0",
|
||||
// TODO(b/171260715) Remove when HAL definition is removed
|
||||
"android.hardware.radio.deprecated@1.0",
|
||||
|
||||
// TODO(b/205175891): File individual bugs for these HALs deprecated in P
|
||||
"android.hardware.audio.effect@4.0",
|
||||
"android.hardware.audio@4.0",
|
||||
"android.hardware.bluetooth.a2dp@1.0",
|
||||
"android.hardware.cas@1.0",
|
||||
"android.hardware.configstore@1.0",
|
||||
"android.hardware.gnss@1.0",
|
||||
"android.hardware.gnss@1.1",
|
||||
"android.hardware.graphics.mapper@2.0",
|
||||
"android.hardware.nfc@1.1",
|
||||
"android.hardware.radio.config@1.0",
|
||||
"android.hardware.radio@1.0",
|
||||
"android.hardware.radio@1.1",
|
||||
"android.hardware.radio@1.3",
|
||||
"android.hardware.thermal@1.0",
|
||||
"android.hardware.thermal@1.1",
|
||||
"android.hardware.wifi.offload@1.0",
|
||||
};
|
||||
|
||||
auto package_has_prefix = [&](const std::string& prefix) {
|
||||
|
|
Loading…
Reference in a new issue