Hello Laxman, On 06/15/2016 10:13 AM, Laxman Dewangan wrote: > The clock IP used on the Maxim PMICs max77686 and max77802 are > same. The configuration of clock register is also same except > the number of clocks. > > Part of common code utilisation, there is 3 files for these chips > clock driver, one for common and two files for driver registration. > > Combine both drivers into single file and move common code into > same common file reduces the 2 files and make max77686 and max77802 > clock driver in single fine. This driver does not depends on the > parent driver structure. The regmap handle is acquired through > regmap APIs for the register access. > > This combination of driver helps on adding clock driver for different > Maxim PMICs which has similar clock IP like MAX77620 and MAX20024. > > Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> > CC: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> > CC: Javier Martinez Canillas <javier@xxxxxxxxxxxx> > --- [snip] > diff --git a/drivers/clk/clk-max77686.c b/drivers/clk/clk-max77686.c > index 9b6f277..31ba726 100644 > --- a/drivers/clk/clk-max77686.c > +++ b/drivers/clk/clk-max77686.c > @@ -1,5 +1,5 @@ > /* > - * clk-max77686.c - Clock driver for Maxim 77686 > + * clk-max77686.c - Clock driver for Maxim 77686/MAX77802 > * > * Copyright (C) 2012 Samsung Electornics > * Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> > @@ -13,13 +13,7 @@ > * but WITHOUT ANY WARRANTY; without even the implied warranty of > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > * GNU General Public License for more details. > - * > - * You should have received a copy of the GNU General Public License > - * along with this program; if not, write to the Free Software > - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > - * > */ > - I think removing this part of the header is correct but it should be a separate patch. [snip] > + > +struct max_gen_hw_clk_data { > + const char *name; > + u32 reg; > + u32 mask; > + u32 flags; > +}; > + > +struct max_gen_clk_data { > + struct regmap *regmap; > + struct clk_init_data clk_idata; > + struct clk_hw hw; > + u32 reg; > + u32 mask; > +}; > + Probably now makes more sense to rename all the "max_gen_foo" structs and functions to just "max77686_foo" since now are all defined in the max77686 so that naming is more consistent. Reviewed-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> I also tested on an Exynos5800 Peach Pi Chromebook that has a max77802 IP: Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxxxxx> Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html