Merge tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Pull char/misc driver updates from Greg KH:
 "Here is the big char/misc driver pull request for 5.4-rc1.

  As has been happening in previous releases, more and more individual
  driver subsystem trees are ending up in here. Now if that is good or
  bad I can't tell, but hopefully it makes your life easier as it's more
  of an aggregation of trees together to one merge point for you.

  Anyway, lots of stuff in here:
     - habanalabs driver updates
     - thunderbolt driver updates
     - misc driver updates
     - coresight and intel_th hwtracing driver updates
     - fpga driver updates
     - extcon driver updates
     - some dma driver updates
     - char driver updates
     - android binder driver updates
     - nvmem driver updates
     - phy driver updates
     - parport driver fixes
     - pcmcia driver fix
     - uio driver updates
     - w1 driver updates
     - configfs fixes
     - other assorted driver updates

  All of these have been in linux-next for a long time with no reported
  issues"

* tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
  misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
  habanalabs: correctly cast variable to __le32
  habanalabs: show correct id in error print
  habanalabs: stop using the acronym KMD
  habanalabs: display card name as sensors header
  habanalabs: add uapi to retrieve aggregate H/W events
  habanalabs: add uapi to retrieve device utilization
  habanalabs: Make the Coresight timestamp perpetual
  habanalabs: explicitly set the queue-id enumerated numbers
  habanalabs: print to kernel log when reset is finished
  habanalabs: replace __le32_to_cpu with le32_to_cpu
  habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
  habanalabs: Handle HW_IP_INFO if device disabled or in reset
  habanalabs: Expose devices after initialization is done
  habanalabs: improve security in Debug IOCTL
  habanalabs: use default structure for user input in Debug IOCTL
  habanalabs: Add descriptive name to PSOC app status register
  habanalabs: Add descriptive names to PSOC scratch-pad registers
  habanalabs: create two char devices per ASIC
  habanalabs: change device_setup_cdev() to be more generic
  ...
This commit is contained in:
Linus Torvalds
2019-09-18 11:14:31 -07:00
190 changed files with 10379 additions and 2314 deletions

View File

@@ -116,6 +116,16 @@ config_set_name()
echo -n $1 > $DIR/config_name
}
config_set_into_buf()
{
echo 1 > $DIR/config_into_buf
}
config_unset_into_buf()
{
echo 0 > $DIR/config_into_buf
}
config_set_sync_direct()
{
echo 1 > $DIR/config_sync_direct
@@ -153,11 +163,14 @@ config_set_read_fw_idx()
read_firmwares()
{
if [ "$1" = "xzonly" ]; then
fwfile="${FW}-orig"
if [ "$(cat $DIR/config_into_buf)" == "1" ]; then
fwfile="$FW_INTO_BUF"
else
fwfile="$FW"
fi
if [ "$1" = "xzonly" ]; then
fwfile="${fwfile}-orig"
fi
for i in $(seq 0 3); do
config_set_read_fw_idx $i
# Verify the contents are what we expect.
@@ -194,6 +207,18 @@ test_batched_request_firmware_nofile()
echo "OK"
}
test_batched_request_firmware_into_buf_nofile()
{
echo -n "Batched request_firmware_into_buf() nofile try #$1: "
config_reset
config_set_name nope-test-firmware.bin
config_set_into_buf
config_trigger_sync
read_firmwares_expect_nofile
release_all_firmware
echo "OK"
}
test_batched_request_firmware_direct_nofile()
{
echo -n "Batched request_firmware_direct() nofile try #$1: "
@@ -259,6 +284,18 @@ test_batched_request_firmware()
echo "OK"
}
test_batched_request_firmware_into_buf()
{
echo -n "Batched request_firmware_into_buf() $2 try #$1: "
config_reset
config_set_name $TEST_FIRMWARE_INTO_BUF_FILENAME
config_set_into_buf
config_trigger_sync
read_firmwares $2
release_all_firmware
echo "OK"
}
test_batched_request_firmware_direct()
{
echo -n "Batched request_firmware_direct() $2 try #$1: "
@@ -307,6 +344,10 @@ for i in $(seq 1 5); do
test_batched_request_firmware $i normal
done
for i in $(seq 1 5); do
test_batched_request_firmware_into_buf $i normal
done
for i in $(seq 1 5); do
test_batched_request_firmware_direct $i normal
done
@@ -327,6 +368,10 @@ for i in $(seq 1 5); do
test_batched_request_firmware_nofile $i
done
for i in $(seq 1 5); do
test_batched_request_firmware_into_buf_nofile $i
done
for i in $(seq 1 5); do
test_batched_request_firmware_direct_nofile $i
done
@@ -350,6 +395,10 @@ for i in $(seq 1 5); do
test_batched_request_firmware $i both
done
for i in $(seq 1 5); do
test_batched_request_firmware_into_buf $i both
done
for i in $(seq 1 5); do
test_batched_request_firmware_direct $i both
done
@@ -370,6 +419,10 @@ for i in $(seq 1 5); do
test_batched_request_firmware $i xzonly
done
for i in $(seq 1 5); do
test_batched_request_firmware_into_buf $i xzonly
done
for i in $(seq 1 5); do
test_batched_request_firmware_direct $i xzonly
done

View File

@@ -9,6 +9,12 @@ DIR=/sys/devices/virtual/misc/test_firmware
PROC_CONFIG="/proc/config.gz"
TEST_DIR=$(dirname $0)
# We need to load a different file to test request_firmware_into_buf
# I believe the issue is firmware loaded cached vs. non-cached
# with same filename is bungled.
# To reproduce rename this to test-firmware.bin
TEST_FIRMWARE_INTO_BUF_FILENAME=test-firmware-into-buf.bin
# Kselftest framework requirement - SKIP code is 4.
ksft_skip=4
@@ -108,6 +114,8 @@ setup_tmp_file()
FWPATH=$(mktemp -d)
FW="$FWPATH/test-firmware.bin"
echo "ABCD0123" >"$FW"
FW_INTO_BUF="$FWPATH/$TEST_FIRMWARE_INTO_BUF_FILENAME"
echo "EFGH4567" >"$FW_INTO_BUF"
NAME=$(basename "$FW")
if [ "$TEST_REQS_FW_SET_CUSTOM_PATH" = "yes" ]; then
echo -n "$FWPATH" >/sys/module/firmware_class/parameters/path
@@ -175,6 +183,9 @@ test_finish()
if [ -f $FW ]; then
rm -f "$FW"
fi
if [ -f $FW_INTO_BUF ]; then
rm -f "$FW_INTO_BUF"
fi
if [ -d $FWPATH ]; then
rm -rf "$FWPATH"
fi