*/
 
 #include <linux/delay.h>
+#include <linux/moduleparam.h>
 #include <asm/cmpxchg.h>
 #include "net_driver.h"
 #include "nic.h"
 static bool efx_mcdi_poll_once(struct efx_nic *efx);
 static void efx_mcdi_abandon(struct efx_nic *efx);
 
+#ifdef CONFIG_SFC_MCDI_LOGGING
+static bool mcdi_logging_default;
+module_param(mcdi_logging_default, bool, 0644);
+MODULE_PARM_DESC(mcdi_logging_default,
+                "Enable MCDI logging on newly-probed functions");
+#endif
+
 int efx_mcdi_init(struct efx_nic *efx)
 {
        struct efx_mcdi_iface *mcdi;
        mcdi->logging_buffer = (char *)__get_free_page(GFP_KERNEL);
        if (!mcdi->logging_buffer)
                goto fail1;
+       mcdi->logging_enabled = mcdi_logging_default;
 #endif
        init_waitqueue_head(&mcdi->wq);
        spin_lock_init(&mcdi->iface_lock);