From 8310c09541833f8a5d7f580830f63989a9789257 Mon Sep 17 00:00:00 2001 From: Andriy Tryshnivskyy Date: Mon, 4 Oct 2021 21:05:23 +0300 Subject: virtualization/linux-yocto: Add SCMIv3.0 Sensor Extensions patches. IIO SCMI driver assumes that those changes are present. It fails to compile without them. Bug-AGL: SPEC-3865 Signed-off-by: Andriy Tryshnivskyy Change-Id: Ia0011b5b621fc08321a1d74f3ae00e2780f3188a --- ...rm_scmi-rework-scmi_sensors_protocol_init.patch | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 meta-egvirt/recipes-kernel/linux/linux-yocto/scmi/0001-firmware-arm_scmi-rework-scmi_sensors_protocol_init.patch (limited to 'meta-egvirt/recipes-kernel/linux/linux-yocto/scmi/0001-firmware-arm_scmi-rework-scmi_sensors_protocol_init.patch') diff --git a/meta-egvirt/recipes-kernel/linux/linux-yocto/scmi/0001-firmware-arm_scmi-rework-scmi_sensors_protocol_init.patch b/meta-egvirt/recipes-kernel/linux/linux-yocto/scmi/0001-firmware-arm_scmi-rework-scmi_sensors_protocol_init.patch new file mode 100644 index 00000000..02024d11 --- /dev/null +++ b/meta-egvirt/recipes-kernel/linux/linux-yocto/scmi/0001-firmware-arm_scmi-rework-scmi_sensors_protocol_init.patch @@ -0,0 +1,69 @@ +From d9d8732bdf07755780f37cf083ead8b61ee3c95d Mon Sep 17 00:00:00 2001 +From: Cristian Marussi +Date: Thu, 19 Nov 2020 17:49:01 +0000 +Subject: [PATCH] firmware: arm_scmi: rework scmi_sensors_protocol_init + +Properly handle return values from initialization helpers and avoid +setting sensor_ops before sensor_priv. + +Signed-off-by: Cristian Marussi +Signed-off-by: Vasyl Vavrychuk +--- + drivers/firmware/arm_scmi/sensors.c | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/drivers/firmware/arm_scmi/sensors.c b/drivers/firmware/arm_scmi/sensors.c +index b4232d611033..6aaff478d032 100644 +--- a/drivers/firmware/arm_scmi/sensors.c ++++ b/drivers/firmware/arm_scmi/sensors.c +@@ -2,7 +2,7 @@ + /* + * System Control and Management Interface (SCMI) Sensor Protocol + * +- * Copyright (C) 2018 ARM Ltd. ++ * Copyright (C) 2018-2020 ARM Ltd. + */ + + #define pr_fmt(fmt) "SCMI Notifications SENSOR - " fmt +@@ -334,6 +334,7 @@ static const struct scmi_event_ops sensor_event_ops = { + static int scmi_sensors_protocol_init(struct scmi_handle *handle) + { + u32 version; ++ int ret; + struct sensors_info *sinfo; + + scmi_version_get(handle, SCMI_PROTOCOL_SENSOR, &version); +@@ -344,15 +345,19 @@ static int scmi_sensors_protocol_init(struct scmi_handle *handle) + sinfo = devm_kzalloc(handle->dev, sizeof(*sinfo), GFP_KERNEL); + if (!sinfo) + return -ENOMEM; ++ sinfo->version = version; + +- scmi_sensor_attributes_get(handle, sinfo); +- ++ ret = scmi_sensor_attributes_get(handle, sinfo); ++ if (ret) ++ return ret; + sinfo->sensors = devm_kcalloc(handle->dev, sinfo->num_sensors, + sizeof(*sinfo->sensors), GFP_KERNEL); + if (!sinfo->sensors) + return -ENOMEM; + +- scmi_sensor_description_get(handle, sinfo); ++ ret = scmi_sensor_description_get(handle, sinfo); ++ if (ret) ++ return ret; + + scmi_register_protocol_events(handle, + SCMI_PROTOCOL_SENSOR, SCMI_PROTO_QUEUE_SZ, +@@ -360,9 +365,8 @@ static int scmi_sensors_protocol_init(struct scmi_handle *handle) + ARRAY_SIZE(sensor_events), + sinfo->num_sensors); + +- sinfo->version = version; +- handle->sensor_ops = &sensor_ops; + handle->sensor_priv = sinfo; ++ handle->sensor_ops = &sensor_ops; + + return 0; + } -- cgit 1.2.3-korg