Skip to content
  1. Jun 01, 2015
  2. May 19, 2015
  3. May 14, 2015
  4. May 13, 2015
  5. May 12, 2015
  6. May 11, 2015
    • Mika Westerberg's avatar
      gpio / ACPI: Add support for retrieving GpioInt resources from a device · c884fbd4
      Mika Westerberg authored
      
      
      ACPI specification knows two types of GPIOs: GpioIo and GpioInt. The latter
      is used to describe that a given device interrupt line is connected to a
      specific GPIO pin. Typical ACPI _CRS entry for such device looks like
      below:
      
          Name (_CRS, ResourceTemplate ()
          {
              I2cSerialBus (0x004A, ControllerInitiated, 0x00061A80,
                            AddressingMode7Bit, "\\_SB.PCI0.I2C6",
                            0x00, ResourceConsumer)
              GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
                      IoRestrictionOutputOnly, "\\_SB.GPO0",
                      0x00, ResourceConsumer)
              {
                  0x004B
              }
              GpioInt (Level, ActiveLow, Shared, PullDefault, 0x0000,
                       "\\_SB.GPO0", 0x00, ResourceConsumer)
              {
                  0x004C
              }
          })
      
      Currently drivers need to request a GPIO corresponding to the right GpioInt
      and then translate that to Linux IRQ number. This adds unnecessary lines of
      boiler-plate code.
      
      We can ease this a bit by introducing acpi_dev_gpio_irq_get() analogous to
      of_irq_get(). This function translates given GpioInt resource under the
      device in question to the suitable Linux IRQ number.
      
      Signed-off-by: default avatarMika Westerberg <mika.westerberg@linux.intel.com>
      Acked-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      c884fbd4