Lines Matching refs:idev

108 static int imr_read(struct imr_device *idev, u32 imr_id, struct imr_regs *imr)  in imr_read()  argument
110 u32 reg = imr_id * IMR_NUM_REGS + idev->reg_base; in imr_read()
139 static int imr_write(struct imr_device *idev, u32 imr_id, struct imr_regs *imr) in imr_write() argument
142 u32 reg = imr_id * IMR_NUM_REGS + idev->reg_base; in imr_write()
190 struct imr_device *idev = s->private; in imr_dbgfs_state_show() local
195 mutex_lock(&idev->lock); in imr_dbgfs_state_show()
197 for (i = 0; i < idev->max_imr; i++) { in imr_dbgfs_state_show()
199 ret = imr_read(idev, i, &imr); in imr_dbgfs_state_show()
224 mutex_unlock(&idev->lock); in imr_dbgfs_state_show()
235 static int imr_debugfs_register(struct imr_device *idev) in imr_debugfs_register() argument
237 idev->file = debugfs_create_file("imr_state", 0444, NULL, idev, in imr_debugfs_register()
239 return PTR_ERR_OR_ZERO(idev->file); in imr_debugfs_register()
303 struct imr_device *idev = &imr_dev; in imr_add_range() local
309 if (WARN_ONCE(idev->init == false, "driver not initialized")) in imr_add_range()
331 mutex_lock(&idev->lock); in imr_add_range()
340 for (i = 0; i < idev->max_imr; i++) { in imr_add_range()
341 ret = imr_read(idev, i, &imr); in imr_add_range()
372 ret = imr_write(idev, reg, &imr); in imr_add_range()
383 imr_write(idev, reg, &imr); in imr_add_range()
386 mutex_unlock(&idev->lock); in imr_add_range()
412 struct imr_device *idev = &imr_dev; in __imr_remove_range() local
417 if (WARN_ONCE(idev->init == false, "driver not initialized")) in __imr_remove_range()
434 mutex_lock(&idev->lock); in __imr_remove_range()
438 ret = imr_read(idev, reg, &imr); in __imr_remove_range()
449 for (i = 0; i < idev->max_imr; i++) { in __imr_remove_range()
450 ret = imr_read(idev, i, &imr); in __imr_remove_range()
479 ret = imr_write(idev, reg, &imr); in __imr_remove_range()
482 mutex_unlock(&idev->lock); in __imr_remove_range()
537 static void __init imr_fixup_memmap(struct imr_device *idev) in imr_fixup_memmap() argument
546 for (i = 0; i < idev->max_imr; i++) in imr_fixup_memmap()
583 struct imr_device *idev = &imr_dev; in imr_init() local
589 idev->max_imr = QUARK_X1000_IMR_MAX; in imr_init()
590 idev->reg_base = QUARK_X1000_IMR_REGBASE; in imr_init()
591 idev->init = true; in imr_init()
593 mutex_init(&idev->lock); in imr_init()
594 ret = imr_debugfs_register(idev); in imr_init()
597 imr_fixup_memmap(idev); in imr_init()