gpiolib-sysfs.c (10a03c36b7dd7759788ebc613091d313b60f93e0) gpiolib-sysfs.c (75a2d4226b53710380d1017b3f4c88f937ddba78)
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/idr.h>
3#include <linux/mutex.h>
4#include <linux/device.h>
5#include <linux/sysfs.h>
6#include <linux/gpio/consumer.h>
7#include <linux/gpio/driver.h>
8#include <linux/interrupt.h>

--- 412 unchanged lines hidden (view full) ---

421ATTRIBUTE_GROUPS(gpiochip);
422
423/*
424 * /sys/class/gpio/export ... write-only
425 * integer N ... number of GPIO to export (full access)
426 * /sys/class/gpio/unexport ... write-only
427 * integer N ... number of GPIO to unexport
428 */
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/idr.h>
3#include <linux/mutex.h>
4#include <linux/device.h>
5#include <linux/sysfs.h>
6#include <linux/gpio/consumer.h>
7#include <linux/gpio/driver.h>
8#include <linux/interrupt.h>

--- 412 unchanged lines hidden (view full) ---

421ATTRIBUTE_GROUPS(gpiochip);
422
423/*
424 * /sys/class/gpio/export ... write-only
425 * integer N ... number of GPIO to export (full access)
426 * /sys/class/gpio/unexport ... write-only
427 * integer N ... number of GPIO to unexport
428 */
429static ssize_t export_store(struct class *class,
430 struct class_attribute *attr,
429static ssize_t export_store(const struct class *class,
430 const struct class_attribute *attr,
431 const char *buf, size_t len)
432{
433 long gpio;
434 struct gpio_desc *desc;
435 int status;
436 struct gpio_chip *gc;
437 int offset;
438

--- 34 unchanged lines hidden (view full) ---

473
474done:
475 if (status)
476 pr_debug("%s: status %d\n", __func__, status);
477 return status ? : len;
478}
479static CLASS_ATTR_WO(export);
480
431 const char *buf, size_t len)
432{
433 long gpio;
434 struct gpio_desc *desc;
435 int status;
436 struct gpio_chip *gc;
437 int offset;
438

--- 34 unchanged lines hidden (view full) ---

473
474done:
475 if (status)
476 pr_debug("%s: status %d\n", __func__, status);
477 return status ? : len;
478}
479static CLASS_ATTR_WO(export);
480
481static ssize_t unexport_store(struct class *class,
482 struct class_attribute *attr,
481static ssize_t unexport_store(const struct class *class,
482 const struct class_attribute *attr,
483 const char *buf, size_t len)
484{
485 long gpio;
486 struct gpio_desc *desc;
487 int status;
488
489 status = kstrtol(buf, 0, &gpio);
490 if (status < 0)

--- 325 unchanged lines hidden ---
483 const char *buf, size_t len)
484{
485 long gpio;
486 struct gpio_desc *desc;
487 int status;
488
489 status = kstrtol(buf, 0, &gpio);
490 if (status < 0)

--- 325 unchanged lines hidden ---