• Jon Hunter's avatar
    spi: Map SPI OF client IRQ at probe time · 44af7927
    Jon Hunter authored
    Currently the IRQs for SPI client devices, registered via device-tree,
    are mapped when the client devices are registered. If the corresponding
    irq-chip has not been probed yet, then the probing of the client device
    will fail and will not be retried. Resolve this by mapping the IRQ at
    probe time and allow the probe to be deferred if the IRQ is not yet
    available.
    
    If of_irq_get() returns an error that is not -EPROBE_DEFER, then assume
    that the SPI client does not have an IRQ and set the IRQ number to zero
    (which is equivalent to irq_of_parse_and_map()).
    
    This is based on some inputs from Thierry Reding <treding@nvidia.com>.
    
    Cc: Thierry Reding <treding@nvidia.com>
    Cc: Tomeu Vizoso <tomeu.vizoso@collabora.com>
    Signed-off-by: default avatarJon Hunter <jonathanh@nvidia.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    44af7927
spi.c 69 KB