diff options
author | Felipe Balbi <balbi@ti.com> | 2010-12-01 06:22:05 -0500 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2010-12-07 02:19:39 -0500 |
commit | 743411b3f3e96e8ac4cae73551a0a95392fed1ea (patch) | |
tree | 485f2f1f92768df7b1cc2d44cf3b8d4cc3cdaf3b /drivers/usb/musb/da8xx.c | |
parent | 3ca8abb84522f4b773678726db6ebd6fc277bc96 (diff) |
usb: musb: make all glue layer export struct musb_platform_ops
preparing to a big refactor on musb code. We need
to be able to compile in all glue layers (or at
least all ARM-based ones) together and have a
working binary.
While preparing for that, we move every glue
layer to export only one symbol, which is
a struct musb_platform_ops, and make all
other functions static.
Later patches will come to allow for compiling
all glue layers together and have a working
binary.
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb/da8xx.c')
-rw-r--r-- | drivers/usb/musb/da8xx.c | 37 |
1 files changed, 25 insertions, 12 deletions
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c index 84427bebbf6..6161fc50d04 100644 --- a/drivers/usb/musb/da8xx.c +++ b/drivers/usb/musb/da8xx.c | |||
@@ -131,9 +131,9 @@ static inline void phy_off(void) | |||
131 | */ | 131 | */ |
132 | 132 | ||
133 | /** | 133 | /** |
134 | * musb_platform_enable - enable interrupts | 134 | * da8xx_musb_enable - enable interrupts |
135 | */ | 135 | */ |
136 | void musb_platform_enable(struct musb *musb) | 136 | static void da8xx_musb_enable(struct musb *musb) |
137 | { | 137 | { |
138 | void __iomem *reg_base = musb->ctrl_base; | 138 | void __iomem *reg_base = musb->ctrl_base; |
139 | u32 mask; | 139 | u32 mask; |
@@ -151,9 +151,9 @@ void musb_platform_enable(struct musb *musb) | |||
151 | } | 151 | } |
152 | 152 | ||
153 | /** | 153 | /** |
154 | * musb_platform_disable - disable HDRC and flush interrupts | 154 | * da8xx_musb_disable - disable HDRC and flush interrupts |
155 | */ | 155 | */ |
156 | void musb_platform_disable(struct musb *musb) | 156 | static void da8xx_musb_disable(struct musb *musb) |
157 | { | 157 | { |
158 | void __iomem *reg_base = musb->ctrl_base; | 158 | void __iomem *reg_base = musb->ctrl_base; |
159 | 159 | ||
@@ -170,7 +170,7 @@ void musb_platform_disable(struct musb *musb) | |||
170 | #define portstate(stmt) | 170 | #define portstate(stmt) |
171 | #endif | 171 | #endif |
172 | 172 | ||
173 | static void da8xx_set_vbus(struct musb *musb, int is_on) | 173 | static void da8xx_musb_set_vbus(struct musb *musb, int is_on) |
174 | { | 174 | { |
175 | WARN_ON(is_on && is_peripheral_active(musb)); | 175 | WARN_ON(is_on && is_peripheral_active(musb)); |
176 | } | 176 | } |
@@ -252,7 +252,7 @@ static void otg_timer(unsigned long _musb) | |||
252 | spin_unlock_irqrestore(&musb->lock, flags); | 252 | spin_unlock_irqrestore(&musb->lock, flags); |
253 | } | 253 | } |
254 | 254 | ||
255 | void musb_platform_try_idle(struct musb *musb, unsigned long timeout) | 255 | static void da8xx_musb_try_idle(struct musb *musb, unsigned long timeout) |
256 | { | 256 | { |
257 | static unsigned long last_timer; | 257 | static unsigned long last_timer; |
258 | 258 | ||
@@ -282,7 +282,7 @@ void musb_platform_try_idle(struct musb *musb, unsigned long timeout) | |||
282 | mod_timer(&otg_workaround, timeout); | 282 | mod_timer(&otg_workaround, timeout); |
283 | } | 283 | } |
284 | 284 | ||
285 | static irqreturn_t da8xx_interrupt(int irq, void *hci) | 285 | static irqreturn_t da8xx_musb_interrupt(int irq, void *hci) |
286 | { | 286 | { |
287 | struct musb *musb = hci; | 287 | struct musb *musb = hci; |
288 | void __iomem *reg_base = musb->ctrl_base; | 288 | void __iomem *reg_base = musb->ctrl_base; |
@@ -380,7 +380,7 @@ static irqreturn_t da8xx_interrupt(int irq, void *hci) | |||
380 | return ret; | 380 | return ret; |
381 | } | 381 | } |
382 | 382 | ||
383 | int musb_platform_set_mode(struct musb *musb, u8 musb_mode) | 383 | static int da8xx_musb_set_mode(struct musb *musb, u8 musb_mode) |
384 | { | 384 | { |
385 | u32 cfgchip2 = __raw_readl(CFGCHIP2); | 385 | u32 cfgchip2 = __raw_readl(CFGCHIP2); |
386 | 386 | ||
@@ -409,7 +409,7 @@ int musb_platform_set_mode(struct musb *musb, u8 musb_mode) | |||
409 | return 0; | 409 | return 0; |
410 | } | 410 | } |
411 | 411 | ||
412 | int __init musb_platform_init(struct musb *musb, void *board_data) | 412 | static int da8xx_musb_init(struct musb *musb) |
413 | { | 413 | { |
414 | void __iomem *reg_base = musb->ctrl_base; | 414 | void __iomem *reg_base = musb->ctrl_base; |
415 | u32 rev; | 415 | u32 rev; |
@@ -431,7 +431,7 @@ int __init musb_platform_init(struct musb *musb, void *board_data) | |||
431 | if (is_host_enabled(musb)) | 431 | if (is_host_enabled(musb)) |
432 | setup_timer(&otg_workaround, otg_timer, (unsigned long)musb); | 432 | setup_timer(&otg_workaround, otg_timer, (unsigned long)musb); |
433 | 433 | ||
434 | musb->board_set_vbus = da8xx_set_vbus; | 434 | musb->board_set_vbus = da8xx_musb_set_vbus; |
435 | 435 | ||
436 | /* Reset the controller */ | 436 | /* Reset the controller */ |
437 | musb_writel(reg_base, DA8XX_USB_CTRL_REG, DA8XX_SOFT_RESET_MASK); | 437 | musb_writel(reg_base, DA8XX_USB_CTRL_REG, DA8XX_SOFT_RESET_MASK); |
@@ -446,14 +446,14 @@ int __init musb_platform_init(struct musb *musb, void *board_data) | |||
446 | rev, __raw_readl(CFGCHIP2), | 446 | rev, __raw_readl(CFGCHIP2), |
447 | musb_readb(reg_base, DA8XX_USB_CTRL_REG)); | 447 | musb_readb(reg_base, DA8XX_USB_CTRL_REG)); |
448 | 448 | ||
449 | musb->isr = da8xx_interrupt; | 449 | musb->isr = da8xx_musb_interrupt; |
450 | return 0; | 450 | return 0; |
451 | fail: | 451 | fail: |
452 | clk_disable(musb->clock); | 452 | clk_disable(musb->clock); |
453 | return -ENODEV; | 453 | return -ENODEV; |
454 | } | 454 | } |
455 | 455 | ||
456 | int musb_platform_exit(struct musb *musb) | 456 | static int da8xx_musb_exit(struct musb *musb) |
457 | { | 457 | { |
458 | if (is_host_enabled(musb)) | 458 | if (is_host_enabled(musb)) |
459 | del_timer_sync(&otg_workaround); | 459 | del_timer_sync(&otg_workaround); |
@@ -467,3 +467,16 @@ int musb_platform_exit(struct musb *musb) | |||
467 | 467 | ||
468 | return 0; | 468 | return 0; |
469 | } | 469 | } |
470 | |||
471 | const struct musb_platform_ops musb_ops = { | ||
472 | .init = da8xx_musb_init, | ||
473 | .exit = da8xx_musb_exit, | ||
474 | |||
475 | .enable = da8xx_musb_enable, | ||
476 | .disable = da8xx_musb_disable, | ||
477 | |||
478 | .set_mode = da8xx_musb_set_mode, | ||
479 | .try_idle = da8xx_musb_try_idle, | ||
480 | |||
481 | .set_vbus = da8xx_musb_set_vbus, | ||
482 | }; | ||