From mboxrd@z Thu Jan 1 00:00:00 1970 From: Willy Tarreau Subject: Re: [PATCH] Re: NAK new drivers without proper power management? Date: Sun, 11 Feb 2007 14:09:43 +0100 Message-ID: <20070211130943.GA1868@1wt.eu> References: <200702101130.44471.rjw@sisk.pl> <200702102050.28218.rjw@sisk.pl> <20070211065404.GA943@1wt.eu> <20070211121339.GB4204@srcf.ucam.org> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <20070211121339.GB4204@srcf.ucam.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.osdl.org Errors-To: linux-pm-bounces@lists.osdl.org To: Matthew Garrett Cc: Robert Hancock , Pavel Machek , Jeff Garzik , Daniel Barkalow , pm list , linux-kernel List-Id: linux-pm@vger.kernel.org On Sun, Feb 11, 2007 at 12:13:40PM +0000, Matthew Garrett wrote: > On Sun, Feb 11, 2007 at 07:54:04AM +0100, Willy Tarreau wrote: > = > > instead of modifying all drivers to explicitly state that they don't su= pport > > it, we should start with a test of the NULL pointer for .suspend which = should > > mean exactly the same without modifying the drivers. I find it obvious = that > > a driver which does provide a suspend function will not support it. And= if > > some drivers (eg /dev/null) can support it anyway, it's better to change > > *those* drivers to explicitly mark them as compatible. > = > No, that doesn't work. In the absence of suspend/resume methods, the PCI = > layer will implement basic PM itself. In some cases, this works. In = > others, it doesn't. There's no way to automatically determine which is = > which without modifying the drivers. Then change the PCI layer to do the basic PM only for known compatible drivers, and modify only the known-compatible drivers to mark them explicitly compatible. IMHO, it generally is a bad idea to require that any driver explicitly states what it *does not* support. It's the reason why users encounter problem on new features with old drivers. For instance, do you know if the old ISA NE2000 driver breaks suspend ? I don't know, but I would at least expect it not to support it by default. It's best to announce what *is* supported and consider everything unimplemented otherwise explicitly stated. Regards, Willy