mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 22:04:26 +00:00
Merge "Fix failure to load power HAL implementation" into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ad504560cc
@@ -145,25 +145,27 @@ done:
|
||||
}
|
||||
|
||||
IPower* HIDL_FETCH_IPower(const char* /* name */) {
|
||||
int ret = 0;
|
||||
const hw_module_t* hw_module = NULL;
|
||||
power_module_t *power_module;
|
||||
ret = hw_get_module(POWER_HARDWARE_MODULE_ID, &hw_module);
|
||||
if (ret == 0 && hw_module->methods->open) {
|
||||
ret = hw_module->methods->open(hw_module, POWER_HARDWARE_MODULE_ID,
|
||||
reinterpret_cast<hw_device_t**>(&power_module));
|
||||
if (ret == 0) {
|
||||
return new Power(power_module);
|
||||
}
|
||||
else {
|
||||
ALOGE("Passthrough failed to load legacy power HAL.");
|
||||
const hw_module_t* hw_module = nullptr;
|
||||
power_module_t* power_module = nullptr;
|
||||
int err = hw_get_module(POWER_HARDWARE_MODULE_ID, &hw_module);
|
||||
if (err) {
|
||||
ALOGE("hw_get_module %s failed: %d", POWER_HARDWARE_MODULE_ID, err);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!hw_module->methods || !hw_module->methods->open) {
|
||||
power_module = reinterpret_cast<power_module_t*>(
|
||||
const_cast<hw_module_t*>(hw_module));
|
||||
} else {
|
||||
err = hw_module->methods->open(
|
||||
hw_module, POWER_HARDWARE_MODULE_ID,
|
||||
reinterpret_cast<hw_device_t**>(&power_module));
|
||||
if (err) {
|
||||
ALOGE("Passthrough failed to load legacy HAL.");
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
else {
|
||||
ALOGE ("hw_get_module %s failed: %d", POWER_HARDWARE_MODULE_ID, ret);
|
||||
return nullptr;
|
||||
}
|
||||
return new Power(power_module);
|
||||
}
|
||||
|
||||
} // namespace implementation
|
||||
|
||||
Reference in New Issue
Block a user