[PATCH v2 2/2] regmap: i2c: fallback to SMBus if the adapter does not support standard I2C
Lars-Peter Clausen
lars at metafoo.de
Fri Apr 18 10:08:10 PDT 2014
> +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 ®map_i2c;
> + else if (config->val_bits == 16 &&
> + i2c_check_functionality(i2c->adapter,
> + I2C_FUNC_SMBUS_WORD_DATA))
> + return ®map_smbus_word;
> + else if (config->val_bits == 8 &&
> + i2c_check_functionality(i2c->adapter,
> + I2C_FUNC_SMBUS_BYTE_DATA))
> + return ®map_smbus_byte;
The fallback code should also check that reg_bits is 8.
> +
> + return ERR_PTR(-ENOTSUPP);
> +}
> +
More information about the linux-arm-kernel
mailing list