Lines Matching refs:parent
34 struct i2c_adapter *parent; member
47 struct i2c_adapter *parent = priv->parent; in i2c_mux_master_xfer() local
52 ret = priv->select(parent, priv->mux_priv, priv->chan_id); in i2c_mux_master_xfer()
54 ret = __i2c_transfer(parent, msgs, num); in i2c_mux_master_xfer()
56 priv->deselect(parent, priv->mux_priv, priv->chan_id); in i2c_mux_master_xfer()
67 struct i2c_adapter *parent = priv->parent; in i2c_mux_smbus_xfer() local
72 ret = priv->select(parent, priv->mux_priv, priv->chan_id); in i2c_mux_smbus_xfer()
74 ret = parent->algo->smbus_xfer(parent, addr, flags, in i2c_mux_smbus_xfer()
77 priv->deselect(parent, priv->mux_priv, priv->chan_id); in i2c_mux_smbus_xfer()
86 struct i2c_adapter *parent = priv->parent; in i2c_mux_functionality() local
88 return parent->algo->functionality(parent); in i2c_mux_functionality()
92 static unsigned int i2c_mux_parent_classes(struct i2c_adapter *parent) in i2c_mux_parent_classes() argument
97 class |= parent->class; in i2c_mux_parent_classes()
98 parent = i2c_parent_is_i2c_adapter(parent); in i2c_mux_parent_classes()
99 } while (parent); in i2c_mux_parent_classes()
104 struct i2c_adapter *i2c_add_mux_adapter(struct i2c_adapter *parent, in i2c_add_mux_adapter() argument
122 priv->parent = parent; in i2c_add_mux_adapter()
132 if (parent->algo->master_xfer) in i2c_add_mux_adapter()
134 if (parent->algo->smbus_xfer) in i2c_add_mux_adapter()
140 "i2c-%d-mux (chan_id %d)", i2c_adapter_id(parent), chan_id); in i2c_add_mux_adapter()
144 priv->adap.dev.parent = &parent->dev; in i2c_add_mux_adapter()
145 priv->adap.retries = parent->retries; in i2c_add_mux_adapter()
146 priv->adap.timeout = parent->timeout; in i2c_add_mux_adapter()
147 priv->adap.quirks = parent->quirks; in i2c_add_mux_adapter()
150 if (i2c_mux_parent_classes(parent) & class) in i2c_add_mux_adapter()
151 dev_err(&parent->dev, in i2c_add_mux_adapter()
183 dev_err(&parent->dev, in i2c_add_mux_adapter()
196 dev_info(&parent->dev, "Added multiplexed i2c bus %d\n", in i2c_add_mux_adapter()