소스 검색

can: mcp251x: add message about sucessful/unsuccessful probe

Silent ignorance of errors during probe procedure is a bad thing, this
patch fixes it. Extra message added for hardware initialization
failure. Such common issues are mostly caused by wrong wiring.  Message
about success added as well, it should be useful to debug new hardware
configuration, especially in case of several CAN buses.

Signed-off-by: Ed Spiridonov <edo.rus@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Ed Spiridonov 9 년 전
부모
커밋
b63f69d0fc
1개의 변경된 파일6개의 추가작업 그리고 1개의 파일을 삭제
  1. 6 1
      drivers/net/can/spi/mcp251x.c

+ 6 - 1
drivers/net/can/spi/mcp251x.c

@@ -1145,8 +1145,11 @@ static int mcp251x_can_probe(struct spi_device *spi)
 
 
 	/* Here is OK to not lock the MCP, no one knows about it yet */
 	/* Here is OK to not lock the MCP, no one knows about it yet */
 	ret = mcp251x_hw_probe(spi);
 	ret = mcp251x_hw_probe(spi);
-	if (ret)
+	if (ret) {
+		if (ret == -ENODEV)
+			dev_err(&spi->dev, "Cannot initialize MCP%x. Wrong wiring?\n", priv->model);
 		goto error_probe;
 		goto error_probe;
+	}
 
 
 	mcp251x_hw_sleep(spi);
 	mcp251x_hw_sleep(spi);
 
 
@@ -1156,6 +1159,7 @@ static int mcp251x_can_probe(struct spi_device *spi)
 
 
 	devm_can_led_init(net);
 	devm_can_led_init(net);
 
 
+	netdev_info(net, "MCP%x successfully initialized.\n", priv->model);
 	return 0;
 	return 0;
 
 
 error_probe:
 error_probe:
@@ -1168,6 +1172,7 @@ out_clk:
 out_free:
 out_free:
 	free_candev(net);
 	free_candev(net);
 
 
+	dev_err(&spi->dev, "Probe failed, err=%d\n", -ret);
 	return ret;
 	return ret;
 }
 }