From 50a212ec906f7524620675f0c57357691c26c81f Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 16 Oct 2024 01:20:19 +0000 Subject: [PATCH] 修改GPIO导出默认初始值 --- kernel/drivers/gpio/gpiolib-sysfs.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/kernel/drivers/gpio/gpiolib-sysfs.c b/kernel/drivers/gpio/gpiolib-sysfs.c index fa5d945..b922f92 100644 --- a/kernel/drivers/gpio/gpiolib-sysfs.c +++ b/kernel/drivers/gpio/gpiolib-sysfs.c @@ -81,13 +81,17 @@ struct gpiod_data *data = dev_get_drvdata(dev); struct gpio_desc *desc = data->desc; ssize_t status; + int offset; mutex_lock(&data->mutex); - + offset = gpio_chip_hwgpio(desc); if (sysfs_streq(buf, "high")) status = gpiod_direction_output_raw(desc, 1); else if (sysfs_streq(buf, "out") || sysfs_streq(buf, "low")) - status = gpiod_direction_output_raw(desc, 0); + if (( offset == 8 ) || ( offset == 11 ) || ( offset == 12 ) || ( offset == 13 ) || ( offset == 14 )) + status = gpiod_direction_output_raw(desc, 1); + else + status = gpiod_direction_output_raw(desc, 0); else if (sysfs_streq(buf, "in")) status = gpiod_direction_input(desc); else -- Gitblit v1.6.2