Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752714AbbEDLbH (ORCPT ); Mon, 4 May 2015 07:31:07 -0400 Received: from bes.se.axis.com ([195.60.68.10]:50381 "EHLO bes.se.axis.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750715AbbEDLbD (ORCPT ); Mon, 4 May 2015 07:31:03 -0400 Message-ID: <55475872.8020004@axis.com> Date: Mon, 4 May 2015 13:30:58 +0200 From: Niklas Cassel User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: Fabio Estevam CC: "David S. Miller" , Florian Fainelli , "netdev@vger.kernel.org" , linux-kernel , "johan@kernel.org" Subject: Re: [PATCH] net: phy: micrel: support !CONFIG_HAVE_CLK References: <1430132450-4496-1-git-send-email-niklass@axis.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1904 Lines: 51 On 04/27/2015 07:59 PM, Fabio Estevam wrote: > On Mon, Apr 27, 2015 at 8:00 AM, Niklas Cassel wrote: > >> Since NULL is a valid clock, we shouldn't use >> IS_ERR_OR_NULL. > > Yes, but this code is not using IS_ERR_OR_NULL. > > It seems that you are not describing the problem you are trying to solve. > > What is the exact issue you are seeing? > >> clk = devm_clk_get(&phydev->dev, "rmii-ref"); > > You need to provide the 'rmii-ref' in your board file or dts. > > Are you doing this? > I'm sorry, my commit message didn't really describe the problem properly. When you compile your kernel without the clk.h API (CONFIG_HAVE_CLK), devm_clk_get returns NULL (which also happens to be a valid clock in the clk.h API). So it's not a matter of DT or board-files. This is on a mips platform without DT support. I simply want the drivers/net/phy/micrel.c driver to also work without CONFIG_HAVE_CLK, like it did before commit 63f44b2bfccdd98193bbd602747f780c0fae0f02 net: phy: micrel: add generic clock-mode-select support Now I get an error every time I boot with "Clock rate out of range: 0", since clk_get_rate returns 0 when compiling with !CONFIG_HAVE_CLK. It is confusing that devm_clk_get returns a valid clock in the clk.h API (NULL), when compiling with !CONFIG_HAVE_CLK, but according to Russell King in: http://lkml.kernel.org/r/20150207172949.GE8656@n2100.arm.linux.org.uk this was intentional. (explained in the lkml mail above.) In the same mail Russell King also suggests how a driver can support both !CONFIG_HAVE_CLK and CONFIG_HAVE_CLK. This is the suggestion I followed when writing my patch. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/