From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753893AbcCNWrv (ORCPT ); Mon, 14 Mar 2016 18:47:51 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:57568 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752005AbcCNWrs (ORCPT ); Mon, 14 Mar 2016 18:47:48 -0400 From: Arnd Bergmann To: Jassi Brar Cc: Arnd Bergmann , Heiko Stuebner , Caesar Wang , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH] mailbox: rockchip: avoid 64-bit division Date: Mon, 14 Mar 2016 23:46:55 +0100 Message-Id: <1457995629-1480353-1-git-send-email-arnd@arndb.de> X-Mailer: git-send-email 2.7.0 X-Provags-ID: V03:K0:HdsW1n55kkyR/8wwo8QmNFQ1oYuW8/tfR/pYvtihvsqkBtjJ00Z y0s7QvUvLaCNP3cWAsbxiAlvDXFqxWXY+Ysdr7LJ3M4kuWbWPdjXTRVIUVk57r4/Nt0onuH cVijjWAoBVXvcsOPDxmT1RuCON26TKBSoyba211purJ2aBfzuRL80CUQ8wdNGhPkkFTTVl7 6JIQjJ34tU6Vn7jLrEcUQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:x+4H+a8KFUE=:PhXaw6ZqPAetbuY3De3wql Cuckm1fqZlj2Z+OGirKVBNMbOAea8HAhXzY9dgYv7f0BGYHx/8KlEtBrETV7mnvrNuEKCszld tfSH7tGWwWb+EvBeuYtM7uCwRA8bbBBSFKgKy4RCXepbcT02MoaVj/yAyD55MiM7ki/6IoDTu Ar7i8lr0CjQ0jOb8UGI5oyAXbNP/Vkks1P2BspU4RAVrPRRhl8tiwzVAtdQFuzKnTzAagLfBN 4CWQBmWO1U2qDSkWX41/Un7lhBn0AydUIEUtW3YBkjipeQrDHGEWH9u26bffYk1DWlwp02o+h Gy+wCfn0v4vcKqmd3a/HDYjQFHIenUXONg/XebR+O8GOavbmWilLdDGbRhjEvanpz7+Qtn9RM TCYvnzFZXwxcDD12zepX99inQBZ03ACFu4WMvty4+ugWcOqJCOS3g/VynSYKXjq0Cflct1y0n kZ5ru3yDkB0moaKSdcsvEW25cIU5+lN/yfjVYCKvobfHYaEm/4y9l2GVm1yuuhJa8mUv9pikR cPIA7QX7HpOZauphQBdVI+vPXknHXMhe0o6ItkFfQ4hxnBYELjcVwApYp3e6wTUb2EYKQ9Ck5 659j8dLnO1bPPvFkkLCpfoYXvt7wSBaHgBui4SGMJSf8hCwzRXtvarrvd7rehPj690cRyVhtI 2M31q1bN34S6pHb6XrQetkPeeBq6ASg/q9KVDq1e6uiZG2IG//D2Dq6Z0pgW7dk5xwtY= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The newly added rockchip mailbox driver causes a bug in the ARM allyesconfig build because of a division of a resource_size_t variable that may be 64 bit wide: drivers/mailbox/built-in.o: In function `rockchip_mbox_probe': :(.text+0x6614): undefined reference to `__aeabi_uldivmod' This adds a cast to size_t, which turns it into a 32-bit division in this case. This is safe because we know that we cannot possibly map a resource that is longer than what a pointer contains, and in practice it will be very short instead. Signed-off-by: Arnd Bergmann --- drivers/mailbox/rockchip-mailbox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mailbox/rockchip-mailbox.c b/drivers/mailbox/rockchip-mailbox.c index b79a2871227c..d702a204f5c1 100644 --- a/drivers/mailbox/rockchip-mailbox.c +++ b/drivers/mailbox/rockchip-mailbox.c @@ -213,7 +213,7 @@ static int rockchip_mbox_probe(struct platform_device *pdev) return PTR_ERR(mb->mbox_base); /* Each channel has two buffers for A2B and B2A */ - mb->buf_size = resource_size(res) / (drv_data->num_chans * 2); + mb->buf_size = (size_t)resource_size(res) / (drv_data->num_chans * 2); mb->pclk = devm_clk_get(&pdev->dev, "pclk_mailbox"); if (IS_ERR(mb->pclk)) { -- 2.7.0