Lines Matching refs:data
34 struct reset_simple_data *data = to_reset_simple_data(rcdev);
41 spin_lock_irqsave(&data->lock, flags);
43 reg = readl(data->membase + (bank * reg_width));
44 if (assert ^ data->active_low)
48 writel(reg, data->membase + (bank * reg_width));
50 spin_unlock_irqrestore(&data->lock, flags);
70 struct reset_simple_data *data = to_reset_simple_data(rcdev);
73 if (!data->reset_us)
80 usleep_range(data->reset_us, data->reset_us * 2);
88 struct reset_simple_data *data = to_reset_simple_data(rcdev);
94 reg = readl(data->membase + (bank * reg_width));
96 return !(reg & BIT(offset)) ^ !data->status_active_low;
139 .data = &reset_simple_socfpga },
142 .data = &reset_simple_active_low },
144 .data = &reset_simple_active_low },
148 .data = &reset_simple_active_low },
151 .data = &reset_simple_active_low },
159 struct reset_simple_data *data;
166 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
167 if (!data)
175 spin_lock_init(&data->lock);
176 data->membase = membase;
177 data->rcdev.owner = THIS_MODULE;
178 data->rcdev.nr_resets = resource_size(res) * BITS_PER_BYTE;
179 data->rcdev.ops = &reset_simple_ops;
180 data->rcdev.of_node = dev->of_node;
185 data->rcdev.nr_resets = devdata->nr_resets;
186 data->active_low = devdata->active_low;
187 data->status_active_low = devdata->status_active_low;
190 data->membase += reg_offset;
192 return devm_reset_controller_register(dev, &data->rcdev);