Hi Axel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on regulator/for-next]
[also build test ERROR on next-20190228]
[cannot apply to v5.0-rc8]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Axel-Lin/regulator-lp87565-Convert-to-use-regulator_set-get_current_limit_regmap/20190301-190141
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git 
for-next
config: i386-randconfig-x013-201908 (attached as .config)
compiler: gcc-8 (Debian 8.2.0-21) 8.2.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

>> drivers//regulator/lp87565-regulator.c:120:23: error: 
>> 'regulator_set_current_limit_regmap' undeclared here (not in a function); 
>> did you mean 'regulator_set_current_limit'?
     .set_current_limit = regulator_set_current_limit_regmap,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          regulator_set_current_limit
>> drivers//regulator/lp87565-regulator.c:121:23: error: 
>> 'regulator_get_current_limit_regmap' undeclared here (not in a function); 
>> did you mean 'regulator_get_current_limit'?
     .get_current_limit = regulator_get_current_limit_regmap,
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                          regulator_get_current_limit
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:125:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK0", LP87565_BUCK_0, "buck0", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:125:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK0", LP87565_BUCK_0, "buck0", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:130:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK1", LP87565_BUCK_1, "buck1", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:130:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK1", LP87565_BUCK_1, "buck1", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:135:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK2", LP87565_BUCK_2, "buck2", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:135:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK2", LP87565_BUCK_2, "buck2", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:140:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK3", LP87565_BUCK_3, "buck3", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:140:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK3", LP87565_BUCK_3, "buck3", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:145:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK10", LP87565_BUCK_10, "buck10", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:145:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK10", LP87565_BUCK_10, "buck10", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:37:5: error: 'struct regulator_desc' 
>> has no member named 'curr_table'; did you mean 'volt_table'?
       .curr_table = lp87565_buck_uA,   \
        ^~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:151:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK23", LP87565_BUCK_23, "buck23", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~
>> drivers//regulator/lp87565-regulator.c:38:5: error: 'struct regulator_desc' 
>> has no member named 'n_current_limits'
       .n_current_limits = ARRAY_SIZE(lp87565_buck_uA),\
        ^~~~~~~~~~~~~~~~
   drivers//regulator/lp87565-regulator.c:151:2: note: in expansion of macro 
'LP87565_REGULATOR'
     LP87565_REGULATOR("BUCK23", LP87565_BUCK_23, "buck23", lp87565_buck_ops,
     ^~~~~~~~~~~~~~~~~

vim +120 drivers//regulator/lp87565-regulator.c

    16  
    17  #define LP87565_REGULATOR(_name, _id, _of, _ops, _n, _vr, _vm, _er, 
_em, \
    18                           _delay, _lr, _cr)                              
\
    19          [_id] = {                                                       
\
    20                  .desc = {                                               
\
    21                          .name                   = _name,                
\
    22                          .supply_name            = _of "-in",            
\
    23                          .id                     = _id,                  
\
    24                          .of_match               = of_match_ptr(_of),    
\
    25                          .regulators_node        = 
of_match_ptr("regulators"),\
    26                          .ops                    = &_ops,                
\
    27                          .n_voltages             = _n,                   
\
    28                          .type                   = REGULATOR_VOLTAGE,    
\
    29                          .owner                  = THIS_MODULE,          
\
    30                          .vsel_reg               = _vr,                  
\
    31                          .vsel_mask              = _vm,                  
\
    32                          .enable_reg             = _er,                  
\
    33                          .enable_mask            = _em,                  
\
    34                          .ramp_delay             = _delay,               
\
    35                          .linear_ranges          = _lr,                  
\
    36                          .n_linear_ranges        = ARRAY_SIZE(_lr),      
\
  > 37                          .curr_table = lp87565_buck_uA,                  
\
  > 38                          .n_current_limits = 
ARRAY_SIZE(lp87565_buck_uA),\
    39                          .csel_reg = (_cr),                              
\
    40                          .csel_mask = LP87565_BUCK_CTRL_2_ILIM,          
\
    41                  },                                                      
\
    42                  .ctrl2_reg = _cr,                                       
\
    43          }
    44  
    45  struct lp87565_regulator {
    46          struct regulator_desc desc;
    47          unsigned int ctrl2_reg;
    48  };
    49  
    50  static const struct lp87565_regulator regulators[];
    51  
    52  static const struct regulator_linear_range buck0_1_2_3_ranges[] = {
    53          REGULATOR_LINEAR_RANGE(600000, 0xA, 0x17, 10000),
    54          REGULATOR_LINEAR_RANGE(735000, 0x18, 0x9d, 5000),
    55          REGULATOR_LINEAR_RANGE(1420000, 0x9e, 0xff, 20000),
    56  };
    57  
    58  static const unsigned int lp87565_buck_ramp_delay[] = {
    59          30000, 15000, 10000, 7500, 3800, 1900, 940, 470
    60  };
    61  
    62  /* LP87565 BUCK current limit */
    63  static const unsigned int lp87565_buck_uA[] = {
    64          1500000, 2000000, 2500000, 3000000, 3500000, 4000000, 4500000, 
5000000,
    65  };
    66  
    67  static int lp87565_buck_set_ramp_delay(struct regulator_dev *rdev,
    68                                         int ramp_delay)
    69  {
    70          int id = rdev_get_id(rdev);
    71          struct lp87565 *lp87565 = rdev_get_drvdata(rdev);
    72          unsigned int reg;
    73          int ret;
    74  
    75          if (ramp_delay <= 470)
    76                  reg = 7;
    77          else if (ramp_delay <= 940)
    78                  reg = 6;
    79          else if (ramp_delay <= 1900)
    80                  reg = 5;
    81          else if (ramp_delay <= 3800)
    82                  reg = 4;
    83          else if (ramp_delay <= 7500)
    84                  reg = 3;
    85          else if (ramp_delay <= 10000)
    86                  reg = 2;
    87          else if (ramp_delay <= 15000)
    88                  reg = 1;
    89          else
    90                  reg = 0;
    91  
    92          ret = regmap_update_bits(lp87565->regmap, 
regulators[id].ctrl2_reg,
    93                                   LP87565_BUCK_CTRL_2_SLEW_RATE,
    94                                   reg << 
__ffs(LP87565_BUCK_CTRL_2_SLEW_RATE));
    95          if (ret) {
    96                  dev_err(lp87565->dev, "SLEW RATE write failed: %d\n", 
ret);
    97                  return ret;
    98          }
    99  
   100          rdev->constraints->ramp_delay = lp87565_buck_ramp_delay[reg];
   101  
   102          /* Conservatively give a 15% margin */
   103          rdev->constraints->ramp_delay =
   104                                  rdev->constraints->ramp_delay * 85 / 
100;
   105  
   106          return 0;
   107  }
   108  
   109  /* Operations permitted on BUCKs */
   110  static const struct regulator_ops lp87565_buck_ops = {
   111          .is_enabled             = regulator_is_enabled_regmap,
   112          .enable                 = regulator_enable_regmap,
   113          .disable                = regulator_disable_regmap,
   114          .get_voltage_sel        = regulator_get_voltage_sel_regmap,
   115          .set_voltage_sel        = regulator_set_voltage_sel_regmap,
   116          .list_voltage           = regulator_list_voltage_linear_range,
   117          .map_voltage            = regulator_map_voltage_linear_range,
   118          .set_voltage_time_sel   = regulator_set_voltage_time_sel,
   119          .set_ramp_delay         = lp87565_buck_set_ramp_delay,
 > 120          .set_current_limit      = regulator_set_current_limit_regmap,
 > 121          .get_current_limit      = regulator_get_current_limit_regmap,
   122  };
   123  

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

Attachment: .config.gz
Description: application/gzip

Reply via email to