1bc81c1c7SShuah Khan#!/bin/bash
2bc81c1c7SShuah Khan# SPDX-License-Identifier: GPL-2.0
3bc81c1c7SShuah Khan# Media Device Allocator API test script
4bc81c1c7SShuah Khan# Copyright (c) 2019 Shuah Khan <shuah@kernel.org>
5bc81c1c7SShuah Khan
6bc81c1c7SShuah Khanecho "Media Device Allocator testing: unbind and bind"
7bc81c1c7SShuah Khanecho "media driver $1 audio driver $2"
8bc81c1c7SShuah Khan
9bc81c1c7SShuah KhanMDRIVER=/sys/bus/usb/drivers/$1
10bc81c1c7SShuah Khancd $MDRIVER
11bc81c1c7SShuah KhanMDEV=$(ls -d *\-*)
12bc81c1c7SShuah Khan
13bc81c1c7SShuah KhanADRIVER=/sys/bus/usb/drivers/$2
14bc81c1c7SShuah Khancd $ADRIVER
15bc81c1c7SShuah KhanADEV=$(ls -d *\-*.1)
16bc81c1c7SShuah Khan
17bc81c1c7SShuah Khanecho "=================================="
18bc81c1c7SShuah Khanecho "Test unbind both devices - start"
19bc81c1c7SShuah Khanecho "Running unbind of $MDEV from $MDRIVER"
20bc81c1c7SShuah Khanecho $MDEV > $MDRIVER/unbind;
21bc81c1c7SShuah Khan
22bc81c1c7SShuah Khanecho "Media device should still be present!"
23bc81c1c7SShuah Khanls -l /dev/media*
24bc81c1c7SShuah Khan
25bc81c1c7SShuah Khanecho "sound driver is at: $ADRIVER"
26bc81c1c7SShuah Khanecho "Device is: $ADEV"
27bc81c1c7SShuah Khan
28bc81c1c7SShuah Khanecho "Running unbind of $ADEV from $ADRIVER"
29bc81c1c7SShuah Khanecho $ADEV > $ADRIVER/unbind;
30bc81c1c7SShuah Khan
31bc81c1c7SShuah Khanecho "Media device should have been deleted!"
32bc81c1c7SShuah Khanls -l /dev/media*
33bc81c1c7SShuah Khanecho "Test unbind both devices - end"
34bc81c1c7SShuah Khan
35bc81c1c7SShuah Khanecho "=================================="
36bc81c1c7SShuah Khan
37bc81c1c7SShuah Khanecho "Test bind both devices - start"
38bc81c1c7SShuah Khanecho "Running bind of $MDEV from $MDRIVER"
39bc81c1c7SShuah Khanecho $MDEV > $MDRIVER/bind;
40bc81c1c7SShuah Khan
41bc81c1c7SShuah Khanecho "Media device should be present!"
42bc81c1c7SShuah Khanls -l /dev/media*
43bc81c1c7SShuah Khan
44bc81c1c7SShuah Khanecho "Running bind of $ADEV from $ADRIVER"
45bc81c1c7SShuah Khanecho $ADEV > $ADRIVER/bind;
46bc81c1c7SShuah Khan
47bc81c1c7SShuah Khanecho "Media device should be there!"
48bc81c1c7SShuah Khanls -l /dev/media*
49bc81c1c7SShuah Khan
50bc81c1c7SShuah Khanecho "Test bind both devices - end"
51bc81c1c7SShuah Khan
52bc81c1c7SShuah Khanecho "=================================="
53bc81c1c7SShuah Khan
54bc81c1c7SShuah Khanecho "Test unbind $MDEV - bind $MDEV - unbind $ADEV - bind $ADEV start"
55bc81c1c7SShuah Khan
56bc81c1c7SShuah Khanecho "Running unbind of $MDEV from $MDRIVER"
57bc81c1c7SShuah Khanecho $MDEV > $MDRIVER/unbind;
58bc81c1c7SShuah Khan
59bc81c1c7SShuah Khanecho "Media device should be there!"
60bc81c1c7SShuah Khanls -l /dev/media*
61bc81c1c7SShuah Khan
62bc81c1c7SShuah Khansleep 1
63bc81c1c7SShuah Khan
64bc81c1c7SShuah Khanecho "Running bind of $MDEV from $MDRIVER"
65bc81c1c7SShuah Khanecho $MDEV > $MDRIVER/bind;
66bc81c1c7SShuah Khan
67bc81c1c7SShuah Khanecho "Media device should be there!"
68bc81c1c7SShuah Khanls -l /dev/media*
69bc81c1c7SShuah Khan
70bc81c1c7SShuah Khanecho "Running unbind of $ADEV from $ADRIVER"
71bc81c1c7SShuah Khanecho $ADEV > $ADRIVER/unbind;
72bc81c1c7SShuah Khan
73bc81c1c7SShuah Khanecho "Media device should be there!"
74bc81c1c7SShuah Khanls -l /dev/media*
75bc81c1c7SShuah Khan
76bc81c1c7SShuah Khansleep 1
77bc81c1c7SShuah Khan
78bc81c1c7SShuah Khanecho "Running bind of $ADEV from $ADRIVER"
79bc81c1c7SShuah Khanecho $ADEV > $ADRIVER/bind;
80bc81c1c7SShuah Khan
81bc81c1c7SShuah Khanecho "Media device should be there!"
82bc81c1c7SShuah Khanls -l /dev/media*
83bc81c1c7SShuah Khan
84bc81c1c7SShuah Khanecho "Test unbind $MDEV - bind $MDEV - unbind $ADEV - bind $ADEV end"
85bc81c1c7SShuah Khanecho "=================================="
86