hc
2024-10-16 50a212ec906f7524620675f0c57357691c26c81f
修改GPIO导出默认初始值
1 files modified
8 ■■■■ changed files
kernel/drivers/gpio/gpiolib-sysfs.c 8 ●●●● patch | view | raw | blame | history
kernel/drivers/gpio/gpiolib-sysfs.c
....@@ -81,13 +81,17 @@
8181 struct gpiod_data *data = dev_get_drvdata(dev);
8282 struct gpio_desc *desc = data->desc;
8383 ssize_t status;
84
+ int offset;
8485
8586 mutex_lock(&data->mutex);
86
-
87
+ offset = gpio_chip_hwgpio(desc);
8788 if (sysfs_streq(buf, "high"))
8889 status = gpiod_direction_output_raw(desc, 1);
8990 else if (sysfs_streq(buf, "out") || sysfs_streq(buf, "low"))
90
- status = gpiod_direction_output_raw(desc, 0);
91
+ if (( offset == 8 ) || ( offset == 11 ) || ( offset == 12 ) || ( offset == 13 ) || ( offset == 14 ))
92
+ status = gpiod_direction_output_raw(desc, 1);
93
+ else
94
+ status = gpiod_direction_output_raw(desc, 0);
9195 else if (sysfs_streq(buf, "in"))
9296 status = gpiod_direction_input(desc);
9397 else