参照元

説明

  • パス: linux-4.4.1/drivers/base/regmap/regmap-i2c.c?
  • FIXME: これは何?
    • 説明

引数

返り値

  • const struct regmap_bus *
    • linux-4.4.1/regmap_bus?

参考

実装

static const struct regmap_bus *regmap_get_i2c_bus(struct i2c_client *i2c,
					const struct regmap_config *config)
{
	if (i2c_check_functionality(i2c->adapter, I2C_FUNC_I2C))
		return &regmap_i2c;
	else if (config->reg_bits == 8 &&
		 i2c_check_functionality(i2c->adapter,
					 I2C_FUNC_SMBUS_I2C_BLOCK))
		return &regmap_i2c_smbus_i2c_block;
    • linux-4.4.1/regmap_i2c_smbus_i2c_block(global)?
	else if (config->val_bits == 16 && config->reg_bits == 8 &&
		 i2c_check_functionality(i2c->adapter,
					 I2C_FUNC_SMBUS_WORD_DATA))
		switch (regmap_get_val_endian(&i2c->dev, NULL, config)) {
		case REGMAP_ENDIAN_LITTLE:
			return &regmap_smbus_word;
		case REGMAP_ENDIAN_BIG:
			return &regmap_smbus_word_swapped;
		default:		/* everything else is not supported */
			break;
		}
    • linux-4.4.1/regmap_get_val_endian()?
    • linux-4.4.1/regmap_smbus_word(global)?
    • linux-4.4.1/regmap_smbus_word_swapped(global)?
	else if (config->val_bits == 8 && config->reg_bits == 8 &&
		 i2c_check_functionality(i2c->adapter,
					 I2C_FUNC_SMBUS_BYTE_DATA))
		return &regmap_smbus_byte;
    • linux-4.4.1/regmap_smbus_byte(global)?
	return ERR_PTR(-ENOTSUPP);
    • linux-4.4.1/ERR_PTR()?
}

コメント


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-05-13 (日) 15:37:24 (131d)