Subject: Re: linux-next: Tree for May 27 (drivers/platform/x86/amd/amd_isp4.c)

From: Hans de Goede <[email-masked]>
Date: Fri, 30 May 2025 09:44:21 +0200

Hi,

On 30-May-25 9:41 AM, Ilpo Järvinen wrote:
> On Tue, 27 May 2025, Nirujogi, Pratap wrote:
>> On 5/27/2025 3:43 PM, Hans de Goede wrote:
>>> Caution: This message originated from an External Source. Use proper caution
>>> when opening attachments, clicking links, or responding.
>>>
>>>
>>> Hi,
>>>
>>> On 27-May-25 8:56 PM, Randy Dunlap wrote:
>>>>
>>>>
>>>> On 5/27/25 3:32 AM, Stephen Rothwell wrote:
>>>>> Hi all,
>>>>>
>>>>> Changes since 20250526:
>>>>>
>>>>
>>>> on x86_64, when
>>>> # CONFIG_MODULES is not set
>>>>
>>>> ../drivers/platform/x86/amd/amd_isp4.c: In function 'is_isp_i2c_adapter':
>>>> ../drivers/platform/x86/amd/amd_isp4.c:154:35: error: invalid use of
>>>> undefined type 'struct module'
>>>>    154 |         return !strcmp(adap->owner->name,
>>>> "i2c_designware_amdisp");
>>>>        |                                   ^~
>>>
>>> Hmm, this should not check the owner->name at all.
>>>
>>> Instead the i2c_designware_amdisp should set adap->name to something
>>> unique and then this should check adap->name.
>>>
>> I noticed the unique name set to "adap->name" in i2c_designware_amdisp is
>> getting overwritten to the generic "Synopsys DesignWare I2C adapter" name in
>> i2c_dw_probe_master().
>>
>> https://github.com/torvalds/linux/blob/master/drivers/i2c/busses/i2c-designware-master.c#L1046
>>
>> Inorder to use unique name to detect the specific adapter without making
>> changes in i2c-designware-master.c, I used adap->owner->name.
>>
>> Since it is causing build issues when CONFIG_MODULES is not set, can I make a
>> change in i2c-designware-master.c to initialize the generic "Synopsys
>> DesignWare I2C adapter" name only when adap->name is NULL. This way I should
>> be able to pass the unique name from i2c_designware_amdisp module.
> 
> How can you check that, it's char name[48]; not a pointer???

A NULL check indeed will not work, but we can check that (name[0] != 0).

Regards,

Hans