Move whole code from ice_fwlog.c/h to libie/fwlog.c/h. Reviewed-by: Przemek Kitszel Signed-off-by: Michal Swiatkowski --- drivers/net/ethernet/intel/Kconfig | 1 + drivers/net/ethernet/intel/ice/Makefile | 1 - drivers/net/ethernet/intel/ice/ice_main.c | 1 + drivers/net/ethernet/intel/ice/ice_type.h | 2 +- drivers/net/ethernet/intel/libie/Kconfig | 7 +++++++ drivers/net/ethernet/intel/libie/Makefile | 4 ++++ .../intel/{ice/ice_fwlog.c => libie/fwlog.c} | 12 +++++++++--- include/linux/net/intel/libie/adminq.h | 6 +++--- .../linux/net/intel/libie/fwlog.h | 3 ++- 9 files changed, 28 insertions(+), 9 deletions(-) rename drivers/net/ethernet/intel/{ice/ice_fwlog.c => libie/fwlog.c} (98%) rename drivers/net/ethernet/intel/ice/ice_fwlog.h => include/linux/net/intel/libie/fwlog.h (98%) diff --git a/drivers/net/ethernet/intel/Kconfig b/drivers/net/ethernet/intel/Kconfig index b05cc0d7a15d..09f0af386af1 100644 --- a/drivers/net/ethernet/intel/Kconfig +++ b/drivers/net/ethernet/intel/Kconfig @@ -297,6 +297,7 @@ config ICE select DIMLIB select LIBIE select LIBIE_ADMINQ + select LIBIE_FWLOG select NET_DEVLINK select PACKING select PLDMFW diff --git a/drivers/net/ethernet/intel/ice/Makefile b/drivers/net/ethernet/intel/ice/Makefile index d0f9c9492363..e8cd30da6d53 100644 --- a/drivers/net/ethernet/intel/ice/Makefile +++ b/drivers/net/ethernet/intel/ice/Makefile @@ -42,7 +42,6 @@ ice-y := ice_main.o \ ice_ethtool.o \ ice_repr.o \ ice_tc_lib.o \ - ice_fwlog.o \ ice_debugfs.o \ ice_adapter.o ice-$(CONFIG_PCI_IOV) += \ diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index e307d72f05d3..d501e45eae62 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -39,6 +39,7 @@ static const char ice_copyright[] = "Copyright (c) 2018, Intel Corporation."; MODULE_DESCRIPTION(DRV_SUMMARY); MODULE_IMPORT_NS("LIBIE"); MODULE_IMPORT_NS("LIBIE_ADMINQ"); +MODULE_IMPORT_NS("LIBIE_FWLOG"); MODULE_LICENSE("GPL v2"); MODULE_FIRMWARE(ICE_DDP_PKG_FILE); diff --git a/drivers/net/ethernet/intel/ice/ice_type.h b/drivers/net/ethernet/intel/ice/ice_type.h index 288415e48c05..4213a2b9fa9d 100644 --- a/drivers/net/ethernet/intel/ice/ice_type.h +++ b/drivers/net/ethernet/intel/ice/ice_type.h @@ -17,7 +17,7 @@ #include "ice_protocol_type.h" #include "ice_sbq_cmd.h" #include "ice_vlan_mode.h" -#include "ice_fwlog.h" +#include #include #include diff --git a/drivers/net/ethernet/intel/libie/Kconfig b/drivers/net/ethernet/intel/libie/Kconfig index e6072758e3d8..679974797dcb 100644 --- a/drivers/net/ethernet/intel/libie/Kconfig +++ b/drivers/net/ethernet/intel/libie/Kconfig @@ -14,3 +14,10 @@ config LIBIE_ADMINQ help Helper functions used by Intel Ethernet drivers for administration queue command interface (aka adminq). + +config LIBIE_FWLOG + tristate + select LIBIE_ADMINQ + help + Library to support firmware logging on device that have support + for it. diff --git a/drivers/net/ethernet/intel/libie/Makefile b/drivers/net/ethernet/intel/libie/Makefile index e98f00b865d3..db57fc6780ea 100644 --- a/drivers/net/ethernet/intel/libie/Makefile +++ b/drivers/net/ethernet/intel/libie/Makefile @@ -8,3 +8,7 @@ libie-y := rx.o obj-$(CONFIG_LIBIE_ADMINQ) += libie_adminq.o libie_adminq-y := adminq.o + +obj-$(CONFIG_LIBIE_FWLOG) += libie_fwlog.o + +libie_fwlog-y := fwlog.o diff --git a/drivers/net/ethernet/intel/ice/ice_fwlog.c b/drivers/net/ethernet/intel/libie/fwlog.c similarity index 98% rename from drivers/net/ethernet/intel/ice/ice_fwlog.c rename to drivers/net/ethernet/intel/libie/fwlog.c index e76397ade68b..2cc41bbcbead 100644 --- a/drivers/net/ethernet/intel/ice/ice_fwlog.c +++ b/drivers/net/ethernet/intel/libie/fwlog.c @@ -3,11 +3,10 @@ #include #include +#include +#include #include #include -#include "ice.h" -#include "ice_common.h" -#include "ice_fwlog.h" /* create a define that has an extra module that doesn't really exist. this * is so we can add a module 'all' to easily enable/disable all the modules @@ -1038,6 +1037,7 @@ int libie_fwlog_init(struct libie_fwlog *fwlog, struct libie_fwlog_api *api) return 0; } +EXPORT_SYMBOL_NS_GPL(libie_fwlog_init, "LIBIE_FWLOG"); /** * libie_fwlog_deinit - unroll FW logging configuration @@ -1072,6 +1072,7 @@ void libie_fwlog_deinit(struct libie_fwlog *fwlog) kfree(fwlog->ring.rings); } } +EXPORT_SYMBOL_NS_GPL(libie_fwlog_deinit, "LIBIE_FWLOG"); /** * libie_get_fwlog_data - copy the FW log data from ARQ event @@ -1096,6 +1097,7 @@ void libie_get_fwlog_data(struct libie_fwlog *fwlog, u8 *buf, u16 len) libie_fwlog_ring_increment(&fwlog->ring.head, fwlog->ring.size); } } +EXPORT_SYMBOL_NS_GPL(libie_get_fwlog_data, "LIBIE_FWLOG"); void libie_fwlog_reregister(struct libie_fwlog *fwlog) { @@ -1105,3 +1107,7 @@ void libie_fwlog_reregister(struct libie_fwlog *fwlog) if (libie_fwlog_register(fwlog)) fwlog->cfg.options &= ~LIBIE_FWLOG_OPTION_IS_REGISTERED; } +EXPORT_SYMBOL_NS_GPL(libie_fwlog_reregister, "LIBIE_FWLOG"); + +MODULE_DESCRIPTION("Intel(R) Ethernet common library"); +MODULE_LICENSE("GPL"); diff --git a/include/linux/net/intel/libie/adminq.h b/include/linux/net/intel/libie/adminq.h index 0df4c9326621..970b50fd898a 100644 --- a/include/linux/net/intel/libie/adminq.h +++ b/include/linux/net/intel/libie/adminq.h @@ -265,7 +265,7 @@ enum libie_aqc_fw_logging_mod { LIBIE_AQC_FW_LOG_ID_TSDRV, LIBIE_AQC_FW_LOG_ID_PFREG, LIBIE_AQC_FW_LOG_ID_MDLVER, - LIBIE_AQC_FW_LOG_ID_MAX, + LIBIE_AQC_FW_LOG_ID_MAX }; /* Set FW Logging configuration (indirect 0xFF30) @@ -280,8 +280,8 @@ enum libie_aqc_fw_logging_mod { #define LIBIE_AQC_FW_LOG_AQ_REGISTER BIT(0) #define LIBIE_AQC_FW_LOG_AQ_QUERY BIT(2) -#define LIBIE_AQC_FW_LOG_MIN_RESOLUTION (1) -#define LIBIE_AQC_FW_LOG_MAX_RESOLUTION (128) +#define LIBIE_AQC_FW_LOG_MIN_RESOLUTION 1 +#define LIBIE_AQC_FW_LOG_MAX_RESOLUTION 128 struct libie_aqc_fw_log { u8 cmd_flags; diff --git a/drivers/net/ethernet/intel/ice/ice_fwlog.h b/include/linux/net/intel/libie/fwlog.h similarity index 98% rename from drivers/net/ethernet/intel/ice/ice_fwlog.h rename to include/linux/net/intel/libie/fwlog.h index e534205a2d04..36b13fabca9e 100644 --- a/drivers/net/ethernet/intel/ice/ice_fwlog.h +++ b/include/linux/net/intel/libie/fwlog.h @@ -3,7 +3,8 @@ #ifndef _LIBIE_FWLOG_H_ #define _LIBIE_FWLOG_H_ -#include "ice_adminq_cmd.h" + +#include /* Only a single log level should be set and all log levels under the set value * are enabled, e.g. if log level is set to LIBIE_FW_LOG_LEVEL_VERBOSE, then all -- 2.49.0