On Wed, Jan 08, 2014 at 02:11:32PM -0800, Christopher Heiny wrote:
> Moves i2c_check_functionality to occur before the gpio_config() call. This
> can catch some issues that would otherwise result in mysterious problems
> in gpio_config().
>
> Reduces debugging output; updates remaining output to be more accurate.
>
> Signed-off-by: Christopher Heiny <[email protected]>
> Cc: Dmitry Torokhov <[email protected]>
> Cc: Benjamin Tissoires <[email protected]>
Applied, thank you.
>
> ---
>
> drivers/input/rmi4/rmi_i2c.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/input/rmi4/rmi_i2c.c b/drivers/input/rmi4/rmi_i2c.c
> index 43b0e53..b4bd8ae 100644
> --- a/drivers/input/rmi4/rmi_i2c.c
> +++ b/drivers/input/rmi4/rmi_i2c.c
> @@ -274,26 +274,24 @@ static int rmi_i2c_probe(struct i2c_client *client,
> dev_err(&client->dev, "no platform data\n");
> return -EINVAL;
> }
> - dev_info(&client->dev, "Probing %s at %#02x (IRQ %d).\n",
> + dev_dbg(&client->dev, "Probing %s at %#02x (GPIO %d).\n",
> pdata->sensor_name ? pdata->sensor_name : "-no name-",
> client->addr, pdata->attn_gpio);
>
> + retval = i2c_check_functionality(client->adapter, I2C_FUNC_I2C);
> + if (!retval) {
> + dev_err(&client->dev, "i2c_check_functionality error %d.\n",
> + retval);
> + return retval;
> + }
> +
> if (pdata->gpio_config) {
> - dev_dbg(&client->dev, "Configuring GPIOs.\n");
> retval = pdata->gpio_config(pdata->gpio_data, true);
> if (retval < 0) {
> dev_err(&client->dev, "Failed to configure GPIOs, code:
> %d.\n",
> retval);
> return retval;
> }
> - dev_info(&client->dev, "Done with GPIO configuration.\n");
> - }
> -
> - retval = i2c_check_functionality(client->adapter, I2C_FUNC_I2C);
> - if (!retval) {
> - dev_err(&client->dev, "i2c_check_functionality error %d.\n",
> - retval);
> - return retval;
> }
>
> xport = devm_kzalloc(&client->dev, sizeof(struct rmi_transport_dev),
--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html