#include <linux/slab.h>
 #include <linux/rtnetlink.h>
 
-#define EFX_DRIVER_NAME "sfc_mtd"
 #include "net_driver.h"
 #include "spi.h"
 #include "efx.h"
 
 /* SPI utilities */
 
-static int efx_spi_slow_wait(struct efx_mtd *efx_mtd, bool uninterruptible)
+static int
+efx_spi_slow_wait(struct efx_mtd_partition *part, bool uninterruptible)
 {
+       struct efx_mtd *efx_mtd = part->mtd.priv;
        const struct efx_spi_device *spi = efx_mtd->spi;
        struct efx_nic *efx = efx_mtd->efx;
        u8 status;
                if (signal_pending(current))
                        return -EINTR;
        }
-       EFX_ERR(efx, "timed out waiting for %s\n", efx_mtd->name);
+       pr_err("%s: timed out waiting for %s\n", part->name, efx_mtd->name);
        return -ETIMEDOUT;
 }
 
        return 0;
 }
 
-static int efx_spi_erase(struct efx_mtd *efx_mtd, loff_t start, size_t len)
+static int
+efx_spi_erase(struct efx_mtd_partition *part, loff_t start, size_t len)
 {
+       struct efx_mtd *efx_mtd = part->mtd.priv;
        const struct efx_spi_device *spi = efx_mtd->spi;
        struct efx_nic *efx = efx_mtd->efx;
        unsigned pos, block_len;
                            NULL, 0);
        if (rc)
                return rc;
-       rc = efx_spi_slow_wait(efx_mtd, false);
+       rc = efx_spi_slow_wait(part, false);
 
        /* Verify the entire region has been wiped */
        memset(empty, 0xff, sizeof(empty));
 
 static void efx_mtd_sync(struct mtd_info *mtd)
 {
+       struct efx_mtd_partition *part = to_efx_mtd_partition(mtd);
        struct efx_mtd *efx_mtd = mtd->priv;
-       struct efx_nic *efx = efx_mtd->efx;
        int rc;
 
        rc = efx_mtd->ops->sync(mtd);
        if (rc)
-               EFX_ERR(efx, "%s sync failed (%d)\n", efx_mtd->name, rc);
+               pr_err("%s: %s sync failed (%d)\n",
+                      part->name, efx_mtd->name, rc);
 }
 
 static void efx_mtd_remove_partition(struct efx_mtd_partition *part)
        rc = mutex_lock_interruptible(&efx->spi_lock);
        if (rc)
                return rc;
-       rc = efx_spi_erase(efx_mtd, part->offset + start, len);
+       rc = efx_spi_erase(part, part->offset + start, len);
        mutex_unlock(&efx->spi_lock);
        return rc;
 }
 
 static int falcon_mtd_sync(struct mtd_info *mtd)
 {
+       struct efx_mtd_partition *part = to_efx_mtd_partition(mtd);
        struct efx_mtd *efx_mtd = mtd->priv;
        struct efx_nic *efx = efx_mtd->efx;
        int rc;
 
        mutex_lock(&efx->spi_lock);
-       rc = efx_spi_slow_wait(efx_mtd, true);
+       rc = efx_spi_slow_wait(part, true);
        mutex_unlock(&efx->spi_lock);
        return rc;
 }