From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753162AbaDKGqj (ORCPT ); Fri, 11 Apr 2014 02:46:39 -0400 Received: from mx0b-0016f401.pphosted.com ([67.231.156.173]:26747 "EHLO mx0b-0016f401.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750861AbaDKGqh convert rfc822-to-8bit (ORCPT ); Fri, 11 Apr 2014 02:46:37 -0400 Date: Fri, 11 Apr 2014 14:44:31 +0800 From: Jisheng Zhang To: Antoine =?UTF-8?B?VMOpbmFydA==?= , "sebastian.hesselbarth@gmail.com" , "linus.walleij@linaro.org" CC: "alexandre.belloni@free-electrons.com" , Jimmy Xu , "linux-arm-kernel@lists.infradead.org" , "devicetree@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs Message-ID: <20140411144431.04fb148d@xhacker> In-Reply-To: <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> References: <1397135274-10764-1-git-send-email-antoine.tenart@free-electrons.com> <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.23; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8BIT X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:5.11.96,1.0.14,0.0.0000 definitions=2014-04-11_03:2014-04-11,2014-04-11,1970-01-01 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=7.0.1-1402240000 definitions=main-1404110116 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Antoine, On Thu, 10 Apr 2014 06:07:51 -0700 Antoine Ténart wrote: ... > +static int berlin_pinmux_enable(struct pinctrl_dev *pctrl_dev, > + unsigned function, > + unsigned group) > +{ > + struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); > + struct berlin_pinctrl_group *group_desc = pctrl->groups + group; > + struct berlin_pinctrl_function *function_desc = > + pctrl->functions + function; > + unsigned long flags; > + u32 regval; > + > + spin_lock_irqsave(&pctrl->lock, flags); > + > + regval = readl(group_desc->reg); > + regval &= group_desc->mask; > + regval |= function_desc->muxval << group_desc->lsb; > + writel(regval, group_desc->reg); Could we use relaxed version instead? Thanks, Jisheng From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jisheng Zhang Subject: Re: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs Date: Fri, 11 Apr 2014 14:44:31 +0800 Message-ID: <20140411144431.04fb148d@xhacker> References: <1397135274-10764-1-git-send-email-antoine.tenart@free-electrons.com> <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Antoine =?UTF-8?B?VMOpbmFydA==?= , "sebastian.hesselbarth@gmail.com" , "linus.walleij@linaro.org" Cc: Jimmy Xu , "devicetree@vger.kernel.org" , "alexandre.belloni@free-electrons.com" , "linux-kernel@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" List-Id: devicetree@vger.kernel.org SGkgQW50b2luZSwKCk9uIFRodSwgMTAgQXByIDIwMTQgMDY6MDc6NTEgLTA3MDAKQW50b2luZSBU w6luYXJ0IDxhbnRvaW5lLnRlbmFydEBmcmVlLWVsZWN0cm9ucy5jb20+IHdyb3RlOgoKLi4uCj4g K3N0YXRpYyBpbnQgYmVybGluX3Bpbm11eF9lbmFibGUoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3Ry bF9kZXYsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBmdW5jdGlv biwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGdyb3VwKQo+ICt7 Cj4gKyAgICAgICBzdHJ1Y3QgYmVybGluX3BpbmN0cmwgKnBjdHJsID0gcGluY3RybF9kZXZfZ2V0 X2RydmRhdGEocGN0cmxfZGV2KTsKPiArICAgICAgIHN0cnVjdCBiZXJsaW5fcGluY3RybF9ncm91 cCAqZ3JvdXBfZGVzYyA9IHBjdHJsLT5ncm91cHMgKyBncm91cDsKPiArICAgICAgIHN0cnVjdCBi ZXJsaW5fcGluY3RybF9mdW5jdGlvbiAqZnVuY3Rpb25fZGVzYyA9Cj4gKyAgICAgICAgICAgICAg IHBjdHJsLT5mdW5jdGlvbnMgKyBmdW5jdGlvbjsKPiArICAgICAgIHVuc2lnbmVkIGxvbmcgZmxh Z3M7Cj4gKyAgICAgICB1MzIgcmVndmFsOwo+ICsKPiArICAgICAgIHNwaW5fbG9ja19pcnFzYXZl KCZwY3RybC0+bG9jaywgZmxhZ3MpOwo+ICsKPiArICAgICAgIHJlZ3ZhbCA9IHJlYWRsKGdyb3Vw X2Rlc2MtPnJlZyk7Cj4gKyAgICAgICByZWd2YWwgJj0gZ3JvdXBfZGVzYy0+bWFzazsKPiArICAg ICAgIHJlZ3ZhbCB8PSBmdW5jdGlvbl9kZXNjLT5tdXh2YWwgPDwgZ3JvdXBfZGVzYy0+bHNiOwo+ ICsgICAgICAgd3JpdGVsKHJlZ3ZhbCwgZ3JvdXBfZGVzYy0+cmVnKTsKCkNvdWxkIHdlIHVzZSBy ZWxheGVkIHZlcnNpb24gaW5zdGVhZD8KClRoYW5rcywKSmlzaGVuZwoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5n IGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5p bmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: jszhang@marvell.com (Jisheng Zhang) Date: Fri, 11 Apr 2014 14:44:31 +0800 Subject: [PATCH RESEND 2/5] pinctrl: berlin: add a pinctrl driver for Marvell Berlin SoCs In-Reply-To: <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> References: <1397135274-10764-1-git-send-email-antoine.tenart@free-electrons.com> <1397135274-10764-3-git-send-email-antoine.tenart@free-electrons.com> Message-ID: <20140411144431.04fb148d@xhacker> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi Antoine, On Thu, 10 Apr 2014 06:07:51 -0700 Antoine T?nart wrote: ... > +static int berlin_pinmux_enable(struct pinctrl_dev *pctrl_dev, > + unsigned function, > + unsigned group) > +{ > + struct berlin_pinctrl *pctrl = pinctrl_dev_get_drvdata(pctrl_dev); > + struct berlin_pinctrl_group *group_desc = pctrl->groups + group; > + struct berlin_pinctrl_function *function_desc = > + pctrl->functions + function; > + unsigned long flags; > + u32 regval; > + > + spin_lock_irqsave(&pctrl->lock, flags); > + > + regval = readl(group_desc->reg); > + regval &= group_desc->mask; > + regval |= function_desc->muxval << group_desc->lsb; > + writel(regval, group_desc->reg); Could we use relaxed version instead? Thanks, Jisheng