Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752260AbbFYIue (ORCPT ); Thu, 25 Jun 2015 04:50:34 -0400 Received: from mail-bl2on0089.outbound.protection.outlook.com ([65.55.169.89]:13530 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751374AbbFYIu3 (ORCPT ); Thu, 25 Jun 2015 04:50:29 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.100) smtp.mailfrom=xilinx.com; gmail.com; dkim=none (message not signed) header.d=none; Message-ID: <558BC0CB.4000908@xilinx.com> Date: Thu, 25 Jun 2015 10:50:19 +0200 From: Michal Simek User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: =?UTF-8?B?UmFwaGHDq2wgVGV5c3NleXJl?= , linus.walleij@linaro.org, gnurou@gmail.com, michal.simek@xilinx.com, soren.brinkmann@xilinx.com, linux-gpio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v2] gpio/xilinx: Use correct address when setting initial values. References: <1435130385.30543.3.camel@localhost> In-Reply-To: <1435130385.30543.3.camel@localhost> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-21634.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD013;1:MQgmlfBHf67TXD1vdu8bcc8qE7KRFvGIHLTYiT4EXr9b9h86ZPx3ooNmj12sv6Df6uEQM4GiXRXP6RiTFUvjaRkC049kdD7oZt7o85bIsCZiX+aLGxpfn8v4Xo3LKcUGeYsJeZ/SQ+UC8Pkve5fVCmT8nRRn8RzOek8pUqCVFd0iaNwxUZPvwtCA9LovnUrYHRHdhuNM278tQvVem/DJKpvDyRdVexJHCu6MR4vl2NtPUKORTCdo0dcKnrurL7ws6AMI6xBNPN3kQtFhHawrlP7pUdyb13yKGQcT2Xlk9do= X-Forefront-Antispam-Report: CIP:149.199.60.100;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(377454003)(24454002)(199003)(51704005)(189002)(164054003)(479174004)(19580405001)(36756003)(106466001)(110136002)(46102003)(6806004)(92566002)(59896002)(47776003)(4001350100001)(189998001)(50466002)(107886002)(65806001)(5001960100002)(65956001)(65816999)(36386004)(76176999)(63266004)(87936001)(33656002)(77156002)(62966003)(77096005)(83506001)(2950100001)(54356999)(87266999)(50986999)(19580395003)(23676002)(86362001)(64126003)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN1AFFO11HUB006;H:xsj-pvapsmtpgw02;FPR:;SPF:Pass;MLV:sfv;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11HUB006;2:tkCiC7weFG0ysYQEbFddv4jk635+R4QI6nBL+rogmc6x1UYHw5NdhAQKpnGuBEIT;3:QzvJQZFnLg7QjqJmTgde+9NAidq0XoG8yhqVT+63Vqlev8iFpk5YZ+9qTd8i2AFAXdAQJs6eTPnYiY3E4O5t8Cy1tQHPXR34BfRxJ/swS0txWPWAtgKkJ1GExAheJ/qEWgY+yB+qSVp+ET/nCvcUigzJ0yQjKRxbea4BOw8lE54ae+7H8KoFb4wXFe28OgWyWeg5y2L5e3SWCg7Y07Ts1kG6eS3oGK99bc3X3n6QznoWUGN98BneHRVW5D2xincs;20:8AnQ0LXZDHjJowrchApz43jv5IDx52gDSGQs9Hbf0H6hECUtBQiNzoGa1Lj8QyMvP9oVULLnHj29ltCbvBt8iddoN5P35+RnpXSFZhTZ9H5Jiw8sExc9T5u39CYcRySAH7COOFajNiVe+uFUbSpUV+kPUZCwG9K8piEcD72t3570Td4gzBVaw2XBq3KXGXRcqYxDbdMyog7F9us/Vv2YLd76699Bok/cwQv5WUowSZmRmZuHvgZCUtPsyZ29mH0fIMyiSPSnNf8wzRDkmvBO+Q4JbzRB1/hmbFYeXtxKMtrzeAlJn129CrLLQ4jPqcrIp0wY3ZT/OE+/ahbgb+2rNqybjW5J7MzqucTdgI4c/MnOuhLTsYUrox4vlMTiMvzVp3g2u5Ba2gPPC9nc7tXdiIwGxkOOSFAnRTi4gUpandVa3Uf55iJ/mYQTQRO1Zb9ZI7iO80avndVW9/KE36PmbsfvonwxY8RlDHCW8k2d43QbhYUUWy3zcL1OpxiKd7fr X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN1AFFO11HUB006; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:BN1AFFO11HUB006;BCL:0;PCL:0;RULEID:;SRVR:BN1AFFO11HUB006; X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11HUB006;4:ytt0A7h7lPx91qM77Dha4Rrnckj82M5yJfEcLeyouDg+kwmFBmbX39AyJ2Rwj3MxO4F3GNVtu3Bx9K7N5ovj/CF326trpgL1ZAd3AvOC0xZQcnKK2Hr5RGuCug2SV35LkBdHzXVMni0OfXMXtYmf5nQup1jDnmVofL7TJLFhTiRj9vYIsG1VUSkOI8+nD7qYacFc1KXqjPiR8OPiH1vHgPjQMSJctAU6c7jmbYAhnrxfdwdtIksCkc6WlzqB+a/+L9ak+K2LHrxURQ0yOjpE3UE7gqqUCaRXLple8c+U8QU= X-Forefront-PRVS: 0618E4E7E1 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjFBRkZPMTFIVUIwMDY7MjM6ZnFyYTFUai9TNFpFdlJLZFptamgxTFdM?= =?utf-8?B?clRPc2p1a3B2ZVRqR3lLVHNPb2FuNktiV3M1ZjRMZkZVdWdoaE1oZG9lMll6?= =?utf-8?B?dTJXNmFOZFRRc1FQNVUrcjRoaWlZaURyaThhUHRDWGhwck5ITk1WNVgrbkJy?= =?utf-8?B?dlRXSyt0c2FMSmI4cTd3bktQbTE3bURxWDBvVFZPbkJlU3FJalNheG8ramYy?= =?utf-8?B?T2tRMzlScERZQ1p1OGtZQ1JIYWlFNXpPcWRBcXcybE93d2pvMGYwWWZTZXNq?= =?utf-8?B?cW5IRDQwVThEeVhZa3UxRlJaZkYvOUVpWXdEUUk1YnZaZ1FENjJWZmowYmxj?= =?utf-8?B?Rm9NeHEzZzNvRHM4SmVPcXhmbXJjSEk2RFZsekFscWsxT245YlF4TDlpR0NS?= =?utf-8?B?RFZPUnpPRkQ4eG45cWpiVWpiQ2dpNE9zcFVBVFVrNHprdkJNWk9rR3ZCaWh6?= =?utf-8?B?Y2pZcjlPeThkVFY2aTR5UVltUFJDV1gwZFhIVmNaVTFnVWdsMVVUajNjL0FB?= =?utf-8?B?bVpoZUVhTGs3T3pFVVRzNFIvVWxGa1h5d3NFSG5jNEhHbCtBYXl4SDZZb21R?= =?utf-8?B?VHBnaXF2MXV6VkMzc2tyQzdwYnpSa3Nnc3pYOFBEeWpET1J2VUZJQ1NQaEM3?= =?utf-8?B?NllZOHlnY1Z5THFlTVJ1UllMMmlxWU5oOEc5eDNnR051eFN5MzJtbHNxQmNY?= =?utf-8?B?cDRLTXBweis0WUs4N3hwQmVMWCsrTlFMYmJGQjF3U1NJajVRUFNCd2pkNW9m?= =?utf-8?B?T3ZCQXdreFZvRm5aVUMrZGdBUGV6R1ROSUVHc1JNK1NWUkRWak8rVTJ5OTAz?= =?utf-8?B?QVFRVytoNWxVY3dDNXk1cVJPa01yVlRhSExwbi8yYUV4czVKbGE5VHpwWUNL?= =?utf-8?B?Smt3WTczVEMrR3dZaWNQQWFnVnAwUVNYdzMvZGw5V0xKMHJ1dkdsZEdxUDZk?= =?utf-8?B?QTlULzF1ZnQzc0NtVUovNzhHMXZYUEQ1ekJsci9tM1prS29aRVBjNDBNZW5u?= =?utf-8?B?NDdzRmdTcEhpNEYraWJXVzY2enVnSjRVRyt3NStBamg4enhVbUR2VnZxaGYx?= =?utf-8?B?a2puYmxPbGVSQlYydlFlUk5uTVhleFpIcnc4VUhhS1VITmFYYzdFSHRqdHRz?= =?utf-8?B?dUZ0TExhVGpWK3A2M2xmdVhmeWhEOHdKeUhBc3lQODgwR0NhdG5qb0EvQW0w?= =?utf-8?B?V2xKSExUTWVJOUxmYkV0ZUNGQThhMW9vbzhoOVFybW5ZSG1kRllzSVdpUDNE?= =?utf-8?B?UlM2YmFRVEV2ZHVuN1lzMzQ5c2M4N3BBbFdRRm9vYndESTFkQ3IyRDFURUVF?= =?utf-8?B?NXVlS1ZpS1VuZGh2aTgrdUIzVGpZNDZJdGFaakl5WHlGZkMrZExsSHBpNk5D?= =?utf-8?B?NG44b3NsWHJpUmlKZ0hVTFVGL0UyK1dHRzZCcjBXRmh5M2RXbk53T2tmemln?= =?utf-8?B?UUV2SmYzUC8ycHE4bUo2MXFNdlFQTUxFQ1BFaWkybUF5c25NVkVQV05CYmdF?= =?utf-8?B?TnNmT1lLaG41VlFWY1BDZVIyckpTTEFYWW9Jb1BqNkRraVhYQ3VvNmJEOHMr?= =?utf-8?Q?kzk?= X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11HUB006;5:HMDOizm4Kr9SlmHP9En73GlJXTVGoUApZX9hHZV2soYCKFDOYQEgT8+gc2KlXiNGGu4uaTjlWVAHW455oWRD59v0xqbl/YWibiNkLHi+MFETf2idUsjfreCmCqKDxXdRFF0hkivAw5RhH7y2ZguDsA==;24:8pZ7/AEq83tz+cDdWGJVZmBG49HcDiwphR8dd5+rTBmB/Y5w1d0681jETlWnFU79d0MOFP4wu/zm/ZuXThFWO/7RFBHt9w70WltEd+d7A9M= X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Jun 2015 08:50:26.6767 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.100];Helo=[xsj-pvapsmtpgw02] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1AFFO11HUB006 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1881 Lines: 52 On 06/24/2015 09:19 AM, Raphaël Teysseyre wrote: > xgpio_save_regs() is used in this driver to setup the initial > values of the registers in the hardware. > > The relevant registers at that time are: > 0x0 -> channel 0 data (32 bits, one for each GPIO on this channel). > 0x4 -> channel 0 tri, controls in/out status for each GPIO of this channel. > 0x8 -> channel 1 data > 0xC -> channel 1 tri > > gpio-xilinx.c defines these: > XGPIO_DATA_OFFSET (0x0) > XGPIO_TRI_OFFSET (0x4) > XGPIO_CHANNEL_OFFSET 0x8 > > Before this patch, the "data" register value of channel 1 was written > at 0x4 intead of 0x8 (overwriting the channel 0 "tri" register), > and the "tri" register value for channel 1 was written at 0x8 instead of 0xC. > > Signed-off-by: Raphaël Teysseyre > --- > drivers/gpio/gpio-xilinx.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/gpio/gpio-xilinx.c b/drivers/gpio/gpio-xilinx.c > index 61243d1..e544b7a 100644 > --- a/drivers/gpio/gpio-xilinx.c > +++ b/drivers/gpio/gpio-xilinx.c > @@ -220,9 +220,9 @@ static void xgpio_save_regs(struct of_mm_gpio_chip *mm_gc) > if (!chip->gpio_width[1]) > return; > > - xgpio_writereg(mm_gc->regs + XGPIO_DATA_OFFSET + XGPIO_TRI_OFFSET, > + xgpio_writereg(mm_gc->regs + XGPIO_DATA_OFFSET + XGPIO_CHANNEL_OFFSET, > chip->gpio_state[1]); > - xgpio_writereg(mm_gc->regs + XGPIO_TRI_OFFSET + XGPIO_TRI_OFFSET, > + xgpio_writereg(mm_gc->regs + XGPIO_TRI_OFFSET + XGPIO_CHANNEL_OFFSET, > chip->gpio_dir[1]); > } Reviewed-by: Michal Simek Thanks, Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/