Browse Source

cpu: Convert the methods to use a const udevice *

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>
Simon Glass 4 years ago
parent
commit
961420fa5f

+ 5 - 3
arch/nios2/cpu/cpu.c

@@ -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;
 }

+ 1 - 1
arch/x86/cpu/apollolake/cpu.c

@@ -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);
 }

+ 2 - 2
arch/x86/cpu/baytrail/cpu.c

@@ -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;
 

+ 2 - 2
arch/x86/cpu/broadwell/cpu_full.c

@@ -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;
 }

+ 3 - 3
arch/x86/cpu/cpu_x86.c

@@ -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;

+ 3 - 2
arch/x86/cpu/ivybridge/model_206ax.c

@@ -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;
 }

+ 2 - 2
arch/x86/cpu/qemu/cpu.c

@@ -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();
 }

+ 3 - 3
arch/x86/include/asm/cpu_x86.h

@@ -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 */

+ 4 - 4
drivers/cpu/bmips_cpu.c

@@ -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");
 

+ 4 - 4
drivers/cpu/cpu-uclass.c

@@ -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);
 

+ 4 - 4
drivers/cpu/cpu_sandbox.c

@@ -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.");
 

+ 4 - 4
drivers/cpu/imx8_cpu.c

@@ -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;

+ 14 - 12
drivers/cpu/mpc83xx_cpu.c

@@ -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");
 

+ 4 - 4
drivers/cpu/riscv_cpu.c

@@ -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;

+ 8 - 8
include/cpu.h

@@ -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