public inbox for linux-next@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set
@ 2025-06-09 15:53 Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Pratap Nirujogi @ 2025-06-09 15:53 UTC (permalink / raw)
  To: andi.shyti, ilpo.jarvinen, rdunlap, hdegoede, 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 v3 -> v4:

* Update MAINTAINERS file with the new isp4_misc.h added
* Fix typo error

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 adapter name
  platform/x86: Use i2c adapter name to fix build errors

 MAINTAINERS                                |  1 +
 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 ++++++++++++
 5 files changed, 20 insertions(+), 3 deletions(-)
 create mode 100644 include/linux/soc/amd/isp4_misc.h

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v4 1/3] i2c: designware: Initialize adapter name only when not set
  2025-06-09 15:53 [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
@ 2025-06-09 15:53 ` Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 2/3] i2c: amd-isp: Initialize unique adapter name Pratap Nirujogi
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Pratap Nirujogi @ 2025-06-09 15:53 UTC (permalink / raw)
  To: andi.shyti, ilpo.jarvinen, rdunlap, hdegoede, 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] 9+ messages in thread

* [PATCH v4 2/3] i2c: amd-isp: Initialize unique adapter name
  2025-06-09 15:53 [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
@ 2025-06-09 15:53 ` Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
  2025-06-25 21:43 ` [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Andi Shyti
  3 siblings, 0 replies; 9+ messages in thread
From: Pratap Nirujogi @ 2025-06-09 15:53 UTC (permalink / raw)
  To: andi.shyti, ilpo.jarvinen, rdunlap, hdegoede, 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>
---
 MAINTAINERS                                |  1 +
 drivers/i2c/busses/i2c-designware-amdisp.c |  2 ++
 include/linux/soc/amd/isp4_misc.h          | 12 ++++++++++++
 3 files changed, 15 insertions(+)
 create mode 100644 include/linux/soc/amd/isp4_misc.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 1d24abc83d90..dd67855f5a07 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -23878,6 +23878,7 @@ M:	Bin Du <bin.du@amd.com>
 L:	linux-i2c@vger.kernel.org
 S:	Maintained
 F:	drivers/i2c/busses/i2c-designware-amdisp.c
+F:	include/linux/soc/amd/isp4_misc.h
 
 SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
 M:	Jaehoon Chung <jh80.chung@samsung.com>
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] 9+ messages in thread

* [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors
  2025-06-09 15:53 [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
  2025-06-09 15:53 ` [PATCH v4 2/3] i2c: amd-isp: Initialize unique adapter name Pratap Nirujogi
@ 2025-06-09 15:53 ` Pratap Nirujogi
  2025-06-10  8:42   ` Ilpo Järvinen
  2025-06-25 21:43 ` [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Andi Shyti
  3 siblings, 1 reply; 9+ messages in thread
From: Pratap Nirujogi @ 2025-06-09 15:53 UTC (permalink / raw)
  To: andi.shyti, ilpo.jarvinen, rdunlap, hdegoede, 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] 9+ messages in thread

* Re: [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors
  2025-06-09 15:53 ` [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
@ 2025-06-10  8:42   ` Ilpo Järvinen
  2025-06-24 12:07     ` Ilpo Järvinen
  0 siblings, 1 reply; 9+ messages in thread
From: Ilpo Järvinen @ 2025-06-10  8:42 UTC (permalink / raw)
  To: Pratap Nirujogi, andi.shyti
  Cc: 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: 1627 bytes --]

On Mon, 9 Jun 2025, Pratap Nirujogi wrote:

> 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,

Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

Andi, do you want to take this fix series through i2c tree or do you 
prefer me to take them through pdx86 tree?


--
 i.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors
  2025-06-10  8:42   ` Ilpo Järvinen
@ 2025-06-24 12:07     ` Ilpo Järvinen
  2025-06-25 21:10       ` Andi Shyti
  0 siblings, 1 reply; 9+ messages in thread
From: Ilpo Järvinen @ 2025-06-24 12:07 UTC (permalink / raw)
  To: andi.shyti
  Cc: Pratap Nirujogi, 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: 2070 bytes --]

Hi Andi,

(ping)

It seems by now people are starting to send workaround fixes (build only 
with =m) as this series is still pending and compile is breaking because 
of it.

I'm fine with you taking the entire series through i2c, or just let me 
know if you want me to take it through pdx86 tree instead.

On Tue, 10 Jun 2025, Ilpo Järvinen wrote:
> On Mon, 9 Jun 2025, Pratap Nirujogi wrote:
> 
> > 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,
> 
> Acked-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> 
> Andi, do you want to take this fix series through i2c tree or do you 
> prefer me to take them through pdx86 tree?


-- 
 i.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors
  2025-06-24 12:07     ` Ilpo Järvinen
@ 2025-06-25 21:10       ` Andi Shyti
  0 siblings, 0 replies; 9+ messages in thread
From: Andi Shyti @ 2025-06-25 21:10 UTC (permalink / raw)
  To: Ilpo Järvinen
  Cc: Pratap Nirujogi, 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 Tue, Jun 24, 2025 at 03:07:16PM +0300, Ilpo Järvinen wrote:
> Hi Andi,
> 
> (ping)
> 
> It seems by now people are starting to send workaround fixes (build only 
> with =m) as this series is still pending and compile is breaking because 
> of it.
> 
> I'm fine with you taking the entire series through i2c, or just let me 
> know if you want me to take it through pdx86 tree instead.

Sorry for the late reply, I've been off the radar for some time
and now I'm catching up. I will take all the series, thanks.

Andi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set
  2025-06-09 15:53 [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
                   ` (2 preceding siblings ...)
  2025-06-09 15:53 ` [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
@ 2025-06-25 21:43 ` Andi Shyti
  2025-06-25 21:51   ` Nirujogi, Pratap
  3 siblings, 1 reply; 9+ messages in thread
From: Andi Shyti @ 2025-06-25 21:43 UTC (permalink / raw)
  To: Pratap Nirujogi
  Cc: ilpo.jarvinen, rdunlap, hdegoede, sfr, linux-next, linux-i2c,
	platform-driver-x86, linux-kernel, benjamin.chan, bin.du,
	gjorgji.rosikopulos, king.li, dantony

Hi Pratap,

> Pratap Nirujogi (3):
>   i2c: designware: Initialize adapter name only when not set
>   i2c: amd-isp: Initialize unique adapter name
>   platform/x86: Use i2c adapter name to fix build errors

I merged this entire series in i2c/i2c-host-fixes. For the last
patch I added the "Requires:" tag in order to include non-Fixes
patches in the fixes pull request.

Thanks,
Andi

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set
  2025-06-25 21:43 ` [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Andi Shyti
@ 2025-06-25 21:51   ` Nirujogi, Pratap
  0 siblings, 0 replies; 9+ messages in thread
From: Nirujogi, Pratap @ 2025-06-25 21:51 UTC (permalink / raw)
  To: Andi Shyti, Pratap Nirujogi
  Cc: ilpo.jarvinen, rdunlap, hdegoede, sfr, linux-next, linux-i2c,
	platform-driver-x86, linux-kernel, benjamin.chan, bin.du,
	gjorgji.rosikopulos, king.li, dantony

Thanks Andi. That's very helpful.

Thanks,
Pratap

On 6/25/2025 5:43 PM, Andi Shyti wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> Hi Pratap,
> 
>> Pratap Nirujogi (3):
>>    i2c: designware: Initialize adapter name only when not set
>>    i2c: amd-isp: Initialize unique adapter name
>>    platform/x86: Use i2c adapter name to fix build errors
> 
> I merged this entire series in i2c/i2c-host-fixes. For the last
> patch I added the "Requires:" tag in order to include non-Fixes
> patches in the fixes pull request.
> 
> Thanks,
> Andi


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-06-25 21:51 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-09 15:53 [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Pratap Nirujogi
2025-06-09 15:53 ` [PATCH v4 1/3] i2c: designware: Initialize adapter name only when " Pratap Nirujogi
2025-06-09 15:53 ` [PATCH v4 2/3] i2c: amd-isp: Initialize unique adapter name Pratap Nirujogi
2025-06-09 15:53 ` [PATCH v4 3/3] platform/x86: Use i2c adapter name to fix build errors Pratap Nirujogi
2025-06-10  8:42   ` Ilpo Järvinen
2025-06-24 12:07     ` Ilpo Järvinen
2025-06-25 21:10       ` Andi Shyti
2025-06-25 21:43 ` [PATCH v4 0/3] Fix build issue when CONFIG_MODULES is not set Andi Shyti
2025-06-25 21:51   ` Nirujogi, Pratap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox