From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752412AbbIJGw7 (ORCPT ); Thu, 10 Sep 2015 02:52:59 -0400 Received: from mout.kundenserver.de ([212.227.17.13]:58764 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750843AbbIJGw5 (ORCPT ); Thu, 10 Sep 2015 02:52:57 -0400 From: Arnd Bergmann To: Kuninori Morimoto Cc: Simon , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, Magnus , linux-sh@vger.kernel.org Subject: Re: [PATCH] misc: add CS2000 Fractional-N driver Date: Thu, 10 Sep 2015 08:52:41 +0200 Message-ID: <1702135.nL3RG8RPso@wuerfel> User-Agent: KMail/4.11.5 (Linux/3.16.0-10-generic; KDE/4.11.5; x86_64; ; ) In-Reply-To: <87mvwuokd3.wl%kuninori.morimoto.gx@renesas.com> References: <87mvwuokd3.wl%kuninori.morimoto.gx@renesas.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" X-Provags-ID: V03:K0:ohgS+sCM3ZNrSoy0HCVrYq1ApWJR5ko1kXBQbaf3al7vjIfuGzF Mg+IjPfRrKYi2dMBSajm1CZu6U0+OtTVqOxuv2CJcXOvM9DhEcAJIUNbRyKD3XvwEOh515E K9JEircyAq54Y3hG/cAeEqXFiqA0Dsgzm81zNVoKhlKljqn35ar12NxS1HZJB0T1t2nKLg2 wboaygQ5o/GagS/QlUrRw== X-UI-Out-Filterresults: notjunk:1;V01:K0:B7tI3wFtg/0=:VS+abiA+Dk+exudvkGPQQc eTFCpPwdi+RfP9DY3JXybIuBhFaTTQ3w4mRMVd0HFqYjMiDBrLngEJeDedhsxEdn082B+OeQA yuql2Bs7j9V0WdmDFoGq47VNnQqym4cuz+jUN5E/1Fss+FG0HuIGpjCmeaNxjyUhhZxksTxfb CdQN4fXLZ2pmfrN3PePwLP4H7+bZE/QHOMNhqCAPyUQmX06Fpt78KDhX1z7Fv7YMAHno+mnFF TSkBaIBkQjmOzVk+opqZ1sJ/LZV57IfjUFrDzkwKkN/MX+BWuQmaO58UeMC5AeOHOZxMC7XNw 8RjWqWUtN4MCclyKjEt+ST1JajQlceQozUvf9kp4vy3L/Qy7cuKh3W2ULjNbE4k+m5ymK8qbK +SUqKS4eRCkXrSB0VZbUxbpiugmT6ffVC9GKRnM6JGo2D8IZRThQi8th9EjOc+I2ybg1lmbXh wnMrnwqGWjIXrRBHrRjZWX19hx+Y0iEfV0XkG6HOF61vQ8LSfW/qz21TYSSmefUaHU+fNLJei dyW+h+0wcHnQ4gQKNhT7JBp6oksGTEvqqV4XiuRnB34nKpxvswCT/xMEiL9Dzcq1IswOKtz/j nl4QYv0BHgpuzh+ctBGt+32vqYljGh9uVv01M/Frh9+jayOvyAcrZqnPRzK0ISIawR3Pgv/tl 4Du2Qrnv+Wict9ffH6vybj/8dV/rKg6fCf6mwGam7mSNeB++DOKzqxkM+7KEUlfOMK155O7lh /IQySCOaRrE64oKp Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thursday 10 September 2015 06:36:14 Kuninori Morimoto wrote: > From: Kuninori Morimoto > > This patch adds CS2000 Fractional-N driver as clock provider. > It is useful if it supports runtime clock setting, but it supports > fixed clock rate at this point. > > Signed-off-by: Kuninori Morimoto > --- > .../devicetree/bindings/misc/cs2000-cp.txt | 20 ++ > drivers/misc/Kconfig | 6 + > drivers/misc/Makefile | 1 + > drivers/misc/cs2000-cp.c | 341 +++++++++++++++++++++ > 4 files changed, 368 insertions(+) > create mode 100644 Documentation/devicetree/bindings/misc/cs2000-cp.txt > create mode 100644 drivers/misc/cs2000-cp.c I think the driver should be in drivers/clk/ if it provides a clk to other devices. Please also split out the binding document into a separate patch and Cc the devicetree mailing list. > + > + ret = cs2000_get_clk(client, &rate_in, &rate_out); > + if (ret < 0) > + return ret; > + > + ret = cs2000_enable_dev_config(client); > + if (ret < 0) > + return ret; > + > + ret = cs2000_clk_in_bound_rate(client, rate_in); > + if (ret < 0) > + return ret; > + > + ret = cs2000_ratio_set(client, ch, rate_in, rate_out); > + if (ret < 0) > + return ret; The probe function lacks unwinding if anything goes wrong, so you end up with clocks that are registered but the driver being absent. For most things, you can use the devm_*() interfaces here. Arnd