Lines Matching defs:softrst

26 	struct rockchip_softrst *softrst = container_of(rcdev,
31 if (softrst->lut)
32 id = softrst->lut[id];
34 bank = id / softrst->num_per_reg;
35 offset = id % softrst->num_per_reg;
37 if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) {
39 softrst->reg_base + (bank * 4));
44 spin_lock_irqsave(&softrst->lock, flags);
46 reg = readl(softrst->reg_base + (bank * 4));
47 writel(reg | BIT(offset), softrst->reg_base + (bank * 4));
49 spin_unlock_irqrestore(&softrst->lock, flags);
58 struct rockchip_softrst *softrst = container_of(rcdev,
63 if (softrst->lut)
64 id = softrst->lut[id];
66 bank = id / softrst->num_per_reg;
67 offset = id % softrst->num_per_reg;
69 if (softrst->flags & ROCKCHIP_SOFTRST_HIWORD_MASK) {
70 writel((BIT(offset) << 16), softrst->reg_base + (bank * 4));
75 spin_lock_irqsave(&softrst->lock, flags);
77 reg = readl(softrst->reg_base + (bank * 4));
78 writel(reg & ~BIT(offset), softrst->reg_base + (bank * 4));
80 spin_unlock_irqrestore(&softrst->lock, flags);
96 struct rockchip_softrst *softrst;
99 softrst = kzalloc(sizeof(*softrst), GFP_KERNEL);
100 if (!softrst)
103 spin_lock_init(&softrst->lock);
105 softrst->reg_base = base;
106 softrst->lut = lookup_table;
107 softrst->flags = flags;
108 softrst->num_regs = num_regs;
109 softrst->num_per_reg = (flags & ROCKCHIP_SOFTRST_HIWORD_MASK) ? 16
112 softrst->rcdev.owner = THIS_MODULE;
114 softrst->rcdev.nr_resets = num_regs;
116 softrst->rcdev.nr_resets = num_regs * softrst->num_per_reg;
117 softrst->rcdev.ops = &rockchip_softrst_ops;
118 softrst->rcdev.of_node = np;
119 ret = reset_controller_register(&softrst->rcdev);
123 kfree(softrst);