Lines Matching refs:sih
55 struct sih {
77 static const struct sih *sih_modules;
108 static const struct sih sih_modules_twl4030[6] = {
168 static const struct sih sih_modules_twl5031[8] = {
316 const struct sih *sih;
329 sih = sih_modules;
330 for (i = 0; i < nr_sih_modules; i++, sih++) {
332 if (!sih->bytes_ixr)
336 if (sih->irq_lines <= line)
339 status = twl_i2c_write(sih->module, buf,
340 sih->mask[line].imr_offset, sih->bytes_ixr);
343 status, sih->name, "IMR");
353 if (sih->set_cor) {
354 status = twl_i2c_write_u8(sih->module,
356 sih->control_offset);
359 status, sih->name, "SIH_CTRL");
363 sih = sih_modules;
364 for (i = 0; i < nr_sih_modules; i++, sih++) {
369 if (!sih->bytes_ixr)
373 if (sih->irq_lines <= line)
383 status = twl_i2c_read(sih->module, rxbuf,
384 sih->mask[line].isr_offset, sih->bytes_ixr);
387 status, sih->name, "ISR");
389 if (!sih->set_cor) {
390 status = twl_i2c_write(sih->module, buf,
391 sih->mask[line].isr_offset,
392 sih->bytes_ixr);
416 const struct sih *sih;
475 const struct sih *sih = agent->sih;
489 status = twl_i2c_write(sih->module, imr.bytes,
490 sih->mask[irq_line].imr_offset,
491 sih->bytes_ixr);
510 status = twl_i2c_read(sih->module, bytes,
511 sih->edr_offset, sih->bytes_edr);
537 status = twl_i2c_write(sih->module, bytes,
538 sih->edr_offset, sih->bytes_edr);
559 static inline int sih_read_isr(const struct sih *sih)
570 status = twl_i2c_read(sih->module, isr.bytes,
571 sih->mask[irq_line].isr_offset, sih->bytes_ixr);
583 const struct sih *sih = agent->sih;
587 isr = sih_read_isr(sih);
591 sih->name, isr);
601 if (irq < sih->bits)
605 sih->name, irq);
614 const struct sih *sih = NULL;
620 for (sih_mod = 0, sih = sih_modules; sih_mod < nr_sih_modules;
621 sih_mod++, sih++) {
622 if (sih->module == module && sih->set_cor) {
638 agent->sih = sih;
642 for (i = 0; i < sih->bits; i++) {
655 agent->irq_name = kasprintf(GFP_KERNEL, "twl4030_%s", sih->name);
658 agent->irq_name ?: sih->name, NULL);
660 dev_info(dev, "%s (irq %d) chaining IRQs %d..%d\n", sih->name,