From mboxrd@z Thu Jan 1 00:00:00 1970 From: Scott Wood Date: Tue, 25 Aug 2015 12:57:55 -0500 Subject: [U-Boot] [PATCH 2/9] net: e1000: Fix build warnings for 32-bit In-Reply-To: <1440487347-10517-2-git-send-email-bmeng.cn@gmail.com> References: <1440487347-10517-1-git-send-email-bmeng.cn@gmail.com> <1440487347-10517-2-git-send-email-bmeng.cn@gmail.com> Message-ID: <1440525475.16577.12.camel@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Tue, 2015-08-25 at 00:22 -0700, Bin Meng wrote: > commit 6497e37 "net: e1000: Support 64-bit physical address" causes > compiler warnings on 32-bit U-Boot build below. > > drivers/net/e1000.c: In function 'e1000_configure_tx': > drivers/net/e1000.c:4982:2: warning: right shift count >= width of type > [enabled by default] > drivers/net/e1000.c: In function 'e1000_configure_rx': > drivers/net/e1000.c:5126:2: warning: right shift count >= width of type > [enabled by default] > > This commit fixes the build warnings. > > Signed-off-by: Bin Meng > --- > > drivers/net/e1000.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/e1000.c b/drivers/net/e1000.c > index 6f74d30..a467280 100644 > --- a/drivers/net/e1000.c > +++ b/drivers/net/e1000.c > @@ -4977,9 +4977,10 @@ e1000_configure_tx(struct e1000_hw *hw) > unsigned long tctl; > unsigned long tipg, tarc; > uint32_t ipgr1, ipgr2; > + uint64_t tdba = (unsigned long)tx_base; > > - E1000_WRITE_REG(hw, TDBAL, (unsigned long)tx_base & 0xffffffff); > - E1000_WRITE_REG(hw, TDBAH, (unsigned long)tx_base >> 32); > + E1000_WRITE_REG(hw, TDBAL, (uint32_t)(tdba & 0xffffffff)); > + E1000_WRITE_REG(hw, TDBAH, (uint32_t)(tdba >> 32)); You could use upper_32_bits()/lower_32_bits(). -Scott