summaryrefslogtreecommitdiff
path: root/src/serialport/qserialportinfo_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/serialport/qserialportinfo_unix.cpp')
-rw-r--r--src/serialport/qserialportinfo_unix.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/serialport/qserialportinfo_unix.cpp b/src/serialport/qserialportinfo_unix.cpp
index 0f62a9d..105d10a 100644
--- a/src/serialport/qserialportinfo_unix.cpp
+++ b/src/serialport/qserialportinfo_unix.cpp
@@ -169,6 +169,12 @@ static bool isVirtualNullModemDevice(const QString &portName)
return portName.startsWith(QLatin1String("tnt"));
}
+// provided by the g_serial driver
+static bool isGadgetDevice(const QString &portName)
+{
+ return portName.startsWith(QLatin1String("ttyGS"));
+}
+
static QString ueventProperty(const QDir &targetDir, const QByteArray &pattern)
{
QFile f(QFileInfo(targetDir, QStringLiteral("uevent")).absoluteFilePath());
@@ -265,7 +271,8 @@ QList<QSerialPortInfo> availablePortsBySysfs(bool &ok)
const QString driverName = deviceDriver(targetDir);
if (driverName.isEmpty()) {
if (!isRfcommDevice(priv.portName)
- && !isVirtualNullModemDevice(priv.portName)) {
+ && !isVirtualNullModemDevice(priv.portName)
+ && !isGadgetDevice(priv.portName)) {
continue;
}
}
@@ -436,7 +443,8 @@ QList<QSerialPortInfo> availablePortsByUdev(bool &ok)
priv.productIdentifier = deviceProductIdentifier(dev.data(), priv.hasProductIdentifier);
} else {
if (!isRfcommDevice(priv.portName)
- && !isVirtualNullModemDevice(priv.portName)) {
+ && !isVirtualNullModemDevice(priv.portName)
+ && !isGadgetDevice(priv.portName)) {
continue;
}
}