Lines Matching +full:gpio +full:- +full:line

2 # SPDX-License-Identifier: GPL-2.0
6 CONFIGFS_DIR="/sys/kernel/config/gpio-sim"
7 MODULE="gpio-sim"
11 echo "GPIO $MODULE test FAIL"
17 echo "GPIO $MODULE test SKIP"
26 if [ "$BANK" = "live" -o "$BANK" = "dev_name" ]; then
30 LINES=`ls $CONFIGFS_DIR/$CHIP/$BANK/ | grep -E ^line`
32 for LINE in $LINES; do
33 if [ -e $CONFIGFS_DIR/$CHIP/$BANK/$LINE/hog ]; then
34 rmdir $CONFIGFS_DIR/$CHIP/$BANK/$LINE/hog || \
38 rmdir $CONFIGFS_DIR/$CHIP/$BANK/$LINE || \
39 fail "Unable to remove the line"
84 local LINE_DIR=$CONFIGFS_DIR/$CHIP/$BANK/line$OFFSET
86 test -d $LINE_DIR || mkdir $LINE_DIR
87 echo $NAME > $LINE_DIR/name || fail "Unable to set the line name"
128 $BASE_DIR/gpio-chip-info /dev/`configfs_chip_name $CHIP $BANK` num-lines || \
136 $BASE_DIR/gpio-chip-info /dev/`configfs_chip_name $CHIP $BANK` label || \
145 $BASE_DIR/gpio-line-name /dev/`configfs_chip_name $CHIP $BANK` $OFFSET || \
146 fail "unable to read the line name from the character device"
158 echo $PULL > $SYSFS_PATH || fail "Unable to set line pull in sysfs"
161 # Load the gpio-sim module. This will pull in configfs if needed too.
162 modprobe gpio-sim || skip "unable to load the gpio-sim module"
165 if [ "$IDX" -eq "5" ]; then
169 mountpoint -q /sys/kernel/config && break
184 test -n `cat $CONFIGFS_DIR/chip/bank/chip_name` || fail "chip_name doesn't work"
199 test -n `cat $CONFIGFS_DIR/chip/dev_name` || fail "dev_name doesn't work"
235 test -z "`cat $CONFIGFS_DIR/chip/bank/label`" || fail "label is not empty"
239 echo "2.5. Line names can be configured"
246 test "`get_line_name chip bank 0`" = "foo" || fail "line name is incorrect"
247 test "`get_line_name chip bank 2`" = "bar" || fail "line name is incorrect"
251 echo "2.6. Line config can remain unused if offset is greater than number of lines"
257 test "`get_line_name chip bank 0`" = "" || fail "line name is incorrect"
258 test "`get_line_name chip bank 1`" = "" || fail "line name is incorrect"
262 echo "2.7. Line configfs directory names are sanitized"
266 fail "invalid configfs line name accepted"
268 fail "invalid configfs line name accepted"
294 echo "2.10. Can't create line items when chip is live"
298 mkdir $CONFIGFS_DIR/chip/bank/line0 2> /dev/null && fail "Creating line item should fail"
302 echo "2.11. Probe errors are propagated to user-space"
309 echo "2.12. Cannot enable a chip without any GPIO banks"
311 echo 1 > $CONFIGFS_DIR/chip/live 2> /dev/null && fail "Chip enabled without any GPIO banks"
327 mkdir -p $CONFIGFS_DIR/chip/bank/line4/hog
329 $BASE_DIR/gpio-mockup-cdev -s 1 /dev/`configfs_chip_name chip bank` 4 2> /dev/null && \
330 fail "Setting the value of a hogged line shouldn't succeed"
341 sysfs_set_pull chip bank 0 pull-up
342 $BASE_DIR/gpio-mockup-cdev /dev/`configfs_chip_name chip bank` 0
344 sysfs_set_pull chip bank 0 pull-down
345 $BASE_DIR/gpio-mockup-cdev /dev/`configfs_chip_name chip bank` 1
358 test `cat $SYSFS_PATH` = "pull-down" || fail "reading the pull failed"
359 sysfs_set_pull chip bank 0 pull-up
360 test `cat $SYSFS_PATH` = "pull-up" || fail "reading the pull failed"
387 echo "4. Simulated GPIO chips are functional"
398 $BASE_DIR/gpio-mockup-cdev -s 1 /dev/`configfs_chip_name chip bank` 0 &
413 $BASE_DIR/gpio-mockup-cdev -b pull-up /dev/`configfs_chip_name chip bank` 0
418 echo "GPIO $MODULE test PASS"