i2c_engine
struct i2c_engine *base = NULL;
struct i2c_engine *i2c_engine)
struct i2c_hw_engine_dce110 *hw_engine = FROM_I2C_ENGINE(i2c_engine);
const struct i2c_engine *i2c_engine)
const struct i2c_hw_engine_dce110 *hw_engine = FROM_I2C_ENGINE(i2c_engine);
struct i2c_engine *i2c_engine,
struct i2c_hw_engine_dce110 *hw_engine = FROM_I2C_ENGINE(i2c_engine);
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *i2c_engine,
struct i2c_hw_engine_dce110 *hw_engine = FROM_I2C_ENGINE(i2c_engine);
struct i2c_engine **i2c_engine)
FROM_I2C_ENGINE(*i2c_engine);
*i2c_engine = NULL;
struct i2c_engine *dal_i2c_hw_engine_dce110_create(
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine *dal_i2c_hw_engine_dce110_create(
struct i2c_engine *dal_i2c_sw_engine_dce110_create(
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine **engine)
struct i2c_engine *engine,
struct i2c_engine *dal_i2c_sw_engine_dce110_create(
struct i2caux **i2c_engine)
struct i2caux_dce110 *i2caux_dce110 = FROM_I2C_AUX(*i2c_engine);
*i2c_engine = NULL;
static struct i2c_engine *acquire_i2c_hw_engine(
struct i2c_engine *engine = NULL;
struct i2c_engine *base = NULL;
struct i2c_engine **i2c_engine)
struct i2c_hw_engine_dce80 *engine = FROM_I2C_ENGINE(*i2c_engine);
*i2c_engine = NULL;
struct i2c_engine *i2c_engine)
struct i2c_hw_engine_dce80 *engine = FROM_I2C_ENGINE(i2c_engine);
value = dm_read_reg(i2c_engine->base.ctx, addr);
dm_write_reg(i2c_engine->base.ctx, addr, value);
value = dm_read_reg(i2c_engine->base.ctx, addr);
dm_write_reg(i2c_engine->base.ctx, addr, value);
value = dm_read_reg(i2c_engine->base.ctx,
dm_write_reg(i2c_engine->base.ctx,
const struct i2c_engine *i2c_engine)
const struct i2c_hw_engine_dce80 *engine = FROM_I2C_ENGINE(i2c_engine);
uint32_t value = dm_read_reg(i2c_engine->base.ctx, addr);
struct i2c_engine *i2c_engine,
struct i2c_hw_engine_dce80 *engine = FROM_I2C_ENGINE(i2c_engine);
uint32_t value = dm_read_reg(i2c_engine->base.ctx, addr);
dm_write_reg(i2c_engine->base.ctx, addr, value);
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *dal_i2c_hw_engine_dce80_create(
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine *dal_i2c_hw_engine_dce80_create(
struct i2c_engine **engine)
struct i2c_engine *engine,
struct i2c_engine *dal_i2c_sw_engine_dce80_create(
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine *dal_i2c_sw_engine_dce80_create(
struct i2caux_dce80 *i2caux_dce80 = FROM_I2C_AUX(*i2c_engine);
*i2c_engine = NULL;
static struct i2c_engine *acquire_i2c_hw_engine(
struct i2c_engine *engine = NULL;
struct i2caux **i2c_engine)
struct i2caux **i2c_engine)
destruct(*i2c_engine);
kfree(*i2c_engine);
*i2c_engine = NULL;
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine)
container_of((ptr), struct i2c_engine, base)
struct i2c_engine *i2c_engine = FROM_ENGINE(engine);
result = i2c_engine->funcs->acquire_engine(
i2c_engine, ddc_handle);
if (!i2c_engine->funcs->setup_engine(i2c_engine)) {
struct i2c_engine *engine)
struct i2c_engine *engine,
struct i2c_engine *engine);
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine;
struct i2c_engine **ptr);
const struct i2c_engine *engine);
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine);
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine);
const struct i2c_engine *base = &engine->base;
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine *engine,
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine base;
struct i2c_engine *engine,
FROM_I2C_ENGINE(container_of((ptr), struct i2c_engine, base))
struct i2c_engine *base = &sw_engine->base;
const struct i2c_engine *engine)
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine *engine,
struct i2c_engine **ptr)
struct i2c_engine *dal_i2c_sw_engine_create(
struct i2c_engine base;
struct i2c_engine *engine,
struct i2c_engine *dal_i2c_sw_engine_create(
const struct i2c_engine *engine);
struct i2c_engine *ptr,
struct i2c_engine *ptr,
struct i2c_engine *engine,
struct i2c_engine *engine;
struct i2c_engine *dal_i2caux_acquire_i2c_sw_engine(
struct i2c_engine *engine = NULL;
struct i2c_engine *dal_i2caux_acquire_i2c_sw_engine(
struct i2c_engine * (*acquire_i2c_sw_engine)(
struct i2c_engine * (*acquire_i2c_hw_engine)(
struct i2c_engine;
struct i2c_engine *i2c_sw_engines[GPIO_DDC_LINE_COUNT];
struct i2c_engine *i2c_hw_engines[GPIO_DDC_LINE_COUNT];
struct i2c_engine *i2c_generic_sw_engine;
struct i2c_engine *i2c_generic_hw_engine;