Received: by 2002:a05:6359:6284:b0:131:369:b2a3 with SMTP id se4csp5213635rwb; Tue, 8 Aug 2023 23:55:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHog0NAAPpucjcwFCTdOOIDJRWcpsUiKfb8Tnf4czezse2qV3VskD9qmU0XMVxvowx/qb1J X-Received: by 2002:a05:6a20:f3a4:b0:12e:73bb:cbb6 with SMTP id qr36-20020a056a20f3a400b0012e73bbcbb6mr1600348pzb.14.1691564114062; Tue, 08 Aug 2023 23:55:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1691564114; cv=none; d=google.com; s=arc-20160816; b=XU/45L3Z587uvwv/dHSN475w2YCghqjj4kIUp9pr6RpONVOW8G1fnkUwanSNXhqDOo A4MVMU67WK+t3vIrC/Tel1WkAI7GIuEEOahBU9660lw2cfvCf6AOpZVT9iOSwjvtmPrW yHU+xLYhlSt//SedD4JDsDIuEGKFYas8Od7wwpDbCOOwN5VLdqyTG0wf0l/Nft/GLWy9 eerbsTvF4dI0gdat92F+88aIAlLVmdg17j/ygxTrOlsShgY5lzCebUiI4Ab/mktuYzQb sRhtuz5HKht6cgE8W86EJP28SWVMMdQmZWPULt2G0r9Cy1uZ299Z0ypaWcD1/z4in+eE Gdpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:subject:user-agent:mime-version:date:message-id; bh=gPCkvT9y9SeG26RPZViBQNz5oym4zdty6P91+68DynQ=; fh=6JDmfbQNt5psSEwLSlFCDgZiUl5MFTIFrJu9ouVsye8=; b=FaMAS7mLAAEamWRfzAZZ7xRSB9sXfQV5R6ALwZM+RA7hoRqfKwwizZ6nlpPreFHZrL /Nen11BgJ03hdWw4gb666OKbzg9b6xPniZkZk91dozt7t0GQbSFBYB6biBYCYcCFGM8D D3e1mXi9sb29iMqNxeKeP7NeHnjkb8N1hUWnbEMUPtr8X93e0FFGrFGJeVA9VfCd9Wvc I9bF4hujUAS9l2ZAb2fwDG98SsaUZVmH2+LZmfx+8bMyl11tKqEKzYt3DpffRiDx2P7r jZ4rgptIXyfQ7ts9OmhYNZR3mpJ+DscizeYCiMrXuvLE2nN52JkztJuV5PTN8mBWrLal RwaA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id p13-20020a056a000b4d00b006826c5b86dasi8996801pfo.364.2023.08.08.23.55.01; Tue, 08 Aug 2023 23:55:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230503AbjHIG1B (ORCPT + 99 others); Wed, 9 Aug 2023 02:27:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230466AbjHIG1A (ORCPT ); Wed, 9 Aug 2023 02:27:00 -0400 Received: from out30-118.freemail.mail.aliyun.com (out30-118.freemail.mail.aliyun.com [115.124.30.118]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACED61BFA; Tue, 8 Aug 2023 23:26:58 -0700 (PDT) X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R121e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046051;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=9;SR=0;TI=SMTPD_---0VpNrcmf_1691562412; Received: from 30.97.48.62(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0VpNrcmf_1691562412) by smtp.aliyun-inc.com; Wed, 09 Aug 2023 14:26:53 +0800 Message-ID: Date: Wed, 9 Aug 2023 14:26:52 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Subject: Re: [PATCH] serial: sprd: Support 12 uart ports To: wenhua lin Cc: Wenhua Lin , Greg Kroah-Hartman , Jiri Slaby , Orson Zhai , Chunyan Zhang , linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, Xiongpeng Wu References: <20230807080726.7190-1-Wenhua.Lin@unisoc.com> <3554a99d-339f-39f9-111d-040025096f97@linux.alibaba.com> From: Baolin Wang In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.7 required=5.0 tests=BAYES_00, ENV_AND_HDR_SPF_MATCH,NICE_REPLY_A,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/9/2023 1:52 PM, wenhua lin wrote: > The change of the max ports is to adapt to an new > SPRD serial hardware,also is backward-compatibility with old hardware. Again, DO NOT top-posting! Thanks. >> >> On 8/7/2023 4:07 PM, Wenhua Lin wrote: >>> From: Wenhua Lin >>> >>> Support 12 uart ports, which can solve the problem >>> of insufficient uart ports. >> >> This sounds incorrect to me. >> If this is a software bug, please add a Fixes tag to backport for stable >> kernels. If the change of the max ports is only avaliable on the new >> SPRD serial hardware, you should ensure the change is >> backward-compatibility with old hardware. This is not backward-compatibility. Please see 'sprd_uart_driver' structure as below: static struct uart_driver sprd_uart_driver = { .owner = THIS_MODULE, .driver_name = "sprd_serial", .dev_name = SPRD_TTY_NAME, .major = 0, .minor = 0, .nr = UART_NR_MAX, .cons = SPRD_CONSOLE, }; That means you will still register 12 UART ports in the tty for old serial hardwares which actually only support 8 UART ports, and if users want to use another 4 ports which are not supported in the hardware, then system crashes. So I think you should add a SoC data in 'serial_ids' to change the number of UART port according to different SoC. >>> Signed-off-by: Wenhua Lin >>> --- >>> drivers/tty/serial/sprd_serial.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/drivers/tty/serial/sprd_serial.c b/drivers/tty/serial/sprd_serial.c >>> index b58f51296ace..2774df490899 100644 >>> --- a/drivers/tty/serial/sprd_serial.c >>> +++ b/drivers/tty/serial/sprd_serial.c >>> @@ -22,7 +22,7 @@ >>> #include >>> >>> /* device name */ >>> -#define UART_NR_MAX 8 >>> +#define UART_NR_MAX 12 >>> #define SPRD_TTY_NAME "ttyS" >>> #define SPRD_FIFO_SIZE 128 >>> #define SPRD_DEF_RATE 26000000