blob: f8b879a7973c6fd457e2b1829068a4894dd27922 [file] [log] [blame]
Ben Dooks21b23662008-10-31 16:14:34 +00001/* arch/arm/mach-s3c24100/include/mach/gpio-core.h
2 *
3 * Copyright 2008 Openmoko, Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
7 *
8 * S3C2410 - GPIO core support
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15#ifndef __ASM_ARCH_GPIO_CORE_H
16#define __ASM_ARCH_GPIO_CORE_H __FILE__
17
18#include <plat/gpio-core.h>
19#include <mach/regs-gpio.h>
20
21extern struct s3c_gpio_chip s3c24xx_gpios[];
22
23static inline struct s3c_gpio_chip *s3c_gpiolib_getchip(unsigned int pin)
24{
25 struct s3c_gpio_chip *chip;
26
Ben Dooks070276d2009-05-17 22:32:23 +010027 if (pin > S3C2410_GPG(10))
Ben Dooks21b23662008-10-31 16:14:34 +000028 return NULL;
29
30 chip = &s3c24xx_gpios[pin/32];
Lars-Peter Clausen0c997c02009-07-22 00:33:06 +020031 return (S3C2410_GPIO_OFFSET(pin) < chip->chip.ngpio) ? chip : NULL;
Ben Dooks21b23662008-10-31 16:14:34 +000032}
33
34#endif /* __ASM_ARCH_GPIO_CORE_H */