i2c_set_clientdata(i2c, ak4118);
 
        ak4118->reset = devm_gpiod_get(&i2c->dev, "reset", GPIOD_OUT_HIGH);
-       if (IS_ERR(ak4118->reset)) {
-               ret = PTR_ERR(ak4118->reset);
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&i2c->dev, "Failed to get reset: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(ak4118->reset))
+               return dev_err_probe(&i2c->dev, PTR_ERR(ak4118->reset),
+                                    "Failed to get reset\n");
 
        ak4118->irq = devm_gpiod_get(&i2c->dev, "irq", GPIOD_IN);
-       if (IS_ERR(ak4118->irq)) {
-               ret = PTR_ERR(ak4118->irq);
-               if (ret != -EPROBE_DEFER)
-                       dev_err(&i2c->dev, "Failed to get IRQ: %d\n", ret);
-               return ret;
-       }
+       if (IS_ERR(ak4118->irq))
+               return dev_err_probe(&i2c->dev, PTR_ERR(ak4118->irq),
+                                    "Failed to get IRQ\n");
 
        ret = devm_request_threaded_irq(&i2c->dev, gpiod_to_irq(ak4118->irq),
                                        NULL, ak4118_irq_handler,