Hi Dan, I love your patch! Yet something to improve: [auto build test ERROR on linus/master] [cannot apply to v5.3 next-20190919] [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/Dan-Murphy/Multicolor-Framework-updates/20190920-023813 config: i386-randconfig-b003-201937 (attached as .config) compiler: gcc-7 (Debian 7.4.0-13) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 :::::: branch date: 4 hours ago :::::: commit date: 4 hours ago If you fix the issue, kindly add following tag Reported-by: kbuild test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): ld: drivers/leds/leds-lp55xx-common.o: in function `lp55xx_set_brightness': >> drivers/leds/leds-lp55xx-common.c:144: undefined reference to `led_mc_calc_brightness' ld: drivers/leds/leds-lp55xx-common.o: in function `lp55xx_init_led': >> drivers/leds/leds-lp55xx-common.c:216: undefined reference to `led_classdev_multicolor_register_ext' # https://github.com/0day-ci/linux/commit/d907bc23f70b4ca46747f42ec24a2066fa4602b0 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout d907bc23f70b4ca46747f42ec24a2066fa4602b0 vim +144 drivers/leds/leds-lp55xx-common.c 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 133) 95b2af637e283e Andrew Lunn 2015-08-20 134 static int lp55xx_set_brightness(struct led_classdev *cdev, 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 135) enum led_brightness brightness) 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 136) { a6e4679a09a0a2 Milo(Woogyom Kim 2013-02-05 137) struct lp55xx_led *led = cdev_to_lp55xx_led(cdev); 95b2af637e283e Andrew Lunn 2015-08-20 138 struct lp55xx_device_config *cfg = led->chip->cfg; d907bc23f70b4c Dan Murphy 2019-09-19 139 int adj_value[LED_COLOR_ID_MAX]; d907bc23f70b4c Dan Murphy 2019-09-19 140 int ret; d907bc23f70b4c Dan Murphy 2019-09-19 141 int i; a6e4679a09a0a2 Milo(Woogyom Kim 2013-02-05 142) d907bc23f70b4c Dan Murphy 2019-09-19 143 if (led->mc_cdev.num_leds > 1) { d907bc23f70b4c Dan Murphy 2019-09-19 @144 led_mc_calc_brightness(&led->mc_cdev, d907bc23f70b4c Dan Murphy 2019-09-19 145 brightness, adj_value); d907bc23f70b4c Dan Murphy 2019-09-19 146 for (i = 0; i < led->mc_cdev.num_leds; i++) { d907bc23f70b4c Dan Murphy 2019-09-19 147 led->brightness = adj_value[i]; d907bc23f70b4c Dan Murphy 2019-09-19 148 ret = cfg->color_intensity_fn(led, d907bc23f70b4c Dan Murphy 2019-09-19 149 led->grouped_channels[i]); d907bc23f70b4c Dan Murphy 2019-09-19 150 if (ret) d907bc23f70b4c Dan Murphy 2019-09-19 151 break; d907bc23f70b4c Dan Murphy 2019-09-19 152 } d907bc23f70b4c Dan Murphy 2019-09-19 153 } else { a6e4679a09a0a2 Milo(Woogyom Kim 2013-02-05 154) led->brightness = (u8)brightness; d907bc23f70b4c Dan Murphy 2019-09-19 155 ret = cfg->brightness_fn(led); d907bc23f70b4c Dan Murphy 2019-09-19 156 } d907bc23f70b4c Dan Murphy 2019-09-19 157 d907bc23f70b4c Dan Murphy 2019-09-19 158 return ret; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 159) } 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 160) 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 161) static int lp55xx_init_led(struct lp55xx_led *led, 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 162) struct lp55xx_chip *chip, int chan) 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 163) { 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 164) struct lp55xx_platform_data *pdata = chip->pdata; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 165) struct lp55xx_device_config *cfg = chip->cfg; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 166) struct device *dev = &chip->cl->dev; d907bc23f70b4c Dan Murphy 2019-09-19 167 int max_channel = cfg->max_channel; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 168) char name[32]; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 169) int ret; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 170) 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 171) if (chan >= max_channel) { 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 172) dev_err(dev, "invalid channel: %d / %d\n", chan, max_channel); 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 173) return -EINVAL; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 174) } 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 175) 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 176) if (pdata->led_config[chan].led_current == 0) 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 177) return 0; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 178) d907bc23f70b4c Dan Murphy 2019-09-19 179 if (pdata->led_config[chan].name) { d907bc23f70b4c Dan Murphy 2019-09-19 180 led->cdev.name = pdata->led_config[chan].name; d907bc23f70b4c Dan Murphy 2019-09-19 181 } else { d907bc23f70b4c Dan Murphy 2019-09-19 182 snprintf(name, sizeof(name), "%s:channel%d", d907bc23f70b4c Dan Murphy 2019-09-19 183 pdata->label ? : chip->cl->name, chan); d907bc23f70b4c Dan Murphy 2019-09-19 184 led->cdev.name = name; d907bc23f70b4c Dan Murphy 2019-09-19 185 } d907bc23f70b4c Dan Murphy 2019-09-19 186 d907bc23f70b4c Dan Murphy 2019-09-19 187 if (pdata->led_config[chan].num_colors > 1) { d907bc23f70b4c Dan Murphy 2019-09-19 188 led->mc_cdev.led_cdev = &led->cdev; d907bc23f70b4c Dan Murphy 2019-09-19 189 led->cdev.brightness_set_blocking = lp55xx_set_brightness; d907bc23f70b4c Dan Murphy 2019-09-19 190 led->cdev.groups = lp55xx_led_groups; d907bc23f70b4c Dan Murphy 2019-09-19 191 led->mc_cdev.num_leds = pdata->led_config[chan].num_colors; d907bc23f70b4c Dan Murphy 2019-09-19 192 led->mc_cdev.available_colors = pdata->led_config[chan].available_colors; d907bc23f70b4c Dan Murphy 2019-09-19 193 memcpy(led->channel_color, d907bc23f70b4c Dan Murphy 2019-09-19 194 pdata->led_config[chan].channel_color, d907bc23f70b4c Dan Murphy 2019-09-19 195 sizeof(led->channel_color)); d907bc23f70b4c Dan Murphy 2019-09-19 196 memcpy(led->grouped_channels, d907bc23f70b4c Dan Murphy 2019-09-19 197 pdata->led_config[chan].grouped_channels, d907bc23f70b4c Dan Murphy 2019-09-19 198 sizeof(led->grouped_channels)); d907bc23f70b4c Dan Murphy 2019-09-19 199 } else { d907bc23f70b4c Dan Murphy 2019-09-19 200 d907bc23f70b4c Dan Murphy 2019-09-19 201 led->cdev.default_trigger = pdata->led_config[chan].default_trigger; d907bc23f70b4c Dan Murphy 2019-09-19 202 led->cdev.brightness_set_blocking = lp55xx_set_brightness; d907bc23f70b4c Dan Murphy 2019-09-19 203 } led->cdev.groups = lp55xx_led_groups; d907bc23f70b4c Dan Murphy 2019-09-19 204 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 205) led->led_current = pdata->led_config[chan].led_current; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 206) led->max_current = pdata->led_config[chan].max_current; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 207) led->chan_nr = pdata->led_config[chan].chan_nr; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 208) 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 209) if (led->chan_nr >= max_channel) { 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 210) dev_err(dev, "Use channel numbers between 0 and %d\n", 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 211) max_channel - 1); 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 212) return -EINVAL; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 213) } 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 214) d907bc23f70b4c Dan Murphy 2019-09-19 215 if (pdata->led_config[chan].num_colors > 1) d907bc23f70b4c Dan Murphy 2019-09-19 @216 ret = led_classdev_multicolor_register(dev, &led->mc_cdev); d907bc23f70b4c Dan Murphy 2019-09-19 217 else 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 218) ret = led_classdev_register(dev, &led->cdev); d907bc23f70b4c Dan Murphy 2019-09-19 219 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 220) if (ret) { 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 221) dev_err(dev, "led register err: %d\n", ret); 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 222) return ret; 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 223) } 0e2023463a3c94 Milo(Woogyom Kim 2013-02-05 224) 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 225) return 0; 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 226) } 9e9b3db1b2f725 Milo(Woogyom Kim 2013-02-05 227) --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: .config.gz