Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 May 2004 19:49:52 -0700 (PDT)
From:      Nate Lawson <nate@root.org>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        cvs-src@freebsd.org
Subject:   Re: cvs commit: src/sys/dev/acpica acpivar.h
Message-ID:  <20040520194832.I44800@root.org>
In-Reply-To: <20040520.203351.39157350.imp@bsdimp.com>
References:  <200405181653.i4IGrU6g062365@repoman.freebsd.org> <40AD42E5.7050101@freebsd.org> <20040520174908.I44439@root.org> <20040520.203351.39157350.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 20 May 2004, M. Warner Losh wrote:
> In message: <20040520174908.I44439@root.org>
>             Nate Lawson <nate@root.org> 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040520194832.I44800>