Lines Matching refs:data

26 	struct i2c_mux_reg_platform_data data;  member
31 if (!mux->data.reg) in i2c_mux_reg_set()
40 switch (mux->data.reg_size) { in i2c_mux_reg_set()
42 if (mux->data.little_endian) in i2c_mux_reg_set()
43 iowrite32(chan_id, mux->data.reg); in i2c_mux_reg_set()
45 iowrite32be(chan_id, mux->data.reg); in i2c_mux_reg_set()
46 if (!mux->data.write_only) in i2c_mux_reg_set()
47 ioread32(mux->data.reg); in i2c_mux_reg_set()
50 if (mux->data.little_endian) in i2c_mux_reg_set()
51 iowrite16(chan_id, mux->data.reg); in i2c_mux_reg_set()
53 iowrite16be(chan_id, mux->data.reg); in i2c_mux_reg_set()
54 if (!mux->data.write_only) in i2c_mux_reg_set()
55 ioread16(mux->data.reg); in i2c_mux_reg_set()
58 iowrite8(chan_id, mux->data.reg); in i2c_mux_reg_set()
59 if (!mux->data.write_only) in i2c_mux_reg_set()
60 ioread8(mux->data.reg); in i2c_mux_reg_set()
67 static int i2c_mux_reg_select(struct i2c_adapter *adap, void *data, in i2c_mux_reg_select() argument
70 struct regmux *mux = data; in i2c_mux_reg_select()
75 static int i2c_mux_reg_deselect(struct i2c_adapter *adap, void *data, in i2c_mux_reg_deselect() argument
78 struct regmux *mux = data; in i2c_mux_reg_deselect()
80 if (mux->data.idle_in_use) in i2c_mux_reg_deselect()
81 return i2c_mux_reg_set(mux, mux->data.idle); in i2c_mux_reg_deselect()
111 mux->data.parent = i2c_adapter_id(adapter); in i2c_mux_reg_probe_dt()
114 mux->data.n_values = of_get_child_count(np); in i2c_mux_reg_probe_dt()
116 mux->data.little_endian = true; in i2c_mux_reg_probe_dt()
118 mux->data.little_endian = false; in i2c_mux_reg_probe_dt()
122 mux->data.little_endian = true; in i2c_mux_reg_probe_dt()
125 mux->data.little_endian = false; in i2c_mux_reg_probe_dt()
131 mux->data.write_only = true; in i2c_mux_reg_probe_dt()
133 mux->data.write_only = false; in i2c_mux_reg_probe_dt()
136 sizeof(*mux->data.values) * mux->data.n_values, in i2c_mux_reg_probe_dt()
147 mux->data.values = values; in i2c_mux_reg_probe_dt()
149 if (!of_property_read_u32(np, "idle-state", &mux->data.idle)) in i2c_mux_reg_probe_dt()
150 mux->data.idle_in_use = true; in i2c_mux_reg_probe_dt()
154 mux->data.reg_size = resource_size(&res); in i2c_mux_reg_probe_dt()
155 mux->data.reg = devm_ioremap_resource(&pdev->dev, &res); in i2c_mux_reg_probe_dt()
156 if (IS_ERR(mux->data.reg)) in i2c_mux_reg_probe_dt()
157 return PTR_ERR(mux->data.reg); in i2c_mux_reg_probe_dt()
186 memcpy(&mux->data, dev_get_platdata(&pdev->dev), in i2c_mux_reg_probe()
187 sizeof(mux->data)); in i2c_mux_reg_probe()
189 parent = i2c_get_adapter(mux->data.parent); in i2c_mux_reg_probe()
202 if (!mux->data.reg) { in i2c_mux_reg_probe()
206 mux->data.reg_size = resource_size(res); in i2c_mux_reg_probe()
207 mux->data.reg = devm_ioremap_resource(&pdev->dev, res); in i2c_mux_reg_probe()
208 if (IS_ERR(mux->data.reg)) in i2c_mux_reg_probe()
209 return PTR_ERR(mux->data.reg); in i2c_mux_reg_probe()
212 if (mux->data.reg_size != 4 && mux->data.reg_size != 2 && in i2c_mux_reg_probe()
213 mux->data.reg_size != 1) { in i2c_mux_reg_probe()
219 sizeof(*mux->adap) * mux->data.n_values, in i2c_mux_reg_probe()
226 if (mux->data.idle_in_use) in i2c_mux_reg_probe()
231 for (i = 0; i < mux->data.n_values; i++) { in i2c_mux_reg_probe()
232 nr = mux->data.base_nr ? (mux->data.base_nr + i) : 0; in i2c_mux_reg_probe()
233 class = mux->data.classes ? mux->data.classes[i] : 0; in i2c_mux_reg_probe()
236 nr, mux->data.values[i], in i2c_mux_reg_probe()
247 mux->data.n_values, mux->parent->name); in i2c_mux_reg_probe()
263 for (i = 0; i < mux->data.n_values; i++) in i2c_mux_reg_remove()