Lines Matching refs:idev
105 * @idev: pointer to imr_device structure.
110 static int imr_read(struct imr_device *idev, u32 imr_id, struct imr_regs *imr)
112 u32 reg = imr_id * IMR_NUM_REGS + idev->reg_base;
136 * @idev: pointer to imr_device structure.
141 static int imr_write(struct imr_device *idev, u32 imr_id, struct imr_regs *imr)
144 u32 reg = imr_id * IMR_NUM_REGS + idev->reg_base;
192 struct imr_device *idev = s->private;
197 mutex_lock(&idev->lock);
199 for (i = 0; i < idev->max_imr; i++) {
201 ret = imr_read(idev, i, &imr);
226 mutex_unlock(&idev->lock);
234 * @idev: pointer to imr_device structure.
236 static void imr_debugfs_register(struct imr_device *idev)
238 debugfs_create_file("imr_state", 0444, NULL, idev,
303 struct imr_device *idev = &imr_dev;
309 if (WARN_ONCE(idev->init == false, "driver not initialized"))
331 mutex_lock(&idev->lock);
340 for (i = 0; i < idev->max_imr; i++) {
341 ret = imr_read(idev, i, &imr);
372 ret = imr_write(idev, reg, &imr);
383 imr_write(idev, reg, &imr);
386 mutex_unlock(&idev->lock);
412 struct imr_device *idev = &imr_dev;
417 if (WARN_ONCE(idev->init == false, "driver not initialized"))
434 mutex_lock(&idev->lock);
438 ret = imr_read(idev, reg, &imr);
449 for (i = 0; i < idev->max_imr; i++) {
450 ret = imr_read(idev, i, &imr);
479 ret = imr_write(idev, reg, &imr);
482 mutex_unlock(&idev->lock);
534 * @idev: pointer to imr_device structure.
537 static void __init imr_fixup_memmap(struct imr_device *idev)
546 for (i = 0; i < idev->max_imr; i++)
583 struct imr_device *idev = &imr_dev;
588 idev->max_imr = QUARK_X1000_IMR_MAX;
589 idev->reg_base = QUARK_X1000_IMR_REGBASE;
590 idev->init = true;
592 mutex_init(&idev->lock);
593 imr_debugfs_register(idev);
594 imr_fixup_memmap(idev);