Lines Matching refs:data

20 	struct i2c_mux_reg_platform_data data;
25 if (!mux->data.reg)
31 * The endianness of reading doesn't matter and the return data
34 switch (mux->data.reg_size) {
36 if (mux->data.little_endian)
37 iowrite32(chan_id, mux->data.reg);
39 iowrite32be(chan_id, mux->data.reg);
40 if (!mux->data.write_only)
41 ioread32(mux->data.reg);
44 if (mux->data.little_endian)
45 iowrite16(chan_id, mux->data.reg);
47 iowrite16be(chan_id, mux->data.reg);
48 if (!mux->data.write_only)
49 ioread16(mux->data.reg);
52 iowrite8(chan_id, mux->data.reg);
53 if (!mux->data.write_only)
54 ioread8(mux->data.reg);
72 if (mux->data.idle_in_use)
73 return i2c_mux_reg_set(mux, mux->data.idle);
102 mux->data.parent = i2c_adapter_id(adapter);
105 mux->data.n_values = of_get_child_count(np);
107 mux->data.little_endian = true;
109 mux->data.little_endian = false;
113 mux->data.little_endian = true;
116 mux->data.little_endian = false;
121 mux->data.write_only = of_property_read_bool(np, "write-only");
124 mux->data.n_values, sizeof(*mux->data.values),
133 mux->data.values = values;
135 if (!of_property_read_u32(np, "idle-state", &mux->data.idle))
136 mux->data.idle_in_use = true;
140 mux->data.reg_size = resource_size(&res);
141 mux->data.reg = devm_ioremap_resource(&pdev->dev, &res);
142 if (IS_ERR(mux->data.reg))
143 return PTR_ERR(mux->data.reg);
170 memcpy(&mux->data, dev_get_platdata(&pdev->dev),
171 sizeof(mux->data));
179 parent = i2c_get_adapter(mux->data.parent);
183 if (!mux->data.reg) {
186 mux->data.reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
187 if (IS_ERR(mux->data.reg)) {
188 ret = PTR_ERR(mux->data.reg);
191 mux->data.reg_size = resource_size(res);
194 if (mux->data.reg_size != 4 && mux->data.reg_size != 2 &&
195 mux->data.reg_size != 1) {
201 muxc = i2c_mux_alloc(parent, &pdev->dev, mux->data.n_values, 0, 0,
211 if (mux->data.idle_in_use)
214 for (i = 0; i < mux->data.n_values; i++) {
215 nr = mux->data.base_nr ? (mux->data.base_nr + i) : 0;
216 class = mux->data.classes ? mux->data.classes[i] : 0;
218 ret = i2c_mux_add_adapter(muxc, nr, mux->data.values[i], class);
224 mux->data.n_values, muxc->parent->name);