Dan,
On 6/18/20 12:33 AM, Dan Murphy wrote:
Jacek
On 6/17/20 4:41 PM, Jacek Anaszewski wrote:
Dan,
On 6/17/20 9:22 PM, Dan Murphy wrote:
Pavel/Jacek
On 6/17/20 11:28 AM, kernel test robot wrote:
Hi Dan,
I love your patch! Yet something to improve:
[auto build test ERROR on pavel-linux-leds/for-next]
[cannot apply to j.anaszewski-leds/for-next]
[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-v27/20200616-042217
base:
git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git
for-next
config: ia64-randconfig-r015-20200617 (attached as .config)
compiler: ia64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
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
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0
make.cross ARCH=ia64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>, old ones prefixed by <<):
ia64-linux-ld: drivers/leds/leds-lp55xx-common.o: in function
`lp55xx_set_mc_brightness':
drivers/leds/leds-lp55xx-common.c:146: undefined reference to
`led_mc_calc_color_components'
ia64-linux-ld: drivers/leds/leds-lp55xx-common.o: in function
`devm_led_classdev_multicolor_register':
include/linux/led-class-multicolor.h:74: undefined reference to
`devm_led_classdev_multicolor_register_ext'
vim +146 drivers/leds/leds-lp55xx-common.c
138
139 static int lp55xx_set_mc_brightness(struct led_classdev
*cdev,
140 enum led_brightness brightness)
141 {
142 struct led_classdev_mc *mc_dev = lcdev_to_mccdev(cdev);
143 struct lp55xx_led *led = mcled_cdev_to_led(mc_dev);
144 struct lp55xx_device_config *cfg = led->chip->cfg;
145
> 146 led_mc_calc_color_components(&led->mc_cdev, brightness);
147 return cfg->multicolor_brightness_fn(led);
148
Well this was a mess to figure out.
The only fix I can figure out here is to remove the
depends on LEDS_CLASS_MULTI_COLOR || !LEDS_CLASS_MULTI_COLOR
from each child device and add
select LEDS_CLASS_MULTI_COLOR
to the LP55XX_COMMON
This way the Multi color framework will inherit the symbol that was
set by the COMMON flag which is inherited by majority from the child
flags.
Did you try this?
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
@@ -398,6 +398,7 @@ config LEDS_LP50XX
config LEDS_LP55XX_COMMON
tristate "Common Driver for TI/National
LP5521/5523/55231/5562/8501"
depends on LEDS_LP5521 || LEDS_LP5523 || LEDS_LP5562 ||
LEDS_LP8501
+ depends on LEDS_CLASS_MULTI_COLOR || !LEDS_CLASS_MULTI_COLOR
depends on OF
select FW_LOADER
select FW_LOADER_USER_HELPER
Yes I did
That gave unmet dependencies.
WARNING: unmet direct dependencies detected for LEDS_LP55XX_COMMON
Depends on [m]: NEW_LEDS [=y] && (LEDS_LP5521 [=n] || LEDS_LP5523
[=m] || LEDS_LP5562 [=y] || LEDS_LP8501 [=y]) && (LEDS_CLASS_MULTI_COLOR
[=m] || !LEDS_CLASS_MULTI_COLOR [=m]) && OF [=y]
Selected by [y]:
- LEDS_LP5562 [=y] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y]
- LEDS_LP8501 [=y] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y]
Selected by [m]:
- LEDS_LP5523 [=m] && NEW_LEDS [=y] && LEDS_CLASS [=y] && I2C [=y] &&
(LEDS_CLASS_MULTI_COLOR [=m] || !LEDS_CLASS_MULTI_COLOR [=m])
When I was testing that yesterday I also had the same warning at some
point of testing different Kconfig setups, but with what I showed above
it ceased to appear. Now every time I am doing "make oldconfig" the
CONFIG_LEDS_LP55XX_COMMON=y entry gets changed to =m with the config
from the test bot.
--
Best regards,
Jacek Anaszewski