From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966023AbcHDU5h (ORCPT ); Thu, 4 Aug 2016 16:57:37 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:34966 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965892AbcHDU5g (ORCPT ); Thu, 4 Aug 2016 16:57:36 -0400 Date: Thu, 4 Aug 2016 13:57:34 -0700 From: Stephen Boyd To: Masahiro Yamada Cc: linux-clk@vger.kernel.org, Michael Turquette , linux-kernel@vger.kernel.org Subject: Re: [PATCH] clk: prevent __of_clk_get_hw_from_provider() from returning NULL Message-ID: <20160804205734.GA15690@codeaurora.org> References: <1468919039-23004-1-git-send-email-yamada.masahiro@socionext.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1468919039-23004-1-git-send-email-yamada.masahiro@socionext.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 07/19, Masahiro Yamada wrote: > The .get(_hw) callback of an OF clock provider can return a NULL > pointer in some cases. > > For example, of_clk_src_onecell_get() returns NULL for index 1 of a > sparse array of clocks like follows: > > clk_num == 3 > idx 0: UART clk > idx 1: NULL (no clk is allocated) > idx 2: I2C clk > > In such cases, clk_get() successfully returns NULL. > > A problem is that most drivers only check IS_ERR(), like follows: > > clk = devm_clk_get(dev, NULL); > if (IS_ERR(clk)) > return PTR_ERR(clk); > > It carries on moving forward and will probably be hit by a different > error check with a different error message. NULL is a valid clk pointer, so we can't really do anything here besides rely on driver authors to do the right thing. -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project