[PATCH 1/5] clk: max77686: Combine Maxim max77686 and max77802 driver
From: Javier Martinez Canillas <hidden>
Date: 2016-06-15 15:13:11
Also in:
linux-clk, linux-devicetree, linux-samsung-soc, lkml
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@nvidia.com> CC: Krzysztof Kozlowski <redacted> CC: Javier Martinez Canillas <javier@dowhile0.org> ---
[snip]
quoted hunk ↗ jump to hunk
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@samsung.com>@@ -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 <redacted> I also tested on an Exynos5800 Peach Pi Chromebook that has a max77802 IP: Tested-by: Javier Martinez Canillas <redacted> Best regards, -- Javier Martinez Canillas Open Source Group Samsung Research America