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

From: "Nirujogi, Pratap" <[email-masked]>
Date: Fri, 30 May 2025 11:21:54 -0400

Hi Ilpo, Hans,

On 5/30/2025 3:44 AM, Hans de Goede wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> 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).
> 
Thanks for the feedback and suggestions on the changes. Yes, my intent 
is to check if the name[] is uninitialized before initializing with the 
generic name. I will make the changes and submit both i2c and platform 
driver patches shortly.

Thanks,
Pratap

> Regards,
> Hans