From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wg0-x230.google.com (mail-wg0-x230.google.com [IPv6:2a00:1450:400c:c00::230]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id E695E1A000E for ; Fri, 18 Jul 2014 00:13:55 +1000 (EST) Received: by mail-wg0-f48.google.com with SMTP id x13so2117630wgg.7 for ; Thu, 17 Jul 2014 07:13:50 -0700 (PDT) Sender: Tomeu Vizoso From: Tomeu Vizoso To: Mike Turquette Subject: [PATCH v4 0/6] Per-user clock constraints Date: Thu, 17 Jul 2014 16:13:13 +0200 Message-Id: <1405606399-26608-1-git-send-email-tomeu.vizoso@collabora.com> Cc: Andrew Lunn , Ulf Hansson , Prashant Gaikwad , Tony Lindgren , Tomasz Figa , alsa-devel@alsa-project.org, Jaroslav Kysela , Thierry Reding , Paul Mackerras , Sylwester Nawrocki , Daniel Walker , linux-arch@vger.kernel.org, Boris Brezillon , linux-samsung-soc@vger.kernel.org, Kukjin Kim , Russell King , =?UTF-8?q?Emilio=20L=C3=B3pez?= , Takashi Iwai , Michal Simek , Kyungmin Park , Kevin Hilman , linux-arm-kernel@lists.infradead.org, patches@opensource.wolfsonmicro.com, Viresh Kumar , David Brown , Anatolij Gustschin , Dinh Nguyen , Sebastian Hesselbarth , Jason Cooper , Arnd Bergmann , Stephen Warren , linux-arm-msm@vger.kernel.org, spear-devel@list.st.com, Barry Song , Mark Brown , linux-rpi-kernel@lists.infradead.org, Ben Dooks , linux-tegra@vger.kernel.org, linux-omap@vger.kernel.org, Sascha Hauer , Shawn Guo , Paul Walmsley , Tomeu Vizoso , Peter De Schrijver , Liam Girdwood , linux-kernel@vger.kernel.org, rabin@rab.in, Bryan Huntsman , Santosh Shilimkar , =?UTF-8?q?Beno=C3=AEt=20Cousson?= , Maxime Ripard , linux-media@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Javier Martinez Canillas , Mauro Carvalho Chehab List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Hi, I'm retaking Rabin's patches [0] for splitting the clk API in two: one API for clk consumers and another for providers. The consumer API uses a clk structure that just keeps track of the consumer and has a reference to the actual clk_core struct, which is used internally. I have kept a patch from Rabin that aims to aid in debugging nested enable/disable calls, though my personal aim is to allow more than one consumer to influence the final, effective frequency rate. For now this is limited to setting floor and ceiling constraints, with the short-term aim of allowing devfreq and thermal drivers to set floor and ceiling frequencies on the memory clock, respectively. For those functions in the consumer clk API that were called from providers, I have added variants to clk-provider.h that are the same only that accept a clk_core instead. These functions are prefixed with clk_provider_. Patch 1/6 just adds a bunch of defines with the goal of having all the renames in their own commit while preserving git-bisectability, with patch 3/6 containing the rename itself as generated by the Coccinelle script in [1]. Patch 2/6 is needed because sound/soc/mxs/mxs-saif.c calls both the consumer and the provider API. The actual implementation of the API split comes in patch 4/6. I will be happy to organize the refactoring differently if anybody has a better idea. Patch 5/6 warns when there's an unbalanced usage of the enable and disable APIs, and patch 6/6 adds the API for setting floor and ceiling frequencies, per consumer. [0] http://thread.gmane.org/gmane.linux.kernel/1402006 [1] http://cgit.collabora.com/git/user/tomeu/linux.git/commit/?id=da9c7e34d9 Thanks, Tomeu Tomeu Vizoso (6): clk: Add temporary mapping to the existing API ASoC: mxs-saif: fix mixed use of public and provider clk API clk: Move all drivers to use internal API clk: use struct clk only for external API clk: per-user clock accounting for debug clk: Add floor and ceiling constraints to clock rates [detailed diffstat omitted for brevity sake] 244 files changed, 2345 insertions(+), 1812 deletions(-) -- 1.9.3