提交 450b1151 编写于 作者: P Paul Parsons 提交者: Samuel Ortiz

mfd: Add to_irq() member to asic3 gpio_chip structure

The gpio_to_irq() macro is now defined as __gpio_to_irq() instead of IRQ_GPIO().
The __gpio_to_irq() function returns -ENXIO if the referenced gpio_chip
structure does not define a to_irq() member.
This is true of the asic3 gpio_chip structure, and thus calls to gpio_to_irq()
now fail (for example from the gpio-vbus module).
This patch defines the to_irq() member in the asic3 gpio_chip structure.
Signed-off-by: NPaul Parsons <lost.distance@yahoo.com>
Signed-off-by: NSamuel Ortiz <sameo@linux.intel.com>
上级 edcf3196
...@@ -525,6 +525,11 @@ static void asic3_gpio_set(struct gpio_chip *chip, ...@@ -525,6 +525,11 @@ static void asic3_gpio_set(struct gpio_chip *chip,
return; return;
} }
static int asic3_gpio_to_irq(struct gpio_chip *chip, unsigned offset)
{
return (offset < ASIC3_NUM_GPIOS) ? IRQ_BOARD_START + offset : -ENXIO;
}
static __init int asic3_gpio_probe(struct platform_device *pdev, static __init int asic3_gpio_probe(struct platform_device *pdev,
u16 *gpio_config, int num) u16 *gpio_config, int num)
{ {
...@@ -976,6 +981,7 @@ static int __init asic3_probe(struct platform_device *pdev) ...@@ -976,6 +981,7 @@ static int __init asic3_probe(struct platform_device *pdev)
asic->gpio.set = asic3_gpio_set; asic->gpio.set = asic3_gpio_set;
asic->gpio.direction_input = asic3_gpio_direction_input; asic->gpio.direction_input = asic3_gpio_direction_input;
asic->gpio.direction_output = asic3_gpio_direction_output; asic->gpio.direction_output = asic3_gpio_direction_output;
asic->gpio.to_irq = asic3_gpio_to_irq;
ret = asic3_gpio_probe(pdev, ret = asic3_gpio_probe(pdev,
pdata->gpio_config, pdata->gpio_config,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册