Hi Bin, On 7 May 2016 at 09:31, Bin Meng <bmeng...@gmail.com> wrote: > Hi Simon, > > On Sat, May 7, 2016 at 11:19 PM, Simon Glass <s...@chromium.org> wrote: >> Hi Stefan, >> >> On 20 April 2016 at 10:10, Simon Glass <s...@chromium.org> wrote: >>> Hi Stefan, >>> >>> On 20 April 2016 at 10:08, Stefan Roese <s...@denx.de> wrote: >>>> On some platforms (e.g. x86), the return value of dev_get_addr() can't >>>> be assigned to a pointer type variable directly. As there might be a >>>> difference between the size of fdt_addr_t and the pointer type. On >>>> x86 for example, "fdt_addr_t" is 64bit but "void *" only 32bit. So >>>> assigning the register base directly in dev_get_addr() results in this >>>> compilation warning: >>>> warning: cast to pointer from integer of different size >>>> >>>> This patch introduces the new function dev_get_addr_ptr() that >>>> returns a pointer to the 'reg' address that can be used by drivers >>>> in this case. >>>> >>>> Signed-off-by: Stefan Roese <s...@denx.de> >>>> Cc: Simon Glass <s...@chromium.org> >>>> --- >>>> drivers/core/device.c | 5 +++++ >>>> include/dm/device.h | 10 ++++++++++ >>>> 2 files changed, 15 insertions(+) >>> >>> Reviewed-by: Simon Glass <s...@chromium.org> >>> >>> Request below... >>> >>>> >>>> diff --git a/drivers/core/device.c b/drivers/core/device.c >>>> index 269087a..1322991 100644 >>>> --- a/drivers/core/device.c >>>> +++ b/drivers/core/device.c >>>> @@ -673,6 +673,11 @@ fdt_addr_t dev_get_addr(struct udevice *dev) >>>> return dev_get_addr_index(dev, 0); >>>> } >>>> >>>> +void *dev_get_addr_ptr(struct udevice *dev) >>>> +{ >>>> + return (void *)(uintptr_t)dev_get_addr_index(dev, 0); >>>> +} >>>> + >>>> bool device_has_children(struct udevice *dev) >>>> { >>>> return !list_empty(&dev->child_head); >>>> diff --git a/include/dm/device.h b/include/dm/device.h >>>> index dad7591..0bcbead 100644 >>>> --- a/include/dm/device.h >>>> +++ b/include/dm/device.h >>>> @@ -454,6 +454,16 @@ int device_find_next_child(struct udevice **devp); >>>> fdt_addr_t dev_get_addr(struct udevice *dev); >>>> >>>> /** >>>> + * dev_get_addr_ptr() - Return pointer to the address of the reg property >>>> + * of a device >>>> + * >>>> + * @dev: Pointer to a device >>>> + * >>>> + * @return Pointer to addr >>> >>> Please mention the error condition, e.g. ", or NULL if there is no >>> such property" >> >> I'd like to get this applied. If you like I can fix this when applying? >> > > Looks this was already applied an in mainline. See > 28027521be95d27fcb83669e09ce3563bb4dd977
OK thanks, not sure what happened there. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot