Thread (55 messages) 55 messages, 5 authors, 2014-08-21

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

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help