1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * OF helpers for the old of_mm_gpio_chip, used on ppc32 and nios2,
4  * do not use in new code.
5  *
6  * Copyright (c) 2007-2008  MontaVista Software, Inc.
7  *
8  * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
9  */
10 
11 #ifndef __LINUX_GPIO_LEGACY_OF_MM_GPIO_CHIP_H
12 #define __LINUX_GPIO_LEGACY_OF_MM_GPIO_CHIP_H
13 
14 #include <linux/gpio/driver.h>
15 #include <linux/of.h>
16 
17 /*
18  * OF GPIO chip for memory mapped banks
19  */
20 struct of_mm_gpio_chip {
21 	struct gpio_chip gc;
22 	void (*save_regs)(struct of_mm_gpio_chip *mm_gc);
23 	void __iomem *regs;
24 };
25 
to_of_mm_gpio_chip(struct gpio_chip * gc)26 static inline struct of_mm_gpio_chip *to_of_mm_gpio_chip(struct gpio_chip *gc)
27 {
28 	return container_of(gc, struct of_mm_gpio_chip, gc);
29 }
30 
31 extern int of_mm_gpiochip_add_data(struct device_node *np,
32 				   struct of_mm_gpio_chip *mm_gc,
33 				   void *data);
34 extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc);
35 
36 #endif /* __LINUX_GPIO_LEGACY_OF_MM_GPIO_CHIP_H */
37