Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753413AbcDUWWQ (ORCPT ); Thu, 21 Apr 2016 18:22:16 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:57562 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752355AbcDUWWI (ORCPT ); Thu, 21 Apr 2016 18:22:08 -0400 From: Stephen Boyd To: Michael Turquette , Stephen Boyd Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Russell King Subject: [PATCH v2 00/13] clk_hw based clkdev/DT providers Date: Thu, 21 Apr 2016 15:21:51 -0700 Message-Id: <1461277324-27185-1-git-send-email-sboyd@codeaurora.org> X-Mailer: git-send-email 2.6.3.369.g91ad409 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2749 Lines: 59 We've mostly split the clk API between consumers and providers along struct clk and struct clk_hw, but the registration and clkdev/DT code is still struct clk focused. This series lays the foundation for changing that design by making clk_register() return an int instead of a struct clk and clkdev/DT lookups take a struct clk_hw instead of a struct clk. After this series is applied, we can avoid using struct clk in provider drivers entirely, unless we want to use the consumer APIs. There are quite a few registration callers, so this change will require converting all of them. I plan to do that gradually over the coming weeks, but I've included a change to qcom platforms because I could easily test it and show how things will work. The first patch is a cleanup to the clkdev APIs that I found while doing this work. I'd like to take that into clk-next with Russell's ack. Cc: Russell King Stephen Boyd (13): clkdev: Remove clk_register_clkdevs() clk: Add {devm_}clk_hw_{register,unregister}() APIs clk: Add clk_hw OF clk providers clkdev: Add clk_hw based registration APIs clk: divider: Add hw based registration APIs clk: gate: Add hw based registration APIs clk: mux: Add hw based registration APIs clk: fixed-factor: Add hw based registration APIs clk: fractional-divider: Add hw based registration APIs clk: composite: Add hw based registration APIs clk: gpio: Add hw based registration APIs clk: fixed-rate: Add hw based registration APIs clk: qcom: Migrate to clk_hw based registration and OF APIs Documentation/driver-model/devres.txt | 1 + drivers/clk/clk-composite.c | 45 ++++++--- drivers/clk/clk-divider.c | 91 ++++++++++++++++-- drivers/clk/clk-fixed-factor.c | 42 +++++++-- drivers/clk/clk-fixed-rate.c | 44 +++++++-- drivers/clk/clk-fractional-divider.c | 40 +++++++- drivers/clk/clk-gate.c | 43 +++++++-- drivers/clk/clk-gpio.c | 52 ++++++++--- drivers/clk/clk-mux.c | 57 ++++++++++-- drivers/clk/clk.c | 171 +++++++++++++++++++++++++++++++++- drivers/clk/clkdev.c | 75 +++++++++++---- drivers/clk/qcom/clk-regmap.c | 5 +- drivers/clk/qcom/clk-regmap.h | 3 +- drivers/clk/qcom/common.c | 58 ++++++------ drivers/clk/qcom/gcc-msm8996.c | 9 +- drivers/clk/qcom/mmcc-msm8996.c | 9 +- include/linux/clk-provider.h | 93 ++++++++++++++++++ include/linux/clkdev.h | 7 +- 18 files changed, 716 insertions(+), 129 deletions(-) -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project