xref: /aosp_15_r20/external/autotest/client/cros/tty.py (revision 9c5db1993ded3edbeafc8092d69fe5de2ee02df7)
1*9c5db199SXin Li# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
2*9c5db199SXin Li# Use of this source code is governed by a BSD-style license that can be
3*9c5db199SXin Li# found in the LICENSE file.
4*9c5db199SXin Li
5*9c5db199SXin Li'''
6*9c5db199SXin LiUtilities for serial port communication.
7*9c5db199SXin Li'''
8*9c5db199SXin Liimport glob
9*9c5db199SXin Liimport os
10*9c5db199SXin Liimport re
11*9c5db199SXin Li
12*9c5db199SXin Lidef find_tty_by_driver(driver_name):
13*9c5db199SXin Li    '''Finds the tty terminal matched to the given driver_name.'''
14*9c5db199SXin Li    candidates = glob.glob('/dev/tty*')
15*9c5db199SXin Li    for path in candidates:
16*9c5db199SXin Li        if re.search(
17*9c5db199SXin Li            driver_name,
18*9c5db199SXin Li            os.path.realpath('/sys/class/tty/%s/device/driver' %
19*9c5db199SXin Li                             os.path.basename(path))):
20*9c5db199SXin Li            return path
21*9c5db199SXin Li    return None
22