Lines Matching refs:pmc

70 	struct at91_pmc *pmc = irq_data_get_irq_chip_data(d);  in pmc_irq_mask()  local
72 pmc_write(pmc, AT91_PMC_IDR, 1 << d->hwirq); in pmc_irq_mask()
77 struct at91_pmc *pmc = irq_data_get_irq_chip_data(d); in pmc_irq_unmask() local
79 pmc_write(pmc, AT91_PMC_IER, 1 << d->hwirq); in pmc_irq_unmask()
94 struct at91_pmc *pmc = irq_data_get_irq_chip_data(d); in pmc_irq_suspend() local
96 pmc->imr = pmc_read(pmc, AT91_PMC_IMR); in pmc_irq_suspend()
97 pmc_write(pmc, AT91_PMC_IDR, pmc->imr); in pmc_irq_suspend()
102 struct at91_pmc *pmc = irq_data_get_irq_chip_data(d); in pmc_irq_resume() local
104 pmc_write(pmc, AT91_PMC_IER, pmc->imr); in pmc_irq_resume()
122 struct at91_pmc *pmc = h->host_data; in pmc_irq_map() local
129 irq_set_chip_data(virq, pmc); in pmc_irq_map()
140 struct at91_pmc *pmc = d->host_data; in pmc_irq_domain_xlate() local
141 const struct at91_pmc_caps *caps = pmc->caps; in pmc_irq_domain_xlate()
163 struct at91_pmc *pmc = (struct at91_pmc *)data; in pmc_irq_handler() local
167 sr = pmc_read(pmc, AT91_PMC_SR) & pmc_read(pmc, AT91_PMC_IMR); in pmc_irq_handler()
172 generic_handle_irq(irq_find_mapping(pmc->irqdomain, n)); in pmc_irq_handler()
222 struct at91_pmc *pmc; in at91_pmc_init() local
229 pmc = kzalloc(sizeof(*pmc), GFP_KERNEL); in at91_pmc_init()
230 if (!pmc) in at91_pmc_init()
233 spin_lock_init(&pmc->lock); in at91_pmc_init()
234 pmc->regbase = regbase; in at91_pmc_init()
235 pmc->virq = virq; in at91_pmc_init()
236 pmc->caps = caps; in at91_pmc_init()
238 pmc->irqdomain = irq_domain_add_linear(np, 32, &pmc_irq_ops, pmc); in at91_pmc_init()
240 if (!pmc->irqdomain) in at91_pmc_init()
243 pmc_write(pmc, AT91_PMC_IDR, 0xffffffff); in at91_pmc_init()
244 if (request_irq(pmc->virq, pmc_irq_handler, in at91_pmc_init()
245 IRQF_SHARED | IRQF_COND_SUSPEND, "pmc", pmc)) in at91_pmc_init()
248 return pmc; in at91_pmc_init()
251 irq_domain_remove(pmc->irqdomain); in at91_pmc_init()
253 kfree(pmc); in at91_pmc_init()
379 struct at91_pmc *pmc; in of_at91_pmc_setup() local
393 pmc = at91_pmc_init(np, regbase, virq, caps); in of_at91_pmc_setup()
394 if (!pmc) in of_at91_pmc_setup()
401 clk_setup(childnp, pmc); in of_at91_pmc_setup()