From owner-cvs-src@FreeBSD.ORG Thu May 20 19:50:05 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E9F8616A4CE for ; Thu, 20 May 2004 19:50:05 -0700 (PDT) Received: from root.org (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id A458843D3F for ; Thu, 20 May 2004 19:50:05 -0700 (PDT) (envelope-from nate@root.org) Received: (qmail 44908 invoked by uid 1000); 21 May 2004 02:49:52 -0000 Date: Thu, 20 May 2004 19:49:52 -0700 (PDT) From: Nate Lawson To: "M. Warner Losh" In-Reply-To: <20040520.203351.39157350.imp@bsdimp.com> Message-ID: <20040520194832.I44800@root.org> References: <200405181653.i4IGrU6g062365@repoman.freebsd.org> <40AD42E5.7050101@freebsd.org> <20040520174908.I44439@root.org> <20040520.203351.39157350.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: peadar@freebsd.org cc: cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/dev/acpica acpivar.h X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 May 2004 02:50:06 -0000 On Thu, 20 May 2004, M. Warner Losh wrote: > In message: <20040520174908.I44439@root.org> > Nate Lawson writes: > : Interesting, I didn't get that in my testing. Try this patch: > : > : Index: /sys/sys/bus.h > : =================================================================== > : RCS file: /home/ncvs/src/sys/sys/bus.h,v > : retrieving revision 1.58 > : diff -u -r1.58 bus.h > : --- /sys/sys/bus.h 17 Mar 2004 17:40:34 -0000 1.58 > : +++ /sys/sys/bus.h 21 May 2004 00:48:23 -0000 > : @@ -456,8 +456,9 @@ > : static __inline type varp ## _get_ ## var(device_t dev) \ > : { \ > : uintptr_t v; \ > : - BUS_READ_IVAR(device_get_parent(dev), dev, \ > : - ivarp ## _IVAR_ ## ivar, &v); \ > : + if (BUS_READ_IVAR(device_get_parent(dev), dev, \ > : + ivarp ## _IVAR_ ## ivar, &v) != 0) \ > : + v = (type) 0; \ > : return ((type) v); \ > : } \ > : \ > : I don't know if this change will be acceptable though. It's probably > : better to change the get function to take a pointer argument and return > : the value from BUS_READ_IVAR. > > No can do. All the pci get functions are implemented in terms of this > macro, and changing all the drivers in the tree to behave as you > suggest would be extremely painful. Augh, I assume this also applies to making it varp_get_var(device_t dev, uintptr_t value) ? It's lousy that this doesn't check the return value. -Nate