Lines Matching refs:agent
439 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
441 agent->imr |= BIT(data->irq - agent->irq_base);
442 agent->imr_change_pending = true;
447 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
449 agent->imr &= ~BIT(data->irq - agent->irq_base);
450 agent->imr_change_pending = true;
455 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
461 agent->edge_change |= BIT(data->irq - agent->irq_base);
468 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
470 mutex_lock(&agent->irq_lock);
475 struct sih_agent *agent = irq_data_get_irq_chip_data(data);
476 const struct sih *sih = agent->sih;
479 if (agent->imr_change_pending) {
486 imr.word = cpu_to_le32(agent->imr);
487 agent->imr_change_pending = false;
498 if (agent->edge_change) {
502 edge_change = agent->edge_change;
503 agent->edge_change = 0;
528 type = irq_get_trigger_type(i + agent->irq_base);
545 mutex_unlock(&agent->irq_lock);
583 struct sih_agent *agent = irq_get_handler_data(irq);
584 const struct sih *sih = agent->sih;
603 handle_nested_irq(agent->irq_base + irq);
616 struct sih_agent *agent;
634 agent = kzalloc(sizeof(*agent), GFP_KERNEL);
635 if (!agent)
638 agent->irq_base = irq_base;
639 agent->sih = sih;
640 agent->imr = ~0;
641 mutex_init(&agent->irq_lock);
646 irq_set_chip_data(irq, agent);
655 irq_set_handler_data(irq, agent);
656 agent->irq_name = kasprintf(GFP_KERNEL, "twl4030_%s", sih->name);
659 agent->irq_name ?: sih->name, NULL);