* [PATCH v3 0/3] Fix build issue when CONFIG_MODULES is not set
@ 2025-06-06 21:31 Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Pratap Nirujogi @ 2025-06-06 21:31 UTC (permalink / raw)
To: andi.shyti, rdunlap, hdegoede, ilpo.jarvinen, sfr, linux-next
Cc: linux-i2c, platform-driver-x86, linux-kernel, benjamin.chan,
bin.du, gjorgji.rosikopulos, king.li, dantony, Pratap Nirujogi
When CONFIG_MODULES is not defined, 'adap->owner->name' used in amd_isp4 platform
driver will not be valid and is resulting in build failures.
../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");
| ^~
To fix this issue, need to make changes both in platform and i2c driver modules.
* In the amd_isp4 x86/platform driver, replace 'adap->owner->name' with 'adap->name', this removes
the hard dependency on 'struct module'.
* In i2c amdisp driver, initialize unique name to i2c adapter and also make a change in
i2c-designware-common to avoid overwriting with generic name when adap->name[] is already set.
---
Changes v2 -> v3:
* Update commit text for patch 1/3
Changes v1 -> v2:
* Replace snprintf with scnprintf
* Add new isp4 specific misc header file to include the adapter name
* Remove 'Fixes' and 'Link' tags from i2c patches
---
Pratap Nirujogi (3):
i2c: designware: Initialize adapter name only when not set
i2c: amd-isp: Initialize unique adpater name
platform/x86: Use i2c adapter name to fix build errors
drivers/i2c/busses/i2c-designware-amdisp.c | 2 ++
drivers/i2c/busses/i2c-designware-master.c | 5 +++--
drivers/platform/x86/amd/amd_isp4.c | 3 ++-
include/linux/soc/amd/isp4_misc.h | 12 ++++++++++++
4 files changed, 19 insertions(+), 3 deletions(-)
create mode 100644 include/linux/soc/amd/isp4_misc.h
--
2.43.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v3 1/3] i2c: designware: Initialize adapter name only when not set
2025-06-06 21:31 [PATCH v3 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
@ 2025-06-06 21:31 ` Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
2 siblings, 0 replies; 7+ messages in thread
From: Pratap Nirujogi @ 2025-06-06 21:31 UTC (permalink / raw)
To: andi.shyti, rdunlap, hdegoede, ilpo.jarvinen, sfr, linux-next
Cc: linux-i2c, platform-driver-x86, linux-kernel, benjamin.chan,
bin.du, gjorgji.rosikopulos, king.li, dantony, Pratap Nirujogi
Check if the adapter name is already set in the driver prior to
initializing with generic name in i2c_dw_probe_master(). This
check allows to retain the unique adapter name driver has
initialized, which platform driver can use to distinguish it
from other i2c designware adapters.
Tested-by: Randy Dunlap <rdunlap@infradead.org
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
---
drivers/i2c/busses/i2c-designware-master.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/busses/i2c-designware-master.c b/drivers/i2c/busses/i2c-designware-master.c
index c5394229b77f..9d7d9e47564a 100644
--- a/drivers/i2c/busses/i2c-designware-master.c
+++ b/drivers/i2c/busses/i2c-designware-master.c
@@ -1042,8 +1042,9 @@ int i2c_dw_probe_master(struct dw_i2c_dev *dev)
if (ret)
return ret;
- snprintf(adap->name, sizeof(adap->name),
- "Synopsys DesignWare I2C adapter");
+ if (!adap->name[0])
+ scnprintf(adap->name, sizeof(adap->name),
+ "Synopsys DesignWare I2C adapter");
adap->retries = 3;
adap->algo = &i2c_dw_algo;
adap->quirks = &i2c_dw_quirks;
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name
2025-06-06 21:31 [PATCH v3 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
@ 2025-06-06 21:31 ` Pratap Nirujogi
2025-06-09 8:36 ` Ilpo Järvinen
2025-06-06 21:31 ` [PATCH v3 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
2 siblings, 1 reply; 7+ messages in thread
From: Pratap Nirujogi @ 2025-06-06 21:31 UTC (permalink / raw)
To: andi.shyti, rdunlap, hdegoede, ilpo.jarvinen, sfr, linux-next
Cc: linux-i2c, platform-driver-x86, linux-kernel, benjamin.chan,
bin.du, gjorgji.rosikopulos, king.li, dantony, Pratap Nirujogi
Initialize unique name for amdisp i2c adapter, which is used
in the platform driver to detect the matching adapter for
i2c_client creation.
Add definition of amdisp i2c adapter name in a new header file
(include/linux/soc/amd/isp4_misc.h) as it is referred in different
driver modules.
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
---
drivers/i2c/busses/i2c-designware-amdisp.c | 2 ++
include/linux/soc/amd/isp4_misc.h | 12 ++++++++++++
2 files changed, 14 insertions(+)
create mode 100644 include/linux/soc/amd/isp4_misc.h
diff --git a/drivers/i2c/busses/i2c-designware-amdisp.c b/drivers/i2c/busses/i2c-designware-amdisp.c
index ad6f08338124..450793d5f839 100644
--- a/drivers/i2c/busses/i2c-designware-amdisp.c
+++ b/drivers/i2c/busses/i2c-designware-amdisp.c
@@ -8,6 +8,7 @@
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
+#include <linux/soc/amd/isp4_misc.h>
#include "i2c-designware-core.h"
@@ -62,6 +63,7 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
adap = &isp_i2c_dev->adapter;
adap->owner = THIS_MODULE;
+ scnprintf(adap->name, sizeof(adap->name), AMDISP_I2C_ADAP_NAME);
ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
adap->dev.of_node = pdev->dev.of_node;
/* use dynamically allocated adapter id */
diff --git a/include/linux/soc/amd/isp4_misc.h b/include/linux/soc/amd/isp4_misc.h
new file mode 100644
index 000000000000..6738796986a7
--- /dev/null
+++ b/include/linux/soc/amd/isp4_misc.h
@@ -0,0 +1,12 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/*
+ * Copyright (C) 2025 Advanced Micro Devices, Inc.
+ */
+
+#ifndef __SOC_ISP4_MISC_H
+#define __SOC_ISP4_MISC_H
+
+#define AMDISP_I2C_ADAP_NAME "AMDISP DesignWare I2C adapter"
+
+#endif
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v3 3/3] platform/x86: Use i2c adapter name to fix build errors
2025-06-06 21:31 [PATCH v3 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name Pratap Nirujogi
@ 2025-06-06 21:31 ` Pratap Nirujogi
2 siblings, 0 replies; 7+ messages in thread
From: Pratap Nirujogi @ 2025-06-06 21:31 UTC (permalink / raw)
To: andi.shyti, rdunlap, hdegoede, ilpo.jarvinen, sfr, linux-next
Cc: linux-i2c, platform-driver-x86, linux-kernel, benjamin.chan,
bin.du, gjorgji.rosikopulos, king.li, dantony, Pratap Nirujogi
Use adapater->name inplace of adapter->owner->name to fix
build issues when CONFIG_MODULES is not defined.
Fixes: 90b85567e457 ("platform/x86: Add AMD ISP platform config for OV05C10")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Link: https://lore.kernel.org/all/04577a46-9add-420c-b181-29bad582026d@infradead.org
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
---
drivers/platform/x86/amd/amd_isp4.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/platform/x86/amd/amd_isp4.c b/drivers/platform/x86/amd/amd_isp4.c
index 0cc01441bcbb..9f291aeb35f1 100644
--- a/drivers/platform/x86/amd/amd_isp4.c
+++ b/drivers/platform/x86/amd/amd_isp4.c
@@ -11,6 +11,7 @@
#include <linux/mutex.h>
#include <linux/platform_device.h>
#include <linux/property.h>
+#include <linux/soc/amd/isp4_misc.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/units.h>
@@ -151,7 +152,7 @@ MODULE_DEVICE_TABLE(acpi, amdisp_sensor_ids);
static inline bool is_isp_i2c_adapter(struct i2c_adapter *adap)
{
- return !strcmp(adap->owner->name, "i2c_designware_amdisp");
+ return !strcmp(adap->name, AMDISP_I2C_ADAP_NAME);
}
static void instantiate_isp_i2c_client(struct amdisp_platform *isp4_platform,
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name
2025-06-06 21:31 ` [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name Pratap Nirujogi
@ 2025-06-09 8:36 ` Ilpo Järvinen
2025-06-09 9:38 ` Ilpo Järvinen
0 siblings, 1 reply; 7+ messages in thread
From: Ilpo Järvinen @ 2025-06-09 8:36 UTC (permalink / raw)
To: Pratap Nirujogi
Cc: andi.shyti, rdunlap, Hans de Goede, sfr, linux-next, linux-i2c,
platform-driver-x86, LKML, benjamin.chan, bin.du,
gjorgji.rosikopulos, king.li, dantony
On Fri, 6 Jun 2025, Pratap Nirujogi wrote:
> Initialize unique name for amdisp i2c adapter, which is used
> in the platform driver to detect the matching adapter for
> i2c_client creation.
>
> Add definition of amdisp i2c adapter name in a new header file
> (include/linux/soc/amd/isp4_misc.h) as it is referred in different
> driver modules.
>
> Tested-by: Randy Dunlap <rdunlap@infradead.org>
> Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
> ---
> drivers/i2c/busses/i2c-designware-amdisp.c | 2 ++
> include/linux/soc/amd/isp4_misc.h | 12 ++++++++++++
You forgot to add this new file into MAINTAINERS file.
> 2 files changed, 14 insertions(+)
> create mode 100644 include/linux/soc/amd/isp4_misc.h
>
> diff --git a/drivers/i2c/busses/i2c-designware-amdisp.c b/drivers/i2c/busses/i2c-designware-amdisp.c
> index ad6f08338124..450793d5f839 100644
> --- a/drivers/i2c/busses/i2c-designware-amdisp.c
> +++ b/drivers/i2c/busses/i2c-designware-amdisp.c
> @@ -8,6 +8,7 @@
> #include <linux/module.h>
> #include <linux/platform_device.h>
> #include <linux/pm_runtime.h>
> +#include <linux/soc/amd/isp4_misc.h>
>
> #include "i2c-designware-core.h"
>
> @@ -62,6 +63,7 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
>
> adap = &isp_i2c_dev->adapter;
> adap->owner = THIS_MODULE;
> + scnprintf(adap->name, sizeof(adap->name), AMDISP_I2C_ADAP_NAME);
> ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
> adap->dev.of_node = pdev->dev.of_node;
> /* use dynamically allocated adapter id */
> diff --git a/include/linux/soc/amd/isp4_misc.h b/include/linux/soc/amd/isp4_misc.h
> new file mode 100644
> index 000000000000..6738796986a7
> --- /dev/null
> +++ b/include/linux/soc/amd/isp4_misc.h
> @@ -0,0 +1,12 @@
> +// SPDX-License-Identifier: GPL-2.0+
> +
> +/*
> + * Copyright (C) 2025 Advanced Micro Devices, Inc.
> + */
> +
> +#ifndef __SOC_ISP4_MISC_H
> +#define __SOC_ISP4_MISC_H
> +
> +#define AMDISP_I2C_ADAP_NAME "AMDISP DesignWare I2C adapter"
> +
> +#endif
>
--
i.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name
2025-06-09 8:36 ` Ilpo Järvinen
@ 2025-06-09 9:38 ` Ilpo Järvinen
2025-06-09 15:24 ` Nirujogi, Pratap
0 siblings, 1 reply; 7+ messages in thread
From: Ilpo Järvinen @ 2025-06-09 9:38 UTC (permalink / raw)
To: Pratap Nirujogi
Cc: andi.shyti, rdunlap, Hans de Goede, sfr, linux-next, linux-i2c,
platform-driver-x86, LKML, benjamin.chan, bin.du,
gjorgji.rosikopulos, king.li, dantony
[-- Attachment #1: Type: text/plain, Size: 2342 bytes --]
On Mon, 9 Jun 2025, Ilpo Järvinen wrote:
> On Fri, 6 Jun 2025, Pratap Nirujogi wrote:
You also have a typo in the subject, adpater -> adapter.
> > Initialize unique name for amdisp i2c adapter, which is used
> > in the platform driver to detect the matching adapter for
> > i2c_client creation.
> >
> > Add definition of amdisp i2c adapter name in a new header file
> > (include/linux/soc/amd/isp4_misc.h) as it is referred in different
> > driver modules.
> >
> > Tested-by: Randy Dunlap <rdunlap@infradead.org>
> > Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
> > ---
> > drivers/i2c/busses/i2c-designware-amdisp.c | 2 ++
> > include/linux/soc/amd/isp4_misc.h | 12 ++++++++++++
>
> You forgot to add this new file into MAINTAINERS file.
>
> > 2 files changed, 14 insertions(+)
> > create mode 100644 include/linux/soc/amd/isp4_misc.h
> >
> > diff --git a/drivers/i2c/busses/i2c-designware-amdisp.c b/drivers/i2c/busses/i2c-designware-amdisp.c
> > index ad6f08338124..450793d5f839 100644
> > --- a/drivers/i2c/busses/i2c-designware-amdisp.c
> > +++ b/drivers/i2c/busses/i2c-designware-amdisp.c
> > @@ -8,6 +8,7 @@
> > #include <linux/module.h>
> > #include <linux/platform_device.h>
> > #include <linux/pm_runtime.h>
> > +#include <linux/soc/amd/isp4_misc.h>
> >
> > #include "i2c-designware-core.h"
> >
> > @@ -62,6 +63,7 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
> >
> > adap = &isp_i2c_dev->adapter;
> > adap->owner = THIS_MODULE;
> > + scnprintf(adap->name, sizeof(adap->name), AMDISP_I2C_ADAP_NAME);
> > ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
> > adap->dev.of_node = pdev->dev.of_node;
> > /* use dynamically allocated adapter id */
> > diff --git a/include/linux/soc/amd/isp4_misc.h b/include/linux/soc/amd/isp4_misc.h
> > new file mode 100644
> > index 000000000000..6738796986a7
> > --- /dev/null
> > +++ b/include/linux/soc/amd/isp4_misc.h
> > @@ -0,0 +1,12 @@
> > +// SPDX-License-Identifier: GPL-2.0+
> > +
> > +/*
> > + * Copyright (C) 2025 Advanced Micro Devices, Inc.
> > + */
> > +
> > +#ifndef __SOC_ISP4_MISC_H
> > +#define __SOC_ISP4_MISC_H
> > +
> > +#define AMDISP_I2C_ADAP_NAME "AMDISP DesignWare I2C adapter"
> > +
> > +#endif
> >
>
>
--
i.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name
2025-06-09 9:38 ` Ilpo Järvinen
@ 2025-06-09 15:24 ` Nirujogi, Pratap
0 siblings, 0 replies; 7+ messages in thread
From: Nirujogi, Pratap @ 2025-06-09 15:24 UTC (permalink / raw)
To: Ilpo Järvinen, Pratap Nirujogi
Cc: andi.shyti, rdunlap, Hans de Goede, sfr, linux-next, linux-i2c,
platform-driver-x86, LKML, benjamin.chan, bin.du,
gjorgji.rosikopulos, king.li, dantony
Hi Ilpo,
On 6/9/2025 5:38 AM, Ilpo Järvinen wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>
>
> On Mon, 9 Jun 2025, Ilpo Järvinen wrote:
>
>> On Fri, 6 Jun 2025, Pratap Nirujogi wrote:
>
> You also have a typo in the subject, adpater -> adapter.
>
Thanks for catching this typo, will fix it in the next patch.
>>> Initialize unique name for amdisp i2c adapter, which is used
>>> in the platform driver to detect the matching adapter for
>>> i2c_client creation.
>>>
>>> Add definition of amdisp i2c adapter name in a new header file
>>> (include/linux/soc/amd/isp4_misc.h) as it is referred in different
>>> driver modules.
>>>
>>> Tested-by: Randy Dunlap <rdunlap@infradead.org>
>>> Signed-off-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
>>> ---
>>> drivers/i2c/busses/i2c-designware-amdisp.c | 2 ++
>>> include/linux/soc/amd/isp4_misc.h | 12 ++++++++++++
>>
>> You forgot to add this new file into MAINTAINERS file.
>>
Thanks, will take care of this too in the next v4 patch.
Thanks,
Pratap
>>> 2 files changed, 14 insertions(+)
>>> create mode 100644 include/linux/soc/amd/isp4_misc.h
>>>
>>> diff --git a/drivers/i2c/busses/i2c-designware-amdisp.c b/drivers/i2c/busses/i2c-designware-amdisp.c
>>> index ad6f08338124..450793d5f839 100644
>>> --- a/drivers/i2c/busses/i2c-designware-amdisp.c
>>> +++ b/drivers/i2c/busses/i2c-designware-amdisp.c
>>> @@ -8,6 +8,7 @@
>>> #include <linux/module.h>
>>> #include <linux/platform_device.h>
>>> #include <linux/pm_runtime.h>
>>> +#include <linux/soc/amd/isp4_misc.h>
>>>
>>> #include "i2c-designware-core.h"
>>>
>>> @@ -62,6 +63,7 @@ static int amd_isp_dw_i2c_plat_probe(struct platform_device *pdev)
>>>
>>> adap = &isp_i2c_dev->adapter;
>>> adap->owner = THIS_MODULE;
>>> + scnprintf(adap->name, sizeof(adap->name), AMDISP_I2C_ADAP_NAME);
>>> ACPI_COMPANION_SET(&adap->dev, ACPI_COMPANION(&pdev->dev));
>>> adap->dev.of_node = pdev->dev.of_node;
>>> /* use dynamically allocated adapter id */
>>> diff --git a/include/linux/soc/amd/isp4_misc.h b/include/linux/soc/amd/isp4_misc.h
>>> new file mode 100644
>>> index 000000000000..6738796986a7
>>> --- /dev/null
>>> +++ b/include/linux/soc/amd/isp4_misc.h
>>> @@ -0,0 +1,12 @@
>>> +// SPDX-License-Identifier: GPL-2.0+
>>> +
>>> +/*
>>> + * Copyright (C) 2025 Advanced Micro Devices, Inc.
>>> + */
>>> +
>>> +#ifndef __SOC_ISP4_MISC_H
>>> +#define __SOC_ISP4_MISC_H
>>> +
>>> +#define AMDISP_I2C_ADAP_NAME "AMDISP DesignWare I2C adapter"
>>> +
>>> +#endif
>>>
>>
>>
>
> --
> i.
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-06-09 15:25 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-06 21:31 [PATCH v3 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
2025-06-06 21:31 ` [PATCH v3 2/3] i2c: amd-isp: Initialize unique adpater name Pratap Nirujogi
2025-06-09 8:36 ` Ilpo Järvinen
2025-06-09 9:38 ` Ilpo Järvinen
2025-06-09 15:24 ` Nirujogi, Pratap
2025-06-06 21:31 ` [PATCH v3 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox