[PATCH] pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS

Tom Rix posted 1 patch 2 years, 9 months ago
drivers/net/ethernet/amd/pds_core/core.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
[PATCH] pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS
Posted by Tom Rix 2 years, 9 months ago
When CONFIG_DEBUG_FS is not defined there is this representative link error
ld: drivers/net/ethernet/amd/pds_core/main.o: in function `pdsc_remove':
main.c:(.text+0x35c): undefined reference to `pdsc_debugfs_del_dev

Avoid these link errors when CONFIG_DEBUG_FS is not defined by
providing some empty macros.

Signed-off-by: Tom Rix <trix@redhat.com>
---
 drivers/net/ethernet/amd/pds_core/core.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/net/ethernet/amd/pds_core/core.h b/drivers/net/ethernet/amd/pds_core/core.h
index e545fafc4819..0b39a6dc65c8 100644
--- a/drivers/net/ethernet/amd/pds_core/core.h
+++ b/drivers/net/ethernet/amd/pds_core/core.h
@@ -261,6 +261,7 @@ int pdsc_dl_enable_validate(struct devlink *dl, u32 id,
 
 void __iomem *pdsc_map_dbpage(struct pdsc *pdsc, int page_num);
 
+#ifdef CONFIG_DEBUG_FS
 void pdsc_debugfs_create(void);
 void pdsc_debugfs_destroy(void);
 void pdsc_debugfs_add_dev(struct pdsc *pdsc);
@@ -270,6 +271,17 @@ void pdsc_debugfs_add_viftype(struct pdsc *pdsc);
 void pdsc_debugfs_add_irqs(struct pdsc *pdsc);
 void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq);
 void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq);
+#else
+#define pdsc_debugfs_create()
+#define pdsc_debugfs_destroy()
+#define pdsc_debugfs_add_dev(pdsc)
+#define pdsc_debugfs_del_dev(pdsc)
+#define pdsc_debugfs_add_ident(pdsc)
+#define pdsc_debugfs_add_viftype(pdsc)
+#define pdsc_debugfs_add_irqs(pdsc)
+#define pdsc_debugfs_add_qcq(pdsc, qcq)
+#define pdsc_debugfs_del_qcq(qcq)
+#endif
 
 int pdsc_err_to_errno(enum pds_core_status_code code);
 bool pdsc_is_fw_running(struct pdsc *pdsc);
-- 
2.27.0
Re: [PATCH] pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS
Posted by Jiri Pirko 2 years, 9 months ago
Tue, May 02, 2023 at 04:52:20PM CEST, trix@redhat.com wrote:
>When CONFIG_DEBUG_FS is not defined there is this representative link error
>ld: drivers/net/ethernet/amd/pds_core/main.o: in function `pdsc_remove':
>main.c:(.text+0x35c): undefined reference to `pdsc_debugfs_del_dev
>
>Avoid these link errors when CONFIG_DEBUG_FS is not defined by
>providing some empty macros.
>
>Signed-off-by: Tom Rix <trix@redhat.com>
>---
> drivers/net/ethernet/amd/pds_core/core.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
>diff --git a/drivers/net/ethernet/amd/pds_core/core.h b/drivers/net/ethernet/amd/pds_core/core.h
>index e545fafc4819..0b39a6dc65c8 100644
>--- a/drivers/net/ethernet/amd/pds_core/core.h
>+++ b/drivers/net/ethernet/amd/pds_core/core.h
>@@ -261,6 +261,7 @@ int pdsc_dl_enable_validate(struct devlink *dl, u32 id,
> 
> void __iomem *pdsc_map_dbpage(struct pdsc *pdsc, int page_num);
> 
>+#ifdef CONFIG_DEBUG_FS
> void pdsc_debugfs_create(void);
> void pdsc_debugfs_destroy(void);
> void pdsc_debugfs_add_dev(struct pdsc *pdsc);
>@@ -270,6 +271,17 @@ void pdsc_debugfs_add_viftype(struct pdsc *pdsc);
> void pdsc_debugfs_add_irqs(struct pdsc *pdsc);
> void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq);
> void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq);
>+#else
>+#define pdsc_debugfs_create()
>+#define pdsc_debugfs_destroy()
>+#define pdsc_debugfs_add_dev(pdsc)
>+#define pdsc_debugfs_del_dev(pdsc)
>+#define pdsc_debugfs_add_ident(pdsc)
>+#define pdsc_debugfs_add_viftype(pdsc)
>+#define pdsc_debugfs_add_irqs(pdsc)
>+#define pdsc_debugfs_add_qcq(pdsc, qcq)
>+#define pdsc_debugfs_del_qcq(qcq)

Usually this is done using static inline stub functions. Any reason to
not to do it in the same way?


>+#endif
> 
> int pdsc_err_to_errno(enum pds_core_status_code code);
> bool pdsc_is_fw_running(struct pdsc *pdsc);
>-- 
>2.27.0
>
Re: [PATCH] pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS
Posted by Tom Rix 2 years, 9 months ago
On 5/3/23 12:36 AM, Jiri Pirko wrote:
> Tue, May 02, 2023 at 04:52:20PM CEST, trix@redhat.com wrote:
>> When CONFIG_DEBUG_FS is not defined there is this representative link error
>> ld: drivers/net/ethernet/amd/pds_core/main.o: in function `pdsc_remove':
>> main.c:(.text+0x35c): undefined reference to `pdsc_debugfs_del_dev
>>
>> Avoid these link errors when CONFIG_DEBUG_FS is not defined by
>> providing some empty macros.
>>
>> Signed-off-by: Tom Rix <trix@redhat.com>
>> ---
>> drivers/net/ethernet/amd/pds_core/core.h | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/drivers/net/ethernet/amd/pds_core/core.h b/drivers/net/ethernet/amd/pds_core/core.h
>> index e545fafc4819..0b39a6dc65c8 100644
>> --- a/drivers/net/ethernet/amd/pds_core/core.h
>> +++ b/drivers/net/ethernet/amd/pds_core/core.h
>> @@ -261,6 +261,7 @@ int pdsc_dl_enable_validate(struct devlink *dl, u32 id,
>>
>> void __iomem *pdsc_map_dbpage(struct pdsc *pdsc, int page_num);
>>
>> +#ifdef CONFIG_DEBUG_FS
>> void pdsc_debugfs_create(void);
>> void pdsc_debugfs_destroy(void);
>> void pdsc_debugfs_add_dev(struct pdsc *pdsc);
>> @@ -270,6 +271,17 @@ void pdsc_debugfs_add_viftype(struct pdsc *pdsc);
>> void pdsc_debugfs_add_irqs(struct pdsc *pdsc);
>> void pdsc_debugfs_add_qcq(struct pdsc *pdsc, struct pdsc_qcq *qcq);
>> void pdsc_debugfs_del_qcq(struct pdsc_qcq *qcq);
>> +#else
>> +#define pdsc_debugfs_create()
>> +#define pdsc_debugfs_destroy()
>> +#define pdsc_debugfs_add_dev(pdsc)
>> +#define pdsc_debugfs_del_dev(pdsc)
>> +#define pdsc_debugfs_add_ident(pdsc)
>> +#define pdsc_debugfs_add_viftype(pdsc)
>> +#define pdsc_debugfs_add_irqs(pdsc)
>> +#define pdsc_debugfs_add_qcq(pdsc, qcq)
>> +#define pdsc_debugfs_del_qcq(qcq)
> Usually this is done using static inline stub functions. Any reason to
> not to do it in the same way?

I do not mind changing the patch if that is what is required.

However I believe Paolo said the change was being handled by another patch.

Tom

>
>
>> +#endif
>>
>> int pdsc_err_to_errno(enum pds_core_status_code code);
>> bool pdsc_is_fw_running(struct pdsc *pdsc);
>> -- 
>> 2.27.0
>>
Re: [PATCH] pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS
Posted by Paolo Abeni 2 years, 9 months ago
On Tue, 2023-05-02 at 10:52 -0400, Tom Rix wrote:
> When CONFIG_DEBUG_FS is not defined there is this representative link error
> ld: drivers/net/ethernet/amd/pds_core/main.o: in function `pdsc_remove':
> main.c:(.text+0x35c): undefined reference to `pdsc_debugfs_del_dev
> 
> Avoid these link errors when CONFIG_DEBUG_FS is not defined by
> providing some empty macros.
> 
> Signed-off-by: Tom Rix <trix@redhat.com>

There is already a patch pending on the same topic:

https://patchwork.kernel.org/user/todo/netdevbpf/?series=744165


and probably a different approach will be preferred:

https://lore.kernel.org/all/84bc488b-5b4b-49ec-7e1a-3a88f92476f6@amd.com/

Cheers,

Paolo