rmi_i2c 58 drivers/input/rmi4/rmi_i2c.c static int rmi_set_page(struct rmi_i2c_xport *rmi_i2c, u8 page) rmi_i2c 60 drivers/input/rmi4/rmi_i2c.c struct i2c_client *client = rmi_i2c->client; rmi_i2c 71 drivers/input/rmi4/rmi_i2c.c rmi_i2c->page = page; rmi_i2c 78 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = rmi_i2c 80 drivers/input/rmi4/rmi_i2c.c struct i2c_client *client = rmi_i2c->client; rmi_i2c 84 drivers/input/rmi4/rmi_i2c.c mutex_lock(&rmi_i2c->page_mutex); rmi_i2c 86 drivers/input/rmi4/rmi_i2c.c if (!rmi_i2c->tx_buf || rmi_i2c->tx_buf_size < tx_size) { rmi_i2c 87 drivers/input/rmi4/rmi_i2c.c if (rmi_i2c->tx_buf) rmi_i2c 88 drivers/input/rmi4/rmi_i2c.c devm_kfree(&client->dev, rmi_i2c->tx_buf); rmi_i2c 89 drivers/input/rmi4/rmi_i2c.c rmi_i2c->tx_buf_size = tx_size + BUFFER_SIZE_INCREMENT; rmi_i2c 90 drivers/input/rmi4/rmi_i2c.c rmi_i2c->tx_buf = devm_kzalloc(&client->dev, rmi_i2c 91 drivers/input/rmi4/rmi_i2c.c rmi_i2c->tx_buf_size, rmi_i2c 93 drivers/input/rmi4/rmi_i2c.c if (!rmi_i2c->tx_buf) { rmi_i2c 94 drivers/input/rmi4/rmi_i2c.c rmi_i2c->tx_buf_size = 0; rmi_i2c 100 drivers/input/rmi4/rmi_i2c.c rmi_i2c->tx_buf[0] = addr & 0xff; rmi_i2c 101 drivers/input/rmi4/rmi_i2c.c memcpy(rmi_i2c->tx_buf + 1, buf, len); rmi_i2c 103 drivers/input/rmi4/rmi_i2c.c if (RMI_I2C_PAGE(addr) != rmi_i2c->page) { rmi_i2c 104 drivers/input/rmi4/rmi_i2c.c retval = rmi_set_page(rmi_i2c, RMI_I2C_PAGE(addr)); rmi_i2c 109 drivers/input/rmi4/rmi_i2c.c retval = i2c_master_send(client, rmi_i2c->tx_buf, tx_size); rmi_i2c 120 drivers/input/rmi4/rmi_i2c.c mutex_unlock(&rmi_i2c->page_mutex); rmi_i2c 127 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = rmi_i2c 129 drivers/input/rmi4/rmi_i2c.c struct i2c_client *client = rmi_i2c->client; rmi_i2c 146 drivers/input/rmi4/rmi_i2c.c mutex_lock(&rmi_i2c->page_mutex); rmi_i2c 148 drivers/input/rmi4/rmi_i2c.c if (RMI_I2C_PAGE(addr) != rmi_i2c->page) { rmi_i2c 149 drivers/input/rmi4/rmi_i2c.c retval = rmi_set_page(rmi_i2c, RMI_I2C_PAGE(addr)); rmi_i2c 165 drivers/input/rmi4/rmi_i2c.c mutex_unlock(&rmi_i2c->page_mutex); rmi_i2c 184 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = data; rmi_i2c 186 drivers/input/rmi4/rmi_i2c.c regulator_bulk_disable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 187 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 192 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = data; rmi_i2c 194 drivers/input/rmi4/rmi_i2c.c rmi_unregister_transport_device(&rmi_i2c->xport); rmi_i2c 203 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c; rmi_i2c 206 drivers/input/rmi4/rmi_i2c.c rmi_i2c = devm_kzalloc(&client->dev, sizeof(struct rmi_i2c_xport), rmi_i2c 208 drivers/input/rmi4/rmi_i2c.c if (!rmi_i2c) rmi_i2c 211 drivers/input/rmi4/rmi_i2c.c pdata = &rmi_i2c->xport.pdata; rmi_i2c 227 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies[0].supply = "vdd"; rmi_i2c 228 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies[1].supply = "vio"; rmi_i2c 230 drivers/input/rmi4/rmi_i2c.c ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 231 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 235 drivers/input/rmi4/rmi_i2c.c error = regulator_bulk_enable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 236 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 242 drivers/input/rmi4/rmi_i2c.c rmi_i2c); rmi_i2c 247 drivers/input/rmi4/rmi_i2c.c &rmi_i2c->startup_delay); rmi_i2c 249 drivers/input/rmi4/rmi_i2c.c msleep(rmi_i2c->startup_delay); rmi_i2c 251 drivers/input/rmi4/rmi_i2c.c rmi_i2c->client = client; rmi_i2c 252 drivers/input/rmi4/rmi_i2c.c mutex_init(&rmi_i2c->page_mutex); rmi_i2c 254 drivers/input/rmi4/rmi_i2c.c rmi_i2c->xport.dev = &client->dev; rmi_i2c 255 drivers/input/rmi4/rmi_i2c.c rmi_i2c->xport.proto_name = "i2c"; rmi_i2c 256 drivers/input/rmi4/rmi_i2c.c rmi_i2c->xport.ops = &rmi_i2c_ops; rmi_i2c 258 drivers/input/rmi4/rmi_i2c.c i2c_set_clientdata(client, rmi_i2c); rmi_i2c 264 drivers/input/rmi4/rmi_i2c.c error = rmi_set_page(rmi_i2c, 0); rmi_i2c 272 drivers/input/rmi4/rmi_i2c.c error = rmi_register_transport_device(&rmi_i2c->xport); rmi_i2c 280 drivers/input/rmi4/rmi_i2c.c rmi_i2c); rmi_i2c 291 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = i2c_get_clientdata(client); rmi_i2c 294 drivers/input/rmi4/rmi_i2c.c ret = rmi_driver_suspend(rmi_i2c->xport.rmi_dev, true); rmi_i2c 298 drivers/input/rmi4/rmi_i2c.c regulator_bulk_disable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 299 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 307 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = i2c_get_clientdata(client); rmi_i2c 310 drivers/input/rmi4/rmi_i2c.c ret = regulator_bulk_enable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 311 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 315 drivers/input/rmi4/rmi_i2c.c msleep(rmi_i2c->startup_delay); rmi_i2c 317 drivers/input/rmi4/rmi_i2c.c ret = rmi_driver_resume(rmi_i2c->xport.rmi_dev, true); rmi_i2c 329 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = i2c_get_clientdata(client); rmi_i2c 332 drivers/input/rmi4/rmi_i2c.c ret = rmi_driver_suspend(rmi_i2c->xport.rmi_dev, false); rmi_i2c 336 drivers/input/rmi4/rmi_i2c.c regulator_bulk_disable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 337 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 345 drivers/input/rmi4/rmi_i2c.c struct rmi_i2c_xport *rmi_i2c = i2c_get_clientdata(client); rmi_i2c 348 drivers/input/rmi4/rmi_i2c.c ret = regulator_bulk_enable(ARRAY_SIZE(rmi_i2c->supplies), rmi_i2c 349 drivers/input/rmi4/rmi_i2c.c rmi_i2c->supplies); rmi_i2c 353 drivers/input/rmi4/rmi_i2c.c msleep(rmi_i2c->startup_delay); rmi_i2c 355 drivers/input/rmi4/rmi_i2c.c ret = rmi_driver_resume(rmi_i2c->xport.rmi_dev, false);