Lines Matching refs:adapter

67 static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver);
84 struct i2c_adapter *adapter; member
124 struct i2c_adapter *adapter = data; in acpi_i2c_add_device() local
149 if (!i2c_new_device(adapter, &info)) { in acpi_i2c_add_device()
151 dev_err(&adapter->dev, in acpi_i2c_add_device()
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()
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()
260 struct i2c_adapter *adapter = data->adapter; in acpi_i2c_space_handler() local
284 client.adapter = adapter; in acpi_i2c_space_handler()
370 static int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) in acpi_i2c_install_space_handler() argument
376 if (!adapter->dev.parent) in acpi_i2c_install_space_handler()
379 handle = ACPI_HANDLE(adapter->dev.parent); in acpi_i2c_install_space_handler()
389 data->adapter = adapter; in acpi_i2c_install_space_handler()
402 dev_err(&adapter->dev, "Error installing i2c space handler\n"); in acpi_i2c_install_space_handler()
412 static void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) in acpi_i2c_remove_space_handler() argument
418 if (!adapter->dev.parent) in acpi_i2c_remove_space_handler()
421 handle = ACPI_HANDLE(adapter->dev.parent); in acpi_i2c_remove_space_handler()
437 static inline void acpi_i2c_remove_space_handler(struct i2c_adapter *adapter) in acpi_i2c_remove_space_handler() argument
440 static inline int acpi_i2c_install_space_handler(struct i2c_adapter *adapter) in acpi_i2c_install_space_handler() argument
818 static int i2c_check_mux_parents(struct i2c_adapter *adapter, int addr) in i2c_check_mux_parents() argument
820 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_check_mux_parents()
823 result = device_for_each_child(&adapter->dev, &addr, in i2c_check_mux_parents()
846 static int i2c_check_addr_busy(struct i2c_adapter *adapter, int addr) in i2c_check_addr_busy() argument
848 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_check_addr_busy()
855 result = device_for_each_child(&adapter->dev, &addr, in i2c_check_addr_busy()
865 void i2c_lock_adapter(struct i2c_adapter *adapter) in i2c_lock_adapter() argument
867 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_lock_adapter()
872 rt_mutex_lock(&adapter->bus_lock); in i2c_lock_adapter()
880 static int i2c_trylock_adapter(struct i2c_adapter *adapter) in i2c_trylock_adapter() argument
882 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_trylock_adapter()
887 return rt_mutex_trylock(&adapter->bus_lock); in i2c_trylock_adapter()
894 void i2c_unlock_adapter(struct i2c_adapter *adapter) in i2c_unlock_adapter() argument
896 struct i2c_adapter *parent = i2c_parent_is_i2c_adapter(adapter); in i2c_unlock_adapter()
901 rt_mutex_unlock(&adapter->bus_lock); in i2c_unlock_adapter()
947 client->adapter = adap; in i2c_new_device()
973 client->dev.parent = &client->adapter->dev; in i2c_new_device()
1052 struct i2c_client *i2c_new_dummy(struct i2c_adapter *adapter, u16 address) in i2c_new_dummy() argument
1058 return i2c_new_device(adapter, &info); in i2c_new_dummy()
1078 static inline unsigned int i2c_adapter_depth(struct i2c_adapter *adapter) in i2c_adapter_depth() argument
1082 while ((adapter = i2c_parent_is_i2c_adapter(adapter))) in i2c_adapter_depth()
1238 static void i2c_scan_static_board_info(struct i2c_adapter *adapter) in i2c_scan_static_board_info() argument
1244 if (devinfo->busnum == adapter->nr in i2c_scan_static_board_info()
1245 && !i2c_new_device(adapter, in i2c_scan_static_board_info()
1247 dev_err(&adapter->dev, in i2c_scan_static_board_info()
1516 int i2c_add_adapter(struct i2c_adapter *adapter) in i2c_add_adapter() argument
1518 struct device *dev = &adapter->dev; in i2c_add_adapter()
1524 adapter->nr = id; in i2c_add_adapter()
1525 return __i2c_add_numbered_adapter(adapter); in i2c_add_adapter()
1530 id = idr_alloc(&i2c_adapter_idr, adapter, in i2c_add_adapter()
1536 adapter->nr = id; in i2c_add_adapter()
1538 return i2c_register_adapter(adapter); in i2c_add_adapter()
1575 struct i2c_adapter *adapter) in i2c_do_del_adapter() argument
1582 if (client->adapter == adapter) { in i2c_do_del_adapter()
1583 dev_dbg(&adapter->dev, "Removing %s at 0x%x\n", in i2c_do_del_adapter()
2129 struct i2c_adapter *adap = client->adapter; in i2c_master_send()
2157 struct i2c_adapter *adap = client->adapter; in i2c_master_recv()
2227 struct i2c_adapter *adapter = temp_client->adapter; in i2c_detect_address() local
2234 dev_warn(&adapter->dev, "Invalid probe address 0x%02x\n", in i2c_detect_address()
2240 if (i2c_check_addr_busy(adapter, addr)) in i2c_detect_address()
2244 if (!i2c_default_probe(adapter, addr)) in i2c_detect_address()
2259 dev_err(&adapter->dev, "%s detection function provided " in i2c_detect_address()
2266 if (adapter->class & I2C_CLASS_DEPRECATED) in i2c_detect_address()
2267 dev_warn(&adapter->dev, in i2c_detect_address()
2273 dev_dbg(&adapter->dev, "Creating %s at 0x%02x\n", in i2c_detect_address()
2275 client = i2c_new_device(adapter, &info); in i2c_detect_address()
2279 dev_err(&adapter->dev, "Failed creating %s at 0x%02x\n", in i2c_detect_address()
2285 static int i2c_detect(struct i2c_adapter *adapter, struct i2c_driver *driver) in i2c_detect() argument
2290 int adap_id = i2c_adapter_id(adapter); in i2c_detect()
2297 if (adapter->class == I2C_CLASS_DEPRECATED) { in i2c_detect()
2298 dev_dbg(&adapter->dev, in i2c_detect()
2307 if (!(adapter->class & driver->class)) in i2c_detect()
2314 temp_client->adapter = adapter; in i2c_detect()
2317 dev_dbg(&adapter->dev, "found normal entry for adapter %d, " in i2c_detect()
2379 struct i2c_adapter *adapter; in i2c_get_adapter() local
2382 adapter = idr_find(&i2c_adapter_idr, nr); in i2c_get_adapter()
2383 if (adapter && !try_module_get(adapter->owner)) in i2c_get_adapter()
2384 adapter = NULL; in i2c_get_adapter()
2387 return adapter; in i2c_get_adapter()
2471 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte()
2488 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte()
2506 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_byte_data()
2527 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_byte_data()
2546 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_word_data()
2567 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_word_data()
2594 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_block_data()
2624 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_block_data()
2640 status = i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_read_i2c_block_data()
2660 return i2c_smbus_xfer(client->adapter, client->addr, client->flags, in i2c_smbus_write_i2c_block_data()
2668 static s32 i2c_smbus_xfer_emulated(struct i2c_adapter *adapter, u16 addr, in i2c_smbus_xfer_emulated() argument
2746 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2759 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2777 dev_err(&adapter->dev, in i2c_smbus_xfer_emulated()
2787 dev_err(&adapter->dev, "Unsupported transaction %d\n", size); in i2c_smbus_xfer_emulated()
2806 status = i2c_transfer(adapter, msg, num); in i2c_smbus_xfer_emulated()
2855 s32 i2c_smbus_xfer(struct i2c_adapter *adapter, u16 addr, unsigned short flags, in i2c_smbus_xfer() argument
2866 trace_smbus_write(adapter, addr, flags, read_write, in i2c_smbus_xfer()
2868 trace_smbus_read(adapter, addr, flags, read_write, in i2c_smbus_xfer()
2873 if (adapter->algo->smbus_xfer) { in i2c_smbus_xfer()
2874 i2c_lock_adapter(adapter); in i2c_smbus_xfer()
2878 for (res = 0, try = 0; try <= adapter->retries; try++) { in i2c_smbus_xfer()
2879 res = adapter->algo->smbus_xfer(adapter, addr, flags, in i2c_smbus_xfer()
2885 orig_jiffies + adapter->timeout)) in i2c_smbus_xfer()
2888 i2c_unlock_adapter(adapter); in i2c_smbus_xfer()
2890 if (res != -EOPNOTSUPP || !adapter->algo->master_xfer) in i2c_smbus_xfer()
2898 res = i2c_smbus_xfer_emulated(adapter, addr, flags, read_write, in i2c_smbus_xfer()
2903 trace_smbus_reply(adapter, addr, flags, read_write, in i2c_smbus_xfer()
2905 trace_smbus_result(adapter, addr, flags, read_write, in i2c_smbus_xfer()
2927 if (!client->adapter->algo->reg_slave) 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()
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()