Messages in this thread | | | Date | Thu, 21 Aug 2014 10:38:34 +0200 | From | Jacek Anaszewski <> | Subject | Re: [PATCH/RFC v4 15/21] media: Add registration helpers for V4L2 flash |
| |
Hi Sakari,
On 08/20/2014 04:41 PM, Sakari Ailus wrote: > Hi Jacek,
[...] >>>> >>>> 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
| |