cpu: Convert the methods to use a const udevice *
authorSimon Glass <sjg@chromium.org>
Mon, 27 Jan 2020 05:06:27 +0000 (22:06 -0700)
committerSimon Glass <sjg@chromium.org>
Mon, 20 Jul 2020 17:37:47 +0000 (11:37 -0600)
These functions should not modify the device. Convert them to const so
that callers don't need to cast if they have a const udevice *.

Signed-off-by: Simon Glass <sjg@chromium.org>
15 files changed:
arch/nios2/cpu/cpu.c
arch/x86/cpu/apollolake/cpu.c
arch/x86/cpu/baytrail/cpu.c
arch/x86/cpu/broadwell/cpu_full.c
arch/x86/cpu/cpu_x86.c
arch/x86/cpu/ivybridge/model_206ax.c
arch/x86/cpu/qemu/cpu.c
arch/x86/include/asm/cpu_x86.h
drivers/cpu/bmips_cpu.c
drivers/cpu/cpu-uclass.c
drivers/cpu/cpu_sandbox.c
drivers/cpu/imx8_cpu.c
drivers/cpu/mpc83xx_cpu.c
drivers/cpu/riscv_cpu.c
include/cpu.h

index 7f5e731..e7ca988 100644 (file)
@@ -79,7 +79,8 @@ int arch_cpu_init_dm(void)
        return 0;
 }
 
-static int altera_nios2_get_desc(struct udevice *dev, char *buf, int size)
+static int altera_nios2_get_desc(const struct udevice *dev, char *buf,
+                                int size)
 {
        const char *cpu_name = "Nios-II";
 
@@ -90,7 +91,8 @@ static int altera_nios2_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int altera_nios2_get_info(struct udevice *dev, struct cpu_info *info)
+static int altera_nios2_get_info(const struct udevice *dev,
+                                struct cpu_info *info)
 {
        info->cpu_freq = gd->cpu_clk;
        info->features = (1 << CPU_FEAT_L1_CACHE) |
@@ -99,7 +101,7 @@ static int altera_nios2_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int altera_nios2_get_count(struct udevice *dev)
+static int altera_nios2_get_count(const struct udevice *dev)
 {
        return 1;
 }
index aa7a3db..0a6d2ad 100644 (file)
@@ -9,7 +9,7 @@
 #include <asm/cpu_common.h>
 #include <asm/cpu_x86.h>
 
-static int apl_get_info(struct udevice *dev, struct cpu_info *info)
+static int apl_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 }
index 18e48ff..309a50a 100644 (file)
@@ -150,7 +150,7 @@ static unsigned long tsc_freq(void)
        return bclk * ((platform_info.lo >> 8) & 0xff);
 }
 
-static int baytrail_get_info(struct udevice *dev, struct cpu_info *info)
+static int baytrail_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        info->cpu_freq = tsc_freq();
        info->features = 1 << CPU_FEAT_L1_CACHE | 1 << CPU_FEAT_MMU;
@@ -158,7 +158,7 @@ static int baytrail_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int baytrail_get_count(struct udevice *dev)
+static int baytrail_get_count(const struct udevice *dev)
 {
        int ecx = 0;
 
index 64a1cd4..706f68f 100644 (file)
@@ -626,12 +626,12 @@ void cpu_set_power_limits(int power_limit_1_time)
        }
 }
 
-static int broadwell_get_info(struct udevice *dev, struct cpu_info *info)
+static int broadwell_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 }
 
-static int broadwell_get_count(struct udevice *dev)
+static int broadwell_get_count(const struct udevice *dev)
 {
        return 4;
 }
index 3f2ba08..7e83051 100644 (file)
@@ -26,7 +26,7 @@ int cpu_x86_bind(struct udevice *dev)
        return 0;
 }
 
-int cpu_x86_get_vendor(struct udevice *dev, char *buf, int size)
+int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size)
 {
        const char *vendor = cpu_vendor_name(gd->arch.x86_vendor);
 
@@ -38,7 +38,7 @@ int cpu_x86_get_vendor(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-int cpu_x86_get_desc(struct udevice *dev, char *buf, int size)
+int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size)
 {
        char *ptr;
 
@@ -52,7 +52,7 @@ int cpu_x86_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-int cpu_x86_get_count(struct udevice *dev)
+int cpu_x86_get_count(const struct udevice *dev)
 {
        int node, cpu;
        int num = 0;
index 5954a24..55f7cc2 100644 (file)
@@ -410,14 +410,15 @@ static int model_206ax_init(struct udevice *dev)
        return 0;
 }
 
-static int model_206ax_get_info(struct udevice *dev, struct cpu_info *info)
+static int model_206ax_get_info(const struct udevice *dev,
+                               struct cpu_info *info)
 {
        return cpu_intel_get_info(info, INTEL_BCLK_MHZ);
 
        return 0;
 }
 
-static int model_206ax_get_count(struct udevice *dev)
+static int model_206ax_get_count(const struct udevice *dev)
 {
        return 4;
 }
index f40fb4d..9ce86b3 100644 (file)
@@ -10,7 +10,7 @@
 #include <qfw.h>
 #include <asm/cpu.h>
 
-int cpu_qemu_get_desc(struct udevice *dev, char *buf, int size)
+int cpu_qemu_get_desc(const struct udevice *dev, char *buf, int size)
 {
        if (size < CPU_MAX_NAME_LEN)
                return -ENOSPC;
@@ -20,7 +20,7 @@ int cpu_qemu_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int cpu_qemu_get_count(struct udevice *dev)
+static int cpu_qemu_get_count(const struct udevice *dev)
 {
        return qemu_fwcfg_online_cpus();
 }
index ae8f4dc..4fd5f03 100644 (file)
@@ -28,7 +28,7 @@ int cpu_x86_bind(struct udevice *dev);
  * @size:      Size of string space
  * @return:    0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_x86_get_desc(struct udevice *dev, char *buf, int size);
+int cpu_x86_get_desc(const struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_x86_get_count() - Get the number of cores for an x86 CPU
@@ -40,7 +40,7 @@ int cpu_x86_get_desc(struct udevice *dev, char *buf, int size);
  * @return:    Number of cores if successful,
  *             -ENOENT if not "/cpus" entry is found in the device tree
  */
-int cpu_x86_get_count(struct udevice *dev);
+int cpu_x86_get_count(const struct udevice *dev);
 
 /**
  * cpu_x86_get_vendor() - Get a vendor string for an x86 CPU
@@ -53,6 +53,6 @@ int cpu_x86_get_count(struct udevice *dev);
  * @size:      Size of string space
  * @return:    0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_x86_get_vendor(struct udevice *dev, char *buf, int size);
+int cpu_x86_get_vendor(const struct udevice *dev, char *buf, int size);
 
 #endif /* _ASM_CPU_X86_H */
index 2649c5c..421cc7a 100644 (file)
@@ -379,7 +379,7 @@ static const struct bmips_cpu_hw bmips_cpu_bcm6838 = {
 };
 
 /* Generic CPU Ops */
-static int bmips_cpu_get_desc(struct udevice *dev, char *buf, int size)
+static int bmips_cpu_get_desc(const struct udevice *dev, char *buf, int size)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -387,7 +387,7 @@ static int bmips_cpu_get_desc(struct udevice *dev, char *buf, int size)
        return hw->get_cpu_desc(priv, buf, size);
 }
 
-static int bmips_cpu_get_info(struct udevice *dev, struct cpu_info *info)
+static int bmips_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -400,7 +400,7 @@ static int bmips_cpu_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int bmips_cpu_get_count(struct udevice *dev)
+static int bmips_cpu_get_count(const struct udevice *dev)
 {
        struct bmips_cpu_priv *priv = dev_get_priv(dev);
        const struct bmips_cpu_hw *hw = priv->hw;
@@ -408,7 +408,7 @@ static int bmips_cpu_get_count(struct udevice *dev)
        return hw->get_cpu_count(priv);
 }
 
-static int bmips_cpu_get_vendor(struct udevice *dev, char *buf, int size)
+static int bmips_cpu_get_vendor(const struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "Broadcom");
 
index cbb4419..37e3cf2 100644 (file)
@@ -69,7 +69,7 @@ struct udevice *cpu_get_current_dev(void)
        return cpu;
 }
 
-int cpu_get_desc(struct udevice *dev, char *buf, int size)
+int cpu_get_desc(const struct udevice *dev, char *buf, int size)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -79,7 +79,7 @@ int cpu_get_desc(struct udevice *dev, char *buf, int size)
        return ops->get_desc(dev, buf, size);
 }
 
-int cpu_get_info(struct udevice *dev, struct cpu_info *info)
+int cpu_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -92,7 +92,7 @@ int cpu_get_info(struct udevice *dev, struct cpu_info *info)
        return ops->get_info(dev, info);
 }
 
-int cpu_get_count(struct udevice *dev)
+int cpu_get_count(const struct udevice *dev)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
@@ -102,7 +102,7 @@ int cpu_get_count(struct udevice *dev)
        return ops->get_count(dev);
 }
 
-int cpu_get_vendor(struct udevice *dev, char *buf, int size)
+int cpu_get_vendor(const struct udevice *dev, char *buf, int size)
 {
        struct cpu_ops *ops = cpu_get_ops(dev);
 
index 30a12e5..caa26e5 100644 (file)
@@ -8,14 +8,14 @@
 #include <dm.h>
 #include <cpu.h>
 
-int cpu_sandbox_get_desc(struct udevice *dev, char *buf, int size)
+int cpu_sandbox_get_desc(const struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "LEG Inc. SuperMegaUltraTurbo CPU No. 1");
 
        return 0;
 }
 
-int cpu_sandbox_get_info(struct udevice *dev, struct cpu_info *info)
+int cpu_sandbox_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        info->cpu_freq = 42 * 42 * 42 * 42 * 42;
        info->features = 0x42424242;
@@ -24,12 +24,12 @@ int cpu_sandbox_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-int cpu_sandbox_get_count(struct udevice *dev)
+int cpu_sandbox_get_count(const struct udevice *dev)
 {
        return 42;
 }
 
-int cpu_sandbox_get_vendor(struct udevice *dev, char *buf, int size)
+int cpu_sandbox_get_vendor(const struct udevice *dev, char *buf, int size)
 {
        snprintf(buf, size, "Languid Example Garbage Inc.");
 
index 6345cd0..502c8eb 100644 (file)
@@ -100,7 +100,7 @@ static int cpu_imx_get_temp(struct cpu_imx_platdata *plat)
 }
 #endif
 
-int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
+int cpu_imx_get_desc(const struct udevice *dev, char *buf, int size)
 {
        struct cpu_imx_platdata *plat = dev_get_platdata(dev);
        int ret, temp;
@@ -126,7 +126,7 @@ int cpu_imx_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int cpu_imx_get_info(struct udevice *dev, struct cpu_info *info)
+static int cpu_imx_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        struct cpu_imx_platdata *plat = dev_get_platdata(dev);
 
@@ -135,7 +135,7 @@ static int cpu_imx_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int cpu_imx_get_count(struct udevice *dev)
+static int cpu_imx_get_count(const struct udevice *dev)
 {
        ofnode node;
        int num = 0;
@@ -157,7 +157,7 @@ static int cpu_imx_get_count(struct udevice *dev)
        return num;
 }
 
-static int cpu_imx_get_vendor(struct udevice *dev,  char *buf, int size)
+static int cpu_imx_get_vendor(const struct udevice *dev,  char *buf, int size)
 {
        snprintf(buf, size, "NXP");
        return 0;
index f8a84ba..5f1592f 100644 (file)
@@ -60,7 +60,7 @@ static inline u32 get_spridr(void)
  * determine_type() - Determine CPU family of MPC83xx device
  * @dev: CPU device from which to read CPU family from
  */
-static inline void determine_family(struct udevice *dev)
+static inline void determine_family(const struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 12 bits of PARTID field (bits 0-23 in SPRIDR) */
@@ -95,7 +95,7 @@ static inline void determine_family(struct udevice *dev)
  * determine_type() - Determine CPU type of MPC83xx device
  * @dev: CPU device from which to read CPU type from
  */
-static inline void determine_type(struct udevice *dev)
+static inline void determine_type(const struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 16 bits of PVR (Processor Version Register) */
@@ -169,7 +169,7 @@ static inline void determine_type(struct udevice *dev)
  * determine_e300_type() - Determine e300 core type of MPC83xx device
  * @dev: CPU device from which to read e300 core type from
  */
-static inline void determine_e300_type(struct udevice *dev)
+static inline void determine_e300_type(const struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        /* Upper 16 bits of PVR (Processor Version Register) */
@@ -198,7 +198,7 @@ static inline void determine_e300_type(struct udevice *dev)
  * determine_revid() - Determine revision ID of CPU device
  * @dev: CPU device from which to read revision ID
  */
-static inline void determine_revid(struct udevice *dev)
+static inline void determine_revid(const struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        u32 REVID_MAJOR_MASK;
@@ -221,7 +221,7 @@ static inline void determine_revid(struct udevice *dev)
  * determine_cpu_data() - Determine CPU information from hardware
  * @dev: CPU device from which to read information
  */
-static void determine_cpu_data(struct udevice *dev)
+static void determine_cpu_data(const struct udevice *dev)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        const u32 E_FLAG_MASK = 0x00010000;
@@ -239,7 +239,7 @@ static void determine_cpu_data(struct udevice *dev)
        priv->is_e_processor = !bitfield_extract_by_mask(spridr, E_FLAG_MASK);
 }
 
-static int mpc83xx_cpu_get_desc(struct udevice *dev, char *buf, int size)
+static int mpc83xx_cpu_get_desc(const struct udevice *dev, char *buf, int size)
 {
        struct mpc83xx_cpu_priv *priv = dev_get_priv(dev);
        struct clk core_clk;
@@ -248,14 +248,14 @@ static int mpc83xx_cpu_get_desc(struct udevice *dev, char *buf, int size)
        char csb_freq[32];
        int ret;
 
-       ret = clk_get_by_index(dev, 0, &core_clk);
+       ret = clk_get_by_index((struct udevice *)dev, 0, &core_clk);
        if (ret) {
                debug("%s: Failed to get core clock (err = %d)\n",
                      dev->name, ret);
                return ret;
        }
 
-       ret = clk_get_by_index(dev, 1, &csb_clk);
+       ret = clk_get_by_index((struct udevice *)dev, 1, &csb_clk);
        if (ret) {
                debug("%s: Failed to get CSB clock (err = %d)\n",
                      dev->name, ret);
@@ -278,13 +278,14 @@ static int mpc83xx_cpu_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int mpc83xx_cpu_get_info(struct udevice *dev, struct cpu_info *info)
+static int mpc83xx_cpu_get_info(const struct udevice *dev,
+                               struct cpu_info *info)
 {
        struct clk clock;
        int ret;
        ulong freq;
 
-       ret = clk_get_by_index(dev, 0, &clock);
+       ret = clk_get_by_index((struct udevice *)dev, 0, &clock);
        if (ret) {
                debug("%s: Failed to get core clock (err = %d)\n",
                      dev->name, ret);
@@ -303,13 +304,14 @@ static int mpc83xx_cpu_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int mpc83xx_cpu_get_count(struct udevice *dev)
+static int mpc83xx_cpu_get_count(const struct udevice *dev)
 {
        /* We have one e300cX core */
        return 1;
 }
 
-static int mpc83xx_cpu_get_vendor(struct udevice *dev, char *buf, int size)
+static int mpc83xx_cpu_get_vendor(const struct udevice *dev, char *buf,
+                                 int size)
 {
        snprintf(buf, size, "NXP");
 
index 100fe55..93ce708 100644 (file)
@@ -17,7 +17,7 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int riscv_cpu_get_desc(struct udevice *dev, char *buf, int size)
+static int riscv_cpu_get_desc(const struct udevice *dev, char *buf, int size)
 {
        const char *isa;
 
@@ -30,7 +30,7 @@ static int riscv_cpu_get_desc(struct udevice *dev, char *buf, int size)
        return 0;
 }
 
-static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info)
+static int riscv_cpu_get_info(const struct udevice *dev, struct cpu_info *info)
 {
        int ret;
        struct clk clk;
@@ -39,7 +39,7 @@ static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info)
        u32 d_cache_size;
 
        /* First try getting the frequency from the assigned clock */
-       ret = clk_get_by_index(dev, 0, &clk);
+       ret = clk_get_by_index((struct udevice *)dev, 0, &clk);
        if (!ret) {
                ret = clk_get_rate(&clk);
                if (!IS_ERR_VALUE(ret))
@@ -67,7 +67,7 @@ static int riscv_cpu_get_info(struct udevice *dev, struct cpu_info *info)
        return 0;
 }
 
-static int riscv_cpu_get_count(struct udevice *dev)
+static int riscv_cpu_get_count(const struct udevice *dev)
 {
        ofnode node;
        int num = 0;
index 2f283fe..78e88b9 100644 (file)
@@ -61,7 +61,7 @@ struct cpu_ops {
         * @size:       Size of string space
         * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
         */
-       int (*get_desc)(struct udevice *dev, char *buf, int size);
+       int (*get_desc)(const struct udevice *dev, char *buf, int size);
 
        /**
         * get_info() - Get information about a CPU
@@ -70,7 +70,7 @@ struct cpu_ops {
         * @info:       Returns CPU info
         * @return 0 if OK, -ve on error
         */
-       int (*get_info)(struct udevice *dev, struct cpu_info *info);
+       int (*get_info)(const struct udevice *dev, struct cpu_info *info);
 
        /**
         * get_count() - Get number of CPUs
@@ -78,7 +78,7 @@ struct cpu_ops {
         * @dev:        Device to check (UCLASS_CPU)
         * @return CPU count if OK, -ve on error
         */
-       int (*get_count)(struct udevice *dev);
+       int (*get_count)(const struct udevice *dev);
 
        /**
         * get_vendor() - Get vendor name of a CPU
@@ -88,7 +88,7 @@ struct cpu_ops {
         * @size:       Size of string space
         * @return 0 if OK, -ENOSPC if buffer is too small, other -ve on error
         */
-       int (*get_vendor)(struct udevice *dev, char *buf, int size);
+       int (*get_vendor)(const struct udevice *dev, char *buf, int size);
 
        /**
         * is_current() - Check if the CPU that U-Boot is currently running from
@@ -110,7 +110,7 @@ struct cpu_ops {
  *
  * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_get_desc(struct udevice *dev, char *buf, int size);
+int cpu_get_desc(const struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_get_info() - Get information about a CPU
@@ -119,7 +119,7 @@ int cpu_get_desc(struct udevice *dev, char *buf, int size);
  *
  * Return: 0 if OK, -ve on error
  */
-int cpu_get_info(struct udevice *dev, struct cpu_info *info);
+int cpu_get_info(const struct udevice *dev, struct cpu_info *info);
 
 /**
  * cpu_get_count() - Get number of CPUs
@@ -127,7 +127,7 @@ int cpu_get_info(struct udevice *dev, struct cpu_info *info);
  *
  * Return: CPU count if OK, -ve on error
  */
-int cpu_get_count(struct udevice *dev);
+int cpu_get_count(const struct udevice *dev);
 
 /**
  * cpu_get_vendor() - Get vendor name of a CPU
@@ -137,7 +137,7 @@ int cpu_get_count(struct udevice *dev);
  *
  * Return: 0 if OK, -ENOSPC if buffer is too small, other -ve on error
  */
-int cpu_get_vendor(struct udevice *dev, char *buf, int size);
+int cpu_get_vendor(const struct udevice *dev, char *buf, int size);
 
 /**
  * cpu_probe_all() - Probe all available CPUs