pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS

Message ID 20230502145220.2927464-1-trix@redhat.com
State New
Headers
Series pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS |

Commit Message

Tom Rix May 2, 2023, 2:52 p.m. UTC
  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(+)
  

Comments

Jiri Pirko May 3, 2023, 7:36 a.m. UTC | #1
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
>
  
Tom Rix May 3, 2023, 12:32 p.m. UTC | #2
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
>>
  

Patch

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);