int ret;
 
        clk = devm_clk_get_optional(&spi->dev, NULL);
-       if (IS_ERR(clk)) {
-               dev_err(&spi->dev, "no CAN clock source defined\n");
-               return PTR_ERR(clk);
-       }
+       if (IS_ERR(clk))
+               return dev_err_probe(dev, PTR_ERR(clk), "no CAN clock source defined\n");
 
        if (clk) {
                freq = clk_get_rate(clk);
 
        ret = hi3110_hw_probe(spi);
        if (ret) {
-               if (ret == -ENODEV)
-                       dev_err(&spi->dev, "Cannot initialize %x. Wrong wiring?\n",
-                               priv->model);
+               dev_err_probe(dev, ret, "Cannot initialize %x. Wrong wiring?\n", priv->model);
                goto error_probe;
        }
        hi3110_hw_sleep(spi);
  out_free:
        free_candev(net);
 
-       dev_err(&spi->dev, "Probe failed, err=%d\n", -ret);
-       return ret;
+       return dev_err_probe(dev, ret, "Probe failed\n");
 }
 
 static int hi3110_can_remove(struct spi_device *spi)