/* Convert GPIO signal to GPIO pin number */
#define GPIO_TO_PIN(bank, gpio) (16 * (bank) + (gpio))
-struct gpio_controller {
+struct davinci_gpio_regs {
u32 dir;
u32 out_data;
u32 set_data;
u32 intstat;
};
+struct davinci_gpio_controller {
+ struct davinci_gpio_regs __iomem *regs;
+ struct gpio_chip chip;
+ int irq_base;
+};
+
/* The __gpio_to_controller() and __gpio_mask() functions inline to constants
* with constant parameters; or in outlined code they execute at runtime.
*
*
* These are NOT part of the cross-platform GPIO interface
*/
-static inline struct gpio_controller *__iomem
+static inline struct davinci_gpio_regs __iomem *
__gpio_to_controller(unsigned gpio)
{
- void *__iomem ptr;
+ void __iomem *ptr;
void __iomem *base = davinci_soc_info.gpio_base;
if (gpio < 32 * 1)
static inline void gpio_set_value(unsigned gpio, int value)
{
if (__builtin_constant_p(value) && gpio < DAVINCI_N_GPIO) {
- struct gpio_controller *__iomem g;
+ struct davinci_gpio_regs __iomem *g;
u32 mask;
g = __gpio_to_controller(gpio);
*/
static inline int gpio_get_value(unsigned gpio)
{
- struct gpio_controller *__iomem g;
+ struct davinci_gpio_regs __iomem *g;
if (!__builtin_constant_p(gpio) || gpio >= DAVINCI_N_GPIO)
return __gpio_get_value(gpio);