diff options
author | Axel Lin <axel.lin@ingics.com> | 2014-03-30 04:43:23 -0400 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-04-14 12:18:55 -0400 |
commit | abcadeb255074d1351d110ef696b647859fa3d5b (patch) | |
tree | 9324e03772f0f65e838764d6bd91b517f4e0b38b /drivers/spi/spi-fsl-lib.c | |
parent | c9eaa447e77efe77b7fa4c953bd62de8297fd6c5 (diff) |
spi: fsl: Kill mpc8xxx_spi_cleanup and convert fsl_espi_setup to use devm_kzalloc
In current code, master->cleanup and master->setup are not set in the same
function. This makes it hard to read and not good for code maintain.
One example is in fsl-spi.c, master->cleanup is overrided in mpc8xxx_spi_probe()
which leads to a memory leak.
This patch removes mpc8xxx_spi_cleanup() and converts fsl_espi_setup to use
devm_kzalloc so we don't need to take care of freeing memory.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'drivers/spi/spi-fsl-lib.c')
-rw-r--r-- | drivers/spi/spi-fsl-lib.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/spi/spi-fsl-lib.c b/drivers/spi/spi-fsl-lib.c index e5d45fca3551..95212ea96c8d 100644 --- a/drivers/spi/spi-fsl-lib.c +++ b/drivers/spi/spi-fsl-lib.c | |||
@@ -99,11 +99,6 @@ int mpc8xxx_spi_transfer(struct spi_device *spi, | |||
99 | return 0; | 99 | return 0; |
100 | } | 100 | } |
101 | 101 | ||
102 | void mpc8xxx_spi_cleanup(struct spi_device *spi) | ||
103 | { | ||
104 | kfree(spi->controller_state); | ||
105 | } | ||
106 | |||
107 | const char *mpc8xxx_spi_strmode(unsigned int flags) | 102 | const char *mpc8xxx_spi_strmode(unsigned int flags) |
108 | { | 103 | { |
109 | if (flags & SPI_QE_CPU_MODE) { | 104 | if (flags & SPI_QE_CPU_MODE) { |
@@ -134,7 +129,6 @@ int mpc8xxx_spi_probe(struct device *dev, struct resource *mem, | |||
134 | | SPI_LSB_FIRST | SPI_LOOP; | 129 | | SPI_LSB_FIRST | SPI_LOOP; |
135 | 130 | ||
136 | master->transfer = mpc8xxx_spi_transfer; | 131 | master->transfer = mpc8xxx_spi_transfer; |
137 | master->cleanup = mpc8xxx_spi_cleanup; | ||
138 | master->dev.of_node = dev->of_node; | 132 | master->dev.of_node = dev->of_node; |
139 | 133 | ||
140 | mpc8xxx_spi = spi_master_get_devdata(master); | 134 | mpc8xxx_spi = spi_master_get_devdata(master); |