summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivek Gautam <gautam.vivek@samsung.com>2013-04-24 02:50:13 +0000
committerMarek Vasut <marex@denx.de>2013-05-06 02:16:37 +0200
commit4f4eab4d14b181c3a9447c75fd2b41b9d0d761e4 (patch)
tree9d909117695b3a2084674c72285a04e8382c3579
parent55f4b57542de9f4bee8dc0b7ca70686bd20e2aa4 (diff)
downloadu-boot-imx-4f4eab4d14b181c3a9447c75fd2b41b9d0d761e4.zip
u-boot-imx-4f4eab4d14b181c3a9447c75fd2b41b9d0d761e4.tar.gz
u-boot-imx-4f4eab4d14b181c3a9447c75fd2b41b9d0d761e4.tar.bz2
usb: common: Use a global definition for 'min3'
We can use a common global method for calculating minimum of 3 numbers. Put the same in 'common header' and let 'ehci' use it. Signed-off-by: Vivek Gautam <gautam.vivek@samsung.com> Acked-by: Tom Rini <trini@ti.com>
-rw-r--r--drivers/usb/host/ehci-hcd.c10
-rw-r--r--include/common.h25
2 files changed, 21 insertions, 14 deletions
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
index 19d4352..e0f3e4b 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
@@ -603,16 +603,6 @@ fail:
return -1;
}
-static inline int min3(int a, int b, int c)
-{
-
- if (b < a)
- a = b;
- if (c < a)
- a = c;
- return a;
-}
-
int
ehci_submit_root(struct usb_device *dev, unsigned long pipe, void *buffer,
int length, struct devrequest *req)
diff --git a/include/common.h b/include/common.h
index 8a1f3e4..40e4b07 100644
--- a/include/common.h
+++ b/include/common.h
@@ -199,18 +199,35 @@ typedef void (interrupt_handler_t)(void *);
* General Purpose Utilities
*/
#define min(X, Y) \
- ({ typeof (X) __x = (X); \
- typeof (Y) __y = (Y); \
+ ({ typeof(X) __x = (X); \
+ typeof(Y) __y = (Y); \
(__x < __y) ? __x : __y; })
#define max(X, Y) \
- ({ typeof (X) __x = (X); \
- typeof (Y) __y = (Y); \
+ ({ typeof(X) __x = (X); \
+ typeof(Y) __y = (Y); \
(__x > __y) ? __x : __y; })
#define MIN(x, y) min(x, y)
#define MAX(x, y) max(x, y)
+#define min3(X, Y, Z) \
+ ({ typeof(X) __x = (X); \
+ typeof(Y) __y = (Y); \
+ typeof(Z) __z = (Z); \
+ __x < __y ? (__x < __z ? __x : __z) : \
+ (__y < __z ? __y : __z); })
+
+#define max3(X, Y, Z) \
+ ({ typeof(X) __x = (X); \
+ typeof(Y) __y = (Y); \
+ typeof(Z) __z = (Z); \
+ __x > __y ? (__x > __z ? __x : __z) : \
+ (__y > __z ? __y : __z); })
+
+#define MIN3(x, y, z) min3(x, y, z)
+#define MAX3(x, y, z) max3(x, y, z)
+
/*
* Return the absolute value of a number.
*