Message ID | 20170928123515.154787-1-sjg@chromium.org |
---|---|
State | Accepted |
Commit | 8ccc2db6e84244e5cb57885dc9dfd7e752071b98 |
Delegated to: | Simon Glass |
Headers | show |
Series | [U-Boot] dm: core: Correct address cast in dev_read_addr_ptr() | expand |
> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: > > This currently causes a warning in sandbox and will not do the right > thing: > > drivers/core/read.c: In function ‘dev_read_addr_ptr’: > drivers/core/read.c:64:44: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > > Use map_sysmem() which is the correct way to convert an address to a > pointer. > > Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) > Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
On Thu, Sep 28, 2017 at 8:35 PM, Simon Glass <sjg@chromium.org> wrote: > This currently causes a warning in sandbox and will not do the right > thing: > > drivers/core/read.c: In function ‘dev_read_addr_ptr’: > drivers/core/read.c:64:44: warning: cast to pointer from integer of > different size [-Wint-to-pointer-cast] > return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > > Use map_sysmem() which is the correct way to convert an address to a > pointer. > > Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > drivers/core/read.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com>
Simon, > On 28 Sep 2017, at 18:14, Dr. Philipp Tomsich <philipp.tomsich@theobroma-systems.com> wrote: > > >> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: >> >> This currently causes a warning in sandbox and will not do the right >> thing: >> >> drivers/core/read.c: In function ‘dev_read_addr_ptr’: >> drivers/core/read.c:64:44: warning: cast to pointer from integer of >> different size [-Wint-to-pointer-cast] >> return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; >> >> Use map_sysmem() which is the correct way to convert an address to a >> pointer. >> >> Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) >> Signed-off-by: Simon Glass <sjg@chromium.org> > > Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> I’ll pull this one in through u-boot-rockchip now, as Tom raised it as a build issue against my last pull-request. Philipp.
On Sat, Sep 30, 2017 at 06:08:02PM +0200, Dr. Philipp Tomsich wrote: > Simon, > > > On 28 Sep 2017, at 18:14, Dr. Philipp Tomsich <philipp.tomsich@theobroma-systems.com> wrote: > > > > > >> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: > >> > >> This currently causes a warning in sandbox and will not do the right > >> thing: > >> > >> drivers/core/read.c: In function ‘dev_read_addr_ptr’: > >> drivers/core/read.c:64:44: warning: cast to pointer from integer of > >> different size [-Wint-to-pointer-cast] > >> return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > >> > >> Use map_sysmem() which is the correct way to convert an address to a > >> pointer. > >> > >> Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) > >> Signed-off-by: Simon Glass <sjg@chromium.org> > > > > Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > > > Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > > I’ll pull this one in through u-boot-rockchip now, as Tom raised it as a build > issue against my last pull-request. Well, that's for the minor existing warning. The big problem is the build failures :)
> On 30 Sep 2017, at 22:32, Tom Rini <trini@konsulko.com> wrote: > > On Sat, Sep 30, 2017 at 06:08:02PM +0200, Dr. Philipp Tomsich wrote: >> Simon, >> >>> On 28 Sep 2017, at 18:14, Dr. Philipp Tomsich <philipp.tomsich@theobroma-systems.com> wrote: >>> >>> >>>> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: >>>> >>>> This currently causes a warning in sandbox and will not do the right >>>> thing: >>>> >>>> drivers/core/read.c: In function ‘dev_read_addr_ptr’: >>>> drivers/core/read.c:64:44: warning: cast to pointer from integer of >>>> different size [-Wint-to-pointer-cast] >>>> return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; >>>> >>>> Use map_sysmem() which is the correct way to convert an address to a >>>> pointer. >>>> >>>> Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) >>>> Signed-off-by: Simon Glass <sjg@chromium.org> >>> >>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >> >> >> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> >> >> I’ll pull this one in through u-boot-rockchip now, as Tom raised it as a build >> issue against my last pull-request. > > Well, that's for the minor existing warning. The big problem is the > build failures :) I already backed Jagan’s change to mach-tegra/cache.c out (missed that during my review and testing) and this is already running on Travis. I understood you that I should also address those warnings related to the Rockchip code? If not, I’d rather have this one go through the -dm tree…
On Sun, Oct 01, 2017 at 12:31:21AM +0200, Dr. Philipp Tomsich wrote: > > > On 30 Sep 2017, at 22:32, Tom Rini <trini@konsulko.com> wrote: > > > > On Sat, Sep 30, 2017 at 06:08:02PM +0200, Dr. Philipp Tomsich wrote: > >> Simon, > >> > >>> On 28 Sep 2017, at 18:14, Dr. Philipp Tomsich <philipp.tomsich@theobroma-systems.com> wrote: > >>> > >>> > >>>> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: > >>>> > >>>> This currently causes a warning in sandbox and will not do the right > >>>> thing: > >>>> > >>>> drivers/core/read.c: In function ‘dev_read_addr_ptr’: > >>>> drivers/core/read.c:64:44: warning: cast to pointer from integer of > >>>> different size [-Wint-to-pointer-cast] > >>>> return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > >>>> > >>>> Use map_sysmem() which is the correct way to convert an address to a > >>>> pointer. > >>>> > >>>> Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) > >>>> Signed-off-by: Simon Glass <sjg@chromium.org> > >>> > >>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >> > >> > >> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >> > >> I’ll pull this one in through u-boot-rockchip now, as Tom raised it as a build > >> issue against my last pull-request. > > > > Well, that's for the minor existing warning. The big problem is the > > build failures :) > > I already backed Jagan’s change to mach-tegra/cache.c out (missed that > during my review and testing) and this is already running on Travis. > > I understood you that I should also address those warnings related to > the Rockchip code? If not, I’d rather have this one go through the -dm > tree… The DM warning fix can come via Simon's tree, thanks!
On Sun, Oct 01, 2017 at 12:31:21AM +0200, Dr. Philipp Tomsich wrote: > > > On 30 Sep 2017, at 22:32, Tom Rini <trini@konsulko.com> wrote: > > > > On Sat, Sep 30, 2017 at 06:08:02PM +0200, Dr. Philipp Tomsich wrote: > >> Simon, > >> > >>> On 28 Sep 2017, at 18:14, Dr. Philipp Tomsich <philipp.tomsich@theobroma-systems.com> wrote: > >>> > >>> > >>>> On 28 Sep 2017, at 14:35, Simon Glass <sjg@chromium.org> wrote: > >>>> > >>>> This currently causes a warning in sandbox and will not do the right > >>>> thing: > >>>> > >>>> drivers/core/read.c: In function ‘dev_read_addr_ptr’: > >>>> drivers/core/read.c:64:44: warning: cast to pointer from integer of > >>>> different size [-Wint-to-pointer-cast] > >>>> return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; > >>>> > >>>> Use map_sysmem() which is the correct way to convert an address to a > >>>> pointer. > >>>> > >>>> Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) > >>>> Signed-off-by: Simon Glass <sjg@chromium.org> > >>> > >>> Reviewed-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >> > >> > >> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> > >> > >> I’ll pull this one in through u-boot-rockchip now, as Tom raised it as a build > >> issue against my last pull-request. > > > > Well, that's for the minor existing warning. The big problem is the > > build failures :) > > I already backed Jagan’s change to mach-tegra/cache.c out (missed that > during my review and testing) and this is already running on Travis. > > I understood you that I should also address those warnings related to > the Rockchip code? If not, I’d rather have this one go through the -dm > tree… The DM warning fix can come via Simon's tree, thanks!
diff --git a/drivers/core/read.c b/drivers/core/read.c index eacf1716fd..5d440cee72 100644 --- a/drivers/core/read.c +++ b/drivers/core/read.c @@ -7,6 +7,7 @@ #include <common.h> #include <dm.h> +#include <mapmem.h> #include <dm/of_access.h> int dev_read_u32_default(struct udevice *dev, const char *propname, int def) @@ -61,7 +62,7 @@ void *dev_read_addr_ptr(struct udevice *dev) { fdt_addr_t addr = dev_read_addr(dev); - return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; + return (addr == FDT_ADDR_T_NONE) ? NULL : map_sysmem(addr, 0); } fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property,
This currently causes a warning in sandbox and will not do the right thing: drivers/core/read.c: In function ‘dev_read_addr_ptr’: drivers/core/read.c:64:44: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; Use map_sysmem() which is the correct way to convert an address to a pointer. Fixes: c131c8bca8 (dm: core: add dev_read_addr_ptr()) Signed-off-by: Simon Glass <sjg@chromium.org> --- drivers/core/read.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)