From: Markus Pargmann <mpa@pengutronix.de>
To: Jonathan Cameron <jic23@kernel.org>
Cc: Mark Brown <broonie@kernel.org>,
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, kernel@pengutronix.de
Subject: Re: [PATCH 18/20] iio: bcm150: Remove i2c_client from private data
Date: Mon, 17 Aug 2015 09:57:13 +0200 [thread overview]
Message-ID: <20150817075713.GK19600@pengutronix.de> (raw)
In-Reply-To: <55CF3FBF.1030707@kernel.org>
[-- Attachment #1: Type: text/plain, Size: 17596 bytes --]
On Sat, Aug 15, 2015 at 02:33:51PM +0100, Jonathan Cameron wrote:
> On 12/08/15 11:12, Markus Pargmann wrote:
> > i2c_client struct is now only used for debugging output. We can use the
> > device struct as well so we can remove all struct i2c_client usage.
> >
> > Signed-off-by: Markus Pargmann <mpa@pengutronix.de>
> This one looks fine to me.
>
> Acked-by: Jonathan Cameron <jic23@kernel.org>
>
> Ideally these bmc150 patches should also get a look from Srinivas
> before merging however (and testing given I'm guessing you don't have
> all the parts!)
Thanks. Yes indeed, I only have the SPI parts. Also to keep the fifo
read support of the bmc150 as it is in the driver currently the regmap
series has to be fixed.
Best Regards,
Markus
>
> Jonathan
> > ---
> > drivers/iio/accel/bmc150-accel.c | 120 +++++++++++++++++++--------------------
> > 1 file changed, 58 insertions(+), 62 deletions(-)
> >
> > diff --git a/drivers/iio/accel/bmc150-accel.c b/drivers/iio/accel/bmc150-accel.c
> > index 1484e956482e..d75e1b0aa7e9 100644
> > --- a/drivers/iio/accel/bmc150-accel.c
> > +++ b/drivers/iio/accel/bmc150-accel.c
> > @@ -185,9 +185,9 @@ enum bmc150_accel_trigger_id {
> > };
> >
> > struct bmc150_accel_data {
> > - struct i2c_client *client;
> > struct regmap *regmap;
> > struct device *dev;
> > + int irq;
> > struct bmc150_accel_interrupt interrupts[BMC150_ACCEL_INTERRUPTS];
> > atomic_t active_intr;
> > struct bmc150_accel_trigger triggers[BMC150_ACCEL_TRIGGERS];
> > @@ -279,11 +279,11 @@ static int bmc150_accel_set_mode(struct bmc150_accel_data *data,
> > lpw_bits = mode << BMC150_ACCEL_PMU_MODE_SHIFT;
> > lpw_bits |= (dur_val << BMC150_ACCEL_PMU_BIT_SLEEP_DUR_SHIFT);
> >
> > - dev_dbg(&data->client->dev, "Set Mode bits %x\n", lpw_bits);
> > + dev_dbg(data->dev, "Set Mode bits %x\n", lpw_bits);
> >
> > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_PMU_LPW, lpw_bits);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error writing reg_pmu_lpw\n");
> > + dev_err(data->dev, "Error writing reg_pmu_lpw\n");
> > return ret;
> > }
> >
> > @@ -321,18 +321,18 @@ static int bmc150_accel_update_slope(struct bmc150_accel_data *data)
> > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_6,
> > data->slope_thres);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error writing reg_int_6\n");
> > + dev_err(data->dev, "Error writing reg_int_6\n");
> > return ret;
> > }
> >
> > ret = regmap_update_bits(data->regmap, BMC150_ACCEL_REG_INT_5,
> > BMC150_ACCEL_SLOPE_DUR_MASK, data->slope_dur);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error updating reg_int_5\n");
> > + dev_err(data->dev, "Error updating reg_int_5\n");
> > return ret;
> > }
> >
> > - dev_dbg(&data->client->dev, "%s: %x %x\n", __func__, data->slope_thres,
> > + dev_dbg(data->dev, "%s: %x %x\n", __func__, data->slope_thres,
> > data->slope_dur);
> >
> > return ret;
> > @@ -354,14 +354,14 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data)
> >
> > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_CHIP_ID, &val);
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > + dev_err(data->dev,
> > "Error: Reading chip id\n");
> > return ret;
> > }
> >
> > - dev_dbg(&data->client->dev, "Chip Id %x\n", val);
> > + dev_dbg(data->dev, "Chip Id %x\n", val);
> > if (val != data->chip_info->chip_id) {
> > - dev_err(&data->client->dev, "Invalid chip %x\n", val);
> > + dev_err(data->dev, "Invalid chip %x\n", val);
> > return -ENODEV;
> > }
> >
> > @@ -378,8 +378,7 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data)
> > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_PMU_RANGE,
> > BMC150_ACCEL_DEF_RANGE_4G);
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > - "Error writing reg_pmu_range\n");
> > + dev_err(data->dev, "Error writing reg_pmu_range\n");
> > return ret;
> > }
> >
> > @@ -397,7 +396,7 @@ static int bmc150_accel_chip_init(struct bmc150_accel_data *data)
> > BMC150_ACCEL_INT_MODE_LATCH_INT |
> > BMC150_ACCEL_INT_MODE_LATCH_RESET);
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > + dev_err(data->dev,
> > "Error writing reg_int_rst_latch\n");
> > return ret;
> > }
> > @@ -439,16 +438,16 @@ static int bmc150_accel_set_power_state(struct bmc150_accel_data *data, bool on)
> > int ret;
> >
> > if (on)
> > - ret = pm_runtime_get_sync(&data->client->dev);
> > + ret = pm_runtime_get_sync(data->dev);
> > else {
> > - pm_runtime_mark_last_busy(&data->client->dev);
> > - ret = pm_runtime_put_autosuspend(&data->client->dev);
> > + pm_runtime_mark_last_busy(data->dev);
> > + ret = pm_runtime_put_autosuspend(data->dev);
> > }
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > + dev_err(data->dev,
> > "Failed: bmc150_accel_set_power_state for %d\n", on);
> > if (on)
> > - pm_runtime_put_noidle(&data->client->dev);
> > + pm_runtime_put_noidle(data->dev);
> >
> > return ret;
> > }
> > @@ -531,7 +530,7 @@ static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i,
> > ret = regmap_update_bits(data->regmap, info->map_reg, info->map_bitmask,
> > (state ? info->map_bitmask : 0));
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error updating reg_int_map\n");
> > + dev_err(data->dev, "Error updating reg_int_map\n");
> > goto out_fix_power_state;
> > }
> >
> > @@ -539,7 +538,7 @@ static int bmc150_accel_set_interrupt(struct bmc150_accel_data *data, int i,
> > ret = regmap_update_bits(data->regmap, info->en_reg, info->en_bitmask,
> > (state ? info->en_bitmask : 0));
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error updating reg_int_en\n");
> > + dev_err(data->dev, "Error updating reg_int_en\n");
> > goto out_fix_power_state;
> > }
> >
> > @@ -566,7 +565,7 @@ static int bmc150_accel_set_scale(struct bmc150_accel_data *data, int val)
> > BMC150_ACCEL_REG_PMU_RANGE,
> > data->chip_info->scale_table[i].reg_range);
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > + dev_err(data->dev,
> > "Error writing pmu_range\n");
> > return ret;
> > }
> > @@ -588,7 +587,7 @@ static int bmc150_accel_get_temp(struct bmc150_accel_data *data, int *val)
> >
> > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_TEMP, &value);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error reading reg_temp\n");
> > + dev_err(data->dev, "Error reading reg_temp\n");
> > mutex_unlock(&data->mutex);
> > return ret;
> > }
> > @@ -617,7 +616,7 @@ static int bmc150_accel_get_axis(struct bmc150_accel_data *data,
> > ret = regmap_bulk_read(data->regmap, BMC150_ACCEL_AXIS_TO_REG(axis),
> > &raw_val, 2);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error reading axis %d\n", axis);
> > + dev_err(data->dev, "Error reading axis %d\n", axis);
> > bmc150_accel_set_power_state(data, false);
> > mutex_unlock(&data->mutex);
> > return ret;
> > @@ -934,7 +933,7 @@ static int __bmc150_accel_fifo_flush(struct iio_dev *indio_dev,
> >
> > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_FIFO_STATUS, &val);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error reading reg_fifo_status\n");
> > + dev_err(data->dev, "Error reading reg_fifo_status\n");
> > return ret;
> > }
> >
> > @@ -1215,7 +1214,7 @@ static int bmc150_accel_trig_try_reen(struct iio_trigger *trig)
> > BMC150_ACCEL_INT_MODE_LATCH_RESET);
> > mutex_unlock(&data->mutex);
> > if (ret < 0) {
> > - dev_err(&data->client->dev,
> > + dev_err(data->dev,
> > "Error writing reg_int_rst_latch\n");
> > return ret;
> > }
> > @@ -1273,7 +1272,7 @@ static int bmc150_accel_handle_roc_event(struct iio_dev *indio_dev)
> >
> > ret = regmap_read(data->regmap, BMC150_ACCEL_REG_INT_STATUS_2, &val);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error reading reg_int_status_2\n");
> > + dev_err(data->dev, "Error reading reg_int_status_2\n");
> > return ret;
> > }
> >
> > @@ -1333,7 +1332,7 @@ static irqreturn_t bmc150_accel_irq_thread_handler(int irq, void *private)
> > BMC150_ACCEL_INT_MODE_LATCH_INT |
> > BMC150_ACCEL_INT_MODE_LATCH_RESET);
> > if (ret)
> > - dev_err(&data->client->dev, "Error writing reg_int_rst_latch\n");
> > + dev_err(data->dev, "Error writing reg_int_rst_latch\n");
> > ret = IRQ_HANDLED;
> > } else {
> > ret = IRQ_NONE;
> > @@ -1385,17 +1384,13 @@ static const char *bmc150_accel_match_acpi_device(struct device *dev, int *data)
> > return dev_name(dev);
> > }
> >
> > -static int bmc150_accel_gpio_probe(struct i2c_client *client,
> > - struct bmc150_accel_data *data)
> > +static int bmc150_accel_gpio_probe(struct bmc150_accel_data *data)
> > {
> > struct device *dev;
> > struct gpio_desc *gpio;
> > int ret;
> >
> > - if (!client)
> > - return -EINVAL;
> > -
> > - dev = &client->dev;
> > + dev = data->dev;
> >
> > /* data ready gpio interrupt pin */
> > gpio = devm_gpiod_get_index(dev, BMC150_ACCEL_GPIO_NAME, 0, GPIOD_IN);
> > @@ -1448,7 +1443,7 @@ static int bmc150_accel_triggers_setup(struct iio_dev *indio_dev,
> > for (i = 0; i < BMC150_ACCEL_TRIGGERS; i++) {
> > struct bmc150_accel_trigger *t = &data->triggers[i];
> >
> > - t->indio_trig = devm_iio_trigger_alloc(&data->client->dev,
> > + t->indio_trig = devm_iio_trigger_alloc(data->dev,
> > bmc150_accel_triggers[i].name,
> > indio_dev->name,
> > indio_dev->id);
> > @@ -1457,7 +1452,7 @@ static int bmc150_accel_triggers_setup(struct iio_dev *indio_dev,
> > break;
> > }
> >
> > - t->indio_trig->dev.parent = &data->client->dev;
> > + t->indio_trig->dev.parent = data->dev;
> > t->indio_trig->ops = &bmc150_accel_trigger_ops;
> > t->intr = bmc150_accel_triggers[i].intr;
> > t->data = data;
> > @@ -1486,7 +1481,7 @@ static int bmc150_accel_fifo_set_mode(struct bmc150_accel_data *data)
> >
> > ret = regmap_write(data->regmap, reg, data->fifo_mode);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error writing reg_fifo_config1\n");
> > + dev_err(data->dev, "Error writing reg_fifo_config1\n");
> > return ret;
> > }
> >
> > @@ -1496,7 +1491,7 @@ static int bmc150_accel_fifo_set_mode(struct bmc150_accel_data *data)
> > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_FIFO_CONFIG0,
> > data->watermark);
> > if (ret < 0)
> > - dev_err(&data->client->dev, "Error writing reg_fifo_config0\n");
> > + dev_err(data->dev, "Error writing reg_fifo_config0\n");
> >
> > return ret;
> > }
> > @@ -1586,6 +1581,7 @@ static int bmc150_accel_probe(struct i2c_client *client,
> > int ret;
> > const char *name = NULL;
> > int chip_id = 0;
> > + struct device *dev;
> >
> > indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> > if (!indio_dev)
> > @@ -1593,12 +1589,13 @@ static int bmc150_accel_probe(struct i2c_client *client,
> >
> > data = iio_priv(indio_dev);
> > i2c_set_clientdata(client, indio_dev);
> > - data->client = client;
> > data->dev = &client->dev;
> > + dev = &client->dev;
> > + data->irq = client->irq;
> >
> > data->regmap = devm_regmap_init_i2c(client, &bmc150_i2c_regmap_conf);
> > if (IS_ERR(data->regmap)) {
> > - dev_err(&client->dev, "Failed to initialize i2c regmap\n");
> > + dev_err(dev, "Failed to initialize i2c regmap\n");
> > return PTR_ERR(data->regmap);
> > }
> >
> > @@ -1607,8 +1604,8 @@ static int bmc150_accel_probe(struct i2c_client *client,
> > chip_id = id->driver_data;
> > }
> >
> > - if (ACPI_HANDLE(&client->dev))
> > - name = bmc150_accel_match_acpi_device(&client->dev, &chip_id);
> > + if (ACPI_HANDLE(dev))
> > + name = bmc150_accel_match_acpi_device(dev, &chip_id);
> >
> > data->chip_info = &bmc150_accel_chip_info_tbl[chip_id];
> >
> > @@ -1618,7 +1615,7 @@ static int bmc150_accel_probe(struct i2c_client *client,
> >
> > mutex_init(&data->mutex);
> >
> > - indio_dev->dev.parent = &client->dev;
> > + indio_dev->dev.parent = dev;
> > indio_dev->channels = data->chip_info->channels;
> > indio_dev->num_channels = data->chip_info->num_channels;
> > indio_dev->name = name;
> > @@ -1630,16 +1627,16 @@ static int bmc150_accel_probe(struct i2c_client *client,
> > bmc150_accel_trigger_handler,
> > &bmc150_accel_buffer_ops);
> > if (ret < 0) {
> > - dev_err(&client->dev, "Failed: iio triggered buffer setup\n");
> > + dev_err(data->dev, "Failed: iio triggered buffer setup\n");
> > return ret;
> > }
> >
> > - if (client->irq <= 0)
> > - client->irq = bmc150_accel_gpio_probe(client, data);
> > + if (data->irq <= 0)
> > + data->irq = bmc150_accel_gpio_probe(data);
> >
> > - if (client->irq > 0) {
> > + if (data->irq > 0) {
> > ret = devm_request_threaded_irq(
> > - &client->dev, client->irq,
> > + data->dev, data->irq,
> > bmc150_accel_irq_handler,
> > bmc150_accel_irq_thread_handler,
> > IRQF_TRIGGER_RISING,
> > @@ -1657,7 +1654,7 @@ static int bmc150_accel_probe(struct i2c_client *client,
> > ret = regmap_write(data->regmap, BMC150_ACCEL_REG_INT_RST_LATCH,
> > BMC150_ACCEL_INT_MODE_LATCH_RESET);
> > if (ret < 0) {
> > - dev_err(&data->client->dev, "Error writing reg_int_rst_latch\n");
> > + dev_err(data->dev, "Error writing reg_int_rst_latch\n");
> > goto err_buffer_cleanup;
> > }
> >
> > @@ -1678,18 +1675,17 @@ static int bmc150_accel_probe(struct i2c_client *client,
> >
> > ret = iio_device_register(indio_dev);
> > if (ret < 0) {
> > - dev_err(&client->dev, "Unable to register iio device\n");
> > + dev_err(data->dev, "Unable to register iio device\n");
> > goto err_trigger_unregister;
> > }
> >
> > - ret = pm_runtime_set_active(&client->dev);
> > + ret = pm_runtime_set_active(dev);
> > if (ret)
> > goto err_iio_unregister;
> >
> > - pm_runtime_enable(&client->dev);
> > - pm_runtime_set_autosuspend_delay(&client->dev,
> > - BMC150_AUTO_SUSPEND_DELAY_MS);
> > - pm_runtime_use_autosuspend(&client->dev);
> > + pm_runtime_enable(dev);
> > + pm_runtime_set_autosuspend_delay(dev, BMC150_AUTO_SUSPEND_DELAY_MS);
> > + pm_runtime_use_autosuspend(dev);
> >
> > return 0;
> >
> > @@ -1708,9 +1704,9 @@ static int bmc150_accel_remove(struct i2c_client *client)
> > struct iio_dev *indio_dev = i2c_get_clientdata(client);
> > struct bmc150_accel_data *data = iio_priv(indio_dev);
> >
> > - pm_runtime_disable(&client->dev);
> > - pm_runtime_set_suspended(&client->dev);
> > - pm_runtime_put_noidle(&client->dev);
> > + pm_runtime_disable(data->dev);
> > + pm_runtime_set_suspended(data->dev);
> > + pm_runtime_put_noidle(data->dev);
> >
> > iio_device_unregister(indio_dev);
> >
> > @@ -1728,7 +1724,7 @@ static int bmc150_accel_remove(struct i2c_client *client)
> > #ifdef CONFIG_PM_SLEEP
> > static int bmc150_accel_suspend(struct device *dev)
> > {
> > - struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
> > + struct iio_dev *indio_dev = dev_get_drvdata(dev);
> > struct bmc150_accel_data *data = iio_priv(indio_dev);
> >
> > mutex_lock(&data->mutex);
> > @@ -1740,7 +1736,7 @@ static int bmc150_accel_suspend(struct device *dev)
> >
> > static int bmc150_accel_resume(struct device *dev)
> > {
> > - struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
> > + struct iio_dev *indio_dev = dev_get_drvdata(dev);
> > struct bmc150_accel_data *data = iio_priv(indio_dev);
> >
> > mutex_lock(&data->mutex);
> > @@ -1756,11 +1752,11 @@ static int bmc150_accel_resume(struct device *dev)
> > #ifdef CONFIG_PM
> > static int bmc150_accel_runtime_suspend(struct device *dev)
> > {
> > - struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
> > + struct iio_dev *indio_dev = dev_get_drvdata(dev);
> > struct bmc150_accel_data *data = iio_priv(indio_dev);
> > int ret;
> >
> > - dev_dbg(&data->client->dev, __func__);
> > + dev_dbg(data->dev, __func__);
> > ret = bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_SUSPEND, 0);
> > if (ret < 0)
> > return -EAGAIN;
> > @@ -1770,12 +1766,12 @@ static int bmc150_accel_runtime_suspend(struct device *dev)
> >
> > static int bmc150_accel_runtime_resume(struct device *dev)
> > {
> > - struct iio_dev *indio_dev = i2c_get_clientdata(to_i2c_client(dev));
> > + struct iio_dev *indio_dev = dev_get_drvdata(dev);
> > struct bmc150_accel_data *data = iio_priv(indio_dev);
> > int ret;
> > int sleep_val;
> >
> > - dev_dbg(&data->client->dev, __func__);
> > + dev_dbg(data->dev, __func__);
> >
> > ret = bmc150_accel_set_mode(data, BMC150_ACCEL_SLEEP_MODE_NORMAL, 0);
> > if (ret < 0)
> >
>
>
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-08-17 7:57 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-12 10:12 [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Markus Pargmann
2015-08-12 10:12 ` [PATCH 01/20] regmap: Add missing comments about struct regmap_bus Markus Pargmann
2015-08-12 20:12 ` Hartmut Knaack
2015-08-17 7:19 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 02/20] regmap: Remove regmap_bulk_write 64bit support Markus Pargmann
2015-08-12 10:25 ` Mark Brown
2015-08-12 10:44 ` Markus Pargmann
2015-08-12 10:57 ` Mark Brown
2015-08-12 12:28 ` Markus Pargmann
2015-08-12 12:35 ` Mark Brown
2015-08-12 13:08 ` Markus Pargmann
2015-08-12 14:56 ` Mark Brown
2015-08-12 10:12 ` [PATCH 03/20] regmap: Fix integertypes for register address and value Markus Pargmann
2015-08-12 10:12 ` [PATCH 04/20] regmap: Do not skip format initialization Markus Pargmann
2015-08-12 10:43 ` Mark Brown
2015-08-12 10:12 ` [PATCH 05/20] regmap: Restructure writes in _regmap_raw_write() Markus Pargmann
2015-08-12 10:54 ` Mark Brown
2015-08-12 10:12 ` [PATCH 06/20] regmap: Fix regmap_bulk_write for bus writes Markus Pargmann
2015-08-12 11:10 ` Mark Brown
2015-08-12 12:07 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 07/20] regmap: Without bus read() or write(), force use_single_rw Markus Pargmann
2015-08-12 10:33 ` Daniel Kurtz
2015-08-12 10:45 ` Markus Pargmann
2015-08-12 11:13 ` Mark Brown
2015-08-12 10:12 ` [PATCH 08/20] regmap: Fix regmap_can_raw_write check Markus Pargmann
2015-08-12 10:12 ` [PATCH 09/20] regmap: _regmap_raw_write fix for busses without write() Markus Pargmann
2015-08-12 11:20 ` Mark Brown
2015-08-12 12:20 ` Markus Pargmann
2015-08-12 12:34 ` Mark Brown
2015-08-12 13:05 ` Markus Pargmann
2015-08-14 16:40 ` Mark Brown
2015-08-12 10:12 ` [PATCH 10/20] regmap: _regmap_raw_multi_reg_write: Add reg_write() support Markus Pargmann
2015-08-12 12:39 ` Mark Brown
2015-08-12 13:17 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 11/20] regmap: _regmap_raw_read: Add handling of busses without bus->read() Markus Pargmann
2015-08-12 11:27 ` Mark Brown
2015-08-12 12:34 ` Markus Pargmann
2015-08-14 16:34 ` Mark Brown
2015-08-12 10:12 ` [PATCH 12/20] regmap: Introduce max_raw_io for regmap_bulk_read/write Markus Pargmann
2015-08-12 11:49 ` Mark Brown
2015-08-12 12:38 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 13/20] regmap: regmap max_raw_io getter function Markus Pargmann
2015-08-12 11:51 ` Mark Brown
2015-08-12 12:51 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 14/20] regmap: Add raw_write/read checks for max_raw_write/read sizes Markus Pargmann
2015-08-12 11:57 ` Mark Brown
2015-08-12 12:47 ` Markus Pargmann
2015-08-14 16:36 ` Mark Brown
2015-08-12 10:12 ` [PATCH 15/20] regmap-i2c: Add smbus i2c block support Markus Pargmann
2015-08-12 11:59 ` Mark Brown
2015-08-12 12:52 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 16/20] iio: bmc150: Fix irq checks Markus Pargmann
2015-08-15 13:13 ` Jonathan Cameron
2015-08-17 7:24 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 17/20] iio: bmc150: Use i2c regmap Markus Pargmann
2015-08-12 12:01 ` Mark Brown
2015-08-12 12:52 ` Markus Pargmann
2015-08-15 13:27 ` Jonathan Cameron
2015-08-17 7:49 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 18/20] iio: bcm150: Remove i2c_client from private data Markus Pargmann
2015-08-15 13:33 ` Jonathan Cameron
2015-08-17 7:57 ` Markus Pargmann [this message]
2015-08-12 10:12 ` [PATCH 19/20] iio: bmc150: Split the driver into core and i2c Markus Pargmann
2015-08-15 13:41 ` Jonathan Cameron
2015-08-17 7:59 ` Markus Pargmann
2015-08-12 10:12 ` [PATCH 20/20] iio: bmc150: Add SPI driver Markus Pargmann
2015-08-12 12:03 ` Mark Brown
2015-08-17 8:00 ` Markus Pargmann
2015-08-15 13:47 ` Jonathan Cameron
2015-08-17 8:03 ` Markus Pargmann
2015-08-12 10:37 ` [PATCH 00/20] Regmap max_raw_io and bmc150 SPI support Mark Brown
2015-08-12 10:47 ` Markus Pargmann
2015-08-14 16:34 ` Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150817075713.GK19600@pengutronix.de \
--to=mpa@pengutronix.de \
--cc=broonie@kernel.org \
--cc=jic23@kernel.org \
--cc=kernel@pengutronix.de \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).