From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932316AbbFEEyT (ORCPT ); Fri, 5 Jun 2015 00:54:19 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:56418 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753726AbbFEEyP (ORCPT ); Fri, 5 Jun 2015 00:54:15 -0400 X-AuditID: cbfee691-f79ca6d00000456a-b8-55712b7525fc Date: Fri, 05 Jun 2015 04:54:13 +0000 (GMT) From: MyungJoo Ham Subject: Re: [PATCH] extcon: max77843: Clear IRQ bits state before request IRQ To: =?utf-8?Q?=EA=B9=80=EC=9E=AC=EC=9B=90?= , =?utf-8?Q?=EC=B5=9C=EC=B0=AC=EC=9A=B0?= Cc: "linux-kernel@vger.kernel.org" , "linux-samsung-soc@vger.kernel.org" Reply-to: myungjoo.ham@samsung.com MIME-version: 1.0 X-MTR: 20150605044612074@myungjoo.ham Msgkey: 20150605044612074@myungjoo.ham X-EPLocale: ko_KR.utf-8 X-Priority: 3 X-EPWebmail-Msg-Type: personal X-EPWebmail-Reply-Demand: 0 X-EPApproval-Locale: X-EPHeader: ML X-MLAttribute: X-RootMTR: 20150605044612074@myungjoo.ham X-ParentMTR: X-ArchiveUser: X-CPGSPASS: N X-ConfirmMail: N,general Content-type: text/plain; charset=utf-8 MIME-version: 1.0 Message-id: <1462057843.591181433480053438.JavaMail.weblogic@epmlwas08a> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCIsWRmVeSWpSXmKPExsWyRsSkQLdUuzDU4PYkdYvLu+awOTB6fN4k F8AYxWWTkpqTWZZapG+XwJXRe/0tS8EM4YqGCxsZGxivCHUxcnIICahLLFpykg3ElhAwkbi3 /gU7hC0mceHeeqA4F1DNUkaJG1fvs8MUPZp8hQUiMYdR4s2XQ6wgCRYBFYmfz9uBijg42AT0 JGZ+TgYJCwv4ScxcNYkJpF5EoJdRYv6WWawgDrNAD6PEqyt/GCHOUJJYs+8VC4jNKyAocXLm ExaQQRICqhI3j8ZDhNUkbm9azghxhLjEhbmXoA7ilZjR/pQFwpaTmPZ1DTOELS1xftYGRphv Fn9/DBXnlzh2ewcThC0gMfXMQagaLYk9S75CQ4JPYs3Ctyww9btOLWeG2XV/y1yoXgmJrS1P wH5nFlCUmNL9EOx3ZgFNifW79FF9AmJ7SFz8/pYd5HUJgZkcEn8f7GObwKg0C0ndLCSjZiGM QlaygJFlFaNoakFyQXFSepGpXnFibnFpXrpecn7uJkZgYjj979nEHYz3D1gfYhTgYFTi4X1w OD9UiDWxrLgy9xCjKTCWJjJLiSbnA9NPXkm8obGZkYWpiamxkbmlmZI4r470z2AhgfTEktTs 1NSC1KL4otKc1OJDjEwcnFINjNtdHoaFpE8IXqq42uGu8cy6uKfJ0x0fvz+RwCOgf9At7lHi 1LdtB1NP+j3PuDhJNunH+bTykEVHhQqnrLb/9C3fLmCChkO43cnPOXNUKwxuy1nsTmxY9s9P peJYVGSA/1k24bRU4b/79omK9n5R+/7+8Is1/0RYOEr09uUfnXrdKOCE75/4TiWW4oxEQy3m ouJEABZor2QHAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrKKsWRmVeSWpSXmKPExsVy+t/tft1S7cJQg8apShaXd81hc2D0+LxJ LoAxKs0mIzUxJbVIITUvOT8lMy/dVsk7ON453tTMwFDX0NLCXEkhLzE31VbJxSdA1y0zB2io kkJZYk4pUCggsbhYSd/Opii/tCRVISO/uMRWKdrQ3EjPyEDP1EjP0DjWytDAwMgUqCYhLaP3 +luWghnCFQ0XNjI2MF4R6mLk5BASUJdYtOQkG4gtIWAi8WjyFRYIW0ziwr31QHEuoJo5jBJv vhxiBUmwCKhI/Hzezt7FyMHBJqAnMfNzMkhYWMBPYuaqSUwg9SICvYwS87fMYgVxmAV6GCVe XfnDCLFNSWLNvldgG3gFBCVOznzCAjJIQkBV4ubReIiwmsTtTcsZIY4Ql7gw9xI7hM0rMaP9 KdRxchLTvq5hhrClJc7P2sAIc/Ti74+h4vwSx27vYIKwBSSmnjkIVaMlsWfJV6iH+STWLHzL AlO/69RyZphd97fMheqVkNja8gTsd2YBRYkp3Q/BfmcW0JRYv0sf1ScgtofExe9v2Scwys5C kpqFpHsWQjeykgWMLKsYRVMLkguKk9IrjPWKE3OLS/PS9ZLzczcxgpPQs8U7GP+ftz7EKMDB qMTDa3EsP1SINbGsuDL3EKMEB7OSCK8WT2GoEG9KYmVValF+fFFpTmrxIUZTYJxNZJYSTc4H Jsi8knhDY2MTMxNTSxMLA1NzJXHe/+dyQ4QE0hNLUrNTUwtSi2D6mDg4pRoY09lVGB42LTZa FjfzTNjuk7Ntpi1k+f1kp6+u6POvPRN17L6w3rix+OuMrnSlzs28ccdDHB/dWbrJcanCeld9 l87w1uaXNzin1u+Q3HwymdNcr8Z0x+9356QyX97f6m+7K8pDJOPVE41jKbPfq3y3Wi9iNDXg 0b0/Zf9PJPXVH1L8n2lgb+7npsRSnJFoqMVcVJwIANcSX+lYAwAA DLP-Filter: Pass X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id t554sOr5008716 > > IRQ signal before driver probe is needless because driver sends > current state after platform booting done. > So, this patch clears MUIC IRQ bits before request IRQ. > > Signed-off-by: Jaewon Kim > --- > drivers/extcon/extcon-max77843.c | 9 +++++++++ > 1 file changed, 9 insertions(+) Q1. Is this because the pending bits are USELESS? or because the pendeing bits incurs INCORRECT behaviors? Q2. Does clearing (by reading) INT1 do everything you need? What about INT2 and INT3? Q3. I presume that "driver sends current state after..." is coming from the invokation of "queue_delayed_work()" at the end of the probe function. It appears that you are only serving the pending status of "cable detection" with it while INT1 seems to have more functionalities. Does that delayed work do everything that are pending, really? Cheers, MyungJoo > > diff --git a/drivers/extcon/extcon-max77843.c b/drivers/extcon/extcon-max77843.c > index d78a64d..11e09d1 100644 > --- a/drivers/extcon/extcon-max77843.c > +++ b/drivers/extcon/extcon-max77843.c > @@ -781,6 +781,15 @@ static int max77843_muic_probe(struct platform_device *pdev) > /* Support virtual irq domain for max77843 MUIC device */ > INIT_WORK(&info->irq_work, max77843_muic_irq_work); > > + /* Clear IRQ bits before request IRQs */ > + ret = regmap_bulk_read(max77843->regmap_muic, > + MAX77843_MUIC_REG_INT1, info->status, > + MAX77843_MUIC_IRQ_NUM); > + if (ret) { > + dev_err(&pdev->dev, "Failed to Clear IRQ bits\n"); > + goto err_muic_irq; > + } > + > for (i = 0; i < ARRAY_SIZE(max77843_muic_irqs); i++) { > struct max77843_muic_irq *muic_irq = &max77843_muic_irqs[i]; > unsigned int virq = 0; > -- > 1.7.9.5 > {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I