clk-moxart.c (c8108cf2c0c8fd1c1f0bef34b4a31d567488e171) | clk-moxart.c (1667393126d7c51fad8b3cb9d3798e8e0367e2ec) |
---|---|
1/* 2 * MOXA ART SoCs clock driver. 3 * 4 * Copyright (C) 2013 Jonas Jensen 5 * 6 * Jonas Jensen <jonas.jensen@gmail.com> 7 * 8 * This file is licensed under the terms of the GNU General Public --- 16 unchanged lines hidden (view full) --- 25 const char *name = node->name; 26 const char *parent_name; 27 28 of_property_read_string(node, "clock-output-names", &name); 29 parent_name = of_clk_get_parent_name(node, 0); 30 31 base = of_iomap(node, 0); 32 if (!base) { | 1/* 2 * MOXA ART SoCs clock driver. 3 * 4 * Copyright (C) 2013 Jonas Jensen 5 * 6 * Jonas Jensen <jonas.jensen@gmail.com> 7 * 8 * This file is licensed under the terms of the GNU General Public --- 16 unchanged lines hidden (view full) --- 25 const char *name = node->name; 26 const char *parent_name; 27 28 of_property_read_string(node, "clock-output-names", &name); 29 parent_name = of_clk_get_parent_name(node, 0); 30 31 base = of_iomap(node, 0); 32 if (!base) { |
33 pr_err("%s: of_iomap failed\n", node->full_name); | 33 pr_err("%pOF: of_iomap failed\n", node); |
34 return; 35 } 36 37 mul = readl(base + 0x30) >> 3 & 0x3f; 38 iounmap(base); 39 40 ref_clk = of_clk_get(node, 0); 41 if (IS_ERR(ref_clk)) { | 34 return; 35 } 36 37 mul = readl(base + 0x30) >> 3 & 0x3f; 38 iounmap(base); 39 40 ref_clk = of_clk_get(node, 0); 41 if (IS_ERR(ref_clk)) { |
42 pr_err("%s: of_clk_get failed\n", node->full_name); | 42 pr_err("%pOF: of_clk_get failed\n", node); |
43 return; 44 } 45 46 hw = clk_hw_register_fixed_factor(NULL, name, parent_name, 0, mul, 1); 47 if (IS_ERR(hw)) { | 43 return; 44 } 45 46 hw = clk_hw_register_fixed_factor(NULL, name, parent_name, 0, mul, 1); 47 if (IS_ERR(hw)) { |
48 pr_err("%s: failed to register clock\n", node->full_name); | 48 pr_err("%pOF: failed to register clock\n", node); |
49 return; 50 } 51 52 clk_hw_register_clkdev(hw, NULL, name); 53 of_clk_add_hw_provider(node, of_clk_hw_simple_get, hw); 54} 55CLK_OF_DECLARE(moxart_pll_clock, "moxa,moxart-pll-clock", 56 moxart_of_pll_clk_init); --- 8 unchanged lines hidden (view full) --- 65 const char *name = node->name; 66 const char *parent_name; 67 68 of_property_read_string(node, "clock-output-names", &name); 69 parent_name = of_clk_get_parent_name(node, 0); 70 71 base = of_iomap(node, 0); 72 if (!base) { | 49 return; 50 } 51 52 clk_hw_register_clkdev(hw, NULL, name); 53 of_clk_add_hw_provider(node, of_clk_hw_simple_get, hw); 54} 55CLK_OF_DECLARE(moxart_pll_clock, "moxa,moxart-pll-clock", 56 moxart_of_pll_clk_init); --- 8 unchanged lines hidden (view full) --- 65 const char *name = node->name; 66 const char *parent_name; 67 68 of_property_read_string(node, "clock-output-names", &name); 69 parent_name = of_clk_get_parent_name(node, 0); 70 71 base = of_iomap(node, 0); 72 if (!base) { |
73 pr_err("%s: of_iomap failed\n", node->full_name); | 73 pr_err("%pOF: of_iomap failed\n", node); |
74 return; 75 } 76 77 val = readl(base + 0xc) >> 4 & 0x7; 78 iounmap(base); 79 80 if (val > 4) 81 val = 0; 82 div = div_idx[val] * 2; 83 84 pll_clk = of_clk_get(node, 0); 85 if (IS_ERR(pll_clk)) { | 74 return; 75 } 76 77 val = readl(base + 0xc) >> 4 & 0x7; 78 iounmap(base); 79 80 if (val > 4) 81 val = 0; 82 div = div_idx[val] * 2; 83 84 pll_clk = of_clk_get(node, 0); 85 if (IS_ERR(pll_clk)) { |
86 pr_err("%s: of_clk_get failed\n", node->full_name); | 86 pr_err("%pOF: of_clk_get failed\n", node); |
87 return; 88 } 89 90 hw = clk_hw_register_fixed_factor(NULL, name, parent_name, 0, 1, div); 91 if (IS_ERR(hw)) { | 87 return; 88 } 89 90 hw = clk_hw_register_fixed_factor(NULL, name, parent_name, 0, 1, div); 91 if (IS_ERR(hw)) { |
92 pr_err("%s: failed to register clock\n", node->full_name); | 92 pr_err("%pOF: failed to register clock\n", node); |
93 return; 94 } 95 96 clk_hw_register_clkdev(hw, NULL, name); 97 of_clk_add_hw_provider(node, of_clk_hw_simple_get, hw); 98} 99CLK_OF_DECLARE(moxart_apb_clock, "moxa,moxart-apb-clock", 100 moxart_of_apb_clk_init); | 93 return; 94 } 95 96 clk_hw_register_clkdev(hw, NULL, name); 97 of_clk_add_hw_provider(node, of_clk_hw_simple_get, hw); 98} 99CLK_OF_DECLARE(moxart_apb_clock, "moxa,moxart-apb-clock", 100 moxart_of_apb_clk_init); |