|
|
@@ -3430,6 +3430,7 @@ devm_ti_sci_get_of_resource(const struct ti_sci_handle *handle,
|
|
|
u32 resource_subtype;
|
|
|
u16 resource_type;
|
|
|
struct ti_sci_resource *res;
|
|
|
+ bool valid_set = false;
|
|
|
int sets, i, ret;
|
|
|
|
|
|
res = devm_kzalloc(dev, sizeof(*res), GFP_KERNEL);
|
|
|
@@ -3468,12 +3469,15 @@ devm_ti_sci_get_of_resource(const struct ti_sci_handle *handle,
|
|
|
&res->desc[i].start,
|
|
|
&res->desc[i].num);
|
|
|
if (ret) {
|
|
|
- dev_err(dev, "type %d subtype %d not allocated for host %d\n",
|
|
|
+ dev_dbg(dev, "type %d subtype %d not allocated for host %d\n",
|
|
|
resource_type, resource_subtype,
|
|
|
handle_to_ti_sci_info(handle)->host_id);
|
|
|
- return ERR_PTR(ret);
|
|
|
+ res->desc[i].start = 0;
|
|
|
+ res->desc[i].num = 0;
|
|
|
+ continue;
|
|
|
}
|
|
|
|
|
|
+ valid_set = true;
|
|
|
dev_dbg(dev, "res type = %d, subtype = %d, start = %d, num = %d\n",
|
|
|
resource_type, resource_subtype, res->desc[i].start,
|
|
|
res->desc[i].num);
|
|
|
@@ -3486,7 +3490,10 @@ devm_ti_sci_get_of_resource(const struct ti_sci_handle *handle,
|
|
|
}
|
|
|
raw_spin_lock_init(&res->lock);
|
|
|
|
|
|
- return res;
|
|
|
+ if (valid_set)
|
|
|
+ return res;
|
|
|
+
|
|
|
+ return ERR_PTR(-EINVAL);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(devm_ti_sci_get_of_resource);
|
|
|
|