gpio-core.h 892 B

12345678910111213141516171819202122232425262728293031323334
  1. /* 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. #ifndef __ASM_ARCH_GPIO_CORE_H
  15. #define __ASM_ARCH_GPIO_CORE_H __FILE__
  16. #include <plat/gpio-core.h>
  17. #include <mach/regs-gpio.h>
  18. extern struct s3c_gpio_chip s3c24xx_gpios[];
  19. static inline struct s3c_gpio_chip *s3c_gpiolib_getchip(unsigned int pin)
  20. {
  21. struct s3c_gpio_chip *chip;
  22. if (pin > S3C2410_GPG(10))
  23. return NULL;
  24. chip = &s3c24xx_gpios[pin/32];
  25. return (S3C2410_GPIO_OFFSET(pin) < chip->chip.ngpio) ? chip : NULL;
  26. }
  27. #endif /* __ASM_ARCH_GPIO_CORE_H */