static int lm25066_write_word_data(struct i2c_client *client, int page, int reg,
				   u16 word)
{
	int ret;

	if (page > 1)
		return -ENXIO;

	switch (reg) {
	case PMBUS_IIN_OC_WARN_LIMIT:
		ret = pmbus_write_word_data(client, 0,
					    LM25066_MFR_IIN_OC_WARN_LIMIT,
					    word);
		break;
	case PMBUS_PIN_OP_WARN_LIMIT:
		ret = pmbus_write_word_data(client, 0,
					    LM25066_MFR_PIN_OP_WARN_LIMIT,
					    word);
		break;
	case PMBUS_VIRT_RESET_PIN_HISTORY:
		ret = pmbus_write_byte(client, 0, LM25066_CLEAR_PIN_PEAK);
		break;
	default:
		ret = -ENODATA;
		break;
	}
	return ret;
}
static int lm25066_write_byte(struct i2c_client *client, int page, u8 value)
{
	if (page > 1)
		return -ENXIO;

	if (page <= 0)
		return pmbus_write_byte(client, page, value);

	return 0;
}
Example #3
0
static int lm25066_write_byte(struct i2c_client *client, int page, u8 value)
{
	if (page > 1)
		return -EINVAL;

	if (page == 0)
		return pmbus_write_byte(client, 0, value);

	return 0;
}
Example #4
0
static int zl6100_write_byte(struct i2c_client *client, int page, u8 value)
{
	const struct pmbus_driver_info *info = pmbus_get_driver_info(client);
	struct zl6100_data *data = to_zl6100_data(info);
	int ret;

	if (page > 0)
		return -ENXIO;

	zl6100_wait(data);
	ret = pmbus_write_byte(client, page, value);
	data->access = ktime_get();

	return ret;
}