gpio: mpc5200: Use of_mm_gpiochip_remove
Since d621e8bae5 (Create of_mm_gpiochip_remove), there is a
counterpart for of_mm_gpiochip_add.
This patch implements the remove function of the driver making use of
it.
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
			
			
This commit is contained in:
		
							parent
							
								
									1dfb4a0d76
								
							
						
					
					
						commit
						f91b2dbba5
					
				| @ -155,10 +155,12 @@ static int mpc52xx_wkup_gpiochip_probe(struct platform_device *ofdev) | ||||
| 	struct gpio_chip *gc; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	chip = kzalloc(sizeof(*chip), GFP_KERNEL); | ||||
| 	chip = devm_kzalloc(&ofdev->dev, sizeof(*chip), GFP_KERNEL); | ||||
| 	if (!chip) | ||||
| 		return -ENOMEM; | ||||
| 
 | ||||
| 	platform_set_drvdata(ofdev, chip); | ||||
| 
 | ||||
| 	gc = &chip->mmchip.gc; | ||||
| 
 | ||||
| 	gc->ngpio            = 8; | ||||
| @ -181,7 +183,11 @@ static int mpc52xx_wkup_gpiochip_probe(struct platform_device *ofdev) | ||||
| 
 | ||||
| static int mpc52xx_gpiochip_remove(struct platform_device *ofdev) | ||||
| { | ||||
| 	return -EBUSY; | ||||
| 	struct mpc52xx_gpiochip *chip = platform_get_drvdata(ofdev); | ||||
| 
 | ||||
| 	of_mm_gpiochip_remove(&chip->mmchip); | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static const struct of_device_id mpc52xx_wkup_gpiochip_match[] = { | ||||
| @ -314,10 +320,12 @@ static int mpc52xx_simple_gpiochip_probe(struct platform_device *ofdev) | ||||
| 	struct mpc52xx_gpio __iomem *regs; | ||||
| 	int ret; | ||||
| 
 | ||||
| 	chip = kzalloc(sizeof(*chip), GFP_KERNEL); | ||||
| 	chip = devm_kzalloc(&ofdev->dev, sizeof(*chip), GFP_KERNEL); | ||||
| 	if (!chip) | ||||
| 		return -ENOMEM; | ||||
| 
 | ||||
| 	platform_set_drvdata(ofdev, chip); | ||||
| 
 | ||||
| 	gc = &chip->mmchip.gc; | ||||
| 
 | ||||
| 	gc->ngpio            = 32; | ||||
| @ -363,11 +371,16 @@ static int __init mpc52xx_gpio_init(void) | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* Make sure we get initialised before anyone else tries to use us */ | ||||
| subsys_initcall(mpc52xx_gpio_init); | ||||
| 
 | ||||
| /* No exit call at the moment as we cannot unregister of gpio chips */ | ||||
| static void __exit mpc52xx_gpio_exit(void) | ||||
| { | ||||
| 	platform_driver_unregister(&mpc52xx_wkup_gpiochip_driver); | ||||
| 
 | ||||
| 	platform_driver_unregister(&mpc52xx_simple_gpiochip_driver); | ||||
| } | ||||
| module_exit(mpc52xx_gpio_exit); | ||||
| 
 | ||||
| MODULE_DESCRIPTION("Freescale MPC52xx gpio driver"); | ||||
| MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de"); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user