clk: at91: remove IRQ handling and use polling

The AT91 clock drivers make use of IRQs to avoid polling when waiting for
some clocks to be enabled. Unfortunately, this leads to a crash when those
IRQs are threaded (which happens when using preempt-rt) because they are
registered before thread creation is possible.

Use polling on those clocks instead to avoid the problem.

Acked-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
This commit is contained in:
Alexandre Belloni
2015-09-16 23:47:39 +02:00
bovenliggende 1bdf02326b
commit 99a8170652
7 gewijzigde bestanden met toevoegingen van 37 en 446 verwijderingen

Bestand weergeven

@@ -32,10 +32,7 @@ struct at91_pmc_caps {
struct at91_pmc {
struct regmap *regmap;
int virq;
const struct at91_pmc_caps *caps;
struct irq_domain *irqdomain;
u32 imr;
};
int of_at91_get_clk_range(struct device_node *np, const char *propname,