Lines Matching refs:adapter

72 static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver);
89 struct i2c_adapter *adapter; member
142 struct i2c_adapter *adapter = data; in acpi_i2c_add_device() local
159 lookup.adapter_handle = ACPI_HANDLE(&adapter->dev); in acpi_i2c_add_device()
191 if (!i2c_new_device(adapter, &info)) { in acpi_i2c_add_device()
193 dev_err(&adapter->dev, in acpi_i2c_add_device()
253 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in acpi_gsb_i2c_read_bytes()
255 dev_err(&client->adapter->dev, "i2c read failed\n"); in acpi_gsb_i2c_read_bytes()
283 ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs)); in acpi_gsb_i2c_write_bytes()
285 dev_err(&client->adapter->dev, "i2c write failed\n"); in acpi_gsb_i2c_write_bytes()
300 struct i2c_adapter *adapter = data->adapter; in acpi_i2c_space_handler() local
329 client->adapter = adapter; in acpi_i2c_space_handler()
415 static int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) in acpi_i2c_install_space_handler() argument
421 if (!adapter->dev.parent) in acpi_i2c_install_space_handler()
424 handle = ACPI_HANDLE(adapter->dev.parent); in acpi_i2c_install_space_handler()
434 data->adapter = adapter; in acpi_i2c_install_space_handler()
447 dev_err(&adapter->dev, "Error installing i2c space handler\n"); in acpi_i2c_install_space_handler()
457 static void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) in acpi_i2c_remove_space_handler() argument
463 if (!adapter->dev.parent) in acpi_i2c_remove_space_handler()
466 handle = ACPI_HANDLE(adapter->dev.parent); in acpi_i2c_remove_space_handler()
482 static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) in acpi_i2c_remove_space_handler() argument
485 static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) in acpi_i2c_install_space_handler() argument
917 static int i2c_check_mux_parents(struct i2c_adapter *adapter, int addr) in i2c_check_mux_parents() argument
919 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_check_mux_parents()
922 result = device_for_each_child(&adapter->dev, &addr, in i2c_check_mux_parents()
945 static int i2c_check_addr_busy(struct i2c_adapter *adapter, int addr) in i2c_check_addr_busy() argument
947 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_check_addr_busy()
954 result = device_for_each_child(&adapter->dev, &addr, in i2c_check_addr_busy()
964 void i2c_lock_adapter(struct i2c_adapter *adapter) in i2c_lock_adapter() argument
966 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_lock_adapter()
971 rt_mutex_lock(&adapter->bus_lock); in i2c_lock_adapter()
979 static int i2c_trylock_adapter(struct i2c_adapter *adapter) in i2c_trylock_adapter() argument
981 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_trylock_adapter()
986 return rt_mutex_trylock(&adapter->bus_lock); in i2c_trylock_adapter()
993 void i2c_unlock_adapter(struct i2c_adapter *adapter) in i2c_unlock_adapter() argument
995 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_unlock_adapter()
1000 rt_mutex_unlock(&adapter->bus_lock); in i2c_unlock_adapter()
1044 client->adapter = adap; in i2c_new_device()
1069 client->dev.parent = &client->adapter->dev; in i2c_new_device()
1150 struct i2c_client *i2c_new_dummy(struct i2c_adapter *adapter, u16 address) in i2c_new_dummy() argument
1156 return i2c_new_device(adapter, &info); in i2c_new_dummy()
1176 static inline unsigned int i2c_adapter_depth(struct i2c_adapter *adapter) in i2c_adapter_depth() argument
1180 while ((adapter = i2c_parent_is_i2c_adapter(adapter))) in i2c_adapter_depth()
1346 static void i2c_scan_static_board_info(struct i2c_adapter *adapter) in i2c_scan_static_board_info() argument
1352 if (devinfo->busnum == adapter->nr in i2c_scan_static_board_info()
1353 && !i2c_new_device(adapter, in i2c_scan_static_board_info()
1355 dev_err(&adapter->dev, in i2c_scan_static_board_info()
1468 struct i2c_adapter *adapter; in of_find_i2c_adapter_by_node() local
1474 adapter = i2c_verify_adapter(dev); in of_find_i2c_adapter_by_node()
1475 if (!adapter) in of_find_i2c_adapter_by_node()
1478 return adapter; in of_find_i2c_adapter_by_node()
1485 struct i2c_adapter *adapter; in of_get_i2c_adapter_by_node() local
1487 adapter = of_find_i2c_adapter_by_node(node); in of_get_i2c_adapter_by_node()
1488 if (!adapter) in of_get_i2c_adapter_by_node()
1491 if (!try_module_get(adapter->owner)) { in of_get_i2c_adapter_by_node()
1492 put_device(&adapter->dev); in of_get_i2c_adapter_by_node()
1493 adapter = NULL; in of_get_i2c_adapter_by_node()
1496 return adapter; in of_get_i2c_adapter_by_node()
1665 int i2c_add_adapter(struct i2c_adapter *adapter) in i2c_add_adapter() argument
1667 struct device *dev = &adapter->dev; in i2c_add_adapter()
1673 adapter->nr = id; in i2c_add_adapter()
1674 return __i2c_add_numbered_adapter(adapter); in i2c_add_adapter()
1679 id = idr_alloc(&i2c_adapter_idr, adapter, in i2c_add_adapter()
1685 adapter->nr = id; in i2c_add_adapter()
1687 return i2c_register_adapter(adapter); in i2c_add_adapter()
1724 struct i2c_adapter *adapter) in i2c_do_del_adapter() argument
1731 if (client->adapter == adapter) { in i2c_do_del_adapter()
1732 dev_dbg(&adapter->dev, "Removing %s at 0x%x\n", in i2c_do_del_adapter()
2287 struct i2c_adapter *adap = client->adapter; in i2c_master_send()
2315 struct i2c_adapter *adap = client->adapter; in i2c_master_recv()
2385 struct i2c_adapter *adapter = temp_client->adapter; in i2c_detect_address() local
2392 dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n", in i2c_detect_address()
2398 if (i2c_check_addr_busy(adapter, addr)) in i2c_detect_address()
2402 if (!i2c_default_probe(adapter, addr)) in i2c_detect_address()
2417 dev_err(&adapter->dev, "%s detection function provided " in i2c_detect_address()
2424 if (adapter->class & I2C_CLASS_DEPRECATED) in i2c_detect_address()
2425 dev_warn(&adapter->dev, in i2c_detect_address()
2431 dev_dbg(&adapter->dev, "Creating %s at 0x%02x\n", in i2c_detect_address()
2433 client = i2c_new_device(adapter, &info); in i2c_detect_address()
2437 dev_err(&adapter->dev, "Failed creating %s at 0x%02x\n", in i2c_detect_address()
2443 static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver) in i2c_detect() argument
2448 int adap_id = i2c_adapter_id(adapter); in i2c_detect()
2455 if (adapter->class == I2C_CLASS_DEPRECATED) { in i2c_detect()
2456 dev_dbg(&adapter->dev, in i2c_detect()
2465 if (!(adapter->class & driver->class)) in i2c_detect()
2472 temp_client->adapter = adapter; in i2c_detect()
2475 dev_dbg(&adapter->dev, "found normal entry for adapter %d, " in i2c_detect()
2537 struct i2c_adapter *adapter; in i2c_get_adapter() local
2540 adapter = idr_find(&i2c_adapter_idr, nr); in i2c_get_adapter()
2541 if (!adapter) in i2c_get_adapter()
2544 if (try_module_get(adapter->owner)) in i2c_get_adapter()
2545 get_device(&adapter->dev); in i2c_get_adapter()
2547 adapter = NULL; in i2c_get_adapter()
2551 return adapter; in i2c_get_adapter()
2638 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte()
2655 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte()
2673 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte_data()
2694 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte_data()
2713 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_word_data()
2734 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_word_data()
2761 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_block_data()
2791 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_block_data()
2807 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_i2c_block_data()
2827 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_i2c_block_data()
2835 static s32 i2c_smbus_xfer_emulated(struct i2c_adapter *adapter, u16 addr, in i2c_smbus_xfer_emulated() argument
2913 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2926 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2944 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2954 dev_err(&adapter->dev, "Unsupported transaction %d\n", size); in i2c_smbus_xfer_emulated()
2973 status = i2c_transfer(adapter, msg, num); in i2c_smbus_xfer_emulated()
3022 s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr, unsigned short flags, in i2c_smbus_xfer() argument
3033 trace_smbus_write(adapter, addr, flags, read_write, in i2c_smbus_xfer()
3035 trace_smbus_read(adapter, addr, flags, read_write, in i2c_smbus_xfer()
3040 if (adapter->algo->smbus_xfer) { in i2c_smbus_xfer()
3041 i2c_lock_adapter(adapter); in i2c_smbus_xfer()
3045 for (res = 0, try = 0; try <= adapter->retries; try++) { in i2c_smbus_xfer()
3046 res = adapter->algo->smbus_xfer(adapter, addr, flags, in i2c_smbus_xfer()
3052 orig_jiffies + adapter->timeout)) in i2c_smbus_xfer()
3055 i2c_unlock_adapter(adapter); in i2c_smbus_xfer()
3057 if (res != -EOPNOTSUPP || !adapter->algo->master_xfer) in i2c_smbus_xfer()
3065 res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write, in i2c_smbus_xfer()
3070 trace_smbus_reply(adapter, addr, flags, read_write, in i2c_smbus_xfer()
3072 trace_smbus_result(adapter, addr, flags, read_write, in i2c_smbus_xfer()
3107 if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_I2C_BLOCK)) in i2c_smbus_read_i2c_block_data_or_emulated()
3110 if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_BYTE_DATA)) in i2c_smbus_read_i2c_block_data_or_emulated()
3113 if (i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_READ_WORD_DATA)) { in i2c_smbus_read_i2c_block_data_or_emulated()
3159 if (!client->adapter->algo->reg_slave) { in i2c_slave_register()
3166 i2c_lock_adapter(client->adapter); in i2c_slave_register()
3167 ret = client->adapter->algo->reg_slave(client); in i2c_slave_register()
3168 i2c_unlock_adapter(client->adapter); in i2c_slave_register()
3183 if (!client->adapter->algo->unreg_slave) { in i2c_slave_unregister()
3188 i2c_lock_adapter(client->adapter); in i2c_slave_unregister()
3189 ret = client->adapter->algo->unreg_slave(client); in i2c_slave_unregister()
3190 i2c_unlock_adapter(client->adapter); in i2c_slave_unregister()