mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-23 19:14:30 +08:00
can: mcp251x: Convert to devm-* API
Replace existing resource handling in the driver with managed device resource, this ensures more consistent error values and simplifies error paths. Signed-off-by: Alexander Shiyan <shc_work@mail.ru> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
05780d9808
commit
21629e1a11
@ -1066,15 +1066,17 @@ static int mcp251x_can_probe(struct spi_device *spi)
|
||||
|
||||
/* Allocate non-DMA buffers */
|
||||
if (!mcp251x_enable_dma) {
|
||||
priv->spi_tx_buf = kmalloc(SPI_TRANSFER_BUF_LEN, GFP_KERNEL);
|
||||
priv->spi_tx_buf = devm_kzalloc(&spi->dev, SPI_TRANSFER_BUF_LEN,
|
||||
GFP_KERNEL);
|
||||
if (!priv->spi_tx_buf) {
|
||||
ret = -ENOMEM;
|
||||
goto error_tx_buf;
|
||||
goto error_probe;
|
||||
}
|
||||
priv->spi_rx_buf = kmalloc(SPI_TRANSFER_BUF_LEN, GFP_KERNEL);
|
||||
priv->spi_rx_buf = devm_kzalloc(&spi->dev, SPI_TRANSFER_BUF_LEN,
|
||||
GFP_KERNEL);
|
||||
if (!priv->spi_rx_buf) {
|
||||
ret = -ENOMEM;
|
||||
goto error_rx_buf;
|
||||
goto error_probe;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1107,12 +1109,6 @@ static int mcp251x_can_probe(struct spi_device *spi)
|
||||
return ret;
|
||||
|
||||
error_probe:
|
||||
if (!mcp251x_enable_dma)
|
||||
kfree(priv->spi_rx_buf);
|
||||
error_rx_buf:
|
||||
if (!mcp251x_enable_dma)
|
||||
kfree(priv->spi_tx_buf);
|
||||
error_tx_buf:
|
||||
if (mcp251x_enable_dma)
|
||||
dma_free_coherent(&spi->dev, PAGE_SIZE,
|
||||
priv->spi_tx_buf, priv->spi_tx_dma);
|
||||
@ -1135,9 +1131,6 @@ static int mcp251x_can_remove(struct spi_device *spi)
|
||||
if (mcp251x_enable_dma) {
|
||||
dma_free_coherent(&spi->dev, PAGE_SIZE,
|
||||
priv->spi_tx_buf, priv->spi_tx_dma);
|
||||
} else {
|
||||
kfree(priv->spi_tx_buf);
|
||||
kfree(priv->spi_rx_buf);
|
||||
}
|
||||
|
||||
mcp251x_power_enable(priv->power, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user