static void submit_channel_request( struct i2c_engine *engine, struct i2c_request_transaction_data *request) { request->status = I2C_CHANNEL_OPERATION_SUCCEEDED; if (!process_transaction(FROM_I2C_ENGINE(engine), request)) return; if (is_hw_busy(&engine->base)) { request->status = I2C_CHANNEL_OPERATION_ENGINE_BUSY; return; } execute_transaction(FROM_I2C_ENGINE(engine)); }
static void submit_channel_request_hw( struct dce_i2c_hw *dce_i2c_hw, struct i2c_request_transaction_data *request) { request->status = I2C_CHANNEL_OPERATION_SUCCEEDED; if (!process_transaction(dce_i2c_hw, request)) return; if (is_hw_busy(dce_i2c_hw)) { request->status = I2C_CHANNEL_OPERATION_ENGINE_BUSY; return; } execute_transaction(dce_i2c_hw); }