Lines Matching +full:omap4 +full:- +full:hwspinlock

1 // SPDX-License-Identifier: GPL-2.0
5 * Copyright (C) 2010-2021 Texas Instruments Incorporated - https://www.ti.com
8 * Hari Kanigeri <h-kanigeri2@ti.com>
9 * Ohad Ben-Cohen <ohad@wizery.com>
10 * Suman Anna <s-anna@ti.com>
22 #include <linux/hwspinlock.h>
38 static int omap_hwspinlock_trylock(struct hwspinlock *lock) in omap_hwspinlock_trylock()
40 void __iomem *lock_addr = lock->priv; in omap_hwspinlock_trylock()
46 static void omap_hwspinlock_unlock(struct hwspinlock *lock) in omap_hwspinlock_unlock()
48 void __iomem *lock_addr = lock->priv; in omap_hwspinlock_unlock()
64 static void omap_hwspinlock_relax(struct hwspinlock *lock) in omap_hwspinlock_relax()
80 /* Only a single hwspinlock block device is supported */ in omap_hwspinlock_probe()
91 devm_pm_runtime_enable(&pdev->dev); in omap_hwspinlock_probe()
92 ret = pm_runtime_resume_and_get(&pdev->dev); in omap_hwspinlock_probe()
104 ret = pm_runtime_put(&pdev->dev); in omap_hwspinlock_probe()
110 return -EINVAL; in omap_hwspinlock_probe()
114 bank = devm_kzalloc(&pdev->dev, struct_size(bank, lock, num_locks), in omap_hwspinlock_probe()
117 return -ENOMEM; in omap_hwspinlock_probe()
120 bank->lock[i].priv = io_base + LOCK_BASE_OFFSET + sizeof(u32) * i; in omap_hwspinlock_probe()
122 return devm_hwspin_lock_register(&pdev->dev, bank, &omap_hwspinlock_ops, in omap_hwspinlock_probe()
127 { .compatible = "ti,omap4-hwspinlock", },
128 { .compatible = "ti,am64-hwspinlock", },
129 { .compatible = "ti,am654-hwspinlock", },
158 MODULE_AUTHOR("Hari Kanigeri <h-kanigeri2@ti.com>");
159 MODULE_AUTHOR("Ohad Ben-Cohen <ohad@wizery.com>");