Hi Simon, On Tue, Jun 16, 2015 at 4:45 AM, Simon Glass <s...@chromium.org> wrote: > Hi Bin, > > On 13 June 2015 at 04:11, Bin Meng <bmeng...@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...@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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot