Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754259AbaGBO1K (ORCPT ); Wed, 2 Jul 2014 10:27:10 -0400 Received: from iolanthe.rowland.org ([192.131.102.54]:49356 "HELO iolanthe.rowland.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751540AbaGBO1H (ORCPT ); Wed, 2 Jul 2014 10:27:07 -0400 Date: Wed, 2 Jul 2014 10:27:06 -0400 (EDT) From: Alan Stern X-X-Sender: stern@iolanthe.rowland.org To: "Rafael J. Wysocki" cc: Greg Kroah-Hartman , Allen Yu , Pavel Machek , Len Brown , Dan Williams , Linux-pm mailing list , Kernel development list Subject: Re: [RFC] Add "rpm_not_supported" flag In-Reply-To: <3135210.ApPvOPL31q@vostro.rjw.lan> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2 Jul 2014, Rafael J. Wysocki wrote: > > Then you have no other objections to the patch? > > My concern still is that it will be confusing, because people won't read the > documentation carefully enough and will confuse "runtime PM never used" with > "hardware can't do PM". I'm not sure how to make that more clear, though. I could emphasize that distinction a little more strongly in the documentation. > Also we have the no_callbacks flag and I wonder if/how it is related to the > new one. Do we still need both? They mean different things. The no_callbacks flag is used when we want the PM core to think the device can be in RPM_SUSPENDED at times (it is "logically suspended"). rpm_not_supported is used when we want the PM core to think the device must always be in RPM_ACTIVE. > In addition to that, I think that "hardware can't do PM" should apply to the > handling of system suspend resume too. Maybe. For the use case Dan Williams and I are working on, it doesn't matter; for other cases it might matter. That's why I named the flag "rpm_not_supported" -- it applies specifically to runtime PM, not system PM. Here's a brief summary of the story behind this patch... At one point, I suggested to Dan that instead of doing something special for these devices, we could simply have the runtime_suspend() routine always return -EBUSY. He didn't like that idea because then the user would see the device was never powering down but would have no idea why. The rpm_not_supported flag provides this information to the user by causing the power/runtime_status attribute to say "not supported". (Although to be entirely fair, we could just put a message in the kernel log during probe if the hardware doesn't support runtime suspend.) Instead, Dan introduced a messy PM QoS mechanism in commit e3d105055525. I didn't like that approach, but Greg merged it before I objected. Do you have any suggestions? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/