|
@@ -181,7 +181,11 @@ static int uniphier_gpio_to_irq(struct gpio_chip *chip, unsigned int offset)
|
|
fwspec.fwnode = of_node_to_fwnode(chip->parent->of_node);
|
|
fwspec.fwnode = of_node_to_fwnode(chip->parent->of_node);
|
|
fwspec.param_count = 2;
|
|
fwspec.param_count = 2;
|
|
fwspec.param[0] = offset - UNIPHIER_GPIO_IRQ_OFFSET;
|
|
fwspec.param[0] = offset - UNIPHIER_GPIO_IRQ_OFFSET;
|
|
- fwspec.param[1] = IRQ_TYPE_NONE;
|
|
|
|
|
|
+ /*
|
|
|
|
+ * IRQ_TYPE_NONE is rejected by the parent irq domain. Set LEVEL_HIGH
|
|
|
|
+ * temporarily. Anyway, ->irq_set_type() will override it later.
|
|
|
|
+ */
|
|
|
|
+ fwspec.param[1] = IRQ_TYPE_LEVEL_HIGH;
|
|
|
|
|
|
return irq_create_fwspec_mapping(&fwspec);
|
|
return irq_create_fwspec_mapping(&fwspec);
|
|
}
|
|
}
|