On Wed, May 13, 2015 at 4:58 AM, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > On Wed, May 13, 2015 at 4:25 AM, Feng Kan <fkan@xxxxxxx> wrote: > >> Marc: >> >> Sorry for top posting. It seems with GIC-400, the get_irqstate is not a reliable >> way of accessing the GPIO status. In our case, the gpio interrupt status can >> only be read correctly with the SPISR register. So it seems we have to go >> back to the old way of mapping the SPISR portion of the GIC in our GPIO >> driver. We wanted to ask you if that is acceptable since SPISR in not >> standard in all GIC, perhaps we can treat it differently. > > As GPIO maintainer I am curious about what this is... > > Can you describe the scenario where your GPIO (!) driver needs > to be poking around in the GIC SPISR? We are using the gpio driver with gpio_key for power button. The gpio status can only be retrieved from the GIC register when the gpio is acting as a interrupt. Marc had provided a patch which allow the getting of the irq status using the PENDING_SET register, however it seems it is not reliable. Another register in the GIC call the SPISR always give the correct status but it is only available in the GIC-400 and hence not likely to be incorporated into the general GIC code. We would like to go back the version 1 of the patch and ioremap the region in the gpio driver and access the status that way. Please let us know what you think. > > Yours, > Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html