struct sja1000_of_data {
        size_t  priv_sz;
-       int     (*init)(struct sja1000_priv *priv, struct device_node *of);
+       void    (*init)(struct sja1000_priv *priv, struct device_node *of);
 };
 
 struct technologic_priv {
        spin_unlock_irqrestore(&tp->io_lock, flags);
 }
 
-static int sp_technologic_init(struct sja1000_priv *priv, struct device_node *of)
+static void sp_technologic_init(struct sja1000_priv *priv, struct device_node *of)
 {
        struct technologic_priv *tp = priv->priv;
 
        priv->read_reg = sp_technologic_read_reg16;
        priv->write_reg = sp_technologic_write_reg16;
        spin_lock_init(&tp->io_lock);
-
-       return 0;
 }
 
 static void sp_populate(struct sja1000_priv *priv,
        if (of) {
                sp_populate_of(priv, of);
 
-               if (of_data && of_data->init) {
-                       err = of_data->init(priv, of);
-                       if (err)
-                               goto exit_free;
-               }
+               if (of_data && of_data->init)
+                       of_data->init(priv, of);
        } else {
                sp_populate(priv, pdata, res_mem->flags);
        }