usb: typec: tipd: drop second firmware name read
authorJavier Carrasco <javier.carrasco@wolfvision.net>
Thu, 6 Jun 2024 09:03:55 +0000 (11:03 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 20 Jun 2024 17:30:16 +0000 (19:30 +0200)
tps_request_firmware() reads the firmware name and there is no need to
repeat the action in the device-specific implementations of the firmware
update mechanism.

Provide the firmware name as a parameter in tps_request_firmware() to
avoid repetitive operations in the device-specific implementations.

Signed-off-by: Javier Carrasco <javier.carrasco@wolfvision.net>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240606-tps6598x_fw_update_log-v1-1-2b5b8369a0ba@wolfvision.net
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tipd/core.c

index ad76dbd20e650c9aa684e64d0286a50e194dd36b..851b0d02727a19c28cd912f98cf8ca27b54c7917 100644 (file)
@@ -892,19 +892,19 @@ tps6598x_register_port(struct tps6598x *tps, struct fwnode_handle *fwnode)
        return 0;
 }
 
-static int tps_request_firmware(struct tps6598x *tps, const struct firmware **fw)
+static int tps_request_firmware(struct tps6598x *tps, const struct firmware **fw,
+                               const char **firmware_name)
 {
-       const char *firmware_name;
        int ret;
 
        ret = device_property_read_string(tps->dev, "firmware-name",
-                                         &firmware_name);
+                                         firmware_name);
        if (ret)
                return ret;
 
-       ret = request_firmware(fw, firmware_name, tps->dev);
+       ret = request_firmware(fw, *firmware_name, tps->dev);
        if (ret) {
-               dev_err(tps->dev, "failed to retrieve \"%s\"\n", firmware_name);
+               dev_err(tps->dev, "failed to retrieve \"%s\"\n", *firmware_name);
                return ret;
        }
 
@@ -999,12 +999,7 @@ static int tps25750_start_patch_burst_mode(struct tps6598x *tps)
        u32 addr;
        struct device_node *np = tps->dev->of_node;
 
-       ret = device_property_read_string(tps->dev, "firmware-name",
-                                         &firmware_name);
-       if (ret)
-               return ret;
-
-       ret = tps_request_firmware(tps, &fw);
+       ret = tps_request_firmware(tps, &fw, &firmware_name);
        if (ret)
                return ret;
 
@@ -1155,12 +1150,7 @@ static int tps6598x_apply_patch(struct tps6598x *tps)
        const char *firmware_name;
        int ret;
 
-       ret = device_property_read_string(tps->dev, "firmware-name",
-                                         &firmware_name);
-       if (ret)
-               return ret;
-
-       ret = tps_request_firmware(tps, &fw);
+       ret = tps_request_firmware(tps, &fw, &firmware_name);
        if (ret)
                return ret;