Hi Nuno, kernel test robot noticed the following build warnings: [auto build test WARNING on 4d395cb071a343196ca524d3694790f06978fe91] url: https://github.com/intel-lab-lkp/linux/commits/Nuno-S-via-B4-Relay/dt-bindings-mfd-adp5585-ease-on-the-required-properties/20250313-222511 base: 4d395cb071a343196ca524d3694790f06978fe91 patch link: https://lore.kernel.org/r/20250313-dev-adp5589-fw-v1-6-20e80d4bd4ea%40analog.com patch subject: [PATCH 06/18] mfd: adp5585: add support for adp5589 config: riscv-randconfig-001-20250314 (https://download.01.org/0day-ci/archive/20250314/202503141607.g4arza1A-lkp@xxxxxxxxx/config) compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250314/202503141607.g4arza1A-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202503141607.g4arza1A-lkp@xxxxxxxxx/ All warnings (new ones prefixed by >>): >> drivers/mfd/adp5585.c:48:41: warning: unused variable 'adp5589_volatile_regs' [-Wunused-const-variable] 48 | static const struct regmap_access_table adp5589_volatile_regs = { | ^~~~~~~~~~~~~~~~~~~~~ >> drivers/mfd/adp5585.c:229:34: warning: unused variable 'adp5585_info' [-Wunused-const-variable] 229 | static const struct adp5585_info adp5585_info = { | ^~~~~~~~~~~~ >> drivers/mfd/adp5585.c:239:34: warning: unused variable 'adp5585_01_info' [-Wunused-const-variable] 239 | static const struct adp5585_info adp5585_01_info = { | ^~~~~~~~~~~~~~~ >> drivers/mfd/adp5585.c:249:34: warning: unused variable 'adp5585_02_info' [-Wunused-const-variable] 249 | static const struct adp5585_info adp5585_02_info = { | ^~~~~~~~~~~~~~~ 4 warnings generated. vim +/adp5589_volatile_regs +48 drivers/mfd/adp5585.c 47 > 48 static const struct regmap_access_table adp5589_volatile_regs = { 49 .yes_ranges = adp5589_volatile_ranges, 50 .n_yes_ranges = ARRAY_SIZE(adp5589_volatile_ranges), 51 }; 52 53 /* 54 * Chip variants differ in the default configuration of pull-up and pull-down 55 * resistors, and therefore have different default register values: 56 * 57 * - The -00, -01 and -03 variants (collectively referred to as 58 * ADP5585_REGMAP_00) have pull-up on all GPIO pins by default. 59 * - The -02 variant has no default pull-up or pull-down resistors. 60 * - The -04 variant has default pull-down resistors on all GPIO pins. 61 */ 62 63 static const u8 adp5585_regmap_defaults_00[ADP5585_MAX_REG + 1] = { 64 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 65 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 67 /* 0x18 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 68 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 69 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 70 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 71 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 72 }; 73 74 static const u8 adp5585_regmap_defaults_02[ADP5585_MAX_REG + 1] = { 75 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 76 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 77 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 78 /* 0x18 */ 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 79 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 80 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 81 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 82 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 83 }; 84 85 static const u8 adp5585_regmap_defaults_04[ADP5585_MAX_REG + 1] = { 86 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 87 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 88 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 89 /* 0x18 */ 0x05, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 90 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 91 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 92 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 93 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 94 }; 95 96 static const u8 adp5589_regmap_defaults_00[ADP5589_MAX_REG + 1] = { 97 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 99 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 100 /* 0x18 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 101 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 102 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 103 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 104 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 105 /* 0x40 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 106 /* 0x48 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 107 }; 108 109 static const u8 adp5589_regmap_defaults_01[ADP5589_MAX_REG + 1] = { 110 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 111 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113 /* 0x18 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 114 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 115 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 118 /* 0x40 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 119 /* 0x48 */ 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 120 }; 121 122 static const u8 adp5589_regmap_defaults_02[ADP5589_MAX_REG + 1] = { 123 /* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 124 /* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 125 /* 0x10 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 126 /* 0x18 */ 0x00, 0x41, 0x01, 0x00, 0x11, 0x04, 0x00, 0x00, 127 /* 0x20 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 128 /* 0x28 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 /* 0x30 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 130 /* 0x38 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 131 /* 0x40 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 132 /* 0x48 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 133 }; 134 135 enum adp5585_regmap_type { 136 ADP5585_REGMAP_00, 137 ADP5585_REGMAP_02, 138 ADP5585_REGMAP_04, 139 ADP5589_REGMAP_00, 140 ADP5589_REGMAP_01, 141 ADP5589_REGMAP_02, 142 }; 143 144 static const struct regmap_config adp5585_regmap_configs[] = { 145 [ADP5585_REGMAP_00] = { 146 .reg_bits = 8, 147 .val_bits = 8, 148 .max_register = ADP5585_MAX_REG, 149 .volatile_table = &adp5585_volatile_regs, 150 .cache_type = REGCACHE_MAPLE, 151 .reg_defaults_raw = adp5585_regmap_defaults_00, 152 .num_reg_defaults_raw = sizeof(adp5585_regmap_defaults_00), 153 }, 154 [ADP5585_REGMAP_02] = { 155 .reg_bits = 8, 156 .val_bits = 8, 157 .max_register = ADP5585_MAX_REG, 158 .volatile_table = &adp5585_volatile_regs, 159 .cache_type = REGCACHE_MAPLE, 160 .reg_defaults_raw = adp5585_regmap_defaults_02, 161 .num_reg_defaults_raw = sizeof(adp5585_regmap_defaults_02), 162 }, 163 [ADP5585_REGMAP_04] = { 164 .reg_bits = 8, 165 .val_bits = 8, 166 .max_register = ADP5585_MAX_REG, 167 .volatile_table = &adp5585_volatile_regs, 168 .cache_type = REGCACHE_MAPLE, 169 .reg_defaults_raw = adp5585_regmap_defaults_04, 170 .num_reg_defaults_raw = sizeof(adp5585_regmap_defaults_04), 171 }, 172 [ADP5589_REGMAP_00] = { 173 .reg_bits = 8, 174 .val_bits = 8, 175 .max_register = ADP5589_MAX_REG, 176 .volatile_table = &adp5585_volatile_regs, 177 .cache_type = REGCACHE_MAPLE, 178 .reg_defaults_raw = adp5589_regmap_defaults_00, 179 .num_reg_defaults_raw = sizeof(adp5589_regmap_defaults_00), 180 }, 181 [ADP5589_REGMAP_01] = { 182 .reg_bits = 8, 183 .val_bits = 8, 184 .max_register = ADP5589_MAX_REG, 185 .volatile_table = &adp5585_volatile_regs, 186 .cache_type = REGCACHE_MAPLE, 187 .reg_defaults_raw = adp5589_regmap_defaults_01, 188 .num_reg_defaults_raw = sizeof(adp5589_regmap_defaults_01), 189 }, 190 [ADP5589_REGMAP_02] = { 191 .reg_bits = 8, 192 .val_bits = 8, 193 .max_register = ADP5589_MAX_REG, 194 .volatile_table = &adp5585_volatile_regs, 195 .cache_type = REGCACHE_MAPLE, 196 .reg_defaults_raw = adp5589_regmap_defaults_02, 197 .num_reg_defaults_raw = sizeof(adp5589_regmap_defaults_02), 198 }, 199 }; 200 201 static const struct adp5585_regs adp5585_regs = { 202 .debounce_dis_a = ADP5585_DEBOUNCE_DIS_A, 203 .rpull_cfg_a = ADP5585_RPULL_CONFIG_A, 204 .gpo_data_a = ADP5585_GPO_DATA_OUT_A, 205 .gpo_out_a = ADP5585_GPO_OUT_MODE_A, 206 .gpio_dir_a = ADP5585_GPIO_DIRECTION_A, 207 .gpi_stat_a = ADP5585_GPI_STATUS_A, 208 .pwm_cfg = ADP5585_PWM_CFG, 209 .pwm_offt_low = ADP5585_PWM_OFFT_LOW, 210 .pwm_ont_low = ADP5585_PWM_ONT_LOW, 211 .gen_cfg = ADP5585_GENERAL_CFG, 212 .ext_cfg = ADP5585_PIN_CONFIG_C, 213 }; 214 215 static const struct adp5585_regs adp5589_regs = { 216 .debounce_dis_a = ADP5589_DEBOUNCE_DIS_A, 217 .rpull_cfg_a = ADP5589_RPULL_CONFIG_A, 218 .gpo_data_a = ADP5589_GPO_DATA_OUT_A, 219 .gpo_out_a = ADP5589_GPO_OUT_MODE_A, 220 .gpio_dir_a = ADP5589_GPIO_DIRECTION_A, 221 .gpi_stat_a = ADP5589_GPI_STATUS_A, 222 .pwm_cfg = ADP5589_PWM_CFG, 223 .pwm_offt_low = ADP5589_PWM_OFFT_LOW, 224 .pwm_ont_low = ADP5589_PWM_ONT_LOW, 225 .gen_cfg = ADP5589_GENERAL_CFG, 226 .ext_cfg = ADP5589_PIN_CONFIG_D, 227 }; 228 > 229 static const struct adp5585_info adp5585_info = { 230 .adp5585_devs = adp5585_devs, 231 .regmap_config = &adp5585_regmap_configs[ADP5585_REGMAP_00], 232 .n_devs = ARRAY_SIZE(adp5585_devs), 233 .id = ADP5585_MAN_ID_VALUE, 234 .regs = &adp5585_regs, 235 .max_rows = ADP5585_MAX_ROW_NUM, 236 .max_cols = ADP5585_MAX_COL_NUM, 237 }; 238 > 239 static const struct adp5585_info adp5585_01_info = { 240 .adp5585_devs = adp5585_devs, 241 .regmap_config = &adp5585_regmap_configs[ADP5585_REGMAP_00], 242 .n_devs = ARRAY_SIZE(adp5585_devs), 243 .id = ADP5585_MAN_ID_VALUE, 244 .regs = &adp5585_regs, 245 .max_rows = ADP5585_MAX_ROW_NUM, 246 .max_cols = ADP5585_MAX_COL_NUM, 247 }; 248 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki