Lines Matching refs:client

191 static int acpi_gsb_i2c_read_bytes(struct i2c_client *client,  in acpi_gsb_i2c_read_bytes()  argument
203 msgs[0].addr = client->addr; in acpi_gsb_i2c_read_bytes()
204 msgs[0].flags = client->flags; in acpi_gsb_i2c_read_bytes()
208 msgs[1].addr = client->addr; in acpi_gsb_i2c_read_bytes()
209 msgs[1].flags = client->flags | I2C_M_RD; in acpi_gsb_i2c_read_bytes()
213 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in acpi_gsb_i2c_read_bytes()
215 dev_err(&client->adapter->dev, "i2c read failed\n"); in acpi_gsb_i2c_read_bytes()
223 static int acpi_gsb_i2c_write_bytes(struct i2c_client *client, in acpi_gsb_i2c_write_bytes() argument
238 msgs[0].addr = client->addr; in acpi_gsb_i2c_write_bytes()
239 msgs[0].flags = client->flags; in acpi_gsb_i2c_write_bytes()
243 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in acpi_gsb_i2c_write_bytes()
245 dev_err(&client->adapter->dev, "i2c write failed\n"); in acpi_gsb_i2c_write_bytes()
261 struct i2c_client client; in acpi_i2c_space_handler() local
283 memset(&client, 0, sizeof(client)); in acpi_i2c_space_handler()
284 client.adapter = adapter; in acpi_i2c_space_handler()
285 client.addr = sb->slave_address; in acpi_i2c_space_handler()
286 client.flags = 0; in acpi_i2c_space_handler()
289 client.flags |= I2C_CLIENT_TEN; in acpi_i2c_space_handler()
294 status = i2c_smbus_read_byte(&client); in acpi_i2c_space_handler()
300 status = i2c_smbus_write_byte(&client, gsb->bdata); in acpi_i2c_space_handler()
306 status = i2c_smbus_read_byte_data(&client, command); in acpi_i2c_space_handler()
312 status = i2c_smbus_write_byte_data(&client, command, in acpi_i2c_space_handler()
319 status = i2c_smbus_read_word_data(&client, command); in acpi_i2c_space_handler()
325 status = i2c_smbus_write_word_data(&client, command, in acpi_i2c_space_handler()
332 status = i2c_smbus_read_block_data(&client, command, in acpi_i2c_space_handler()
339 status = i2c_smbus_write_block_data(&client, command, in acpi_i2c_space_handler()
346 status = acpi_gsb_i2c_read_bytes(&client, command, in acpi_i2c_space_handler()
351 status = acpi_gsb_i2c_write_bytes(&client, command, in acpi_i2c_space_handler()
447 const struct i2c_client *client) in i2c_match_id() argument
450 if (strcmp(client->name, id->name) == 0) in i2c_match_id()
459 struct i2c_client *client = i2c_verify_client(dev); in i2c_device_match() local
462 if (!client) in i2c_device_match()
476 return i2c_match_id(driver->id_table, client) != NULL; in i2c_device_match()
485 struct i2c_client *client = to_i2c_client(dev); in i2c_device_uevent() local
493 I2C_MODULE_PREFIX, client->name)) in i2c_device_uevent()
628 struct i2c_client *client = i2c_verify_client(dev); in i2c_device_probe() local
632 if (!client) in i2c_device_probe()
635 if (!client->irq && dev->of_node) { in i2c_device_probe()
643 client->irq = irq; in i2c_device_probe()
650 if (!device_can_wakeup(&client->dev)) in i2c_device_probe()
651 device_init_wakeup(&client->dev, in i2c_device_probe()
652 client->flags & I2C_CLIENT_WAKE); in i2c_device_probe()
659 status = dev_pm_domain_attach(&client->dev, true); in i2c_device_probe()
661 status = driver->probe(client, i2c_match_id(driver->id_table, in i2c_device_probe()
662 client)); in i2c_device_probe()
664 dev_pm_domain_detach(&client->dev, true); in i2c_device_probe()
672 struct i2c_client *client = i2c_verify_client(dev); in i2c_device_remove() local
676 if (!client || !dev->driver) in i2c_device_remove()
682 status = driver->remove(client); in i2c_device_remove()
685 dev_pm_domain_detach(&client->dev, true); in i2c_device_remove()
691 struct i2c_client *client = i2c_verify_client(dev); in i2c_device_shutdown() local
694 if (!client || !dev->driver) in i2c_device_shutdown()
698 driver->shutdown(client); in i2c_device_shutdown()
717 struct i2c_client *client = to_i2c_client(dev); in show_modalias() local
724 return sprintf(buf, "%s%s\n", I2C_MODULE_PREFIX, client->name); in show_modalias()
772 static int i2c_check_client_addr_validity(const struct i2c_client *client) in i2c_check_client_addr_validity() argument
774 if (client->flags & I2C_CLIENT_TEN) { in i2c_check_client_addr_validity()
776 if (client->addr > 0x3ff) in i2c_check_client_addr_validity()
780 if (client->addr == 0x00 || client->addr > 0x7f) in i2c_check_client_addr_validity()
809 struct i2c_client *client = i2c_verify_client(dev); in __i2c_check_addr_busy() local
812 if (client && client->addr == addr) in __i2c_check_addr_busy()
906 struct i2c_client *client) in i2c_dev_set_name() argument
908 struct acpi_device *adev = ACPI_COMPANION(&client->dev); in i2c_dev_set_name()
911 dev_set_name(&client->dev, "i2c-%s", acpi_dev_name(adev)); in i2c_dev_set_name()
916 dev_set_name(&client->dev, "%d-%04x", i2c_adapter_id(adap), in i2c_dev_set_name()
917 client->addr | ((client->flags & I2C_CLIENT_TEN) in i2c_dev_set_name()
940 struct i2c_client *client; in i2c_new_device() local
943 client = kzalloc(sizeof *client, GFP_KERNEL); in i2c_new_device()
944 if (!client) in i2c_new_device()
947 client->adapter = adap; in i2c_new_device()
949 client->dev.platform_data = info->platform_data; in i2c_new_device()
952 client->dev.archdata = *info->archdata; in i2c_new_device()
954 client->flags = info->flags; in i2c_new_device()
955 client->addr = info->addr; in i2c_new_device()
956 client->irq = info->irq; in i2c_new_device()
958 strlcpy(client->name, info->type, sizeof(client->name)); in i2c_new_device()
961 status = i2c_check_client_addr_validity(client); in i2c_new_device()
964 client->flags & I2C_CLIENT_TEN ? 10 : 7, client->addr); in i2c_new_device()
969 status = i2c_check_addr_busy(adap, client->addr); in i2c_new_device()
973 client->dev.parent = &client->adapter->dev; in i2c_new_device()
974 client->dev.bus = &i2c_bus_type; in i2c_new_device()
975 client->dev.type = &i2c_client_type; in i2c_new_device()
976 client->dev.of_node = info->of_node; in i2c_new_device()
977 client->dev.fwnode = info->fwnode; in i2c_new_device()
979 i2c_dev_set_name(adap, client); in i2c_new_device()
980 status = device_register(&client->dev); in i2c_new_device()
985 client->name, dev_name(&client->dev)); in i2c_new_device()
987 return client; in i2c_new_device()
991 "(%d)\n", client->name, client->addr, status); in i2c_new_device()
993 kfree(client); in i2c_new_device()
1004 void i2c_unregister_device(struct i2c_client *client) in i2c_unregister_device() argument
1006 device_unregister(&client->dev); in i2c_unregister_device()
1016 static int dummy_probe(struct i2c_client *client, in dummy_probe() argument
1022 static int dummy_remove(struct i2c_client *client) in dummy_remove() argument
1104 struct i2c_client *client; in i2c_sysfs_new_device() local
1132 client = i2c_new_device(adap, &info); in i2c_sysfs_new_device()
1133 if (!client) in i2c_sysfs_new_device()
1138 list_add_tail(&client->detected, &adap->userspace_clients); in i2c_sysfs_new_device()
1161 struct i2c_client *client, *next; in i2c_sysfs_delete_device() local
1181 list_for_each_entry_safe(client, next, &adap->userspace_clients, in i2c_sysfs_delete_device()
1183 if (client->addr == addr) { in i2c_sysfs_delete_device()
1185 "delete_device", client->name, client->addr); in i2c_sysfs_delete_device()
1187 list_del(&client->detected); in i2c_sysfs_delete_device()
1188 i2c_unregister_device(client); in i2c_sysfs_delete_device()
1577 struct i2c_client *client, *_n; in i2c_do_del_adapter() local
1581 list_for_each_entry_safe(client, _n, &driver->clients, detected) { in i2c_do_del_adapter()
1582 if (client->adapter == adapter) { in i2c_do_del_adapter()
1584 client->name, client->addr); in i2c_do_del_adapter()
1585 list_del(&client->detected); in i2c_do_del_adapter()
1586 i2c_unregister_device(client); in i2c_do_del_adapter()
1593 struct i2c_client *client = i2c_verify_client(dev); in __unregister_client() local
1594 if (client && strcmp(client->name, "dummy")) in __unregister_client()
1595 i2c_unregister_device(client); in __unregister_client()
1601 struct i2c_client *client = i2c_verify_client(dev); in __unregister_dummy() local
1602 if (client) in __unregister_dummy()
1603 i2c_unregister_device(client); in __unregister_dummy()
1624 struct i2c_client *client, *next; in i2c_del_adapter() local
1646 list_for_each_entry_safe(client, next, &adap->userspace_clients, in i2c_del_adapter()
1648 dev_dbg(&adap->dev, "Removing %s at 0x%x\n", client->name, in i2c_del_adapter()
1649 client->addr); in i2c_del_adapter()
1650 list_del(&client->detected); in i2c_del_adapter()
1651 i2c_unregister_device(client); in i2c_del_adapter()
1782 struct i2c_client *i2c_use_client(struct i2c_client *client) in i2c_use_client() argument
1784 if (client && get_device(&client->dev)) in i2c_use_client()
1785 return client; in i2c_use_client()
1796 void i2c_release_client(struct i2c_client *client) in i2c_release_client() argument
1798 if (client) in i2c_release_client()
1799 put_device(&client->dev); in i2c_release_client()
1810 struct i2c_client *client = i2c_verify_client(dev); in i2c_cmd() local
1814 if (!client || !client->dev.driver) in i2c_cmd()
1817 driver = to_i2c_driver(client->dev.driver); in i2c_cmd()
1819 driver->command(client, arg->cmd, arg->arg); in i2c_cmd()
1839 struct i2c_client *client; in of_i2c_notify() local
1847 client = of_i2c_register_device(adap, rd->dn); in of_i2c_notify()
1850 if (IS_ERR(client)) { in of_i2c_notify()
1853 return notifier_from_errno(PTR_ERR(client)); in of_i2c_notify()
1858 client = of_find_i2c_device_by_node(rd->dn); in of_i2c_notify()
1859 if (client == NULL) in of_i2c_notify()
1863 i2c_unregister_device(client); in of_i2c_notify()
1866 put_device(&client->dev); in of_i2c_notify()
2126 int i2c_master_send(const struct i2c_client *client, const char *buf, int count) in i2c_master_send() argument
2129 struct i2c_adapter *adap = client->adapter; in i2c_master_send()
2132 msg.addr = client->addr; in i2c_master_send()
2133 msg.flags = client->flags & I2C_M_TEN; in i2c_master_send()
2155 int i2c_master_recv(const struct i2c_client *client, char *buf, int count) in i2c_master_recv() argument
2157 struct i2c_adapter *adap = client->adapter; in i2c_master_recv()
2161 msg.addr = client->addr; in i2c_master_recv()
2162 msg.flags = client->flags & I2C_M_TEN; in i2c_master_recv()
2263 struct i2c_client *client; in i2c_detect_address() local
2275 client = i2c_new_device(adapter, &info); in i2c_detect_address()
2276 if (client) in i2c_detect_address()
2277 list_add_tail(&client->detected, &driver->clients); in i2c_detect_address()
2466 s32 i2c_smbus_read_byte(const struct i2c_client *client) in i2c_smbus_read_byte() argument
2471 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte()
2486 s32 i2c_smbus_write_byte(const struct i2c_client *client, u8 value) in i2c_smbus_write_byte() argument
2488 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte()
2501 s32 i2c_smbus_read_byte_data(const struct i2c_client *client, u8 command) in i2c_smbus_read_byte_data() argument
2506 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte_data()
2522 s32 i2c_smbus_write_byte_data(const struct i2c_client *client, u8 command, in i2c_smbus_write_byte_data() argument
2527 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte_data()
2541 s32 i2c_smbus_read_word_data(const struct i2c_client *client, u8 command) in i2c_smbus_read_word_data() argument
2546 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_word_data()
2562 s32 i2c_smbus_write_word_data(const struct i2c_client *client, u8 command, in i2c_smbus_write_word_data() argument
2567 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_word_data()
2588 s32 i2c_smbus_read_block_data(const struct i2c_client *client, u8 command, in i2c_smbus_read_block_data() argument
2594 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_block_data()
2615 s32 i2c_smbus_write_block_data(const struct i2c_client *client, u8 command, in i2c_smbus_write_block_data() argument
2624 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_block_data()
2631 s32 i2c_smbus_read_i2c_block_data(const struct i2c_client *client, u8 command, in i2c_smbus_read_i2c_block_data() argument
2640 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_i2c_block_data()
2651 s32 i2c_smbus_write_i2c_block_data(const struct i2c_client *client, u8 command, in i2c_smbus_write_i2c_block_data() argument
2660 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_i2c_block_data()
2913 int i2c_slave_register(struct i2c_client *client, i2c_slave_cb_t slave_cb) in i2c_slave_register() argument
2917 if (!client || !slave_cb) in i2c_slave_register()
2920 if (!(client->flags & I2C_CLIENT_TEN)) { in i2c_slave_register()
2922 ret = i2c_check_addr_validity(client->addr); in i2c_slave_register()
2927 if (!client->adapter->algo->reg_slave) in i2c_slave_register()
2930 client->slave_cb = slave_cb; in i2c_slave_register()
2932 i2c_lock_adapter(client->adapter); in i2c_slave_register()
2933 ret = client->adapter->algo->reg_slave(client); in i2c_slave_register()
2934 i2c_unlock_adapter(client->adapter); in i2c_slave_register()
2937 client->slave_cb = NULL; in i2c_slave_register()
2943 int i2c_slave_unregister(struct i2c_client *client) in i2c_slave_unregister() argument
2947 if (!client->adapter->algo->unreg_slave) in i2c_slave_unregister()
2950 i2c_lock_adapter(client->adapter); in i2c_slave_unregister()
2951 ret = client->adapter->algo->unreg_slave(client); in i2c_slave_unregister()
2952 i2c_unlock_adapter(client->adapter); in i2c_slave_unregister()
2955 client->slave_cb = NULL; in i2c_slave_unregister()