ChangeSet 1.1003, 2003/02/20 11:12:44-08:00, rusty@rustcorp.com.au [PATCH] USB: Clean up some USB macros Reported by Joern Engel. 1) Wrap "ep" arg in brackets. 2) Make usb_settoggle an inline, to avoid double eval. diff -Nru a/include/linux/usb.h b/include/linux/usb.h --- a/include/linux/usb.h Thu Feb 20 12:06:52 2003 +++ b/include/linux/usb.h Thu Feb 20 12:06:52 2003 @@ -998,9 +998,16 @@ #define PIPE_DEVEP_MASK 0x0007ff00 /* The D0/D1 toggle bits */ -#define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> ep) & 1) -#define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << ep)) -#define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = ((dev)->toggle[out] & ~(1 << ep)) | ((bit) << ep)) +#define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> (ep)) & 1) +#define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << (ep))) +static inline void usb_settoggle(struct usb_device *dev, + unsigned int ep, + unsigned int out, + int bit) +{ + dev->toggle[out] &= ~(1 << ep); + dev->toggle[out] |= bit << ep; +} /* Endpoint halt control/status */ #define usb_endpoint_out(ep_dir) (((ep_dir >> 7) & 1) ^ 1)