From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753836AbcFPJyj (ORCPT ); Thu, 16 Jun 2016 05:54:39 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:52004 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751562AbcFPJyg (ORCPT ); Thu, 16 Jun 2016 05:54:36 -0400 X-AuditID: cbfec7f5-f792a6d000001302-cf-576277595f76 Subject: Re: [PATCH 4/5] clk: max77686: Add support for MAX77620 clocks To: Laxman Dewangan , javier@osg.samsung.com, mturquette@baylibre.com, robh+dt@kernel.org, linux@armlinux.org.uk References: <1466000018-16784-1-git-send-email-ldewangan@nvidia.com> <1466000018-16784-5-git-send-email-ldewangan@nvidia.com> Cc: linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, Javier Martinez Canillas From: Krzysztof Kozlowski Message-id: <57627757.50101@samsung.com> Date: Thu, 16 Jun 2016 11:54:31 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.8.0 MIME-version: 1.0 In-reply-to: <1466000018-16784-5-git-send-email-ldewangan@nvidia.com> Content-type: text/plain; charset=windows-1252 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeLIzCtJLcpLzFFi42I5/e/4Fd3I8qRwg9aZqhbzj5xjtbj2ewab xZu3a5gsXr8wtFi6bzWLxabH11gtPvbcY7W4vGsOm8WM8/uYLA5N3ctocfGUq0Xr3iPsDjwe l69dZPZ4f6OV3ePv7FZmj02rOtk8Ni+p9+htfsfmsaX/LrtH35ZVjB6fN8kFcEZx2aSk5mSW pRbp2yVwZVyct4StoFWuYuPaGcwNjGckuhg5OSQETCQeTjjCBmGLSVy4tx7I5uIQEljKKNGw ZCIrhPOMUeLz9n9gVcIC7hJbOx4wg9giAh2MEmcOG4LYQgL1EhtubWYBaWAWuMYo0bh/JVgR m4CxxOblS8CaeQU0JJbM2c0KYrMIqErseziXHcQWFYiQmLX9BxNEjaDEj8n3WEBsTgFXiT1z uxm7GDmAhupJ3L+oBRJmFpCX2LzmLfMERoFZSDpmIVTNQlK1gJF5FaNoamlyQXFSeq6RXnFi bnFpXrpecn7uJkZI5Hzdwbj0mNUhRgEORiUeXoH1ieFCrIllxZW5hxglOJiVRHi7i5PChXhT EiurUovy44tKc1KLDzFKc7AoifPO3PU+REggPbEkNTs1tSC1CCbLxMEp1cAotDHgkkG902yv E2o5tfanLezdjx+cr751l22awL3Osyrm/gFCIl8d5gXZ7HlyLvx51IbuwJNrFe4sC8rmmrhO rnTNrENHj95qsH97xlKOQ3nOoviy/ze8FnuHFuifT3xXs61keY9r74X6oG3Pt04RO1XMu9fi aOYzFpsfEkXhItyta0V8ox4psRRnJBpqMRcVJwIACqP+4JgCAAA= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 06/15/2016 04:13 PM, Laxman Dewangan wrote: > Maxim Max77620 has one 32KHz clock output and the clock HW > IP used on this PMIC is same as what it is there in the MAX77686. > > Add clock driver support for MAX77620 on the MAX77686 driver. > > Signed-off-by: Laxman Dewangan > CC: Krzysztof Kozlowski > CC: Javier Martinez Canillas > --- > drivers/clk/Kconfig | 7 ++++--- > drivers/clk/clk-max77686.c | 16 ++++++++++++++++ > 2 files changed, 20 insertions(+), 3 deletions(-) > > diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig > index 6afad74..d75f4c5 100644 > --- a/drivers/clk/Kconfig > +++ b/drivers/clk/Kconfig > @@ -32,10 +32,11 @@ config COMMON_CLK_WM831X > source "drivers/clk/versatile/Kconfig" > > config COMMON_CLK_MAX77686 > - tristate "Clock driver for Maxim 77686/77802 MFD" > - depends on MFD_MAX77686 > + tristate "Clock driver for Maxim 77686/77802/MAX77620 MFD" > + depends on MFD_MAX77686 || MFD_MAX77620 > ---help--- > - This driver supports Maxim 77686/77802 crystal oscillator clock. > + This driver supports Maxim 77686/77802/MAX77620 crystal oscillator > + clock. > > config COMMON_CLK_RK808 > tristate "Clock driver for RK808" > diff --git a/drivers/clk/clk-max77686.c b/drivers/clk/clk-max77686.c > index 31ba726..d2be736 100644 > --- a/drivers/clk/clk-max77686.c > +++ b/drivers/clk/clk-max77686.c > @@ -19,6 +19,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -30,12 +31,14 @@ > > #include > #include > +#include > > #define MAX77802_CLOCK_LOW_JITTER_SHIFT 0x3 > > enum chip_name { > CHIP_MAX77686, > CHIP_MAX77802, > + CHIP_MAX77620, Now it is more obvious why it is here. However I don't like the duplication of device IDs, under different names and different values: 1. include/linux/mfd/max77686-private.h 2. include/linux/mfd/max77620.h 3. here I was thinking about way of combining it... but these headers are different. Unless there will be one header for all three devices. Anyway, please add the max77686 prefix to the enum. Best regards, Krzysztof > }; > > struct max_gen_hw_clk_data { > @@ -91,6 +94,14 @@ static struct max_gen_hw_clk_data max77802_hw_clks_info[MAX77802_CLKS_NUM] = { > }, > }; > > +static struct max_gen_hw_clk_data max77620_hw_clks_info[MAX77620_CLKS_NUM] = { > + [MAX77620_CLK_32K_OUT0] = { > + .name = "32khz_pmic", > + .reg = MAX77620_REG_CNFG1_32K, > + .mask = MAX77620_CNFG1_32K_OUT0_EN, > + }, > +}; > + > static struct max_gen_clk_data *to_max_gen_clk_data(struct clk_hw *hw) > { > return container_of(hw, struct max_gen_clk_data, hw); > @@ -171,6 +182,10 @@ static int max77686_clk_probe(struct platform_device *pdev) > num_clks = MAX77802_CLKS_NUM; > hw_clks = max77802_hw_clks_info; > break; > + case CHIP_MAX77620: > + num_clks = MAX77620_CLKS_NUM; > + hw_clks = max77620_hw_clks_info; > + break; > default: > dev_err(dev, "Unknown Chip ID\n"); > return -EINVAL; > @@ -269,6 +284,7 @@ static int max77686_clk_remove(struct platform_device *pdev) > static const struct platform_device_id max77686_clk_id[] = { > { "max77686-clk", .driver_data = (kernel_ulong_t)CHIP_MAX77686, }, > { "max77802-clk", .driver_data = (kernel_ulong_t)CHIP_MAX77802, }, > + { "max77620-clock", .driver_data = (kernel_ulong_t)CHIP_MAX77620, }, > {}, > }; > MODULE_DEVICE_TABLE(platform, max77686_clk_id); >