本文共 727 字,大约阅读时间需要 2 分钟。
/** * gpiod_get_direction - return the current direction of a GPIO * @desc: GPIO to get the direction of * * Return GPIOF_DIR_IN or GPIOF_DIR_OUT, or an error code in case of error. * * This function may sleep if gpiod_cansleep() is true. */int gpiod_get_direction(struct gpio_desc *desc){ struct gpio_chip *chip; unsigned offset; int status = -EINVAL; chip = gpiod_to_chip(desc); offset = gpio_chip_hwgpio(desc); if (!chip->get_direction) return status; status = chip->get_direction(chip, offset); if (status > 0) { /* GPIOF_DIR_IN, or other positive */ status = 1; clear_bit(FLAG_IS_OUT, &desc->flags); } if (status == 0) { /* GPIOF_DIR_OUT */ set_bit(FLAG_IS_OUT, &desc->flags); } return status;}
转载地址:http://sgqti.baihongyu.com/