Lines Matching refs:pi
31 static int pi3usb30532_set_conf(struct pi3usb30532 *pi, u8 new_conf)
35 if (pi->conf == new_conf)
38 ret = i2c_smbus_write_byte_data(pi->client, PI3USB30532_CONF, new_conf);
40 dev_err(&pi->client->dev, "Error writing conf: %d\n", ret);
44 pi->conf = new_conf;
51 struct pi3usb30532 *pi = typec_switch_get_drvdata(sw);
55 mutex_lock(&pi->lock);
56 new_conf = pi->conf;
70 ret = pi3usb30532_set_conf(pi, new_conf);
71 mutex_unlock(&pi->lock);
79 struct pi3usb30532 *pi = typec_mux_get_drvdata(mux);
83 mutex_lock(&pi->lock);
84 new_conf = pi->conf;
108 ret = pi3usb30532_set_conf(pi, new_conf);
109 mutex_unlock(&pi->lock);
119 struct pi3usb30532 *pi;
122 pi = devm_kzalloc(dev, sizeof(*pi), GFP_KERNEL);
123 if (!pi)
126 pi->client = client;
127 mutex_init(&pi->lock);
134 pi->conf = ret;
136 sw_desc.drvdata = pi;
140 pi->sw = typec_switch_register(dev, &sw_desc);
141 if (IS_ERR(pi->sw)) {
143 PTR_ERR(pi->sw));
144 return PTR_ERR(pi->sw);
147 mux_desc.drvdata = pi;
151 pi->mux = typec_mux_register(dev, &mux_desc);
152 if (IS_ERR(pi->mux)) {
153 typec_switch_unregister(pi->sw);
155 PTR_ERR(pi->mux));
156 return PTR_ERR(pi->mux);
159 i2c_set_clientdata(client, pi);
165 struct pi3usb30532 *pi = i2c_get_clientdata(client);
167 typec_mux_unregister(pi->mux);
168 typec_switch_unregister(pi->sw);