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>
This commit is contained in:
Simon Glass 2020-01-26 22:06:27 -07:00
parent fdc34368dd
commit 961420fa5f
15 changed files with 63 additions and 58 deletions

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

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

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

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

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

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

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

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

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

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

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

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

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

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

View 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