Lines Matching refs:data

34 	struct sunxi_reset_data *data = container_of(rcdev,  in sunxi_reset_assert()  local
42 spin_lock_irqsave(&data->lock, flags); in sunxi_reset_assert()
44 reg = readl(data->membase + (bank * 4)); in sunxi_reset_assert()
45 writel(reg & ~BIT(offset), data->membase + (bank * 4)); in sunxi_reset_assert()
47 spin_unlock_irqrestore(&data->lock, flags); in sunxi_reset_assert()
55 struct sunxi_reset_data *data = container_of(rcdev, in sunxi_reset_deassert() local
63 spin_lock_irqsave(&data->lock, flags); in sunxi_reset_deassert()
65 reg = readl(data->membase + (bank * 4)); in sunxi_reset_deassert()
66 writel(reg | BIT(offset), data->membase + (bank * 4)); in sunxi_reset_deassert()
68 spin_unlock_irqrestore(&data->lock, flags); in sunxi_reset_deassert()
80 struct sunxi_reset_data *data; in sunxi_reset_init() local
85 data = kzalloc(sizeof(*data), GFP_KERNEL); in sunxi_reset_init()
86 if (!data) in sunxi_reset_init()
99 data->membase = ioremap(res.start, size); in sunxi_reset_init()
100 if (!data->membase) { in sunxi_reset_init()
105 spin_lock_init(&data->lock); in sunxi_reset_init()
107 data->rcdev.owner = THIS_MODULE; in sunxi_reset_init()
108 data->rcdev.nr_resets = size * 32; in sunxi_reset_init()
109 data->rcdev.ops = &sunxi_reset_ops; in sunxi_reset_init()
110 data->rcdev.of_node = np; in sunxi_reset_init()
111 reset_controller_register(&data->rcdev); in sunxi_reset_init()
116 kfree(data); in sunxi_reset_init()
150 struct sunxi_reset_data *data; in sunxi_reset_probe() local
153 data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); in sunxi_reset_probe()
154 if (!data) in sunxi_reset_probe()
158 data->membase = devm_ioremap_resource(&pdev->dev, res); in sunxi_reset_probe()
159 if (IS_ERR(data->membase)) in sunxi_reset_probe()
160 return PTR_ERR(data->membase); in sunxi_reset_probe()
162 spin_lock_init(&data->lock); in sunxi_reset_probe()
164 data->rcdev.owner = THIS_MODULE; in sunxi_reset_probe()
165 data->rcdev.nr_resets = resource_size(res) * 32; in sunxi_reset_probe()
166 data->rcdev.ops = &sunxi_reset_ops; in sunxi_reset_probe()
167 data->rcdev.of_node = pdev->dev.of_node; in sunxi_reset_probe()
169 return reset_controller_register(&data->rcdev); in sunxi_reset_probe()
174 struct sunxi_reset_data *data = platform_get_drvdata(pdev); in sunxi_reset_remove() local
176 reset_controller_unregister(&data->rcdev); in sunxi_reset_remove()