From patchwork Thu Feb 6 18:33:11 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tomasz Figa X-Patchwork-Id: 3597701 Return-Path: X-Original-To: patchwork-linux-samsung-soc@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 7826EBF418 for ; Thu, 6 Feb 2014 18:33:27 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7D6BC2010C for ; Thu, 6 Feb 2014 18:33:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1FD172010B for ; Thu, 6 Feb 2014 18:33:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751427AbaBFSdY (ORCPT ); Thu, 6 Feb 2014 13:33:24 -0500 Received: from mailout2.w1.samsung.com ([210.118.77.12]:62335 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751403AbaBFSdX (ORCPT ); Thu, 6 Feb 2014 13:33:23 -0500 Received: from eucpsbgm1.samsung.com (unknown [203.254.199.244]) by mailout2.w1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0N0L00IS57JIXIA0@mailout2.w1.samsung.com> for linux-samsung-soc@vger.kernel.org; Thu, 06 Feb 2014 18:33:18 +0000 (GMT) X-AuditID: cbfec7f4-b7f796d000005a13-9b-52f3d57172cb Received: from eusync1.samsung.com ( [203.254.199.211]) by eucpsbgm1.samsung.com (EUCPMTA) with SMTP id 4F.6C.23059.175D3F25; Thu, 06 Feb 2014 18:33:21 +0000 (GMT) Received: from AMDC1227.digital.local ([106.116.147.199]) by eusync1.samsung.com (Oracle Communications Messaging Server 7u4-23.01(7.0.4.23.0) 64bit (built Aug 10 2011)) with ESMTPA id <0N0L00I7J7JIFN10@eusync1.samsung.com>; Thu, 06 Feb 2014 18:33:21 +0000 (GMT) From: Tomasz Figa To: linux-samsung-soc@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, Kyungmin Park , Mike Turquette , Marek Szyprowski , Sylwester Nawrocki , Tomasz Figa Subject: [PATCH] clk: samsung: Initialize clock table with error pointers Date: Thu, 06 Feb 2014 19:33:11 +0100 Message-id: <1391711591-19416-1-git-send-email-t.figa@samsung.com> X-Mailer: git-send-email 1.8.5.2 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrBJMWRmVeSWpSXmKPExsVy+t/xy7qFVz8HGWx+rWRxtukNu8Wmx9dY LWac38dksfbIXXaLpxMuslkcftPOarF+xmsWB3aPO9f2sHlsXlLv0bdlFaPH501yASxRXDYp qTmZZalF+nYJXBk7Di9iKZjCWfFj12S2Bsb97F2MnBwSAiYSX1deYoKwxSQu3FvP1sXIxSEk sJRR4uTVqewQTh+TxISnf9lAqtgE1CQ+NzwCs0UEVCU+ty0AK2IW+M8oMf/DdUaQhLCAp8Th 49/AbBagoi+3d4Ct4BVwkjh69RZQnANonYLE6utCExi5FzAyrGIUTS1NLihOSs811CtOzC0u zUvXS87P3cQICY0vOxgXH7M6xCjAwajEw3ti6ecgIdbEsuLK3EOMEhzMSiK8mnuBQrwpiZVV qUX58UWlOanFhxiZODilGhiVdzgFrF45o7Dim+jv26+4Vk0+t/go38b1eT3vMmKP2rH3r9lo HH35z84s8/vx1zJir3JdvOafu61kduf+oKLrmy1kJUIeTNxdrpK9a95hvtULJTi1Nd2XRYjs 3rht/6HqOr+dn2Nt/BTUVYqnzH50vfOA2dSV4UK/ePbULH/yzeDPoa/XQq+rK7EUZyQaajEX FScCAIiU8QTrAQAA Sender: linux-samsung-soc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-samsung-soc@vger.kernel.org X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Before this patch, the driver was simply zeroing the clock table, which is incorrect, because invalid clock numbers returned NULL instead of error pointers. This patch fixes this by changing the driver to initialize the array with PTR_ERR(-ENOENT). Signed-off-by: Tomasz Figa Acked-by: Kyungmin Park Reviewed-by: Sylwester Nawrocki --- drivers/clk/samsung/clk.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c index 91bec3e..f3a71d0 100644 --- a/drivers/clk/samsung/clk.c +++ b/drivers/clk/samsung/clk.c @@ -58,12 +58,17 @@ struct samsung_clk_reg_dump *samsung_clk_alloc_reg_dump( void __init samsung_clk_init(struct device_node *np, void __iomem *base, unsigned long nr_clks) { + int i; + reg_base = base; - clk_table = kzalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL); + clk_table = kmalloc(sizeof(struct clk *) * nr_clks, GFP_KERNEL); if (!clk_table) panic("could not allocate clock lookup table\n"); + for (i = 0; i < nr_clks; ++i) + clk_table[i] = ERR_PTR(-ENOENT); + if (!np) return;