RE: [PATCH 5/7] regulator: da9211: switch to using devm_fwnode_gpiod_get

2019-10-07 Thread Adam Thomson
On 05 October 2019 00:10, Dmitry Torokhov wrote:

> devm_gpiod_get_from_of_node() is being retired in favor of
> devm_fwnode_gpiod_get_index(), that behaves similar to
> devm_gpiod_get_index(), but can work with arbitrary firmware node. It
> will also be able to support secondary software nodes.
> 
> Let's switch this driver over.
> 
> Signed-off-by: Dmitry Torokhov 

Acked-by: Adam Thomson 

> ---
> 
>  drivers/regulator/da9211-regulator.c | 12 ++--
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/regulator/da9211-regulator.c b/drivers/regulator/da9211-
> regulator.c
> index bf80748f1ccc..523dc1b95826 100644
> --- a/drivers/regulator/da9211-regulator.c
> +++ b/drivers/regulator/da9211-regulator.c
> @@ -283,12 +283,12 @@ static struct da9211_pdata
> *da9211_parse_regulators_dt(
> 
>   pdata->init_data[n] = da9211_matches[i].init_data;
>   pdata->reg_node[n] = da9211_matches[i].of_node;
> - pdata->gpiod_ren[n] = devm_gpiod_get_from_of_node(dev,
> -   da9211_matches[i].of_node,
> -   "enable-gpios",
> -   0,
> -   GPIOD_OUT_HIGH |
> GPIOD_FLAGS_BIT_NONEXCLUSIVE,
> -   "da9211-enable");
> + pdata->gpiod_ren[n] = devm_fwnode_gpiod_get(dev,
> + of_fwnode_handle(pdata-
> >reg_node[n]),
> + "enable",
> + GPIOD_OUT_HIGH |
> +
>   GPIOD_FLAGS_BIT_NONEXCLUSIVE,
> + "da9211-enable");
>   if (IS_ERR(pdata->gpiod_ren[n]))
>   pdata->gpiod_ren[n] = NULL;
>   n++;
> --
> 2.23.0.581.g78d2f28ef7-goog



Re: [PATCH 5/7] regulator: da9211: switch to using devm_fwnode_gpiod_get

2019-10-04 Thread kbuild test robot
Hi Dmitry,

I love your patch! Yet something to improve:

[auto build test ERROR on regulator/for-next]
[cannot apply to v5.4-rc1 next-20191004]
[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/Dmitry-Torokhov/regulator-switch-to-using-devm_-fwnode_gpiod_get_index/20191005-085020
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git 
for-next
config: sh-allmodconfig (attached as .config)
compiler: sh4-linux-gcc (GCC) 7.4.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=7.4.0 make.cross ARCH=sh 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot 

All error/warnings (new ones prefixed by >>):

   drivers/regulator/da9211-regulator.c: In function 
'da9211_parse_regulators_dt':
>> drivers/regulator/da9211-regulator.c:286:25: error: implicit declaration of 
>> function 'devm_fwnode_gpiod_get'; did you mean 'devm_gpiod_get'? 
>> [-Werror=implicit-function-declaration]
  pdata->gpiod_ren[n] = devm_fwnode_gpiod_get(dev,
^
devm_gpiod_get
>> drivers/regulator/da9211-regulator.c:286:23: warning: assignment makes 
>> pointer from integer without a cast [-Wint-conversion]
  pdata->gpiod_ren[n] = devm_fwnode_gpiod_get(dev,
  ^
   cc1: some warnings being treated as errors

vim +286 drivers/regulator/da9211-regulator.c

   245  
   246  #ifdef CONFIG_OF
   247  static struct of_regulator_match da9211_matches[] = {
   248  [DA9211_ID_BUCKA] = { .name = "BUCKA" },
   249  [DA9211_ID_BUCKB] = { .name = "BUCKB" },
   250  };
   251  
   252  static struct da9211_pdata *da9211_parse_regulators_dt(
   253  struct device *dev)
   254  {
   255  struct da9211_pdata *pdata;
   256  struct device_node *node;
   257  int i, num, n;
   258  
   259  node = of_get_child_by_name(dev->of_node, "regulators");
   260  if (!node) {
   261  dev_err(dev, "regulators node not found\n");
   262  return ERR_PTR(-ENODEV);
   263  }
   264  
   265  num = of_regulator_match(dev, node, da9211_matches,
   266   ARRAY_SIZE(da9211_matches));
   267  of_node_put(node);
   268  if (num < 0) {
   269  dev_err(dev, "Failed to match regulators\n");
   270  return ERR_PTR(-EINVAL);
   271  }
   272  
   273  pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL);
   274  if (!pdata)
   275  return ERR_PTR(-ENOMEM);
   276  
   277  pdata->num_buck = num;
   278  
   279  n = 0;
   280  for (i = 0; i < ARRAY_SIZE(da9211_matches); i++) {
   281  if (!da9211_matches[i].init_data)
   282  continue;
   283  
   284  pdata->init_data[n] = da9211_matches[i].init_data;
   285  pdata->reg_node[n] = da9211_matches[i].of_node;
 > 286  pdata->gpiod_ren[n] = devm_fwnode_gpiod_get(dev,
   287  
of_fwnode_handle(pdata->reg_node[n]),
   288  "enable",
   289  GPIOD_OUT_HIGH |
   290  
GPIOD_FLAGS_BIT_NONEXCLUSIVE,
   291  "da9211-enable");
   292  if (IS_ERR(pdata->gpiod_ren[n]))
   293  pdata->gpiod_ren[n] = NULL;
   294  n++;
   295  }
   296  
   297  return pdata;
   298  }
   299  #else
   300  static struct da9211_pdata *da9211_parse_regulators_dt(
   301  struct device *dev)
   302  {
   303  return ERR_PTR(-ENODEV);
   304  }
   305  #endif
   306  

---
0-DAY kernel test infrastructureOpen Source Technology Center
https://lists.01.org/pipermail/kbuild-all   Intel Corporation


.config.gz
Description: application/gzip