Received: by 10.192.165.156 with SMTP id m28csp1137884imm; Wed, 11 Apr 2018 13:08:43 -0700 (PDT) X-Google-Smtp-Source: AIpwx49uVe4J4IKljTHXoG5CaT/+YIxys9xXrSdvQe6CqzEBRqdx7dYuG0XaGkiQeNjutkNQDXHK X-Received: by 10.99.140.77 with SMTP id q13mr4479555pgn.44.1523477323375; Wed, 11 Apr 2018 13:08:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523477323; cv=none; d=google.com; s=arc-20160816; b=HGccBbHvzfWTacb9KQwtpg9H7SK6I47sH+owJUz+dX0qngywXX78WjWbVzKeD1k/2m gx6I9rY1850vCbVjLC6gWhfHLNFdrWbPvcPh/2ghWeVlG4ACJ86tB57extYRG6dGAI9M WpG4QO6BI8jGMM+AduZjwSrFytPmaKOEvrxFiGIxcH5ioqWsPYcWTOJi/YH4wItXG5jZ /0c039MH2Q0sa5+962W8rfKrTEeFXnGny2rjy/sY+J6bEQm4ge5SDBT6373TxX/r+tXQ MHTzjTED3MozWO4Ciu94/yk7V17wy1q+rjmce8Q8a3U2bwcnvyeS5q7sP9UopmqG4HJ4 7Yww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=WdFpS5hCxzXu0DbERmYaU7a30Pdytc70kNym+laUC24=; b=B8zYFrPmvDz8avr3CmhJM9qNChkrcnznnJYI8kb6l+3AHIv3DB3ZeCp7/gbM5PVjXf 3uRoiu6t6NmDFJ+gXcV8/AkZQ1+FeKnaqG/WLvyWGcopaI3M6yvLhTzYaji4DWg2MMab pXaZUkLmpT5pBkh/UghmEwSXwRKcCXjWAQoKK0xnht+H72xxD2rON7Paj+a5vX7ok+mJ GUiu9MlLAq9lWYsyKQVcPPLp8l8HW9NbXuYQFmCwt61j7Cg0lRbSu9YJaB++gJYwK0tB +41KzxLJ70BaaGund7VtCqRWl/T+s1hV0Audr2sCo3wY4p01YGTMBkbuxrAE7zFN8ip0 Jwjw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q14si1202584pgr.311.2018.04.11.13.08.06; Wed, 11 Apr 2018 13:08:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933877AbeDKS4W (ORCPT + 99 others); Wed, 11 Apr 2018 14:56:22 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:35738 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932134AbeDKS4S (ORCPT ); Wed, 11 Apr 2018 14:56:18 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) by mail.linuxfoundation.org (Postfix) with ESMTPSA id 233F339; Wed, 11 Apr 2018 18:56:17 +0000 (UTC) From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Mikko Koivunen , Daniel Baluta , Jonathan Cameron , Sasha Levin Subject: [PATCH 4.9 085/310] iio: light: rpr0521 poweroff for probe fails Date: Wed, 11 Apr 2018 20:33:44 +0200 Message-Id: <20180411183625.932290967@linuxfoundation.org> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180411183622.305902791@linuxfoundation.org> References: <20180411183622.305902791@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Mikko Koivunen [ Upstream commit 12d74949133e2450533894ea01ce0c56646ce006 ] Set sensor measurement off after probe fail in pm_runtime_set_active() or iio_device_register(). Without this change sensor measurement stays on even though probe fails on these calls. This is maybe rare case, but causes constant power drain without any benefits when it happens. Power drain is 20-500uA, typically 180uA. Signed-off-by: Mikko Koivunen Acked-by: Daniel Baluta Signed-off-by: Jonathan Cameron Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/iio/light/rpr0521.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) --- a/drivers/iio/light/rpr0521.c +++ b/drivers/iio/light/rpr0521.c @@ -510,13 +510,26 @@ static int rpr0521_probe(struct i2c_clie ret = pm_runtime_set_active(&client->dev); if (ret < 0) - return ret; + goto err_poweroff; pm_runtime_enable(&client->dev); pm_runtime_set_autosuspend_delay(&client->dev, RPR0521_SLEEP_DELAY_MS); pm_runtime_use_autosuspend(&client->dev); - return iio_device_register(indio_dev); + ret = iio_device_register(indio_dev); + if (ret) + goto err_pm_disable; + + return 0; + +err_pm_disable: + pm_runtime_disable(&client->dev); + pm_runtime_set_suspended(&client->dev); + pm_runtime_put_noidle(&client->dev); +err_poweroff: + rpr0521_poweroff(data); + + return ret; } static int rpr0521_remove(struct i2c_client *client)