Re: [PATCH] media: i2c: thp7312: select CONFIG_FW_LOADER

Randy Dunlap
2024-01-03T20:06:45Z

On 1/3/24 09:48, Laurent Pinchart wrote:
> Hi Arnd,
>
> Thank you for the patch.
>
> On Wed, Jan 03, 2024 at 04:58:05PM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> The recently added driver uses the firmware loader mechanism but causes
>> a link failure when that is in a loadable module while thp7312 itself
>> is built-in:
>>
>> arm-linux-gnueabi-ld: drivers/media/i2c/thp7312.o: in function `thp7312_probe':
>> thp7312.c:(.text+0x4164): undefined reference to `firmware_upload_register'
>>
>> Select the required Kconfig symbol. Note that the driver specifically
>> needs the firmware upload interface that is controlled by CONFIG_FW_UPLOAD,
>> but there is no link failure when that is disabled because the interfaces
>> are stubbed out here.
>>
>> Fixes: 7a52ab415b43 ("media: i2c: Add driver for THine THP7312")
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> I've posted a similar fix yesterday, see
> https://lore.kernel.org/linux-media/20240102074518.24968-1-laurent.pinchart@ideasonboard.com
>
> What approach do you think is best ?

By far the dominant use of FW_LOADER is to select it instead of depend on it,
so I prefer Arnd's patch.

>
>> ---
>> drivers/media/i2c/Kconfig | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
>> index 78a87331686e..4c3435921f19 100644
>> --- a/drivers/media/i2c/Kconfig
>> +++ b/drivers/media/i2c/Kconfig
>> @@ -674,6 +674,7 @@ menu "Camera ISPs"
>> config VIDEO_THP7312
>> tristate "THine THP7312 support"
>> depends on I2C
>> + select FW_LOADER
>> select MEDIA_CONTROLLER
>> select V4L2_CCI_I2C
>> select V4L2_FWNODE
>

--
#Randy