diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2012-09-06 14:11:19 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-09-10 09:12:59 -0400 |
commit | 3b4a3fc0ba83265c0bfcfdfc3416e65e47441747 (patch) | |
tree | 6b9dc65f08622c1f1e717d199ab3262d9755d5a3 /drivers/usb/gadget/gadget_chips.h | |
parent | 18786da4853017d983ff6911648543ca617c12d1 (diff) |
usb: gadget: move usb_gadget_controller_number() into a .c file and libcomposite
After I moved the function from the header file to the c file I see:
| $ size drivers/usb/gadget/gadget_chips.o
| text data bss dec hex filename
| 1048 0 0 1048 418 drivers/usb/gadget/gadget_chips.o
That is almost a KiB which is removed from each user.
As Felipe pointed out, the function / usage is very dumb actually. This is
used for the following reasons:
- epautoconf ep hint (could provide a per-gadget callback)
- miss-features. currently the missing altsetting on pxa's and something
ZLP related on musbhdrc (looks like an optimisation which could be
implemented in musb itself if it is correct)
- unique BCD accross all UDCs. Not sure how important this is.
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/gadget_chips.h')
-rw-r--r-- | drivers/usb/gadget/gadget_chips.h | 76 |
1 files changed, 1 insertions, 75 deletions
diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h index ba4e302e77d7..c7055cd1e92e 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h | |||
@@ -55,81 +55,7 @@ | |||
55 | #define gadget_is_s3c_hsotg(g) (!strcmp("s3c-hsotg", (g)->name)) | 55 | #define gadget_is_s3c_hsotg(g) (!strcmp("s3c-hsotg", (g)->name)) |
56 | #define gadget_is_s3c_hsudc(g) (!strcmp("s3c-hsudc", (g)->name)) | 56 | #define gadget_is_s3c_hsudc(g) (!strcmp("s3c-hsudc", (g)->name)) |
57 | 57 | ||
58 | /** | 58 | int usb_gadget_controller_number(struct usb_gadget *gadget); |
59 | * usb_gadget_controller_number - support bcdDevice id convention | ||
60 | * @gadget: the controller being driven | ||
61 | * | ||
62 | * Return a 2-digit BCD value associated with the peripheral controller, | ||
63 | * suitable for use as part of a bcdDevice value, or a negative error code. | ||
64 | * | ||
65 | * NOTE: this convention is purely optional, and has no meaning in terms of | ||
66 | * any USB specification. If you want to use a different convention in your | ||
67 | * gadget driver firmware -- maybe a more formal revision ID -- feel free. | ||
68 | * | ||
69 | * Hosts see these bcdDevice numbers, and are allowed (but not encouraged!) | ||
70 | * to change their behavior accordingly. For example it might help avoiding | ||
71 | * some chip bug. | ||
72 | */ | ||
73 | static inline int usb_gadget_controller_number(struct usb_gadget *gadget) | ||
74 | { | ||
75 | if (gadget_is_net2280(gadget)) | ||
76 | return 0x01; | ||
77 | else if (gadget_is_dummy(gadget)) | ||
78 | return 0x02; | ||
79 | else if (gadget_is_pxa(gadget)) | ||
80 | return 0x03; | ||
81 | else if (gadget_is_goku(gadget)) | ||
82 | return 0x06; | ||
83 | else if (gadget_is_omap(gadget)) | ||
84 | return 0x08; | ||
85 | else if (gadget_is_pxa27x(gadget)) | ||
86 | return 0x11; | ||
87 | else if (gadget_is_s3c2410(gadget)) | ||
88 | return 0x12; | ||
89 | else if (gadget_is_at91(gadget)) | ||
90 | return 0x13; | ||
91 | else if (gadget_is_imx(gadget)) | ||
92 | return 0x14; | ||
93 | else if (gadget_is_musbhdrc(gadget)) | ||
94 | return 0x16; | ||
95 | else if (gadget_is_atmel_usba(gadget)) | ||
96 | return 0x18; | ||
97 | else if (gadget_is_fsl_usb2(gadget)) | ||
98 | return 0x19; | ||
99 | else if (gadget_is_amd5536udc(gadget)) | ||
100 | return 0x20; | ||
101 | else if (gadget_is_m66592(gadget)) | ||
102 | return 0x21; | ||
103 | else if (gadget_is_fsl_qe(gadget)) | ||
104 | return 0x22; | ||
105 | else if (gadget_is_ci13xxx_pci(gadget)) | ||
106 | return 0x23; | ||
107 | else if (gadget_is_langwell(gadget)) | ||
108 | return 0x24; | ||
109 | else if (gadget_is_r8a66597(gadget)) | ||
110 | return 0x25; | ||
111 | else if (gadget_is_s3c_hsotg(gadget)) | ||
112 | return 0x26; | ||
113 | else if (gadget_is_pch(gadget)) | ||
114 | return 0x27; | ||
115 | else if (gadget_is_ci13xxx_msm(gadget)) | ||
116 | return 0x28; | ||
117 | else if (gadget_is_renesas_usbhs(gadget)) | ||
118 | return 0x29; | ||
119 | else if (gadget_is_s3c_hsudc(gadget)) | ||
120 | return 0x30; | ||
121 | else if (gadget_is_net2272(gadget)) | ||
122 | return 0x31; | ||
123 | else if (gadget_is_dwc3(gadget)) | ||
124 | return 0x32; | ||
125 | else if (gadget_is_lpc32xx(gadget)) | ||
126 | return 0x33; | ||
127 | else if (gadget_is_bcm63xx(gadget)) | ||
128 | return 0x34; | ||
129 | |||
130 | return -ENOENT; | ||
131 | } | ||
132 | |||
133 | 59 | ||
134 | /** | 60 | /** |
135 | * gadget_supports_altsettings - return true if altsettings work | 61 | * gadget_supports_altsettings - return true if altsettings work |