[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <58ad7723-131f-6930-00d7-1144c993110c@gmail.com>
Date: Wed, 17 Jun 2020 23:41:44 +0200
From: Jacek Anaszewski <jacek.anaszewski@...il.com>
To: Dan Murphy <dmurphy@...com>, kernel test robot <lkp@...el.com>,
pavel@....cz, robh@...nel.org
Cc: kbuild-all@...ts.01.org, devicetree@...r.kernel.org,
linux-leds@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RESEND PATCH v27 11/15] leds: lp55xx: Add multicolor framework
support to lp55xx
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@...el.com>
>>
>> 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
--
Best regards,
Jacek Anaszewski
Powered by blists - more mailing lists