Re: [PATCH 36/43] gpio: pca953x: Add reset-gpios property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Samstag, den 07.06.2014, 14:56 -0700 schrieb Steve Longerbeam:
[...]
>  static int pca953x_read_single(struct pca953x_chip *chip, int reg, u32 *val,
> @@ -735,6 +741,26 @@ static int pca953x_probe(struct i2c_client *client,
>  		/* If I2C node has no interrupts property, disable GPIO interrupts */
>  		if (of_find_property(client->dev.of_node, "interrupts", NULL) == NULL)
>  			irq_base = -1;
> +
> +		/* see if we need to de-assert a reset pin */
> +		ret = of_get_named_gpio_flags(client->dev.of_node,
> +					      "reset-gpios", 0,
> +					      &chip->reset_gpio_flags);
> +		if (gpio_is_valid(ret)) {
> +			chip->reset_gpio = ret;
> +			ret = devm_gpio_request_one(&client->dev,
> +						    chip->reset_gpio,
> +						    GPIOF_DIR_OUT,
> +						    "pca953x_reset");
> +			if (ret == 0) {
> +				/* bring chip out of reset */
> +				dev_info(&client->dev, "releasing reset\n");

I think dev_dbg would be more appropriate.

> +				gpio_set_value(chip->reset_gpio,
> +					       (chip->reset_gpio_flags ==
> +						OF_GPIO_ACTIVE_LOW) ? 1 : 0);
> +			}

You could use the gpiod API (include/gpio/consumer.h) here and have it
do the polarity handling automatically.

regards
Philipp

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux