Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c6e6e58c authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull staging and IIO driver fixes from Greg KH:
 "Here are some IIO driver fixes, along with two staging driver fixes
  for 4.6-rc3.

  One staging driver patch reverts the deletion of a driver that
  happened in 4.6-rc1.  We thought that laptop.org was dead, but it's
  still alive and kicking, and has users that were mad we broke their
  hardware by deleting a driver for their machines.  So that driver is
  added back and everyone is happy again.

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'staging-4.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
  Revert "Staging: olpc_dcon: Remove obsolete driver"
  staging/rdma/hfi1: select CRC32
  iio: gyro: bmg160: fix buffer read values
  iio: gyro: bmg160: fix endianness when reading axes
  iio: accel: bmc150: fix endianness when reading axes
  iio: st_magn: always define ST_MAGN_TRIGGER_SET_STATE
  iio: fix config watermark initial value
  iio: health: max30100: correct FIFO check condition
  iio: imu: Fix inv_mpu6050 dependencies
  iio: adc: Fix build error of missing devm_ioremap_resource on UM
  iio: light: apds9960: correct FIFO check condition
  iio: adc: max1363: correct reference voltage
  iio: adc: max1363: add missing adc to max1363_id
parents fb41b4be 53c43c5c
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -10595,6 +10595,14 @@ L: linux-tegra@vger.kernel.org
S:	Maintained
S:	Maintained
F:	drivers/staging/nvec/
F:	drivers/staging/nvec/


STAGING - OLPC SECONDARY DISPLAY CONTROLLER (DCON)
M:	Jens Frederich <jfrederich@gmail.com>
M:	Daniel Drake <dsd@laptop.org>
M:	Jon Nettleton <jon.nettleton@gmail.com>
W:	http://wiki.laptop.org/go/DCON
S:	Maintained
F:	drivers/staging/olpc_dcon/

STAGING - REALTEK RTL8712U DRIVERS
STAGING - REALTEK RTL8712U DRIVERS
M:	Larry Finger <Larry.Finger@lwfinger.net>
M:	Larry Finger <Larry.Finger@lwfinger.net>
M:	Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
M:	Florian Schilhabel <florian.c.schilhabel@googlemail.com>.
+4 −3
Original line number Original line Diff line number Diff line
@@ -547,7 +547,7 @@ static int bmc150_accel_get_axis(struct bmc150_accel_data *data,
{
{
	int ret;
	int ret;
	int axis = chan->scan_index;
	int axis = chan->scan_index;
	unsigned int raw_val;
	__le16 raw_val;


	mutex_lock(&data->mutex);
	mutex_lock(&data->mutex);
	ret = bmc150_accel_set_power_state(data, true);
	ret = bmc150_accel_set_power_state(data, true);
@@ -557,14 +557,14 @@ static int bmc150_accel_get_axis(struct bmc150_accel_data *data,
	}
	}


	ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis),
	ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis),
			       &raw_val, 2);
			       &raw_val, sizeof(raw_val));
	if (ret < 0) {
	if (ret < 0) {
		dev_err(data->dev, "Error reading axis %d\n", axis);
		dev_err(data->dev, "Error reading axis %d\n", axis);
		bmc150_accel_set_power_state(data, false);
		bmc150_accel_set_power_state(data, false);
		mutex_unlock(&data->mutex);
		mutex_unlock(&data->mutex);
		return ret;
		return ret;
	}
	}
	*val = sign_extend32(raw_val >> chan->scan_type.shift,
	*val = sign_extend32(le16_to_cpu(raw_val) >> chan->scan_type.shift,
			     chan->scan_type.realbits - 1);
			     chan->scan_type.realbits - 1);
	ret = bmc150_accel_set_power_state(data, false);
	ret = bmc150_accel_set_power_state(data, false);
	mutex_unlock(&data->mutex);
	mutex_unlock(&data->mutex);
@@ -988,6 +988,7 @@ static const struct iio_event_spec bmc150_accel_event = {
		.realbits = (bits),					\
		.realbits = (bits),					\
		.storagebits = 16,					\
		.storagebits = 16,					\
		.shift = 16 - (bits),					\
		.shift = 16 - (bits),					\
		.endianness = IIO_LE,					\
	},								\
	},								\
	.event_spec = &bmc150_accel_event,				\
	.event_spec = &bmc150_accel_event,				\
	.num_event_specs = 1						\
	.num_event_specs = 1						\
+1 −0
Original line number Original line Diff line number Diff line
@@ -134,6 +134,7 @@ config AT91_ADC
config AT91_SAMA5D2_ADC
config AT91_SAMA5D2_ADC
	tristate "Atmel AT91 SAMA5D2 ADC"
	tristate "Atmel AT91 SAMA5D2 ADC"
	depends on ARCH_AT91 || COMPILE_TEST
	depends on ARCH_AT91 || COMPILE_TEST
	depends on HAS_IOMEM
	help
	help
	  Say yes here to build support for Atmel SAMA5D2 ADC which is
	  Say yes here to build support for Atmel SAMA5D2 ADC which is
	  available on SAMA5D2 SoC family.
	  available on SAMA5D2 SoC family.
+8 −4
Original line number Original line Diff line number Diff line
@@ -1386,7 +1386,7 @@ static const struct max1363_chip_info max1363_chip_info_tbl[] = {
	},
	},
	[max11644] = {
	[max11644] = {
		.bits = 12,
		.bits = 12,
		.int_vref_mv = 2048,
		.int_vref_mv = 4096,
		.mode_list = max11644_mode_list,
		.mode_list = max11644_mode_list,
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.default_mode = s0to1,
		.default_mode = s0to1,
@@ -1396,7 +1396,7 @@ static const struct max1363_chip_info max1363_chip_info_tbl[] = {
	},
	},
	[max11645] = {
	[max11645] = {
		.bits = 12,
		.bits = 12,
		.int_vref_mv = 4096,
		.int_vref_mv = 2048,
		.mode_list = max11644_mode_list,
		.mode_list = max11644_mode_list,
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.default_mode = s0to1,
		.default_mode = s0to1,
@@ -1406,7 +1406,7 @@ static const struct max1363_chip_info max1363_chip_info_tbl[] = {
	},
	},
	[max11646] = {
	[max11646] = {
		.bits = 10,
		.bits = 10,
		.int_vref_mv = 2048,
		.int_vref_mv = 4096,
		.mode_list = max11644_mode_list,
		.mode_list = max11644_mode_list,
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.default_mode = s0to1,
		.default_mode = s0to1,
@@ -1416,7 +1416,7 @@ static const struct max1363_chip_info max1363_chip_info_tbl[] = {
	},
	},
	[max11647] = {
	[max11647] = {
		.bits = 10,
		.bits = 10,
		.int_vref_mv = 4096,
		.int_vref_mv = 2048,
		.mode_list = max11644_mode_list,
		.mode_list = max11644_mode_list,
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.num_modes = ARRAY_SIZE(max11644_mode_list),
		.default_mode = s0to1,
		.default_mode = s0to1,
@@ -1680,6 +1680,10 @@ static const struct i2c_device_id max1363_id[] = {
	{ "max11615", max11615 },
	{ "max11615", max11615 },
	{ "max11616", max11616 },
	{ "max11616", max11616 },
	{ "max11617", max11617 },
	{ "max11617", max11617 },
	{ "max11644", max11644 },
	{ "max11645", max11645 },
	{ "max11646", max11646 },
	{ "max11647", max11647 },
	{}
	{}
};
};


+5 −4
Original line number Original line Diff line number Diff line
@@ -452,7 +452,7 @@ static int bmg160_get_temp(struct bmg160_data *data, int *val)
static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
{
{
	int ret;
	int ret;
	unsigned int raw_val;
	__le16 raw_val;


	mutex_lock(&data->mutex);
	mutex_lock(&data->mutex);
	ret = bmg160_set_power_state(data, true);
	ret = bmg160_set_power_state(data, true);
@@ -462,7 +462,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
	}
	}


	ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val,
	ret = regmap_bulk_read(data->regmap, BMG160_AXIS_TO_REG(axis), &raw_val,
			       2);
			       sizeof(raw_val));
	if (ret < 0) {
	if (ret < 0) {
		dev_err(data->dev, "Error reading axis %d\n", axis);
		dev_err(data->dev, "Error reading axis %d\n", axis);
		bmg160_set_power_state(data, false);
		bmg160_set_power_state(data, false);
@@ -470,7 +470,7 @@ static int bmg160_get_axis(struct bmg160_data *data, int axis, int *val)
		return ret;
		return ret;
	}
	}


	*val = sign_extend32(raw_val, 15);
	*val = sign_extend32(le16_to_cpu(raw_val), 15);
	ret = bmg160_set_power_state(data, false);
	ret = bmg160_set_power_state(data, false);
	mutex_unlock(&data->mutex);
	mutex_unlock(&data->mutex);
	if (ret < 0)
	if (ret < 0)
@@ -733,6 +733,7 @@ static const struct iio_event_spec bmg160_event = {
		.sign = 's',						\
		.sign = 's',						\
		.realbits = 16,					\
		.realbits = 16,					\
		.storagebits = 16,					\
		.storagebits = 16,					\
		.endianness = IIO_LE,					\
	},								\
	},								\
	.event_spec = &bmg160_event,					\
	.event_spec = &bmg160_event,					\
	.num_event_specs = 1						\
	.num_event_specs = 1						\
@@ -780,7 +781,7 @@ static irqreturn_t bmg160_trigger_handler(int irq, void *p)
			mutex_unlock(&data->mutex);
			mutex_unlock(&data->mutex);
			goto err;
			goto err;
		}
		}
		data->buffer[i++] = ret;
		data->buffer[i++] = val;
	}
	}
	mutex_unlock(&data->mutex);
	mutex_unlock(&data->mutex);


Loading