Lines Matching refs:sih

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