Get partition file system type from Fastboot HAL

Partition type is required for fastbootd to
format partitions.

Test: make
Bug: 79480454
Change-Id: I49f21fe6f1626cf3da566b33cc84131b3e3c85ff
This commit is contained in:
Hridya Valsaraju
2018-05-08 15:38:00 -07:00
parent d6b4242d52
commit c83cec76fa
3 changed files with 115 additions and 0 deletions

22
fastboot/1.0/Android.bp Normal file
View File

@@ -0,0 +1,22 @@
// This file is autogenerated by hidl-gen -Landroidbp.
hidl_interface {
name: "android.hardware.fastboot@1.0",
root: "android.hardware",
vndk: {
enabled: true,
},
srcs: [
"types.hal",
"IFastboot.hal",
],
interfaces: [
"android.hidl.base@1.0",
],
types: [
"Status",
"Result",
],
gen_java: false,
}

View File

@@ -0,0 +1,32 @@
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.fastboot@1.0;
/**
* IFastboot interface implements vendor specific fastboot commands.
*/
interface IFastboot {
/**
* Returns the file system type of the partition. This is only required for
* physical partitions that need to be wiped and reformatted.
*
* @return type Can be ext4, f2fs or raw.
* @return result SUCCESS if the operation is successful,
* FAILURE_UNKNOWN if the partition is invalid or does not require
* reformatting.
*/
getPartitionType(string partitionName) generates (FileSystemType type, Result result);
};

61
fastboot/1.0/types.hal Normal file
View File

@@ -0,0 +1,61 @@
/**
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.fastboot@1.0;
enum Status : uint32_t {
/**
* Operation completed without errors.
*/
SUCCESS,
/**
* Unsupported operation.
*/
NOT_SUPPORTED,
/**
* Bad argument.
*/
INVALID_ARGUMENT,
/**
* Operation failed due to unknown reason.
*/
FAILURE_UNKNOWN
};
enum FileSystemType : uint8_t {
/**
* Fourth extended file system.
*/
EXT4,
/**
* Flash Friendly File System.
*/
F2FS,
/**
* Raw file system.
*/
RAW
};
struct Result {
Status status;
/**
* Error message pertaining to the status. It must be a failure message for
* Status FAILURE_UNKNOWN/NOT_SUPPORTED or an informative message for
* Status SUCCESS.
*/
string error;
};