Exemple #1
0
static int hmc5843_remove(struct i2c_client *client)
{
	struct hmc5843_data *data = i2c_get_clientdata(client);
	 /*  sleep mode to save power */
	hmc5843_configure(client, MODE_SLEEP);
	iio_device_unregister(data->indio_dev);
	kfree(i2c_get_clientdata(client));
	return 0;
}
Exemple #2
0
/* Called when we have found a new HMC5843. */
static void hmc5843_init_client(struct i2c_client *client)
{
	struct hmc5843_data *data = i2c_get_clientdata(client);
	hmc5843_set_meas_conf(client, data->meas_conf);
	hmc5843_set_rate(client, data->rate);
	hmc5843_configure(client, data->operating_mode);
	i2c_smbus_write_byte_data(client, HMC5843_CONFIG_REG_B, data->range);
	mutex_init(&data->lock);
	pr_info("HMC5843 initialized\n");
}
Exemple #3
0
static int hmc5843_resume(struct device *dev)
{
	struct i2c_client *client = to_i2c_client(dev);
	struct iio_dev *indio_dev = i2c_get_clientdata(client);
	struct hmc5843_data *data = iio_priv(indio_dev);

	hmc5843_configure(client, data->operating_mode);

	return 0;
}
static int hmc5843_remove(struct i2c_client *client)
{
	struct iio_dev *indio_dev = i2c_get_clientdata(client);

	iio_device_unregister(indio_dev);
	 
	hmc5843_configure(client, MODE_SLEEP);
	iio_free_device(indio_dev);

	return 0;
}
Exemple #5
0
static int hmc5843_remove(struct i2c_client *client)
{
	struct iio_dev *indio_dev = i2c_get_clientdata(client);

	iio_device_unregister(indio_dev);
	 /*  sleep mode to save power */
	hmc5843_configure(client, HMC5843_MODE_SLEEP);
	iio_device_free(indio_dev);

	return 0;
}
Exemple #6
0
/* Called when we have found a new HMC58X3 */
static void hmc5843_init_client(struct i2c_client *client,
				const struct i2c_device_id *id)
{
	struct iio_dev *indio_dev = i2c_get_clientdata(client);
	struct hmc5843_data *data = iio_priv(indio_dev);

	data->variant = &hmc5843_chip_info_tbl[id->driver_data];
	indio_dev->channels = data->variant->channels;
	indio_dev->num_channels = 3;
	hmc5843_set_meas_conf(client, data->meas_conf);
	hmc5843_set_rate(client, data->rate);
	hmc5843_configure(client, data->operating_mode);
	i2c_smbus_write_byte_data(client, HMC5843_CONFIG_REG_B, data->range);
	mutex_init(&data->lock);

	pr_info("%s initialized\n", id->name);
}
Exemple #7
0
static int hmc5843_resume(struct i2c_client *client)
{
	struct hmc5843_data *data = i2c_get_clientdata(client);
	hmc5843_configure(client, data->operating_mode);
	return 0;
}
Exemple #8
0
static int hmc5843_suspend(struct i2c_client *client, pm_message_t mesg)
{
	hmc5843_configure(client, MODE_SLEEP);
	return 0;
}
static int hmc5843_resume(struct device *dev)
{
	struct hmc5843_data *data = i2c_get_clientdata(to_i2c_client(dev));
	hmc5843_configure(to_i2c_client(dev), data->operating_mode);
	return 0;
}
static int hmc5843_suspend(struct device *dev)
{
	hmc5843_configure(to_i2c_client(dev), MODE_SLEEP);
	return 0;
}