Re: [PATCH/RFC v4 15/21] media: Add registration helpers for V4L2 flash
From: Jacek Anaszewski <hidden>
Date: 2014-08-21 08:38:45
Also in:
linux-leds, linux-media, lkml
From: Jacek Anaszewski <hidden>
Date: 2014-08-21 08:38:45
Also in:
linux-leds, linux-media, lkml
Hi Sakari, On 08/20/2014 04:41 PM, Sakari Ailus wrote:
Hi Jacek,
[...]
quoted
quoted
quoted
LED Class Flash driver gains V4L2 Flash API when CONFIG_V4L2_FLASH_LED_CLASS is defined. This is accomplished in the probe function by either calling v4l2_flash_init function or the macro of this name, when the CONFIG_V4L2_FLASH_LED_CLASS macro isn't defined. If the v4l2-flash.c was to call the LED API directly, then the led-class-flash module symbols would have to be available at v4l2-flash.o linking time.Is this an issue? EXPORT_SYMBOL_GPL() for the relevant symbols should be enough.It isn't enough. If I call e.g. led_set_flash_brightness directly from v4l2-flash.c and configure led-class-flash to be built as a module then I am getting "undefined reference to led_set_flash_brightness" error during linking phase.You should not. You also should change the check as (unless you've changed it already): #if IS_ENABLED(CONFIG_V4L2_FLASH_LED_CLASS) This will evaluate to non-zero if the macro arguent or the argument postfixed with "_MODULE" is defined.
I've missed this macro. Indeed, it is possible to avoid the need for ops with it. I will fix it in the next version of the patch set. Thanks for the hint. Best Regards, Jacek Anaszewski