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: [V2,3/5] usb: serial: f81534: add output pin control From: Johan Hovold Message-Id: <20180109111914.GP11344@localhost> Date: Tue, 9 Jan 2018 12:19:14 +0100 To: "Ji-Ze Hong \(Peter Hong\)" Cc: johan@kernel.org, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, peter_hong@fintek.com.tw, "Ji-Ze Hong \(Peter Hong\)" List-ID: T24gVGh1LCBKYW4gMDQsIDIwMTggYXQgMTA6Mjk6MTlBTSArMDgwMCwgSmktWmUgSG9uZyAoUGV0 ZXIgSG9uZykgd3JvdGU6Cj4gVGhlIEY4MTUzMi81MzQgaGFkIDMgb3V0cHV0IHBpbiAoTTAvU0Qs IE0xLCBNMikgd2l0aCBvcGVuLWRyYWluIG1vZGUgdG8KPiBjb250cm9sIHRyYW5zY2VpdmVyLiBX ZSdsbCByZWFkIGl0IGZyb20gaW50ZXJuYWwgRmxhc2ggd2l0aCBhZGRyZXNzCj4gMHgyZjA1fjB4 MmYwOCBmb3IgNCBwb3J0cy4gVGhlIHZhbHVlIGlzIHJhbmdlIGZyb20gMCB0byA3LiBUaGUgTTAv U0QgaXMKPiBNU0Igb2YgdGhpcyB2YWx1ZS4gRm9yIGEgZXhhbXBsZXMsIElmIHJlYWQgdmFsdWUg aXMgNiwgd2UnbGwgd3JpdGUgTTAvU0QsCj4gTTEsIE0yIGFzIDEsIDEsIDAuCj4gCj4gU2lnbmVk LW9mZi1ieTogSmktWmUgSG9uZyAoUGV0ZXIgSG9uZykgPGhwZXRlcitsaW51eF9rZXJuZWxAZ21h aWwuY29tPgo+IC0tLQo+IFYyOgo+IAkxOiBGaXggZm9yIHNwYWNlIGJldHdlZW4gYnJhY2UuCj4g CTI6IFJlbWFpbiB0aGUgb2xkIHBpbiBjb250cm9sIG1ldGhvZC4KPiAKPiAgZHJpdmVycy91c2Iv c2VyaWFsL2Y4MTUzNC5jIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCj4gIDEgZmlsZSBjaGFuZ2VkLCA2NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9mODE1MzQuYyBiL2RyaXZl cnMvdXNiL3NlcmlhbC9mODE1MzQuYwo+IGluZGV4IDhhNzc4YmMxZDQ5Mi4uN2YxNzVmMzlhMTcx IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9mODE1MzQuYwo+ICsrKyBiL2RyaXZl cnMvdXNiL3NlcmlhbC9mODE1MzQuYwo+IEBAIC01Miw2ICs1Miw3IEBACj4gICNkZWZpbmUgRjgx NTM0X0NVU1RPTV9OT19DVVNUT01fREFUQQkweGZmCj4gICNkZWZpbmUgRjgxNTM0X0NVU1RPTV9W QUxJRF9UT0tFTgkweGYwCj4gICNkZWZpbmUgRjgxNTM0X0NPTkZfT0ZGU0VUCQkxCj4gKyNkZWZp bmUgRjgxNTM0X0NPTkZfR1BJT19PRkZTRVQJCTQKPiAgCj4gICNkZWZpbmUgRjgxNTM0X01BWF9E QVRBX0JMT0NLCQk2NAo+ICAjZGVmaW5lIEY4MTUzNF9NQVhfQlVTX1JFVFJZCQkyMAo+IEBAIC0x NjQsNiArMTY1LDIzIEBAIHN0cnVjdCBmODE1MzRfcG9ydF9wcml2YXRlIHsKPiAgCXU4IHBoeV9u dW07Cj4gIH07Cj4gIAo+ICtzdHJ1Y3QgZjgxNTM0X3Bpbl9kYXRhIHsKPiArCWNvbnN0IHUxNiBy ZWdfYWRkcjsKPiArCWNvbnN0IHUxNiByZWdfbWFzazsKCkkgYXNrZWQgaW4gbXkgcHJldmlvdXMg cmV2aWV3IGNvbW1lbnRzIHdoZXRoZXIgdGhpcyBtYXNrIHNob3VsZCByZWFsbHkKYmUgdTg/Cgo+ ICt9Owo+ICsKPiArc3RydWN0IGY4MTUzNF9wb3J0X291dF9waW4gewo+ICsJc3RydWN0IGY4MTUz NF9waW5fZGF0YSBwaW5bM107Cj4gK307Cj4gKwo+ICsvKiBQaW4gb3V0cHV0IHZhbHVlIGZvciBN Mi9NMS9NMChTRCkgKi8KPiArc3RhdGljIGNvbnN0IHN0cnVjdCBmODE1MzRfcG9ydF9vdXRfcGlu IGY4MTUzNF9wb3J0X291dF9waW5zW10gPSB7Cj4gKwkgeyB7IHsweDJhZTgsIEJJVCg3KX0sIHsw eDJhOTAsIEJJVCg1KX0sIHsweDJhOTAsIEJJVCg0KSB9IH0gfSwKPiArCSB7IHsgezB4MmFlOCwg QklUKDYpfSwgezB4MmFlOCwgQklUKDApfSwgezB4MmFlOCwgQklUKDMpIH0gfSB9LAo+ICsJIHsg eyB7MHgyYTkwLCBCSVQoMCl9LCB7MHgyYWU4LCBCSVQoMil9LCB7MHgyYTgwLCBCSVQoNikgfSB9 IH0sCj4gKwkgeyB7IHsweDJhOTAsIEJJVCgzKX0sIHsweDJhOTAsIEJJVCgyKX0sIHsweDJhOTAs IEJJVCgxKSB9IH0gfSwKCk5pdCBwaWNraW5nLCBidXQgeW91IHN0aWxsIGRvbid0IHVzZSBzcGFj ZSBjb25zaXN0ZW50bHkgYXJvdW5kIHsgYW5kIH0KYWJvdmUuCgpKb2hhbgotLS0KVG8gdW5zdWJz Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIGxpbnV4LXVz YiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcK TW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9yZy9tYWpvcmRvbW8t aW5mby5odG1sCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752481AbeAILTT (ORCPT + 1 other); Tue, 9 Jan 2018 06:19:19 -0500 Received: from mail-lf0-f67.google.com ([209.85.215.67]:40158 "EHLO mail-lf0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751135AbeAILTR (ORCPT ); Tue, 9 Jan 2018 06:19:17 -0500 X-Google-Smtp-Source: ACJfBovlnbbqzhyVB36pGbQWeG4JNSaI3WmHLortoK56J4sHy5H9sGrw38ixEhV+N+tpnIfIpGxjdg== Date: Tue, 9 Jan 2018 12:19:14 +0100 From: Johan Hovold To: "Ji-Ze Hong (Peter Hong)" Cc: johan@kernel.org, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, peter_hong@fintek.com.tw, "Ji-Ze Hong (Peter Hong)" Subject: Re: [PATCH V2 3/5] usb: serial: f81534: add output pin control Message-ID: <20180109111914.GP11344@localhost> References: <1515032961-29131-1-git-send-email-hpeter+linux_kernel@gmail.com> <1515032961-29131-3-git-send-email-hpeter+linux_kernel@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1515032961-29131-3-git-send-email-hpeter+linux_kernel@gmail.com> User-Agent: Mutt/1.7.2 (2016-11-26) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Thu, Jan 04, 2018 at 10:29:19AM +0800, Ji-Ze Hong (Peter Hong) wrote: > The F81532/534 had 3 output pin (M0/SD, M1, M2) with open-drain mode to > control transceiver. We'll read it from internal Flash with address > 0x2f05~0x2f08 for 4 ports. The value is range from 0 to 7. The M0/SD is > MSB of this value. For a examples, If read value is 6, we'll write M0/SD, > M1, M2 as 1, 1, 0. > > Signed-off-by: Ji-Ze Hong (Peter Hong) > --- > V2: > 1: Fix for space between brace. > 2: Remain the old pin control method. > > drivers/usb/serial/f81534.c | 67 ++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 66 insertions(+), 1 deletion(-) > > diff --git a/drivers/usb/serial/f81534.c b/drivers/usb/serial/f81534.c > index 8a778bc1d492..7f175f39a171 100644 > --- a/drivers/usb/serial/f81534.c > +++ b/drivers/usb/serial/f81534.c > @@ -52,6 +52,7 @@ > #define F81534_CUSTOM_NO_CUSTOM_DATA 0xff > #define F81534_CUSTOM_VALID_TOKEN 0xf0 > #define F81534_CONF_OFFSET 1 > +#define F81534_CONF_GPIO_OFFSET 4 > > #define F81534_MAX_DATA_BLOCK 64 > #define F81534_MAX_BUS_RETRY 20 > @@ -164,6 +165,23 @@ struct f81534_port_private { > u8 phy_num; > }; > > +struct f81534_pin_data { > + const u16 reg_addr; > + const u16 reg_mask; I asked in my previous review comments whether this mask should really be u8? > +}; > + > +struct f81534_port_out_pin { > + struct f81534_pin_data pin[3]; > +}; > + > +/* Pin output value for M2/M1/M0(SD) */ > +static const struct f81534_port_out_pin f81534_port_out_pins[] = { > + { { {0x2ae8, BIT(7)}, {0x2a90, BIT(5)}, {0x2a90, BIT(4) } } }, > + { { {0x2ae8, BIT(6)}, {0x2ae8, BIT(0)}, {0x2ae8, BIT(3) } } }, > + { { {0x2a90, BIT(0)}, {0x2ae8, BIT(2)}, {0x2a80, BIT(6) } } }, > + { { {0x2a90, BIT(3)}, {0x2a90, BIT(2)}, {0x2a90, BIT(1) } } }, Nit picking, but you still don't use space consistently around { and } above. Johan