From patchwork Tue Oct 4 07:32:51 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Madalin Bucur X-Patchwork-Id: 677947 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3sp9pB5Nwvz9ryn for ; Tue, 4 Oct 2016 18:41:22 +1100 (AEDT) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 3sp9pB4fLgzDvbj for ; Tue, 4 Oct 2016 18:41:22 +1100 (AEDT) X-Original-To: linuxppc-dev@lists.ozlabs.org Delivered-To: linuxppc-dev@lists.ozlabs.org Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0062.outbound.protection.outlook.com [104.47.32.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 3sp9cr611szDrc6 for ; Tue, 4 Oct 2016 18:33:16 +1100 (AEDT) Received: from BN3PR0301CA0082.namprd03.prod.outlook.com (10.160.152.178) by SN1PR0301MB2015.namprd03.prod.outlook.com (10.163.225.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.649.16; Tue, 4 Oct 2016 07:33:12 +0000 Received: from BY2FFO11FD031.protection.gbl (2a01:111:f400:7c0c::151) by BN3PR0301CA0082.outlook.office365.com (2a01:111:e400:401e::50) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.649.16 via Frontend Transport; Tue, 4 Oct 2016 07:33:12 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; gmail.com; dkim=none (message not signed) header.d=none; gmail.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11FD031.mail.protection.outlook.com (10.1.14.196) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Tue, 4 Oct 2016 07:33:09 +0000 Received: from fsr-fed2164-101.ea.freescale.net (fsr-fed2164-101.ea.freescale.net [10.171.73.197]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id u947WxJ2022632; Tue, 4 Oct 2016 00:33:08 -0700 From: Madalin Bucur To: Subject: [net-next 05/13] fsl/fman: simplify device tree reads Date: Tue, 4 Oct 2016 10:32:51 +0300 Message-ID: <1475566379-5078-6-git-send-email-madalin.bucur@nxp.com> X-Mailer: git-send-email 1.8.2.3 In-Reply-To: <1475566379-5078-1-git-send-email-madalin.bucur@nxp.com> References: <1475566379-5078-1-git-send-email-madalin.bucur@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131200399916829090; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(50466002)(110136003)(48376002)(43066003)(105606002)(76176999)(8676002)(50986999)(53806999)(189998001)(6666003)(586003)(6916009)(5660300001)(50226002)(2950100002)(86362001)(229853001)(106466001)(626004)(4720700002)(104016004)(2351001)(33646002)(36756003)(5003940100001)(87936001)(19580405001)(19580395003)(4326007)(47776003)(3450700001)(69596002)(68736007)(11100500001)(356003)(8936002)(2906002)(85426001)(97736004)(7846002)(305945005)(81156014)(77096005)(81166006); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0301MB2015; H:az84smr01.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD031; 1:4gI4txdnnDITZiJOeF7fGWxS5Tt31PeN88ZyxOaE85Dm+TbmzAIRmhWvVCt5BndZrWykCD6SDm9rPZaZ+sp9nRstyWxz0MyqEX0PybWfbrSMFk/P+RlOlvwtKUPrWT8Ef6I6ttLnt2nEgot+BgsMRZPgfiCUFBPgXKZkLBYZQsPU5KHgTPxVI7jcYo3zNShXvfVlBIK+60UKCVW/W/eL7Gayr1uPqi1O/HG/2JDUYvadLuMaGcVecpVAD7E4luw1W98cZq8NzBh8jL0DC1FxT2IQKfHQ/Al+pEAI/gSwI7MTvVI/3BhXLdEHPO9oK+zYesTomwX+1k8w98LrLHi8WvXGhjMznV2rABFnMdKUAnqclm2X6bL2Duphn0CYYBl/wiu56hZvGCvQ4FUZ/5LMbgr3JPm2TYlAryqL/+w+97T5NPuLAaMBfXH1ahgWonX0OngczhQ8BwvXqwehMUnqzUPFKxVTUFVdswvykTfMW1fo++uorvl4lCzGDfGPmkkJp8vxoGy5hfIWy4MhuwkzlCbz3L0C5xoPs6N6jYNFOpoKZF6tSdh6hhrLsJJRXc8t7u6VB8izbzlZSrS5a8cy6REp8ZZUw9zoTELg3pys82DdkHqxD15CAEbaLAQQCcuI MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 71178295-7443-4b20-89a2-08d3ec28b1e5 X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2015; 2:I2oIsOZvto/B7B+UKnjFsssGTasK3B7Zxax1eKXlBBNKA2wnEKD2JkcesM0rwuwVErBKZezSAHQ2tVjB4ChHtGUA6T7wLii86RHKWGLIf87xQIMDcRmfph9m00QAQ0SqkcyE6SNXzDNXoSK7lJqJybpGHo6XZYaqE9OTsw7fRTMLh+WHlqUfdgBPyglYhM/7xetjdcv78mhpxApIPuwrnA==; 3:ZIvK7YxHvhoP4lXt34iVZh5Zf2kqSy8B94tPZf1DCxjv/MPcSOTbZ5ugfWziJyv9ZDGJ4aGLCUK1cX5jlRVfcsLzBCQJsoQzFVN+Cdt6iBSVzMw61/OoE1ECHkxbC+EAzP9putQBbhN3RVl2oInLfQlkvr/8f66GKtBdnriXfSibL0R/nzoGiY0VSGE8NqwsYx2r/rzDA0SViP+S1e6QWsZrgh3CsLzOLwmTEAn+c07xdhhKJ+zVoD2vXI79lBvc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB2015; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2015; 25:CdLP1cVHAF/yXiOLozhXYSO62eeKUASUkzLrfiojmsrFXkbqrjbCbLl7W2EXQEBR3VrTX4Z2XcP2o1CeGyD8g5iynGYIpcYozNGCTB+9U9Fjw0zMfXTzDfGVeVbMat9Jv6tzlfQ6l+LaOQs0cyyxjrTppVEkntdSlomMx0tYrs7URoBjlU0DIYAIWpOFHor3ze/8F7weGkGsBYnUDBwGKucN6Djih8cll9SwYzUXs3Uxu9iWEdEJ6rFMOiQpv9fMXhOzWOlbtJMr7SqzBH8l/PzlPiSMpSm9owZnT8hFI/2bd8JrG1Wmy494j8SRKQ+NCLNBzqo9xExe05XfTHiwLw4Cu/NHd1T+Wj38nLoZaNlJVkEhI0L/sifzVTF+TD999IiFfNr9MHRF8OULonhI+x9vYCv6SbLt6VlXRmlpveV4LCY0Qbjk8s4GlxtoFIdhKTYfV5wJXSdt9OTUmfeex4Yye/5Wljj3OQ9gXyM42taf5mFr0x2eNWrUhH1TIewDT3r2UnP36KitqgO9zLvXfhe5mnYZzs2q647vPhOGM2GkwynqtHHRglU3gsx4vo4NG57crRbmLdxD6C5GoBFPfWCLDVpmMliXnO3qzsQkUamtHxem3qn/Y6LwDYegv4McU3KCZQI1zLgMwBe4Aij8OxwZTogKtmTcdCNWHKoL+3bAUBq4IdYWTXz+7iyYiElJdeTZK80wpzH6qZwIlvaYiNUWNTw7JvkKbtHwho0z5No= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2015; 31:e18GIPoenqWI7uI6LkK3MmopwGIxAbke+tyAPfDij94QC8iL0jl6nFs4Prs8L4ixw7NmZ/Sl7pz5qRn7q9OZunhaaghEfK+f1zqZ8czktizczVo+nR1PRhRJiggK8KqtZaSSn4Poi3NslmJ4p1emk2ZPVmA8fhbOLwKJv5/GzBguR2bOh4nTBruL6CE7Vzptw6un10Xg6ZE1KGrrB2RPj5DNtZLhlRLD3fxTicH4th979U8Z3nDtNwharZfFFPgw+1FoqGULz4YJyxCL4UeLtA==; 4:XgvxHBAGMqgZMx1uAOexrW1VNYhqJ6sa5kgfTXxQX5W4fcJDh30YBpDCE1Zux/bOrj+nDLRuthcGv0NkP819XcUMix+CjGns4hzF9W0ZqiW5yvBSPH/oIojQ14eW4sXQzCSVu4CJ+Eh6zZa4HZfEhdir3nWNTjz7ellFEvGdvwQR7tx7Lu0pUrcXnAQJJGPMja94+XrMrfbzN5/x6s1lr7jL9p4OgY0iiTQQA5JnCIcQOfU9mjIXHFfxrwtF6aX5ryPyjsjCBTPtd4+X2EayGeZtCSCkh4SsC4e9aBa8pn16Q3ah7nJYHhFdvOrcqACpffDK0p+TWcUkjkRGr6JKUHhaiZ5BA/3Znax9avJt00NBIbSg2gSowUnbZbY7aMpu/1MVppiXLC77+xhlTOhFF0zAd8CBIIch1SULVrMuwhmjbErN79so2b6dE41DORuUu2irykjUXWxR+B9aWt+XEjZHZcB+XBxK7+qGP9nst78J/sARQQidAOQ/3H+ataZ1yX412uza54Xi/cF/BJtJgZQvf0lSYK28cbvknlxr04piCzf6s6vma50xLy5FQ54c4RqX1aBl22Wfj0a3WfN2cA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197)(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(13015025)(13018025)(13024025)(13023025)(13017025)(5005006)(10201501046)(3002001)(6055026); SRVR:SN1PR0301MB2015; BCL:0; PCL:0; RULEID:(400006); SRVR:SN1PR0301MB2015; X-Forefront-PRVS: 00851CA28B X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0301MB2015; 23:7CgJ+kNoYtsiz/auG//4Hf9GAy3LtkPuKtOVO/V?= =?us-ascii?Q?TVePmeqDSlpDQMk013fOPAayhRvKBwJZN4ASTWqTKBN0jYSCWuqHs8n8aEuh?= =?us-ascii?Q?Hn4cKoV09ZM4TzRCPX3pS6c44r7Zham278YnUP/7FcbRQOmeFy8+HcWijVHc?= =?us-ascii?Q?vDEYbJSQGEfNuo2ty2UyN57USNPmafcq97es8Vm2jffR7zMedU6FVGYyD3Hq?= =?us-ascii?Q?CEcfBvxcGoW82BE07nDkieapFnqkAdKk99NcooNzyiY8KfpJ4fbw1JfTR+Rs?= =?us-ascii?Q?IV2431Xi8JUWaAFd0t1PyuRX29yxUKLnWHMDMvnlHE5396jCPn+UaP1JgQet?= =?us-ascii?Q?YUiS+BNhBt+I0CrVSki9Mk5wpaf7u0c7enX6UbmEpRjXcHK/CeTLNtNXusJJ?= =?us-ascii?Q?Cgs1llKLPaLxxql3aPiYAh5mue4ONc6pgi+cju2zqA2OyUaeka2+cbpSaJJQ?= =?us-ascii?Q?zyo1iMiYzUUYwUJlch76pD/RieVOaTa/oL1pxIP+ASCaYq/+kE8wT+y8TUfX?= =?us-ascii?Q?F47+VeHTIJSb4xpsgbcjw65YPT6JoIl4NQEIs/OqmAY7IaZviN6SaA3MR/Fn?= =?us-ascii?Q?7dK2ZtJbvqqcsH6SPXUZle9glwWAGGNEit9nEOO5VyJbWIU4Vi4qZQc1K+rJ?= =?us-ascii?Q?VEhFviKWcXNb9pac9yDNtKvUYlAxQR3qA3KRLVL8dD1AYDFi7BQbvq21x1zw?= =?us-ascii?Q?oOHUxsVrQG6R4gltg+WxNwBs7YVLFh6Baa+BTOWEDu1ZSXGFHFM/2h86WKKj?= =?us-ascii?Q?xUfHnghI81q6xpON/Nj7OGCQXbR0ToPO8MDWrZnkI0bASqs6DNmXCuXj8tba?= =?us-ascii?Q?h/jkUNyH7ACp18y3J424pFTCe7V+YewlBoYclEPm3LUSNxHV6GG4ZWynGHla?= =?us-ascii?Q?vjczZOsUrl0/pKpfvaakHu6gpuC5DSInUnjxuXLyDhj8JPl44yS6Pq7R8uEn?= =?us-ascii?Q?csNvSLoQZ3zVO4xgPw5b3GEP1/PIUr2zDRONXEZ3hEWqD2HBnw5nfDdtXLAO?= =?us-ascii?Q?pk1IEnDQInbIQURJf7BVfeDYUi9pRuYtBpCCkjZD1hU+iel1CIs8INSiKSWd?= =?us-ascii?Q?omi8hg25tOg9hKIv9VCxNFKQb3XBG3wPn+4pgC+mDy2JJOEgXbVZ8GNq1Q+R?= =?us-ascii?Q?l7deq1syOlW8zqFth3Ey5F/jBxOcAi/pI3NFHeZH4DvYkQ1MOhzhYVdXO/GO?= =?us-ascii?Q?kSzKyV9rNNlahKAiXnvYJugpMRpaDKsz5yBP6kfv9qWNVLOqr3OFESfNY9gV?= =?us-ascii?Q?wMB66TB5HWQQXlLsozAgDRnho0WaEzhn74USGAYaz?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2015; 6:tZ+AcvXNfAS5esWKnf6ZTAjfQoP3KlMMIX5j6dulFyKfe6gvnb4ZTIejpNUNdXfoAOdXXhST4Ny7GOpd8M1EwU6Cuye4JcLpO612bH0s7yo1awe11k+Z0/If2nkSvJ5la2+wEJnJH5VD79iJoNqtaNp3zn144J14nONK5PNwDZnZ2pEpRiHkgWJgXSJla1HaWe9BfePrHP54GVM7uyyoL9OCdHiy7t+gBpCOPYieeaO/yGHjXCPiFa+u8PK9rWOM940A204hgKSUv8DFI7WFBPyyheOaNQFg7XJ/7sPhfX0jnVoEc726yEguMuI0Dlkq; 5:JoBSKiyEbqQmGfsZ5izngVTKimuf4FNYzSFS2qBqE6gVlyGSLfoc3EePut4qfHCusqIPHNe1V7u0Y5OgujWLR1lJ90h64aeqJIgQtfZnSHy27L42F8BsJnbZjB5g2qF6wNBZAPAzR9bPDtVPUzS6fJiso2pl1cxMzxIfwfQCALRE1RLznjHqc09Qdd/Y5l5O; 24:sqvOMoDTXfcuI+2wKH+dxF3djM4LdssnQe0zeVFyfTeNrr6PK7rxiT4cNPqwEy/WifpZkk/TR7ZZuxokOHFz3HQJ+fCpw4JzSnHjVisoWeQ= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SN1PR0301MB2015; 7:2pfG40Rx01XhwMt4YlAXEb11cLWTm5QB+k7D/n1Ol/idtPpEYkUKdTspezXZNW30CcvPvW0Q/72Xnw4DgUfMfubZgTB3QJUO++cQz/5LMidIliwfme+eLw4Y0NNfOAgoEVl+467yeC1PWm/F85f/+l0akbuf1tvOYyV3Z2ruCBZbLeeYlbR726kbb3NGYR7iVUope+usRLCCJRMBYnpQKwcwtN8c+B6rsNcMJTIC5fDrSWgNxRF+f9Exjd9wEsRG70BnvLoATedWXsHOHTDEYW8th/krPG2PxqJbHPyRlBC7+KLNIlMDQgwvXIOELz2DOYSdPISHA5lugEQGQzPXIA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Oct 2016 07:33:09.8420 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB2015 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: madalin.bucur@nxp.com Cc: linuxdev.baldrick@gmail.com, linuxppc-dev@lists.ozlabs.org, davem@davemloft.net, linux-kernel@vger.kernel.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" From: Madalin Bucur Signed-off-by: Madalin Bucur --- drivers/net/ethernet/freescale/fman/fman.c | 30 ++++++++++--------------- drivers/net/ethernet/freescale/fman/fman_port.c | 24 ++++++-------------- drivers/net/ethernet/freescale/fman/mac.c | 24 +++++++++----------- 3 files changed, 30 insertions(+), 48 deletions(-) diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c index fb25748..2278bbd 100644 --- a/drivers/net/ethernet/freescale/fman/fman.c +++ b/drivers/net/ethernet/freescale/fman/fman.c @@ -2737,8 +2737,8 @@ static struct fman *read_dts_node(struct platform_device *of_dev) struct fman *fman; struct device_node *fm_node, *muram_node; struct resource *res; - const u32 *u32_prop; - int lenp, err, irq; + u32 val, range[2]; + int err, irq; struct clk *clk; u32 clk_rate; phys_addr_t phys_base_addr; @@ -2750,16 +2750,13 @@ static struct fman *read_dts_node(struct platform_device *of_dev) fm_node = of_node_get(of_dev->dev.of_node); - u32_prop = (const u32 *)of_get_property(fm_node, "cell-index", &lenp); - if (!u32_prop) { - dev_err(&of_dev->dev, "%s: of_get_property(%s, cell-index) failed\n", + err = of_property_read_u32(fm_node, "cell-index", &val); + if (err) { + dev_err(&of_dev->dev, "%s: failed to read cell-index for %s\n", __func__, fm_node->full_name); goto fman_node_put; } - if (WARN_ON(lenp != sizeof(u32))) - goto fman_node_put; - - fman->dts_params.id = (u8)fdt32_to_cpu(u32_prop[0]); + fman->dts_params.id = (u8)val; /* Get the FM interrupt */ res = platform_get_resource(of_dev, IORESOURCE_IRQ, 0); @@ -2806,18 +2803,15 @@ static struct fman *read_dts_node(struct platform_device *of_dev) /* Rounding to MHz */ fman->dts_params.clk_freq = DIV_ROUND_UP(clk_rate, 1000000); - u32_prop = (const u32 *)of_get_property(fm_node, - "fsl,qman-channel-range", - &lenp); - if (!u32_prop) { - dev_err(&of_dev->dev, "%s: of_get_property(%s, fsl,qman-channel-range) failed\n", + err = of_property_read_u32_array(fm_node, "fsl,qman-channel-range", + &range[0], 2); + if (err) { + dev_err(&of_dev->dev, "%s: failed to read fsl,qman-channel-range for %s\n", __func__, fm_node->full_name); goto fman_node_put; } - if (WARN_ON(lenp != sizeof(u32) * 2)) - goto fman_node_put; - fman->dts_params.qman_channel_base = fdt32_to_cpu(u32_prop[0]); - fman->dts_params.num_of_qman_channels = fdt32_to_cpu(u32_prop[1]); + fman->dts_params.qman_channel_base = range[0]; + fman->dts_params.num_of_qman_channels = range[1]; /* Get the MURAM base address and size */ muram_node = of_find_matching_node(fm_node, fman_muram_match); diff --git a/drivers/net/ethernet/freescale/fman/fman_port.c b/drivers/net/ethernet/freescale/fman/fman_port.c index 8b043e7..9f3bb50 100644 --- a/drivers/net/ethernet/freescale/fman/fman_port.c +++ b/drivers/net/ethernet/freescale/fman/fman_port.c @@ -1625,7 +1625,7 @@ static int fman_port_probe(struct platform_device *of_dev) struct device_node *fm_node, *port_node; struct resource res; struct resource *dev_res; - const u32 *u32_prop; + u32 val; int err = 0, lenp; enum fman_port_type port_type; u16 port_speed; @@ -1654,28 +1654,20 @@ static int fman_port_probe(struct platform_device *of_dev) goto return_err; } - u32_prop = (const u32 *)of_get_property(port_node, "cell-index", &lenp); - if (!u32_prop) { - dev_err(port->dev, "%s: of_get_property(%s, cell-index) failed\n", + err = of_property_read_u32(port_node, "cell-index", &val); + if (err) { + dev_err(port->dev, "%s: reading cell-index for %s failed\n", __func__, port_node->full_name); err = -EINVAL; goto return_err; } - if (WARN_ON(lenp != sizeof(u32))) { - err = -EINVAL; - goto return_err; - } - port_id = (u8)fdt32_to_cpu(u32_prop[0]); - + port_id = (u8)val; port->dts_params.id = port_id; if (of_device_is_compatible(port_node, "fsl,fman-v3-port-tx")) { port_type = FMAN_PORT_TYPE_TX; port_speed = 1000; - u32_prop = (const u32 *)of_get_property(port_node, - "fsl,fman-10g-port", - &lenp); - if (u32_prop) + if (of_find_property(port_node, "fsl,fman-10g-port", &lenp)) port_speed = 10000; } else if (of_device_is_compatible(port_node, "fsl,fman-v2-port-tx")) { @@ -1688,9 +1680,7 @@ static int fman_port_probe(struct platform_device *of_dev) } else if (of_device_is_compatible(port_node, "fsl,fman-v3-port-rx")) { port_type = FMAN_PORT_TYPE_RX; port_speed = 1000; - u32_prop = (const u32 *)of_get_property(port_node, - "fsl,fman-10g-port", &lenp); - if (u32_prop) + if (of_find_property(port_node, "fsl,fman-10g-port", &lenp)) port_speed = 10000; } else if (of_device_is_compatible(port_node, "fsl,fman-v2-port-rx")) { diff --git a/drivers/net/ethernet/freescale/fman/mac.c b/drivers/net/ethernet/freescale/fman/mac.c index f94fad7..dc04e61 100644 --- a/drivers/net/ethernet/freescale/fman/mac.c +++ b/drivers/net/ethernet/freescale/fman/mac.c @@ -653,7 +653,7 @@ MODULE_DEVICE_TABLE(of, mac_match); static int mac_probe(struct platform_device *_of_dev) { - int err, i, lenp, nph; + int err, i, nph; struct device *dev; struct device_node *mac_node, *dev_node; struct mac_device *mac_dev; @@ -661,7 +661,7 @@ static int mac_probe(struct platform_device *_of_dev) struct resource res; struct mac_priv_s *priv; const u8 *mac_addr; - const u32 *u32_prop; + u32 val; u8 fman_id; dev = &_of_dev->dev; @@ -723,16 +723,15 @@ static int mac_probe(struct platform_device *_of_dev) } /* Get the FMan cell-index */ - u32_prop = of_get_property(dev_node, "cell-index", &lenp); - if (!u32_prop) { - dev_err(dev, "of_get_property(%s, cell-index) failed\n", + err = of_property_read_u32(dev_node, "cell-index", &val); + if (err) { + dev_err(dev, "failed to read cell-index for %s\n", dev_node->full_name); err = -EINVAL; goto _return_of_node_put; } - WARN_ON(lenp != sizeof(u32)); /* cell-index 0 => FMan id 1 */ - fman_id = (u8)(fdt32_to_cpu(u32_prop[0]) + 1); + fman_id = (u8)(val + 1); priv->fman = fman_bind(&of_dev->dev); if (!priv->fman) { @@ -779,15 +778,14 @@ static int mac_probe(struct platform_device *_of_dev) } /* Get the cell-index */ - u32_prop = of_get_property(mac_node, "cell-index", &lenp); - if (!u32_prop) { - dev_err(dev, "of_get_property(%s, cell-index) failed\n", + err = of_property_read_u32(mac_node, "cell-index", &val); + if (err) { + dev_err(dev, "failed to read cell-index for %s\n", mac_node->full_name); err = -EINVAL; goto _return_dev_set_drvdata; } - WARN_ON(lenp != sizeof(u32)); - priv->cell_index = (u8)fdt32_to_cpu(u32_prop[0]); + priv->cell_index = (u8)val; /* Get the MAC address */ mac_addr = of_get_mac_address(mac_node); @@ -847,7 +845,7 @@ static int mac_probe(struct platform_device *_of_dev) priv->phy_if = of_get_phy_mode(mac_node); if (priv->phy_if < 0) { dev_warn(dev, - "of_get_property(%s, phy-connection-type) failed. Defaulting to MII\n", + "of_get_phy_mode() for %s failed. Defaulting to MII\n", mac_node->full_name); priv->phy_if = PHY_INTERFACE_MODE_MII; }