struct raspberrypi_clk_data {
        struct clk_hw hw;
+
+       unsigned int id;
+
        struct raspberrypi_clk *rpi;
 };
 
 
        ret = raspberrypi_clock_property(rpi->firmware,
                                         RPI_FIRMWARE_GET_CLOCK_STATE,
-                                        RPI_FIRMWARE_ARM_CLK_ID, &val);
+                                        data->id, &val);
        if (ret)
                return 0;
 
 
        ret = raspberrypi_clock_property(rpi->firmware,
                                         RPI_FIRMWARE_GET_CLOCK_RATE,
-                                        RPI_FIRMWARE_ARM_CLK_ID,
-                                        &val);
+                                        data->id, &val);
        if (ret)
                return ret;
 
 
        ret = raspberrypi_clock_property(rpi->firmware,
                                         RPI_FIRMWARE_SET_CLOCK_RATE,
-                                        RPI_FIRMWARE_ARM_CLK_ID,
-                                        &new_rate);
+                                        data->id, &new_rate);
        if (ret)
                dev_err_ratelimited(rpi->dev, "Failed to change %s frequency: %d",
                                    clk_hw_get_name(hw), ret);
        if (!data)
                return -ENOMEM;
        data->rpi = rpi;
+       data->id = RPI_FIRMWARE_ARM_CLK_ID;
 
        /* All of the PLLs derive from the external oscillator. */
        init.parent_names = (const char *[]){ "osc" };
        /* Get min & max rates set by the firmware */
        ret = raspberrypi_clock_property(rpi->firmware,
                                         RPI_FIRMWARE_GET_MIN_CLOCK_RATE,
-                                        RPI_FIRMWARE_ARM_CLK_ID,
-                                        &min_rate);
+                                        data->id, &min_rate);
        if (ret) {
                dev_err(rpi->dev, "Failed to get %s min freq: %d\n",
                        init.name, ret);
 
        ret = raspberrypi_clock_property(rpi->firmware,
                                         RPI_FIRMWARE_GET_MAX_CLOCK_RATE,
-                                        RPI_FIRMWARE_ARM_CLK_ID,
-                                        &max_rate);
+                                        data->id, &max_rate);
        if (ret) {
                dev_err(rpi->dev, "Failed to get %s max freq: %d\n",
                        init.name, ret);