Message ID | 20230502145220.2927464-1-trix@redhat.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | pds_core: add stub macros for pdsc_debufs_* when ! CONFIG_DEBUG_FS | expand |
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
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 >
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 >>
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);
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(+)