[U-Boot] [PATCH v3 1/6] dm: cpu: Add a new get_count method to cpu uclass
Bin Meng
bmeng.cn at gmail.com
Tue Jun 16 02:19:19 CEST 2015
Hi Simon,
On Tue, Jun 16, 2015 at 4:45 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 13 June 2015 at 04:11, Bin Meng <bmeng.cn at gmail.com> wrote:
>>
>> Introduce a new method 'get_count' in the UCLASS_CPU ops to get
>> the number of CPUs in the system.
>>
>> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>>
>> ---
>>
>> Changes in v3:
>> - Drop patches already applied and rebase on u-boot-x86/master
>> - New patch to add a new get_count method to cpu uclass
>>
>> Changes in v2: None
>>
>> drivers/cpu/cpu-uclass.c | 10 ++++++++++
>> include/cpu.h | 18 ++++++++++++++++++
>> 2 files changed, 28 insertions(+)
>>
>> diff --git a/drivers/cpu/cpu-uclass.c b/drivers/cpu/cpu-uclass.c
>> index d6be9d4..8efb17c 100644
>> --- a/drivers/cpu/cpu-uclass.c
>> +++ b/drivers/cpu/cpu-uclass.c
>> @@ -32,6 +32,16 @@ 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 *count)
>
> Can we please return count and avoid the 'count' parameter? We can use
> -ve for errors.
>
Yes, but I was wondering that if it looks inconsistent to other two
cpu ops? (or maybe other dm driver ops?)
>> +{
>> + struct cpu_ops *ops = cpu_get_ops(dev);
>> +
>> + if (!ops->get_count)
>> + return -ENOSYS;
>> +
>> + return ops->get_count(dev, count);
>> +}
>> +
>> U_BOOT_DRIVER(cpu_bus) = {
>> .name = "cpu_bus",
>> .id = UCLASS_SIMPLE_BUS,
>> diff --git a/include/cpu.h b/include/cpu.h
>> index 34c60bc..6fd735d 100644
>> --- a/include/cpu.h
>> +++ b/include/cpu.h
>> @@ -58,6 +58,15 @@ struct cpu_ops {
>> * @return 0 if OK, -ve on error
>> */
>> int (*get_info)(struct udevice *dev, struct cpu_info *info);
>> +
>> + /**
>> + * get_count() - Get number of CPUs
>> + *
>> + * @dev: Device to check (UCLASS_CPU)
>> + * @count: Returns CPU count
>> + * @return 0 if OK, -ve on error
>> + */
>> + int (*get_count)(struct udevice *dev, int *count);
>> };
>>
>> #define cpu_get_ops(dev) ((struct cpu_ops *)(dev)->driver->ops)
>> @@ -81,4 +90,13 @@ int cpu_get_desc(struct udevice *dev, char *buf, int size);
>> */
>> int cpu_get_info(struct udevice *dev, struct cpu_info *info);
>>
>> +/**
>> + * cpu_get_count() - Get number of CPUs
>> + *
>> + * @dev: Device to check (UCLASS_CPU)
>> + * @count: Returns CPU count
>> + * @return 0 if OK, -ve on error
>> + */
>> +int cpu_get_count(struct udevice *dev, int *count);
>> +
>> #endif
>> --
Regards,
Bin
More information about the U-Boot
mailing list