iio_evgen 45 drivers/iio/dummy/iio_dummy_evgen.c static struct iio_dummy_eventgen *iio_evgen; iio_evgen 51 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen = kzalloc(sizeof(*iio_evgen), GFP_KERNEL); iio_evgen 52 drivers/iio/dummy/iio_dummy_evgen.c if (!iio_evgen) iio_evgen 55 drivers/iio/dummy/iio_dummy_evgen.c ret = irq_sim_init(&iio_evgen->irq_sim, IIO_EVENTGEN_NO); iio_evgen 57 drivers/iio/dummy/iio_dummy_evgen.c kfree(iio_evgen); iio_evgen 61 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen->base = irq_sim_irqnum(&iio_evgen->irq_sim, 0); iio_evgen 62 drivers/iio/dummy/iio_dummy_evgen.c mutex_init(&iio_evgen->lock); iio_evgen 77 drivers/iio/dummy/iio_dummy_evgen.c if (!iio_evgen) iio_evgen 80 drivers/iio/dummy/iio_dummy_evgen.c mutex_lock(&iio_evgen->lock); iio_evgen 82 drivers/iio/dummy/iio_dummy_evgen.c if (!iio_evgen->inuse[i]) { iio_evgen 83 drivers/iio/dummy/iio_dummy_evgen.c ret = irq_sim_irqnum(&iio_evgen->irq_sim, i); iio_evgen 84 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen->inuse[i] = true; iio_evgen 88 drivers/iio/dummy/iio_dummy_evgen.c mutex_unlock(&iio_evgen->lock); iio_evgen 104 drivers/iio/dummy/iio_dummy_evgen.c mutex_lock(&iio_evgen->lock); iio_evgen 105 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen->inuse[irq - iio_evgen->base] = false; iio_evgen 106 drivers/iio/dummy/iio_dummy_evgen.c mutex_unlock(&iio_evgen->lock); iio_evgen 112 drivers/iio/dummy/iio_dummy_evgen.c return &iio_evgen->regs[irq - iio_evgen->base]; iio_evgen 118 drivers/iio/dummy/iio_dummy_evgen.c irq_sim_fini(&iio_evgen->irq_sim); iio_evgen 119 drivers/iio/dummy/iio_dummy_evgen.c kfree(iio_evgen); iio_evgen 140 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen->regs[this_attr->address].reg_id = this_attr->address; iio_evgen 141 drivers/iio/dummy/iio_dummy_evgen.c iio_evgen->regs[this_attr->address].reg_data = event; iio_evgen 143 drivers/iio/dummy/iio_dummy_evgen.c irq_sim_fire(&iio_evgen->irq_sim, this_attr->address);