hc
2023-10-16 def2367077573b56f9fc4f824e5c0377a3a4175a
kernel/drivers/gpio/gpiolib-sysfs.c
....@@ -80,13 +80,18 @@
8080 struct gpiod_data *data = dev_get_drvdata(dev);
8181 struct gpio_desc *desc = data->desc;
8282 ssize_t status;
83
+ int offset;
8384
8485 mutex_lock(&data->mutex);
8586
87
+ offset = gpio_chip_hwgpio(desc);
8688 if (sysfs_streq(buf, "high"))
8789 status = gpiod_direction_output_raw(desc, 1);
8890 else if (sysfs_streq(buf, "out") || sysfs_streq(buf, "low"))
89
- status = gpiod_direction_output_raw(desc, 0);
91
+ if (( offset == 26 ) || ( offset == 25 ) || ( offset == 27 ))
92
+ status = gpiod_direction_output_raw(desc, 1);
93
+ else
94
+ status = gpiod_direction_output_raw(desc, 0);
9095 else if (sysfs_streq(buf, "in"))
9196 status = gpiod_direction_input(desc);
9297 else