From patchwork Sat Jan 31 00:46:40 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gilad Avidov X-Patchwork-Id: 5753731 Return-Path: X-Original-To: patchwork-linux-arm-msm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id EB4C59F399 for ; Sat, 31 Jan 2015 00:47:28 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 19517201CE for ; Sat, 31 Jan 2015 00:47:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 33644201F4 for ; Sat, 31 Jan 2015 00:47:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1762109AbbAaArQ (ORCPT ); Fri, 30 Jan 2015 19:47:16 -0500 Received: from smtp.codeaurora.org ([198.145.11.231]:54893 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753784AbbAaAqu (ORCPT ); Fri, 30 Jan 2015 19:46:50 -0500 Received: from smtp.codeaurora.org (localhost [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 7ABC414023F; Sat, 31 Jan 2015 00:46:49 +0000 (UTC) Received: by smtp.codeaurora.org (Postfix, from userid 486) id 5FF6814024D; Sat, 31 Jan 2015 00:46:49 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from gavidov-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: gavidov@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 5143714023F; Sat, 31 Jan 2015 00:46:48 +0000 (UTC) From: Gilad Avidov To: gavidov@codeaurora.org, sdharia@codeaurora.org, mlocke@codeaurora.org, linux-arm-msm@vger.kernel.org, gregkh@linuxfoundation.org, svarbanov@mm-sol.com Cc: linux-kernel@vger.kernel.org, iivanov@mm-sol.com, galak@codeaurora.org, agross@codeaurora.org Subject: [PATCH V2 1/2] spmi: remove wakeup command before slave probe Date: Fri, 30 Jan 2015 17:46:40 -0700 Message-Id: <1422665201-25569-2-git-send-email-gavidov@codeaurora.org> X-Mailer: git-send-email 1.8.2.1 In-Reply-To: <1422665201-25569-1-git-send-email-gavidov@codeaurora.org> References: <1422665201-25569-1-git-send-email-gavidov@codeaurora.org> X-Virus-Scanned: ClamAV using ClamSMTP Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP According to spmi spec a slave powers up into startup state and then transitions into active state. Thus, the wakeup command is not required before calling the slave's probe. The wakeup command is only needed for slaves that are in sleep state after receiving the sleep command. This is a bug since spmi master controllers, such as spmi-pmic-arb, which have no support for wakeup command return an error on that command and thus fail before reaching a slave driver probe. Cc: galak@codeaurora.org Acked-by: Sagar Dharia Signed-off-by: Gilad Avidov --- drivers/spmi/spmi.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/spmi/spmi.c b/drivers/spmi/spmi.c index 1d92f51..9ff7454 100644 --- a/drivers/spmi/spmi.c +++ b/drivers/spmi/spmi.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -316,11 +316,6 @@ static int spmi_drv_probe(struct device *dev) struct spmi_device *sdev = to_spmi_device(dev); int err; - /* Ensure the slave is in ACTIVE state */ - err = spmi_command_wakeup(sdev); - if (err) - goto fail_wakeup; - pm_runtime_get_noresume(dev); pm_runtime_set_active(dev); pm_runtime_enable(dev); @@ -335,7 +330,6 @@ fail_probe: pm_runtime_disable(dev); pm_runtime_set_suspended(dev); pm_runtime_put_noidle(dev); -fail_wakeup: return err; }