From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: USB: serial: cp210x: Improve baudrate support for CP2102N From: Johan Hovold Message-Id: <20180620093905.GP32411@localhost> Date: Wed, 20 Jun 2018 11:39:05 +0200 To: Karoly Pados Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: T24gVHVlLCBKdW4gMTksIDIwMTggYXQgMDk6NTA6NTRBTSArMDAwMCwgS2Fyb2x5IFBhZG9zIHdy b3RlOgo+IEhlbGxvLAo+IAo+ID4gUGFzcyBpbiBhIHN0cnVjdCB1c2Jfc2VyaWFsIChvciBwb3J0 KSBhcyBhIGZpcnN0IGFyZ3VtZW50IGluc3RlYWQgd2hpY2gKPiA+IGFsbG93cyBmb3IgbW9yZSBy ZWFkYWJsZSBjb2RlIGFzIHdlbGwgYXMgZm9yIHRoaXMgdG8gYmUgcmV1c2VkIHRvIGhhbmRsZQo+ ID4gb3RoZXIgZGV2aWNlIHR5cGUgZGlmZmVyZW5jZXMgKGUuZy4gb25seSAyMTA4IGJlc2lkZXMg MjEwMm4gaGFuZGxlcwo+ID4gYmF1ZHJhdGVzIG92ZXIgOTIxLjZrKS4KPiA+IAo+IAo+IFN1cmUs IHdpbGwgZG8uCj4gCj4gPiBBZGQgYSBzdGF0aWMgaGVscGVyIChsb29rcyBsaWtlIHlvdSBhZGQg YSBkZWZpbmUgaW4gdGhlIGdwaW8gcGF0Y2gpCj4gPiBjcDIxMHhfaXNfY3AyMTAybihzZXJpYWwp IGhlcmUuCj4gCj4gWWVzIEkgaGF2ZSBtYWNybyBmb3IgdGhhdCBpbiB0aGUgR1BJTyBwYXRjaCwg YW5kIEkgd2lsbCB0dXJuIHRoYXQgaW50byBhCj4gc3RhdGljIGZ1bmN0aW9uIHRvby4KPiAKPiBU byBrZWVwIHRoZSBiYXVkcmF0ZSBhbmQgZ3BpbyBwYXRjaGVzIGluZGVwZW5kZW50LAo+IGRvIHlv dSB0aGluayBpdCBpcyBhIGdvb2QgaWRlYSBpZiBJIG1ha2UgYSBuZXcgcGF0Y2ggd2hpY2ggb25s eSBhZGRzIHRoZQo+IHBhcnRudW0gZGVmaW5lcyBhbmQgdGhlIGhlbHBlciBmdW5jdGlvbiBmaXJz dCwgdGhlbiBiYXVkcmF0ZSB2MiBhbmQgZ3BpbyB2Mgo+IGNhbiBidWlsZCBvbnRvIGl0PwoKTm8s IHRoYXQncyBmaW5lLiBBbmQgeW91IGNhbiBzdWJtaXQgaXQgYXMgYSBzZXJpZXMsIHdoZXJlIHRo ZSBmaXJzdApwYXRjaCB1c2luZyB0aGUgaGVscGVyIGluY2x1ZGVzIGl0IChlLmcuIHRoZSBiYXVk IHJhdGUgb25lKS4KCj4gPiBZb3UgY2FuIGV2ZW4gdGVzdCBmb3IgYml0IDB4MjAgaW4gdGhlCj4g PiBoZWxwZXIgaWYgeW91IHByZWZlciAod2UgY2FuIGFsd2F5cyBjaGFuZ2UgdGhhdCBsYXRlciBp ZiBuZWVkZWQpLgo+IAo+IElmIHlvdSB3aXNoLCBidXQgcGVyc29uYWxseSBJIHRoaW5rIHRoYXQg aXMgYXNraW5nIGZvciBmdXR1cmUgYnVncwo+IGluIHRoZSBsb25nIHJ1bi4gRXZlbiB0aG91Z2gg dGhlIGhlbHBlciBjYW4gYmUgZWFzaWx5IGFkanVzdGVkIGlmIG5lZWRlZCwKPiB3aGVuL2lmIGEg bmV3IHBhcnRudW0gc2hvd3MgdXAgd2hpY2ggaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCB0aGUgY3Ay MTAybiwKPiBubyBvbmUgd2lsbCB0aGluayBvZiBoYXZpbmcgdG8gYWRqdXN0IGNwMjEwMm4tc3Bh Y2lmaWMgY29kZSB1bnRpbCBidWcgcmVwb3J0cwo+IHN0YXJ0IGNvbWluZyBpbi4gU28gSSdkIHBy ZWZlciB0byBleHBsaWNpdGx5IGNoZWNrIGZvciB0aGUgcGFja2FnZXMsIGJ1dCBpbgo+IHRoZSBl bmQgSSdsbCB1c2Ugd2hhdGV2ZXIgeW91IHByZWZlci4KPiAKPiBXaGF0IGRvIHlvdSBwcmVmZXI/ CgpTdXJlLCBJIGhhdmUgbm8gc3Ryb25nIHByZWZlcmVuY2UuIFlvdSBjYW4ga2VlcCB0aGUgZXhw bGljaXQgcGFja2FnZSB0eXBlCmVudW1lcmF0aW9uIGlmIHlvdSB3YW50LCBidXQgbW92ZSBpdCB0 byBhIHN0YXRpYyBoZWxwZXIuIFdlJ2xsIHNlZSBob3cKdGhpcyBlbmRzIHVwIGJlaW5nIHVzZWQg aW4gdGhlIHNlcmllcy4KCj4gPiBBbmQgZXZlbiBpZiB0aGUgY3VycmVudCBjb2RlIHVzZXMgdGhp cyBvZGQgZm9ybWF0dGluZywgeW91ciBhbWVuZG1lbnRzCj4gPiBzaG91bGQgbm90Lgo+IAo+IE9m IGNvdXJzZS4gSSBhbHNvIHNhdyB0aGlzIGlzIG9kZCwgYnV0IChhcHBhcmVudGx5IHdyb25nbHkp IGRlY2lkZWQgdG8gCj4gc3RheSBjb25zaXN0ZW50IGluc2lkZSB0aGUgZnVuY3Rpb24gd2l0aCBl eGlzdGluZyBjb2RlLiBJIHdpbGwgY2hhbmdlCj4gdGhhdCB0b28uCgpZZWFoLCB0aGF0J3MgYWRt aXR0ZWRseSBhIGJpdCBhcmJpdHJhcnkuIEkgc2hvdWxkIHByb2JhYmx5IGp1c3QgY2xlYW4KdGhp cyB1cCBzb21laG93IG9uY2UgYW5kIGZvciBhbGwuCgpCeSB0aGUgd2F5LCBoYXZlIHlvdSB0cmll ZCBzZXR0aW5nIG90aGVyIGJhdWRyYXRlcyBleGNlcHQgdGhlIG9uZXMgeW91CmV4cGxpY2l0bHkg YWxsb3cgZm9yIGhlcmU/IEFjY29yZGluZyB0byB0aGUgZGF0YSBzaGVldCBtb3JlIHJhdGVzIHNo b3VsZApiZSBhdmFpbGFibGUsIHNvIHBlcmhhcHMganVzdCBoYW5kbGluZyBjcDIxMDJuIGFzIGNw MjEwOCAoZS5nLiBieSBub3QKdHJ5aW5nIHRvIHJlcG9ydCBiYWNrIHRoZSBleGFjdCByYXRlIHVz ZWQpIG9yIGJ5IGFjdHVhbGx5IGNhbGN1bGF0aW5nCnRoZSByZXN1bHRpbmcgcmF0ZSBjb3VsZCBi ZSBhbm90aGVyIG9wdGlvbj8KCkNhbiBiZSBkb25lIGxhdGVyIG9mIGNvdXJzZSwganVzdCBjdXJp b3VzIGlmIHlvdSB0cmllZCBpdC4KClRoYW5rcywKSm9oYW4KLS0tClRvIHVuc3Vic2NyaWJlIGZy b20gdGhpcyBsaXN0OiBzZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRo ZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFq b3Jkb21vIGluZm8gYXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRt bAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=3.0 tests=DKIM_SIGNED, MAILING_LIST_MULTI,SPF_PASS,T_DKIM_INVALID autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BC854C1B0F2 for ; Wed, 20 Jun 2018 09:39:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 7958F20693 for ; Wed, 20 Jun 2018 09:39:42 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="InOOevSx" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7958F20693 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754968AbeFTJjk (ORCPT ); Wed, 20 Jun 2018 05:39:40 -0400 Received: from mail-lf0-f65.google.com ([209.85.215.65]:32812 "EHLO mail-lf0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754346AbeFTJjf (ORCPT ); Wed, 20 Jun 2018 05:39:35 -0400 Received: by mail-lf0-f65.google.com with SMTP id y20-v6so3969008lfy.0; Wed, 20 Jun 2018 02:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=53RqdMgJe501ZwHBFy3GdDgzSQtdvcKbY6fc6DDTPuk=; b=InOOevSxFtmk02rvTEy/BHKi+zyy3m5HUeLLGfgFvweMqudz1/cKc4M8rTcFX1cbmw bW9hZ+Dxy3Ubr9YEC7ty8LpTigdHxwH/KGEMulPJB+6HOFZOo0z7H0aT4CsiasZhg8ti MXo6vSNXWtbBLuihR/o9IWlzfP81gesuV97zk/687/aVB7kx0lpQCINfH024TZH7V0B1 3yO03TTBI2K86M29U3oPry3lbE+6yky7ZaeT6azFkU5cJP8YC6dGVsNoll+wfbRAaw01 rNez4Sis+Lzt3MkxAKElqIkmZWY+LIRogFdH9wR4cp/+cWb6P/VzzlD2z+xs9saoeV57 yomw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=53RqdMgJe501ZwHBFy3GdDgzSQtdvcKbY6fc6DDTPuk=; b=YW+ViSMcOtxmpxMqJ/GAbkfSEplTRrrmiTj44o/4PAUATx8m/0tjLovs3sehnSq9fD YcmxtT8IlsHn+eCA7qKzlEmWhVqdBJPnqoZfGwLEHrHzjiSN/zapCLSyypAD+ovzHrwI 4Eo9FIapcsTm96L9pwliKHYpNtiDrV3G8B7d37I+lQ5qydMQRbzOjLN5dXReO211SiwV 2/7u+PDUsul4H77iXHbkWXJH0w3jLSWf+dZe75ieFwK8KklgXEgYUoOfiWhHnzEOCzTE JiosKX2+Nur/cjitfK+8oGGkJmE7luNBiW7+ZkknBorKrmNPgJ5Cx/gMjOxTjwUB6/eX H7eA== X-Gm-Message-State: APt69E3+IgD1o/Ys8rZvcJlT1A0M1XDicKuyzTdHI+9e29ww1g+iQ5zp /ORixAMuQOD6nNx5A4kmk5nQvMTG X-Google-Smtp-Source: ADUXVKIQJTzzVdEhPzff4OSHRCtCWefKLjUh17VRm7otxm4l0gIe/Ozn9XXZiNOZlhl2gGMxVxfCWg== X-Received: by 2002:a19:a586:: with SMTP id o128-v6mr1285012lfe.131.1529487574236; Wed, 20 Jun 2018 02:39:34 -0700 (PDT) Received: from xi.terra (c-8bb2e655.07-184-6d6c6d4.bbcust.telenor.se. [85.230.178.139]) by smtp.gmail.com with ESMTPSA id f124-v6sm332771lfg.33.2018.06.20.02.39.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 20 Jun 2018 02:39:33 -0700 (PDT) Received: from johan by xi.terra with local (Exim 4.90_1) (envelope-from ) id 1fVZZx-0003Bn-57; Wed, 20 Jun 2018 11:39:05 +0200 Date: Wed, 20 Jun 2018 11:39:05 +0200 From: Johan Hovold To: Karoly Pados Cc: Johan Hovold , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] USB: serial: cp210x: Improve baudrate support for CP2102N Message-ID: <20180620093905.GP32411@localhost> References: <20180619091528.GN32411@localhost> <20180615212957.26539-1-pados@pados.hu> <0b27c3da292fa1f4b360614685fe8aa4@pados.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0b27c3da292fa1f4b360614685fe8aa4@pados.hu> User-Agent: Mutt/1.10.0 (2018-05-17) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 19, 2018 at 09:50:54AM +0000, Karoly Pados wrote: > Hello, > > > Pass in a struct usb_serial (or port) as a first argument instead which > > allows for more readable code as well as for this to be reused to handle > > other device type differences (e.g. only 2108 besides 2102n handles > > baudrates over 921.6k). > > > > Sure, will do. > > > Add a static helper (looks like you add a define in the gpio patch) > > cp210x_is_cp2102n(serial) here. > > Yes I have macro for that in the GPIO patch, and I will turn that into a > static function too. > > To keep the baudrate and gpio patches independent, > do you think it is a good idea if I make a new patch which only adds the > partnum defines and the helper function first, then baudrate v2 and gpio v2 > can build onto it? No, that's fine. And you can submit it as a series, where the first patch using the helper includes it (e.g. the baud rate one). > > You can even test for bit 0x20 in the > > helper if you prefer (we can always change that later if needed). > > If you wish, but personally I think that is asking for future bugs > in the long run. Even though the helper can be easily adjusted if needed, > when/if a new partnum shows up which has nothing to do with the cp2102n, > no one will think of having to adjust cp2102n-spacific code until bug reports > start coming in. So I'd prefer to explicitly check for the packages, but in > the end I'll use whatever you prefer. > > What do you prefer? Sure, I have no strong preference. You can keep the explicit package type enumeration if you want, but move it to a static helper. We'll see how this ends up being used in the series. > > And even if the current code uses this odd formatting, your amendments > > should not. > > Of course. I also saw this is odd, but (apparently wrongly) decided to > stay consistent inside the function with existing code. I will change > that too. Yeah, that's admittedly a bit arbitrary. I should probably just clean this up somehow once and for all. By the way, have you tried setting other baudrates except the ones you explicitly allow for here? According to the data sheet more rates should be available, so perhaps just handling cp2102n as cp2108 (e.g. by not trying to report back the exact rate used) or by actually calculating the resulting rate could be another option? Can be done later of course, just curious if you tried it. Thanks, Johan