Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932532AbcLSQL5 (ORCPT ); Mon, 19 Dec 2016 11:11:57 -0500 Received: from mga07.intel.com ([134.134.136.100]:62956 "EHLO mga07.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754369AbcLSQLy (ORCPT ); Mon, 19 Dec 2016 11:11:54 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.33,374,1477983600"; d="scan'208";a="800087643" Subject: Re: [alsa-devel] [PATCH v6 1/3] clk: x86: Add Atom PMC platform clocks To: Andy Shevchenko , Stephen Boyd References: <1481306510-7471-1-git-send-email-irina.tirdea@intel.com> <1481306510-7471-2-git-send-email-irina.tirdea@intel.com> <20161213232524.GQ5423@codeaurora.org> <32235fb3-0d54-211d-28f4-4655e4bc7812@linux.intel.com> <20161217013337.GW5423@codeaurora.org> Cc: ALSA Development Mailing List , linux-clk@vger.kernel.org, Irina Tirdea , Pierre-Louis Bossart , Michael Turquette , "x86@kernel.org" , "Rafael J. Wysocki" , "linux-kernel@vger.kernel.org" , "linux-acpi@vger.kernel.org" , Ingo Molnar , Mark Brown , "H. Peter Anvin" , Darren Hart , Takashi Iwai , platform-driver-x86@vger.kernel.org, Thomas Gleixner , Len Brown From: Pierre-Louis Bossart Message-ID: <7f3d03dc-24fe-ec3f-4a3b-926c28f0ac86@linux.intel.com> Date: Mon, 19 Dec 2016 10:11:49 -0600 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1696 Lines: 39 On 12/17/16 7:57 AM, Andy Shevchenko wrote: > On Sat, Dec 17, 2016 at 3:33 AM, Stephen Boyd wrote: >> On 12/15, Pierre-Louis Bossart wrote: > >>> Clients use devm_clk_get() with a "pmc_plt_clk_" >>> argument. >> >> This is the problem. Clients should be calling clk_get() like: >> >> clk_get(dev, "signal name in datasheet") >> >> where the first argument is the device and the second argument is >> some string that is meaningful to the device, not the system as a >> whole. The way clkdev is intended is so that the dev argument's >> dev_name() is combined with the con_id that matches some signale >> name in the datasheet. This way when the same IP is put into some >> other chip, the globally unique name doesn't need to change, just >> the device name that's registered with the lookup. Obviously this >> breaks down quite badly when dev_name() isn't stable. Is that >> happening here? > > PMC Atom is a PCI device and thus each platform would have different > dev_name(). Do you want to list all in each consumer if consumer wants > to work on all of them or I missed something? > > So, the question is how clock getting will look like to work on > currently both CherryTrail and BayTrail. The name pmc_plt_clk_ follows the data sheet specification, where this convention is suggested: PLT_CLK[2:0] - Camera PLT_CLK[3] - Audio Codec PLT_CLK[4] - PLT_CLK[5] - COMMs These clocks are not internal but are made available to external components through dedicated physical pins on the package, this external visibility limits the scope for confusions, variations. I have not seen any skews where these clocks and pins were changed at all.