firmware: arm_scmi: Reject SCMI drivers when configured in raw mode
authorCristian Marussi <cristian.marussi@arm.com>
Wed, 18 Jan 2023 12:14:23 +0000 (12:14 +0000)
committerSudeep Holla <sudeep.holla@arm.com>
Fri, 20 Jan 2023 11:41:23 +0000 (11:41 +0000)
Reject SCMI driver registration when SCMI raw mode support is configured,
so as to avoid interferences between the SCMI raw mode transactions and the
normal SCMI stack operations.

Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
Tested-by: Florian Fainelli <f.fainelli@gmail.com>
Tested-by: Vincent Guittot <vincent.guittot@linaro.org>
Link: https://lore.kernel.org/r/20230118121426.492864-15-cristian.marussi@arm.com
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
drivers/firmware/arm_scmi/bus.c

index 6228f1581fe362ff0005e200e2674f5325f3d10e..8601d75f5b9bfe78d3ea17e9ecb5506c8f935bd9 100644 (file)
@@ -59,6 +59,12 @@ static int scmi_protocol_device_request(const struct scmi_device_id *id_table)
        pr_debug("Requesting SCMI device (%s) for protocol %x\n",
                 id_table->name, id_table->protocol_id);
 
+       if (IS_ENABLED(CONFIG_ARM_SCMI_RAW_MODE_SUPPORT)) {
+               pr_warn("SCMI Raw mode active. Rejecting '%s'/0x%02X\n",
+                       id_table->name, id_table->protocol_id);
+               return -EINVAL;
+       }
+
        /*
         * Search for the matching protocol rdev list and then search
         * of any existent equally named device...fails if any duplicate found.