From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f170.google.com (mail-pg1-f170.google.com [209.85.215.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61C718287E for ; Mon, 27 Apr 2026 04:55:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777265702; cv=none; b=btAfSVz5NYnw6jzGn82/D6c0FF4THsQSWLVL388Dz/iCXB41ujC92jbtbqeY+xD2XeaEtS7PqwSd/H39biBhlPo52L94aX6l9ueXsxXNi46bMg9H9gCbdp3dof9KuY/gSun4rdQraj1LON8jk8MxXJMboKCWK5Mqvnfi2NtK9bM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777265702; c=relaxed/simple; bh=kzR4tTank6nQucPVfQWtrXjauNtrYKZpw16r3ImS3pw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cfn1Dnl/wO0I2paK432MmOFCXBpLGPTOOPo99N0sLyaWb91K9Djm/ED4Lu9kd0dMopPbAsTJPHXdfuz9Y+y3SV7X+y0jaJVfInQ31OP8Kt6e+pvAu83CYFEBPm9+Q8WBZtcCpCltiC4IWXjo5IOVDxxrOZCqDujfGj6YLP2HF8o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=qu2cvnCy; arc=none smtp.client-ip=209.85.215.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="qu2cvnCy" Received: by mail-pg1-f170.google.com with SMTP id 41be03b00d2f7-c648bc907ebso6348920a12.3 for ; Sun, 26 Apr 2026 21:55:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777265701; x=1777870501; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=cFgTfDtQqAbkf7ATgQZ3F8aWPMjefay/fF2UFGDgFWQ=; b=qu2cvnCydOVhGR9vozWKmdPbwTopduY/9ndTnu3j0VOyVynCjOgrNf4wQadrJLdI1w mwdoXTjnJbLwUw13s6izRPyWFcCMV7mX/SC0OVNiecyhElm0lCQPK0B6PD7z9PLZZ7oX ftz5PsenKx0ppgocd1ayLZ7e2tvC5tgh+NuFOU55xfUL3Ht2IE8YCvJGGCp5PpwJCxiN PtCNmGmEyLCQf7rKKB6psUqylhSkFpHdBixgRv9Ay4FmEDoAnErBFXj8+Ahbc1mLP9t7 IRVfLfEBCNN5yjcBI5SZKtpr9S3xWFkDeTVLjd90oGaUIrhTDCxQg+ONg8H6ywXhoHwQ vSjg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777265701; x=1777870501; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cFgTfDtQqAbkf7ATgQZ3F8aWPMjefay/fF2UFGDgFWQ=; b=dTruuFplafs2VqZtOEw0iRKfR1tYPYHVe4KAPo+bI6TCgB6GQZByrnjTsM9Db1b7E/ nfQU63K6y1d6HGmANOcdlumh6Tz2n3C8ujnfcueMxE9ODHs6ZhSM9/5F+sNUfzRRH9aS HKKmce8D7Kyhr49QcbHLxRmPtKGiQAenvWmyzGNLnaUv/pvNMj4G75zE2gyOWRSRA7c9 PdLLcWJTwQXixxjlyBoo99zmvqoqk/2AXvsC05B1Mq7F/OlRkD8twAofOIlhgdqsFdt+ xGfOH3lUrUIaNQn1muJsfirNJjuUeOxdQ/NAuHzerCsgVOafFxJ0m9n7x+I0vpmuAXrm L4JA== X-Forwarded-Encrypted: i=1; AFNElJ+k5rmilz/LeXWNcnXeZT8Iu/a8ciXBflzQPm57a8jufuAgIJtCAN4Ge7fUd+uDJ8f/Oc44g9PY87TV6rc=@vger.kernel.org X-Gm-Message-State: AOJu0Yw3ZwFNVQl+qyQrlrT9qGHRcYD3sXSdQKwXUhdQDADOZBDbhBeQ ySvjwrgUoZD3VtSeQQ1wQPlJIWXO1TbcPnzEzfTHOkTInrtVmAILzFoQ X-Gm-Gg: AeBDiesrDbXVPTlatwdXR0jWoIP64vPgVxnabz6oDvcJ2nteUT2sGSOLcJ0ZaQ+HkVP eHXy5i+J7laebn0lWTrNeDhouvZAjXgkF87sfqcwT58podNpSL4h1R5DOgskWH9e/l8S/yMzJWF XheWLuZBa23t8k4GBW8arR6hB0Zr9SQq+CHi2cQJA565yqu2myXcmnrsFFcKOa+IIhanJFm6evj s/h9udYRy6aDb4+8tzmdicuw9VCzEiCaecMiHEqnZMi7+40ZaatV9Y+SoRcprIHM3l/aMGms4+h pGze/peejO137og+2s4vfeZmAWDtfL7HyW0wqQgRPFVg9DFpDI2Uwy3ydztp3cfO3KqRKCCIkOi pX/m1gc4pIzEtuY6VE0SDNAw5xxCOv7dig12XSagm7Uq8q8QyE97u8zkB/7O4RjtSbM7eInVcDf dtysrTBJy2eCKA7thjH4ShSumA4SkXcbEyg0ZFtP8EgBA0L2AZzReNodfsaR0p6Nle X-Received: by 2002:a05:6a21:99a3:b0:39b:d937:8010 with SMTP id adf61e73a8af0-3a08d8e076dmr45768555637.45.1777265700690; Sun, 26 Apr 2026 21:55:00 -0700 (PDT) Received: from arch.localdomain ([2405:201:8043:c04b:e09f:2c00:55ad:2561]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c797703059fsm23361399a12.24.2026.04.26.21.54.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 26 Apr 2026 21:55:00 -0700 (PDT) From: Debjeet Banerjee To: gregkh@linuxfoundation.org Cc: debjeetbanerjee48@gmail.com, dtwlin@gmail.com, elder@kernel.org, greybus-dev@lists.linaro.org, johan@kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev Subject: [PATCH v2] staging: greybus: uart: clear unsupported c_cflag bits in set_termios Date: Mon, 27 Apr 2026 10:24:46 +0530 Message-ID: <20260427045446.16430-1-debjeetbanerjee48@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <2026042618-whole-cassette-b15e@gregkh> References: <2026042618-whole-cassette-b15e@gregkh> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit gb_tty_set_termios() derives UART line configuration from a subset of termios->c_cflag bits (CSIZE, CSTOPB, PARENB, PARODD, CMSPAR, CRTSCTS, CLOCAL and CBAUD). Other bits are not interpreted by the driver and are not represented in the Greybus UART protocol. Mask unsupported c_cflag bits so that userspace-visible termios reflects the supported bits implemented by the driver. This addresses the existing FIXME. Signed-off-by: Debjeet Banerjee --- v2: - Clear unsupported c_cflag bits as suggested - Update comment to mention the change --- drivers/staging/greybus/uart.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c index 7d060b4cd33d..9c10e6baa7e0 100644 --- a/drivers/staging/greybus/uart.c +++ b/drivers/staging/greybus/uart.c @@ -495,7 +495,24 @@ static void gb_tty_set_termios(struct tty_struct *tty, newline.data_bits = tty_get_char_size(termios->c_cflag); - /* FIXME: needs to clear unsupported bits in the termios */ + /* + * The Greybus UART driver only interprets a subset of termios + * c_cflag bits when configuring line settings: + * + * - CSIZE via tty_get_char_size() for data bits + * - CSTOPB for stop-bit format + * - PARENB, PARODD, CMSPAR for parity encoding + * - CRTSCTS for hardware flow control + * - CLOCAL for modem control handling + * - CBAUD via C_BAUD() for baud rate and B0 semantics + * + * Mask unsupported c_cflag bits. + */ + termios->c_cflag &= (CSIZE | CSTOPB | + PARENB | PARODD | CMSPAR | + CLOCAL | CRTSCTS | + CBAUD); + gb_tty->clocal = ((termios->c_cflag & CLOCAL) != 0); if (C_BAUD(tty) == B0) { -- 2.53.0