is_consistent() { val= active_low_sysfs=`cat $GPIO_SYSFS/gpio$nr/active_low` val_sysfs=`cat $GPIO_SYSFS/gpio$nr/value` dir_sysfs=`cat $GPIO_SYSFS/gpio$nr/direction` gpio_this_debugfs=`cat $GPIO_DEBUGFS |grep "gpio-$nr" | sed "s/(.*)//g"` dir_debugfs=`echo $gpio_this_debugfs | awk '{print $2}'` val_debugfs=`echo $gpio_this_debugfs | awk '{print $3}'` if [ $val_debugfs = "lo" ]; then val=0 elif [ $val_debugfs = "hi" ]; then val=1 fi if [ $active_low_sysfs = "1" ]; then if [ $val = "0" ]; then val="1" else val="0" fi fi if [ $val_sysfs = $val ] && [ $dir_sysfs = $dir_debugfs ]; then echo -n "." else echo "test fail, exit" die fi } test_pin_logic() { nr=$1 direction=$2 active_low=$3 value=$4 echo $direction > $GPIO_SYSFS/gpio$nr/direction echo $active_low > $GPIO_SYSFS/gpio$nr/active_low if [ $direction = "out" ]; then echo $value > $GPIO_SYSFS/gpio$nr/value fi is_consistent $nr } test_one_pin() { nr=$1 echo -n "test pin<$nr>" echo $nr > $GPIO_SYSFS/export 2>/dev/null if [ X$? != X0 ]; then echo "test GPIO pin $nr failed" die fi #"Checking if the sysfs is consistent with debugfs: " is_consistent $nr #"Checking the logic of active_low: " test_pin_logic $nr out 1 1 test_pin_logic $nr out 1 0 test_pin_logic $nr out 0 1 test_pin_logic $nr out 0 0 #"Checking the logic of direction: " test_pin_logic $nr in 1 1 test_pin_logic $nr out 1 0 test_pin_logic $nr low 0 1 test_pin_logic $nr high 0 0 echo $nr > $GPIO_SYSFS/unexport echo "successful" } test_one_pin_fail() { nr=$1 echo $nr > $GPIO_SYSFS/export 2>/dev/null if [ X$? != X0 ]; then echo "test invalid pin $nr successful" else echo "test invalid pin $nr failed" echo $nr > $GPIO_SYSFS/unexport 2>/dev/null die fi } list_chip() { echo `ls -d $GPIO_DRV_SYSFS/gpiochip* 2>/dev/null` } test_chip() { chip=$1 name=`basename $chip` base=`cat $chip/base` ngpio=`cat $chip/ngpio` printf "%-10s %-5s %-5s\n" $name $base $ngpio if [ $ngpio = "0" ]; then echo "number of gpio is zero is not allowed". fi test_one_pin $base test_one_pin $(($base + $ngpio - 1)) test_one_pin $((( RANDOM % $ngpio ) + $base )) } test_chips_sysfs() { gpiochip=`list_chip $module` if [ X"$gpiochip" = X ]; then if [ X"$valid" = Xfalse ]; then echo "successful" else echo "fail" die fi else for chip in $gpiochip; do test_chip $chip done fi } lue='search'/>
path: root/include/net/pkt_cls.h
diff options
context:
space:
mode:
authorHelge Deller <deller@gmx.de>2017-01-28 11:52:02 +0100
committerHelge Deller <deller@gmx.de>2017-01-28 21:54:23 +0100
commit2ad5d52d42810bed95100a3d912679d8864421ec (patch)
tree7f93e2f906b1c86f5b76c0f4c0978d41a8a29861 /include/net/pkt_cls.h
parent83b5d1e3d3013dbf90645a5d07179d018c8243fa (diff)
parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
In swab.h the "#if BITS_PER_LONG > 32" breaks compiling userspace programs if BITS_PER_LONG is #defined by userspace with the sizeof() compiler builtin. Solve this problem by using __BITS_PER_LONG instead. Since we now #include asm/bitsperlong.h avoid further potential userspace pollution by moving the #define of SHIFT_PER_LONG to bitops.h which is not exported to userspace. This patch unbreaks compiling qemu on hppa/parisc. Signed-off-by: Helge Deller <deller@gmx.de> Cc: <stable@vger.kernel.org>
Diffstat (limited to 'include/net/pkt_cls.h')