All of lore.kernel.org
 help / color / mirror / Atom feed
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 --]

  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.