Lines Matching refs:agent
438 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
440 agent->imr |= BIT(data->irq - agent->irq_base);
441 agent->imr_change_pending = true;
446 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
448 agent->imr &= ~BIT(data->irq - agent->irq_base);
449 agent->imr_change_pending = true;
454 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
460 agent->edge_change |= BIT(data->irq - agent->irq_base);
467 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
469 mutex_lock(&agent->irq_lock);
474 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
475 const struct sih *sih = agent->sih;
478 if (agent->imr_change_pending) {
485 imr.word = cpu_to_le32(agent->imr);
486 agent->imr_change_pending = false;
497 if (agent->edge_change) {
501 edge_change = agent->edge_change;
502 agent->edge_change = 0;
527 type = irq_get_trigger_type(i + agent->irq_base);
544 mutex_unlock(&agent->irq_lock);
582 struct sih_agent *agent = irq_get_handler_data(irq);
583 const struct sih *sih = agent->sih;
602 handle_nested_irq(agent->irq_base + irq);
615 struct sih_agent *agent;
633 agent = kzalloc(sizeof(*agent), GFP_KERNEL);
634 if (!agent)
637 agent->irq_base = irq_base;
638 agent->sih = sih;
639 agent->imr = ~0;
640 mutex_init(&agent->irq_lock);
645 irq_set_chip_data(irq, agent);
654 irq_set_handler_data(irq, agent);
655 agent->irq_name = kasprintf(GFP_KERNEL, "twl4030_%s", sih->name);
658 agent->irq_name ?: sih->name, NULL);