From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chanwoo Choi Subject: Re: [PATCH] extcon: Add support for qcom SPMI PMIC USB id detection hardware Date: Thu, 30 Jun 2016 09:35:01 +0900 Message-ID: <57746935.4030107@samsung.com> References: <20160626055647.18898-1-stephen.boyd@linaro.org> <146705470025.30684.13257433085055355379@sboyd-linaro> <146715115921.31418.2315766296233007937@sboyd-linaro> <577369F5.8040907@samsung.com> <146722608622.16253.4347418438203284037@sboyd-linaro> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from mailout1.samsung.com ([203.254.224.24]:59872 "EHLO mailout1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751527AbcF3AfR (ORCPT ); Wed, 29 Jun 2016 20:35:17 -0400 In-reply-to: <146722608622.16253.4347418438203284037@sboyd-linaro> Sender: linux-arm-msm-owner@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org To: Stephen Boyd , Chanwoo Choi Cc: linux-arm-msm@vger.kernel.org, linux-kernel , linux-arm-kernel , Roger Quadros On 2016=EB=85=84 06=EC=9B=94 30=EC=9D=BC 03:48, Stephen Boyd wrote: > Quoting Chanwoo Choi (2016-06-28 23:25:57) >> On 2016=EB=85=84 06=EC=9B=94 29=EC=9D=BC 06:59, Stephen Boyd wrote: >>> Quoting Chanwoo Choi (2016-06-28 05:06:48) >>>> 2016-06-28 4:11 GMT+09:00 Stephen Boyd : >>>>> Quoting Chanwoo Choi (2016-06-26 04:20:43) >>>>>> 2016-06-26 14:56 GMT+09:00 Stephen Boyd : >>>>>>> +PROPERTIES >>>>>>> + >>>>>>> +- compatible: >>>>>>> + Usage: required >>>>>>> + Value type: >>>>>>> + Definition: Should contain "qcom,pm8941-misc"; >>>>>>> + >>>>>>> +- reg: >>>>>>> + Usage: required >>>>>>> + Value type: >>>>>>> + Definition: Should contain the offset to the misc address = space >>>>>> >>>>>> 'reg' property is used on extcon-qcom-spmi-misc.c? >>>>>> I think that you don't need to include this property. >>>>> >>>>> No it isn't used in the driver right now, but there is a register= offset >>>>> for this module and there are registers that can be read/written = in this >>>>> module. I'd like to keep it as required so we can easily read the >>>>> registers in the future if needed. >>>> >>>> OK. >>>> But, If you want to remain the reg property, you should add the co= de to get >>>> the register offset by using OF functions. This patch don't includ= e the OF >>>> function to handle it. >>>> >>> >>> Sorry I don't follow the argument. I've put the reg property here f= or >>> future proofing so that the binding doesn't have to change in backw= ards >>> incompatible ways in the future if we do need to get the property l= ater. >> >> I don't mention that 'reg' property should be removed. >=20 > Ok good. We need to keep reg property as this device is on a bus that > uses reg property for addressing. >=20 >> Just if you want to remain it, you should add some codes as followin= g: >> For exmaple, >> - of_get_address() to get the address information from device-tree. >> >> If documentation include the some properties, you should add the han= dling code >> in device driver. When you add the code to get the offset from devic= e-tree, >> it doesn't influence the some behavior in the future. >=20 > Sorry I don't understand that argument. We can put properties into > bindings and not use them in drivers if there isn't any immediate nee= d > to use them. >=20 > From what I can tell you're suggesting we call of_get_address() in th= e > driver and then do nothing with the value of the property? Is that ju= st > to check that the node is compliant with the binding and actually has= a > reg property? We don't add code in the kernel to check dts compliance= , > so I'm not inclined to do anything more here. I don't agree. When he DT binding document include the 'reg' property. But, the device driver don't include any code to handle the 'reg' prope= rty (just to get the offset). It is obviously wrong. It is just basic principle to write the Device-tree binding document. Other developer who don' know the history about 'reg' property would be embarrassed. Why don't extcon driver include the code to handle the 'reg' property? There is no method to explain it.