From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752666AbbJBM5H (ORCPT ); Fri, 2 Oct 2015 08:57:07 -0400 Received: from mail-bn1on0072.outbound.protection.outlook.com ([157.56.110.72]:3360 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751919AbbJBM5E (ORCPT ); Fri, 2 Oct 2015 08:57:04 -0400 X-Greylist: delayed 898 seconds by postgrey-1.27 at vger.kernel.org; Fri, 02 Oct 2015 08:57:03 EDT Authentication-Results: spf=pass (sender IP is 137.71.25.55) smtp.mailfrom=analog.com; codeaurora.org; dkim=none (message not signed) header.d=none;codeaurora.org; dmarc=bestguesspass action=none header.from=analog.com; From: Paul Cercueil To: Jonathan Cameron CC: Michael Hennerich , Lars-Peter Clausen , Hartmut Knaack , Peter Meerwald , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , , , , Paul Cercueil Subject: [PATCH 3/3] iio: ad5064: Always use external vref if there is no internal vref Date: Fri, 2 Oct 2015 14:41:42 +0200 Message-ID: <1443789702-24945-3-git-send-email-paul.cercueil@analog.com> X-Mailer: git-send-email 2.5.3 In-Reply-To: <1443789702-24945-1-git-send-email-paul.cercueil@analog.com> References: <1443789702-24945-1-git-send-email-paul.cercueil@analog.com> MIME-Version: 1.0 Content-Type: text/plain X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD030;1:OMyOwzJSeF7eTiIpQTv9CP7ObwJrSMEDYRmVwLyx7FR82JjRdkWUh7veMk7qDMgm9qO5Sd2RzZMC4JSpuPTboEqe6mj1oJh0Lh4fqqIHrJv4wdhUfZLpFe8d6KbzAj0jK06LkJ8eKsXEPKU9ubY89JN7FVRtwE3fujRzRtfWGELXK+sARxyolIJHGgJD4vQoKHHoBMuiO+OPHXIEpVmnOjVrpq1J461okeml4/i8m8BO25/RWBJptKeJ4qxn9vkea1oeeNBo/+yvgCdZA/Op+TFo+QUNWD+dkUhrQ4+87GIt/DMofmKwb+VaRypjKZDq+zBq1TzwiKcbjCIyRfTNegSCAjKNbWMH9IRf4+QHS+VI6ewo7pptYcqqSn7pGTS49/Fjr4vCLGtgnAw7ZjMR9H58b4Xycg7Cjl/v/SLNlZE= X-Forefront-Antispam-Report: CIP:137.71.25.55;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(2980300002)(438002)(189002)(199003)(107886002)(106466001)(76176999)(5001860100001)(50986999)(5008740100001)(77096005)(229853001)(92566002)(5007970100001)(4001540100001)(50466002)(87936001)(110136002)(50226001)(64706001)(5001830100001)(47776003)(33646002)(36756003)(19580395003)(5001970100001)(5001920100001)(77156002)(19580405001)(62966003)(2950100001)(11100500001)(46102003)(189998001)(5003940100001)(5003600100002)(6806005)(48376002)(86362001)(7059030)(4001430100001);DIR:OUT;SFP:1101;SCL:1;SRVR:BLUPR03MB357;H:nwd2mta1.analog.com;FPR:;SPF:Pass;PTR:nwd2mail10.analog.com;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB357;2:pCJ8zmU8bvr2ZZqw/z077bGqgaJjvvf38zwwoa/TtXspQJmokHYC/a5zX2OWM7oF2DxsB8t6XOAp/dJ3IoGNu6pK680K9Expizp6tOyjUghYmYggxFnhTiGxb8mKm8vYMkw9HIaYs2uzMsvCdZU5ijQHI5AkiX2CHpsThYkbIhw=;3:+R2R956lr5rRbncKpUPw3dKHh5JnGDJ+LBLIVbk1PlZx2MPY7UVb7WZhpQK+t7ixTCeAt/dXXMSSw1qZKuvTplefqaJ6xkyO4RMMWAKAhOzuYU1LpBXqKyPsBKgHQ7o/CLpdUH+y7jjNPCK8u4zbHVCEJOZEpwxmPJcaPfFvjkFEunK+Vz2ylkOlIg/krDI61HesbdC75JbXVNPNbAu17QqSg93BZOZLbXOcgXt/EQwQbA8U8ttdLd+miohvN3SM;25:/sVJ6NA+sSDNN3oxPj2C75Yhf19bhCfJGKXeWfDAgFbdLGNiq/cu2fu+3mCzanuH8YvnmjIYNoBYDA0Cozu/Ms2IZh1gCxb5eSjPeB1qnWD33lj6BZZVMjY939PYLJyBbwkWiHFkuZ4qf5eb+PKflUCc6jD/KMKs7Focv1mEGg/Ua9UD2mwhwW8iCUwCWLeplwuTXDPnHMih4y81mUGQizZG/1ostSPBCssjqn74ULUDqx+zU47rWrjDQWYOSYeMBWyxXhOC3IYOE6hDd65wag== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:BLUPR03MB357; X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB357;20:j/0mc0e5n8MaP3xAsvYCJ4pTJCCHfzvewmX++lOxGr+vlRWO5TpMHNt4vO5E7tKjBXxHrxUEZ7tijt6PrVSDyjrxb0PNZ/gSAJCEm8yZMTxkesQAkA9/pKxpfB10CbUdsbxg0nV4j5+BexYXglvL75NL/ozLlsdwEkS1GPOCsHQRQCSHv9Z5E/yiU+vVRAQ6nBlwrquAIU+PSoHl/Q69qA2nqunCd9uanvoIEP+JDpt3LaGQqHlNhkcoMeA0wXZh2ahfKYMoVdt7lm4qKA6a3c1/PejMHX4jcpyEDANjKuRst++gPpyuZk5zKFPcHLIPgzC+nCTrdPlaPi6Yje8M547Ml2hb3P3nqUFF+N0S5OtPysy1XnzvwsG+7cX/L+uvVC2nWA+IMlhUld6xxdLVuT77237/DMmalf10NejalOd097aO8/YkJ87eDoh8H+EB5mzJ40W9n4uyP4485eWv2VST2JVX2cq0YsxJm8BpOm/k7N7QUGh1s21UYHgkXRxa;4:Yn4Muey83CbC8MvkSzzqCT44PUv988ucThNsi7f1yLwYxFSwZXRZuzVR/IXsEH1HUDzR6Eo7KIkacSgwr7qvP3x/nl81SIMxEBoiQWI+biiRzl9sEa8Y1E+rZ46SnP1k41MGus+Swv8jpOKX5Niby2mDlYYfK7ZbxHDdkLaK1cXlooMAUfUs0D554uBI2TZOhHlrVJ2CbzyeQZeg1UDkT5flxJpj2kbT6IGknJYKLvVX0ebaqTdt83/duVxfdOTaUjejr5zvCu0yrQHV440usiWDaQAcZiTi9hvtOeGYLjwGFUM7aIfAjEgMtHHsQfa4EGVRG0KlvZkwNCMXuB2Vc5B9Ng0ADuThrmMckpkxkyM= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(5005006)(520078)(8121501046)(3002001);SRVR:BLUPR03MB357;BCL:0;PCL:0;RULEID:;SRVR:BLUPR03MB357; X-Forefront-PRVS: 0717E25089 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BLUPR03MB357;23:Eu2WOTRb75T66jbWV/S6Z5y1KR291dp8QiMLd6o95/?= =?us-ascii?Q?m3cv+Z3xFwob+IW55KS1zMNouOtylm3mjSdJ9p1rTcaC+wy59IJh4z4o2eJ4?= =?us-ascii?Q?nV9ghrH+OM1/Teq9qT8OwyAGY9EI/jABGIZysqBN2Fby1CY3wqPV6lacuMYK?= =?us-ascii?Q?1pA/xh+NVqeZ69opap+ibZNcLK/pVT08T66RNsl96p5t9Zv8v9WZwwzv+1ku?= =?us-ascii?Q?2rkLhFHazgMeFQd/hbGpks9TuePokNapqXtWCm2KcuX0MhR0iGm0i+ReWgTe?= =?us-ascii?Q?weByOPE6N+R2q1lqlCG0zqJOUeqUNgoab9oUlSAtv026fqNNJS9B0J9xjXFM?= =?us-ascii?Q?noAyoyyqzymINc9THcfap0b6Ic876By+4/FcWuuZaCmeRIp0ip+kb4dG/tXC?= =?us-ascii?Q?/4kpdzVgzVsd7fHP6A8PYqFVhZeOp/+Hp7pDjfz9REWi9NBHpIGFjCZ2dZ+G?= =?us-ascii?Q?/D21GTk6yQ7R5hpgrTjmfHceDgYTRorYlkqgRemSOgQrxXeJBcndeLHXfC50?= =?us-ascii?Q?WirvrJHVFIaySv2R0iverOP1DWijblBpgQxFH7R5CSlqFgasG+2aVMrGN99P?= =?us-ascii?Q?QFWeFVw/FXzNfuf4LSBDLVHFwNTRLNQDE5S6nQUMwhkYzaviDspWywD6+JqT?= =?us-ascii?Q?yHLwbKbZsa9p4BcfBPIzEeDY6zyorM1FVtkiu0EDxEmfhqdv5eUlZ8bCcB2S?= =?us-ascii?Q?nagEn4LaxTHFV3NmSlfaMxqsyriTqpL9LNWYuAwTuY/kgwjkGzLNLzvZ4HIF?= =?us-ascii?Q?nq0QPSKWtxsXURDePQAkbxwuUBMLDNk3Y9nRXKU/i/BLJStwWAuyQv8Z6rmu?= =?us-ascii?Q?ar+lXIQEovHIssTG8UoTqX1fhEfMVRMwpH5Cx28lnZDl677McQgiz71QyWRa?= =?us-ascii?Q?MS8AQQaz0SOivJIlSXglMKwz0Sc7o4ZoB2Vhy92S1H9n3ylfGT2V8A++JT9B?= =?us-ascii?Q?inOwO2znNiNV8qt2uy3hA4qeKELU51OwzAs8hH7Mb6SFT7kWreL6VX7XLdu6?= =?us-ascii?Q?9Iiu0okOtoReMQbibAii0sibE9Pd8Y/tX5mS4uKIRIdPK/GV0d7ras8AwRgI?= =?us-ascii?Q?0eRC3LayqRNsLaGe4aKP0qgxKwANipeeVyf3paPfiQjZycbSMhPxaZYLqiLr?= =?us-ascii?Q?TO1MpbHnF4BY64qMZeGzmy9kmyCdmBz2wWnjWLpHQwWeAG2OwwCMvJkZ/8wy?= =?us-ascii?Q?jIgioyfgZyC00=3D?= X-Microsoft-Exchange-Diagnostics: 1;BLUPR03MB357;5:zqJ6jRFB76eI3yANGaMf8UhFiVxu7rw4o2mEV7CFG7vkEiIEpkn1ZJaGZ6SmyI91tLNiQ4JCyf6GxTHUVTW7IAgBkqCbO0uoaZ43J3wSYcwmDZJMKMLI4NyEAlyJjwQkvfl+lhpDEZA7+rcNXDijOg==;24:hzTvBXsL1NaNlZOkkFFArhLpEdsJLIqg37MMNfbxFmQLT2LanqYH79ShbfH/uRGCM42uZ2YjwdVNy5UDh/pRQk2u+t7V2S0uBJDFR+h2JGM=;20:cq+Z7jdlqgyEj69+xgK0Ou3OyN11/oO6X9Bj6YQaPF7np6JlEapCWYyWtFTsWwJnmdUzhbQ3gsqiIXVeNx/cQA== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: analog.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Oct 2015 12:42:02.8936 (UTC) X-MS-Exchange-CrossTenant-Id: eaa689b4-8f87-40e0-9c6f-7228de4d754a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=eaa689b4-8f87-40e0-9c6f-7228de4d754a;Ip=[137.71.25.55];Helo=[nwd2mta1.analog.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB357 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the device does not have an internal reference, there is no other choice but to use the external reference. In that case, it does not make much sense to have to specify it. This patch ensures that the external reference is used if the device does not feature an internal reference. Signed-off-by: Paul Cercueil --- drivers/iio/dac/ad5064.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c index 7146f42..daee39e 100644 --- a/drivers/iio/dac/ad5064.c +++ b/drivers/iio/dac/ad5064.c @@ -464,7 +464,9 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type, for (i = 0; i < ad5064_num_vref(st); ++i) st->vref_reg[i].supply = ad5064_vref_name(st, i); - if (dev->of_node) { + if (!st->chip_info->internal_vref) { + ext_vref = true; + } else if (dev->of_node) { for (i = 0; ext_vref && i < ad5064_num_vref(st); ++i) ext_vref = of_property_read_bool(dev->of_node, ad5064_vref_name(st, i)); @@ -483,11 +485,6 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type, if (ret) return ret; } else { - if (!st->chip_info->internal_vref) { - dev_err(dev, "No vref available\n"); - return -ENXIO; - } - st->use_internal_vref = true; ret = ad5064_write(st, AD5064_CMD_CONFIG, 0, AD5064_CONFIG_INT_VREF_ENABLE, 0); -- 2.5.3