From: kbuild test robot <lkp@intel.com>
To: "Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: kbuild-all@lists.01.org,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Nicolas Ferre <nicolas.ferre@microchip.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Ludovic Desroches <ludovic.desroches@microchip.com>,
linux-clk@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/3] clk: at91: optimize pmc data allocation
Date: Tue, 17 Mar 2020 06:05:12 +0800 [thread overview]
Message-ID: <202003170620.eU3WdYVL%lkp@intel.com> (raw)
In-Reply-To: <744f7b9da075e63ebc4400125cebfe63fabe3d2e.1584296940.git.mirq-linux@rere.qmqm.pl>
[-- Attachment #1: Type: text/plain, Size: 11657 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on clk/clk-next]
[also build test ERROR on robh/for-next abelloni/rtc-next v5.6-rc6 next-20200312]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/clk-at91-support-configuring-PCKx-parent-via-DT/20200317-041729
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: arm-at91_dt_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/clk/at91/at91sam9g45.c: In function 'at91sam9g45_pmc_setup':
>> drivers/clk/at91/at91sam9g45.c:213:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
213 | pmc_data_free(at91sam9g45_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/clk/at91/at91sam9n12.c: In function 'at91sam9n12_pmc_setup':
>> drivers/clk/at91/at91sam9n12.c:231:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
231 | pmc_data_free(at91sam9n12_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/clk/at91/sam9x60.c: In function 'sam9x60_pmc_setup':
>> drivers/clk/at91/sam9x60.c:302:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
302 | pmc_data_free(sam9x60_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/pmc_data_free +213 drivers/clk/at91/at91sam9g45.c
12dc8d3be9d86c Alexandre Belloni 2020-01-17 92
12dc8d3be9d86c Alexandre Belloni 2020-01-17 93 static void __init at91sam9g45_pmc_setup(struct device_node *np)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 94 {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 95 const char *slck_name, *mainxtal_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 96 struct pmc_data *at91sam9g45_pmc;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 97 const char *parent_names[6];
12dc8d3be9d86c Alexandre Belloni 2020-01-17 98 struct regmap *regmap;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 99 struct clk_hw *hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 100 int i;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 101 bool bypass;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 102
12dc8d3be9d86c Alexandre Belloni 2020-01-17 103 i = of_property_match_string(np, "clock-names", "slow_clk");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 104 if (i < 0)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 105 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 106
12dc8d3be9d86c Alexandre Belloni 2020-01-17 107 slck_name = of_clk_get_parent_name(np, i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 108
12dc8d3be9d86c Alexandre Belloni 2020-01-17 109 i = of_property_match_string(np, "clock-names", "main_xtal");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 110 if (i < 0)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 111 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 112 mainxtal_name = of_clk_get_parent_name(np, i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 113
12dc8d3be9d86c Alexandre Belloni 2020-01-17 114 regmap = syscon_node_to_regmap(np);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 115 if (IS_ERR(regmap))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 116 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 117
12dc8d3be9d86c Alexandre Belloni 2020-01-17 118 at91sam9g45_pmc = pmc_data_allocate(PMC_MAIN + 1,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 119 nck(at91sam9g45_systemck),
12dc8d3be9d86c Alexandre Belloni 2020-01-17 120 nck(at91sam9g45_periphck), 0);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 121 if (!at91sam9g45_pmc)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 122 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 123
12dc8d3be9d86c Alexandre Belloni 2020-01-17 124 bypass = of_property_read_bool(np, "atmel,osc-bypass");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 125
12dc8d3be9d86c Alexandre Belloni 2020-01-17 126 hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 127 bypass);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 128 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 129 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 130
12dc8d3be9d86c Alexandre Belloni 2020-01-17 131 hw = at91_clk_register_rm9200_main(regmap, "mainck", "main_osc");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 132 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 133 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 134
12dc8d3be9d86c Alexandre Belloni 2020-01-17 135 at91sam9g45_pmc->chws[PMC_MAIN] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 136
12dc8d3be9d86c Alexandre Belloni 2020-01-17 137 hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 138 &at91rm9200_pll_layout, &plla_characteristics);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 139 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 140 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 141
12dc8d3be9d86c Alexandre Belloni 2020-01-17 142 hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 143 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 144 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 145
12dc8d3be9d86c Alexandre Belloni 2020-01-17 146 hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 147 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 148 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 149
12dc8d3be9d86c Alexandre Belloni 2020-01-17 150 at91sam9g45_pmc->chws[PMC_UTMI] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 151
12dc8d3be9d86c Alexandre Belloni 2020-01-17 152 parent_names[0] = slck_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 153 parent_names[1] = "mainck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 154 parent_names[2] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 155 parent_names[3] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 156 hw = at91_clk_register_master(regmap, "masterck", 4, parent_names,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 157 &at91rm9200_master_layout,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 158 &mck_characteristics);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 159 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 160 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 161
12dc8d3be9d86c Alexandre Belloni 2020-01-17 162 at91sam9g45_pmc->chws[PMC_MCK] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 163
12dc8d3be9d86c Alexandre Belloni 2020-01-17 164 parent_names[0] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 165 parent_names[1] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 166 hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 167 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 168 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 169
12dc8d3be9d86c Alexandre Belloni 2020-01-17 170 parent_names[0] = slck_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 171 parent_names[1] = "mainck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 172 parent_names[2] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 173 parent_names[3] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 174 parent_names[4] = "masterck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 175 for (i = 0; i < 2; i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 176 char name[6];
12dc8d3be9d86c Alexandre Belloni 2020-01-17 177
12dc8d3be9d86c Alexandre Belloni 2020-01-17 178 snprintf(name, sizeof(name), "prog%d", i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 179
12dc8d3be9d86c Alexandre Belloni 2020-01-17 180 hw = at91_clk_register_programmable(regmap, name,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 181 parent_names, 5, i,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 182 &at91sam9g45_programmable_layout);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 183 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 184 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 185 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 186
12dc8d3be9d86c Alexandre Belloni 2020-01-17 187 for (i = 0; i < ARRAY_SIZE(at91sam9g45_systemck); i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 188 hw = at91_clk_register_system(regmap, at91sam9g45_systemck[i].n,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 189 at91sam9g45_systemck[i].p,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 190 at91sam9g45_systemck[i].id);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 191 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 192 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 193
12dc8d3be9d86c Alexandre Belloni 2020-01-17 194 at91sam9g45_pmc->shws[at91sam9g45_systemck[i].id] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 195 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 196
12dc8d3be9d86c Alexandre Belloni 2020-01-17 197 for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 198 hw = at91_clk_register_peripheral(regmap,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 199 at91sam9g45_periphck[i].n,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 200 "masterck",
12dc8d3be9d86c Alexandre Belloni 2020-01-17 201 at91sam9g45_periphck[i].id);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 202 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 203 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 204
12dc8d3be9d86c Alexandre Belloni 2020-01-17 205 at91sam9g45_pmc->phws[at91sam9g45_periphck[i].id] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 206 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 207
12dc8d3be9d86c Alexandre Belloni 2020-01-17 208 of_clk_add_hw_provider(np, of_clk_hw_pmc_get, at91sam9g45_pmc);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 209
12dc8d3be9d86c Alexandre Belloni 2020-01-17 210 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 211
12dc8d3be9d86c Alexandre Belloni 2020-01-17 212 err_free:
12dc8d3be9d86c Alexandre Belloni 2020-01-17 @213 pmc_data_free(at91sam9g45_pmc);
:::::: The code at line 213 was first introduced by commit
:::::: 12dc8d3be9d86cccc35dcf32828d3a8e9d48e0d1 clk: at91: add at91sam9g45 pmc driver
:::::: TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
:::::: CC: Stephen Boyd <sboyd@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26719 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 1/3] clk: at91: optimize pmc data allocation
Date: Tue, 17 Mar 2020 06:05:12 +0800 [thread overview]
Message-ID: <202003170620.eU3WdYVL%lkp@intel.com> (raw)
In-Reply-To: <744f7b9da075e63ebc4400125cebfe63fabe3d2e.1584296940.git.mirq-linux@rere.qmqm.pl>
[-- Attachment #1: Type: text/plain, Size: 11836 bytes --]
Hi "Michał,
I love your patch! Yet something to improve:
[auto build test ERROR on clk/clk-next]
[also build test ERROR on robh/for-next abelloni/rtc-next v5.6-rc6 next-20200312]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/clk-at91-support-configuring-PCKx-parent-via-DT/20200317-041729
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: arm-at91_dt_defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
GCC_VERSION=9.2.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
drivers/clk/at91/at91sam9g45.c: In function 'at91sam9g45_pmc_setup':
>> drivers/clk/at91/at91sam9g45.c:213:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
213 | pmc_data_free(at91sam9g45_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/clk/at91/at91sam9n12.c: In function 'at91sam9n12_pmc_setup':
>> drivers/clk/at91/at91sam9n12.c:231:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
231 | pmc_data_free(at91sam9n12_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
--
drivers/clk/at91/sam9x60.c: In function 'sam9x60_pmc_setup':
>> drivers/clk/at91/sam9x60.c:302:2: error: implicit declaration of function 'pmc_data_free' [-Werror=implicit-function-declaration]
302 | pmc_data_free(sam9x60_pmc);
| ^~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/pmc_data_free +213 drivers/clk/at91/at91sam9g45.c
12dc8d3be9d86c Alexandre Belloni 2020-01-17 92
12dc8d3be9d86c Alexandre Belloni 2020-01-17 93 static void __init at91sam9g45_pmc_setup(struct device_node *np)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 94 {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 95 const char *slck_name, *mainxtal_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 96 struct pmc_data *at91sam9g45_pmc;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 97 const char *parent_names[6];
12dc8d3be9d86c Alexandre Belloni 2020-01-17 98 struct regmap *regmap;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 99 struct clk_hw *hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 100 int i;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 101 bool bypass;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 102
12dc8d3be9d86c Alexandre Belloni 2020-01-17 103 i = of_property_match_string(np, "clock-names", "slow_clk");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 104 if (i < 0)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 105 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 106
12dc8d3be9d86c Alexandre Belloni 2020-01-17 107 slck_name = of_clk_get_parent_name(np, i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 108
12dc8d3be9d86c Alexandre Belloni 2020-01-17 109 i = of_property_match_string(np, "clock-names", "main_xtal");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 110 if (i < 0)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 111 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 112 mainxtal_name = of_clk_get_parent_name(np, i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 113
12dc8d3be9d86c Alexandre Belloni 2020-01-17 114 regmap = syscon_node_to_regmap(np);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 115 if (IS_ERR(regmap))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 116 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 117
12dc8d3be9d86c Alexandre Belloni 2020-01-17 118 at91sam9g45_pmc = pmc_data_allocate(PMC_MAIN + 1,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 119 nck(at91sam9g45_systemck),
12dc8d3be9d86c Alexandre Belloni 2020-01-17 120 nck(at91sam9g45_periphck), 0);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 121 if (!at91sam9g45_pmc)
12dc8d3be9d86c Alexandre Belloni 2020-01-17 122 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 123
12dc8d3be9d86c Alexandre Belloni 2020-01-17 124 bypass = of_property_read_bool(np, "atmel,osc-bypass");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 125
12dc8d3be9d86c Alexandre Belloni 2020-01-17 126 hw = at91_clk_register_main_osc(regmap, "main_osc", mainxtal_name,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 127 bypass);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 128 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 129 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 130
12dc8d3be9d86c Alexandre Belloni 2020-01-17 131 hw = at91_clk_register_rm9200_main(regmap, "mainck", "main_osc");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 132 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 133 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 134
12dc8d3be9d86c Alexandre Belloni 2020-01-17 135 at91sam9g45_pmc->chws[PMC_MAIN] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 136
12dc8d3be9d86c Alexandre Belloni 2020-01-17 137 hw = at91_clk_register_pll(regmap, "pllack", "mainck", 0,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 138 &at91rm9200_pll_layout, &plla_characteristics);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 139 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 140 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 141
12dc8d3be9d86c Alexandre Belloni 2020-01-17 142 hw = at91_clk_register_plldiv(regmap, "plladivck", "pllack");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 143 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 144 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 145
12dc8d3be9d86c Alexandre Belloni 2020-01-17 146 hw = at91_clk_register_utmi(regmap, NULL, "utmick", "mainck");
12dc8d3be9d86c Alexandre Belloni 2020-01-17 147 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 148 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 149
12dc8d3be9d86c Alexandre Belloni 2020-01-17 150 at91sam9g45_pmc->chws[PMC_UTMI] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 151
12dc8d3be9d86c Alexandre Belloni 2020-01-17 152 parent_names[0] = slck_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 153 parent_names[1] = "mainck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 154 parent_names[2] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 155 parent_names[3] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 156 hw = at91_clk_register_master(regmap, "masterck", 4, parent_names,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 157 &at91rm9200_master_layout,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 158 &mck_characteristics);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 159 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 160 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 161
12dc8d3be9d86c Alexandre Belloni 2020-01-17 162 at91sam9g45_pmc->chws[PMC_MCK] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 163
12dc8d3be9d86c Alexandre Belloni 2020-01-17 164 parent_names[0] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 165 parent_names[1] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 166 hw = at91sam9x5_clk_register_usb(regmap, "usbck", parent_names, 2);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 167 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 168 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 169
12dc8d3be9d86c Alexandre Belloni 2020-01-17 170 parent_names[0] = slck_name;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 171 parent_names[1] = "mainck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 172 parent_names[2] = "plladivck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 173 parent_names[3] = "utmick";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 174 parent_names[4] = "masterck";
12dc8d3be9d86c Alexandre Belloni 2020-01-17 175 for (i = 0; i < 2; i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 176 char name[6];
12dc8d3be9d86c Alexandre Belloni 2020-01-17 177
12dc8d3be9d86c Alexandre Belloni 2020-01-17 178 snprintf(name, sizeof(name), "prog%d", i);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 179
12dc8d3be9d86c Alexandre Belloni 2020-01-17 180 hw = at91_clk_register_programmable(regmap, name,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 181 parent_names, 5, i,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 182 &at91sam9g45_programmable_layout);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 183 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 184 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 185 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 186
12dc8d3be9d86c Alexandre Belloni 2020-01-17 187 for (i = 0; i < ARRAY_SIZE(at91sam9g45_systemck); i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 188 hw = at91_clk_register_system(regmap, at91sam9g45_systemck[i].n,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 189 at91sam9g45_systemck[i].p,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 190 at91sam9g45_systemck[i].id);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 191 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 192 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 193
12dc8d3be9d86c Alexandre Belloni 2020-01-17 194 at91sam9g45_pmc->shws[at91sam9g45_systemck[i].id] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 195 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 196
12dc8d3be9d86c Alexandre Belloni 2020-01-17 197 for (i = 0; i < ARRAY_SIZE(at91sam9g45_periphck); i++) {
12dc8d3be9d86c Alexandre Belloni 2020-01-17 198 hw = at91_clk_register_peripheral(regmap,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 199 at91sam9g45_periphck[i].n,
12dc8d3be9d86c Alexandre Belloni 2020-01-17 200 "masterck",
12dc8d3be9d86c Alexandre Belloni 2020-01-17 201 at91sam9g45_periphck[i].id);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 202 if (IS_ERR(hw))
12dc8d3be9d86c Alexandre Belloni 2020-01-17 203 goto err_free;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 204
12dc8d3be9d86c Alexandre Belloni 2020-01-17 205 at91sam9g45_pmc->phws[at91sam9g45_periphck[i].id] = hw;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 206 }
12dc8d3be9d86c Alexandre Belloni 2020-01-17 207
12dc8d3be9d86c Alexandre Belloni 2020-01-17 208 of_clk_add_hw_provider(np, of_clk_hw_pmc_get, at91sam9g45_pmc);
12dc8d3be9d86c Alexandre Belloni 2020-01-17 209
12dc8d3be9d86c Alexandre Belloni 2020-01-17 210 return;
12dc8d3be9d86c Alexandre Belloni 2020-01-17 211
12dc8d3be9d86c Alexandre Belloni 2020-01-17 212 err_free:
12dc8d3be9d86c Alexandre Belloni 2020-01-17 @213 pmc_data_free(at91sam9g45_pmc);
:::::: The code at line 213 was first introduced by commit
:::::: 12dc8d3be9d86cccc35dcf32828d3a8e9d48e0d1 clk: at91: add at91sam9g45 pmc driver
:::::: TO: Alexandre Belloni <alexandre.belloni@bootlin.com>
:::::: CC: Stephen Boyd <sboyd@kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26719 bytes --]
next prev parent reply other threads:[~2020-03-16 22:06 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-03-15 18:38 [PATCH 0/3] clk: at91: support configuring PCKx parent via DT Michał Mirosław
2020-03-15 18:38 ` [PATCH 2/3] clk: at91: allow setting " Michał Mirosław
2020-03-16 23:04 ` kbuild test robot
2020-03-16 23:04 ` kbuild test robot
2020-03-15 18:38 ` [PATCH 1/3] clk: at91: optimize pmc data allocation Michał Mirosław
2020-03-16 22:05 ` kbuild test robot [this message]
2020-03-16 22:05 ` kbuild test robot
2020-03-15 18:38 ` [PATCH 3/3] clk: at91: sama5d2: allow setting all PMC clock parents via DT Michał Mirosław
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202003170620.eU3WdYVL%lkp@intel.com \
--to=lkp@intel.com \
--cc=alexandre.belloni@bootlin.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ludovic.desroches@microchip.com \
--cc=mirq-linux@rere.qmqm.pl \
--cc=mturquette@baylibre.com \
--cc=nicolas.ferre@microchip.com \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.