Lines Matching refs:sprd_hwlock
44 struct sprd_hwspinlock_dev *sprd_hwlock =
54 user_id = readl(sprd_hwlock->base + HWSPINLOCK_MASTERID(lock_id));
55 dev_warn(sprd_hwlock->bank.dev,
83 struct sprd_hwspinlock_dev *sprd_hwlock = data;
85 clk_disable_unprepare(sprd_hwlock->clk);
90 struct sprd_hwspinlock_dev *sprd_hwlock;
97 sprd_hwlock = devm_kzalloc(&pdev->dev,
101 if (!sprd_hwlock)
104 sprd_hwlock->base = devm_platform_ioremap_resource(pdev, 0);
105 if (IS_ERR(sprd_hwlock->base))
106 return PTR_ERR(sprd_hwlock->base);
108 sprd_hwlock->clk = devm_clk_get(&pdev->dev, "enable");
109 if (IS_ERR(sprd_hwlock->clk)) {
111 return PTR_ERR(sprd_hwlock->clk);
114 ret = clk_prepare_enable(sprd_hwlock->clk);
119 sprd_hwlock);
127 writel(HWSPINLOCK_USER_BITS, sprd_hwlock->base + HWSPINLOCK_RECCTRL);
130 lock = &sprd_hwlock->bank.lock[i];
131 lock->priv = sprd_hwlock->base + HWSPINLOCK_TOKEN(i);
134 platform_set_drvdata(pdev, sprd_hwlock);
136 return devm_hwspin_lock_register(&pdev->dev, &sprd_hwlock->bank,