forked from mirrors/linux
		
	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
					
				
					 4 changed files with 7 additions and 35 deletions
				
			
		|  | @ -797,11 +797,6 @@ static int of_fsl_espi_probe(struct platform_device *ofdev) | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int of_fsl_espi_remove(struct platform_device *dev) |  | ||||||
| { |  | ||||||
| 	return mpc8xxx_spi_remove(&dev->dev); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| #ifdef CONFIG_PM_SLEEP | #ifdef CONFIG_PM_SLEEP | ||||||
| static int of_fsl_espi_suspend(struct device *dev) | static int of_fsl_espi_suspend(struct device *dev) | ||||||
| { | { | ||||||
|  | @ -865,7 +860,6 @@ static struct platform_driver fsl_espi_driver = { | ||||||
| 		.pm = &espi_pm, | 		.pm = &espi_pm, | ||||||
| 	}, | 	}, | ||||||
| 	.probe		= of_fsl_espi_probe, | 	.probe		= of_fsl_espi_probe, | ||||||
| 	.remove		= of_fsl_espi_remove, |  | ||||||
| }; | }; | ||||||
| module_platform_driver(fsl_espi_driver); | 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); | 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) | int of_mpc8xxx_spi_probe(struct platform_device *ofdev) | ||||||
| { | { | ||||||
| 	struct device *dev = &ofdev->dev; | 	struct device *dev = &ofdev->dev; | ||||||
|  |  | ||||||
|  | @ -54,9 +54,6 @@ struct mpc8xxx_spi { | ||||||
| 	void (*get_rx) (u32 rx_data, struct mpc8xxx_spi *); | 	void (*get_rx) (u32 rx_data, struct mpc8xxx_spi *); | ||||||
| 	u32(*get_tx) (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 count; | ||||||
| 	unsigned int irq; | 	unsigned int irq; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -559,11 +559,6 @@ static irqreturn_t fsl_spi_irq(s32 irq, void *context_data) | ||||||
| 	return ret; | 	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) | static void fsl_spi_grlib_cs_control(struct spi_device *spi, bool on) | ||||||
| { | { | ||||||
| 	struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(spi->master); | 	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; | 	master->transfer_one_message = fsl_spi_do_one_msg; | ||||||
| 
 | 
 | ||||||
| 	mpc8xxx_spi = spi_master_get_devdata(master); | 	mpc8xxx_spi = spi_master_get_devdata(master); | ||||||
| 	mpc8xxx_spi->spi_remove = fsl_spi_remove; |  | ||||||
| 	mpc8xxx_spi->max_bits_per_word = 32; | 	mpc8xxx_spi->max_bits_per_word = 32; | ||||||
| 	mpc8xxx_spi->type = fsl_spi_get_type(dev); | 	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 spi_master *master = platform_get_drvdata(ofdev); | ||||||
| 	struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(master); | 	struct mpc8xxx_spi *mpc8xxx_spi = spi_master_get_devdata(master); | ||||||
| 	int ret; |  | ||||||
| 
 | 
 | ||||||
| 	ret = mpc8xxx_spi_remove(&ofdev->dev); | 	fsl_spi_cpm_free(mpc8xxx_spi); | ||||||
| 	if (ret) |  | ||||||
| 		return ret; |  | ||||||
| 	if (mpc8xxx_spi->type == TYPE_FSL) | 	if (mpc8xxx_spi->type == TYPE_FSL) | ||||||
| 		of_fsl_spi_free_chipselects(&ofdev->dev); | 		of_fsl_spi_free_chipselects(&ofdev->dev); | ||||||
| 	return 0; | 	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) | 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"); | MODULE_ALIAS("platform:mpc8xxx_spi"); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Heiner Kallweit
						Heiner Kallweit