Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp457796imm; Wed, 6 Jun 2018 00:02:23 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLvtLmxxz0RQhw48bVlMFLFpRu9c4mB6ILLTpTIzziHUKVVel1wAmXtiQ+qNmxaZ9xdNqJh X-Received: by 2002:a62:1747:: with SMTP id 68-v6mr1264741pfx.69.1528268543280; Wed, 06 Jun 2018 00:02:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528268543; cv=none; d=google.com; s=arc-20160816; b=qgArBVITcTP503OlVHGiXws8V7mrqpV+gv0jK7Ao2CFF2mTY3yLjK6RhqVI4yhtJ4X 2Pnrm/B4x6pVNmq4CXI01TQRLhIPcX3LIhkzn06Po51YYgycNF/xapvdd7zxe6d1mjCd q1Q6rMlFi6wI42Lgdgm4Fk3TcGk9fcLmN3ivhiqJcFP6Qos97lQ2Xu6zVdyDqInQ05wX dahbugDKR2bIP0udSkdET7RGQLJxM0BNwogg9gR56H25NiVakZFdW/38puRnpunQe4KC c0cRRvnxL5RXnYpfiDEO2FDstCv1+hhTsE3Gow8ih3ZWWLkGVhvthlY0No6Q+GKIhJtf mGvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=CxB3/a5EnWF6WzVqNaBM7+YGSqGnEwBhY71GpZwzYs8=; b=p9wVQPu+VAh08E15V9Jdztgh6ngKcCUkaug2m9UHkTPXfefO0+lSPd+ES3kIbcscqg z6adJiE45rXrXst9C/WPOTWSAwxRpnVL6Y4rbLYFIBcPAulliMfo1uhLloF0pSWTpXij U7f4WZ0B7bZ2vnfJu9siVL0OYsne/X13DGj1qo8W8KYgdqux0athE25Xucf7/97JcLS0 US5Ne7TdFt/Jp8MU8fIrXWtKlCSKHAkOQUCTbFWEgt1D4Cs8rEl2FsfMH7Qmx5ZAikWV 3OAxJhYP2A5+Age9eUjTEA2GnwF9MP3Az7ITtPZfiBIAQo3dqumMMk9lLh4m+c/CAQjL L2Nw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=TR64essH; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k18-v6si25056181pll.404.2018.06.06.00.02.09; Wed, 06 Jun 2018 00:02:23 -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; dkim=fail header.i=@gmail.com header.s=20161025 header.b=TR64essH; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932344AbeFFHAr (ORCPT + 99 others); Wed, 6 Jun 2018 03:00:47 -0400 Received: from mail-ot0-f194.google.com ([74.125.82.194]:40902 "EHLO mail-ot0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932290AbeFFHAo (ORCPT ); Wed, 6 Jun 2018 03:00:44 -0400 Received: by mail-ot0-f194.google.com with SMTP id w9-v6so409555otj.7; Wed, 06 Jun 2018 00:00:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=CxB3/a5EnWF6WzVqNaBM7+YGSqGnEwBhY71GpZwzYs8=; b=TR64essHUuZifYE2efXoKZyJXEIuNfhQwKuFvEsllCicHbpCILyqgAWzVSgFWwYauJ rDPwClE56ryOz5UzZE+AKuLFFXKdxCFekW5muNrhaZS+6m1rZYm5QenoFn0ur2Fwmd47 mjs2xosBhMy4DmFrtWyOnJZT76Kw32VMDKCQjhj95i7d+bm+0rNWAS0XL+F6P2F/wzbc /kfDkltMlMon/KkH3Y13JBxmiHfizv6uZdmKU/4y656aDTICGWyE8eVQLv2GhyOLPh6A aRWJ+Ux87wCO/R3ihmyncYK3myrfMA+kBW/Pbb4ZsdunSfS7fHiXnziccJc9vmumjMVa PRiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=CxB3/a5EnWF6WzVqNaBM7+YGSqGnEwBhY71GpZwzYs8=; b=meiJSe6SS2I8ZMwgm6lUwHOIRnJflIzy5XDVlQ4F56rk9PJVy/ReZSlt/F4JOE9LnZ 9ISTzuDDqEDbodgDP8XmF/3Btmxq7oeKDPLJFkHC7DUrV6LV2xyzO4eSKKqrMzMUEAmE xM0gi73xOneKHo2ZhNZfF8/gim46uxvD50i/LC9y7PYQQlblYlGc7J4UkH5pi5cLOX5O bA9ug0V/BiCsJxjeUMA5RKQucVdveI4p+YKHfhfxCkTGnPL7yYapbDKXnK6fme8Wawvz UJ+QMs66QK+PNBVZlDlmndmcBsf7eRzrE9FEbkAYaq0J7f4IzAG7xQs80EtOWtxr1FTG owHw== X-Gm-Message-State: APt69E0ugd8RJPUcfjdmi6fSpjiz/akwk7AbQzzS/zDqoqMyZ+m/hTcu MCqnk11Q7JBWnb8AmPhEtaqTmK1hPQ4HroxGG6Y5VQ== X-Received: by 2002:a9d:5912:: with SMTP id t18-v6mr293972oth.217.1528268444087; Wed, 06 Jun 2018 00:00:44 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:1468:0:0:0:0:0 with HTTP; Wed, 6 Jun 2018 00:00:43 -0700 (PDT) In-Reply-To: <20180604182612.72699-1-ravisadineni@chromium.org> References: <20180604182612.72699-1-ravisadineni@chromium.org> From: "Rafael J. Wysocki" Date: Wed, 6 Jun 2018 09:00:43 +0200 X-Google-Sender-Auth: r7gwPg2AQtN6nTcibNTaP6zk2Oo Message-ID: Subject: Re: [PATCH] ACPI LID: increment wakeup count only when notified. To: Ravi Chandra Sadineni Cc: "Rafael J. Wysocki" , Len Brown , Ravi Chandra Sadineni , Dmitry Torokhov , Todd Broch , Linux Kernel Mailing List , ACPI Devel Maling List , Rajat Jain , Benson Leung , Furquan Shaikh 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 On Mon, Jun 4, 2018 at 8:26 PM, Ravi Chandra Sadineni wrote: > Currently ACPI LID increments wakeup count irrespective of the wake source. > This is because we call acpi_lid_initialize_state on every resume. I don't quite understand the connection between the two sentences above. Care to clarify? > Userland deamons using wakeup_count to identify the potential wake > source for the last wake will be thrown off by this. Instead increment > the wakeup count only when there is a FIXED_HARDWARE/NOTFIY_STATUS event. > > Signed-off-by: Ravi Chandra Sadineni > --- > drivers/acpi/button.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/drivers/acpi/button.c b/drivers/acpi/button.c > index f1cc4f9d31cd9..d40fef7241f08 100644 > --- a/drivers/acpi/button.c > +++ b/drivers/acpi/button.c > @@ -235,9 +235,6 @@ static int acpi_lid_notify_state(struct acpi_device *device, int state) > button->last_time = ktime_get(); > } > > - if (state) > - acpi_pm_wakeup_event(&device->dev); > - > ret = blocking_notifier_call_chain(&acpi_lid_notifier, state, device); > if (ret == NOTIFY_DONE) > ret = blocking_notifier_call_chain(&acpi_lid_notifier, state, > @@ -417,6 +414,7 @@ static void acpi_button_notify(struct acpi_device *device, u32 event) > /* fall through */ > case ACPI_BUTTON_NOTIFY_STATUS: > input = button->input; > + acpi_pm_wakeup_event(&device->dev); Not really. There already is an acpi_pm_wakeup_event() call in the else branch below. > if (button->type == ACPI_BUTTON_TYPE_LID) { > mutex_lock(&button->input->mutex); > users = button->input->users; > @@ -426,7 +424,6 @@ static void acpi_button_notify(struct acpi_device *device, u32 event) > } else { > int keycode; > > - acpi_pm_wakeup_event(&device->dev); > if (button->suspended) > break; > > --