mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-23 20:24:12 +08:00
spi: fsl-(e)spi: simplify cleanup code
Now that most cleanup is done automatically the remove functions can be significantly simplified. Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
4178b6b1b5
commit
3c5395b66f
@ -797,11 +797,6 @@ err:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int of_fsl_espi_remove(struct platform_device *dev)
|
||||
{
|
||||
return mpc8xxx_spi_remove(&dev->dev);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int of_fsl_espi_suspend(struct device *dev)
|
||||
{
|
||||
@ -865,7 +860,6 @@ static struct platform_driver fsl_espi_driver = {
|
||||
.pm = &espi_pm,
|
||||
},
|
||||
.probe = of_fsl_espi_probe,
|
||||
.remove = of_fsl_espi_remove,
|
||||
};
|
||||
module_platform_driver(fsl_espi_driver);
|
||||
|
||||
|
@ -114,21 +114,6 @@ void mpc8xxx_spi_probe(struct device *dev, struct resource *mem,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mpc8xxx_spi_probe);
|
||||
|
||||
int mpc8xxx_spi_remove(struct device *dev)
|
||||
{
|
||||
struct mpc8xxx_spi *mpc8xxx_spi;
|
||||
struct spi_master *master;
|
||||
|
||||
master = dev_get_drvdata(dev);
|
||||
mpc8xxx_spi = spi_master_get_devdata(master);
|
||||
|
||||
if (mpc8xxx_spi->spi_remove)
|
||||
mpc8xxx_spi->spi_remove(mpc8xxx_spi);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(mpc8xxx_spi_remove);
|
||||
|
||||
int of_mpc8xxx_spi_probe(struct platform_device *ofdev)
|
||||
{
|
||||
struct device *dev = &ofdev->dev;
|
||||
|
@ -54,9 +54,6 @@ struct mpc8xxx_spi {
|
||||
void (*get_rx) (u32 rx_data, struct mpc8xxx_spi *);
|
||||
u32(*get_tx) (struct mpc8xxx_spi *);
|
||||
|
||||
/* hooks for different controller driver */
|
||||
void (*spi_remove) (struct mpc8xxx_spi *mspi);
|
||||
|
||||
unsigned int count;
|
||||
unsigned int irq;
|
||||
|
||||
|
@ -559,11 +559,6 @@ static irqreturn_t fsl_spi_irq(s32 irq, void *context_data)
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void fsl_spi_remove(struct mpc8xxx_spi *mspi)
|
||||
{
|
||||
fsl_spi_cpm_free(mspi);
|
||||
}
|
||||
|
||||
static void fsl_spi_grlib_cs_control(struct spi_device *spi, bool on)
|
||||
{
|
||||
struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master);
|
||||
@ -630,7 +625,6 @@ static struct spi_master * fsl_spi_probe(struct device *dev,
|
||||
master->transfer_one_message = fsl_spi_do_one_msg;
|
||||
|
||||
mpc8xxx_spi = spi_master_get_devdata(master);
|
||||
mpc8xxx_spi->spi_remove = fsl_spi_remove;
|
||||
mpc8xxx_spi->max_bits_per_word = 32;
|
||||
mpc8xxx_spi->type = fsl_spi_get_type(dev);
|
||||
|
||||
@ -861,11 +855,8 @@ static int of_fsl_spi_remove(struct platform_device *ofdev)
|
||||
{
|
||||
struct spi_master *master = platform_get_drvdata(ofdev);
|
||||
struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(master);
|
||||
int ret;
|
||||
|
||||
ret = mpc8xxx_spi_remove(&ofdev->dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
fsl_spi_cpm_free(mpc8xxx_spi);
|
||||
if (mpc8xxx_spi->type == TYPE_FSL)
|
||||
of_fsl_spi_free_chipselects(&ofdev->dev);
|
||||
return 0;
|
||||
@ -911,7 +902,12 @@ static int plat_mpc8xxx_spi_probe(struct platform_device *pdev)
|
||||
|
||||
static int plat_mpc8xxx_spi_remove(struct platform_device *pdev)
|
||||
{
|
||||
return mpc8xxx_spi_remove(&pdev->dev);
|
||||
struct spi_master *master = platform_get_drvdata(pdev);
|
||||
struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(master);
|
||||
|
||||
fsl_spi_cpm_free(mpc8xxx_spi);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
MODULE_ALIAS("platform:mpc8xxx_spi");
|
||||
|
Loading…
Reference in New Issue
Block a user