Skip to contentSkip to conversation

musb_hdrc runtime code shrinkage

PATCH In review David Brownell 2 participants 2 messages Jan 17, 2007

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 musb_hdrc runtime code shrinkage

Move musb_hdrc driver init into the init section, by switching over to use platform_driver_probe(). Shrinks this driver's run-time footprint by about 5KB ... pretty good for linker level tweaks to just one (big) driver, and there's a bit more shrinkage yet to be had (for DMA init).

drivers/usb/musb/davinci.c +1 -1
Index: h4/drivers/usb/musb/davinci.c
===================================================================
@@ -376,7 +376,7 @@ static irqreturn_t davinci_interrupt(int
 	return IRQ_HANDLED;
 }
 
-int __devinit musb_platform_init(struct musb *musb)
+int __init musb_platform_init(struct musb *musb)
 {
 	void	*__iomem tibase = musb->ctrl_base;
 	u32	revision;
drivers/usb/musb/omap2430.c +1 -1
Index: h4/drivers/usb/musb/omap2430.c
===================================================================
@@ -61,7 +61,7 @@ static void omap_vbus_power(struct musb 
 {
 }
 
-int __devinit musb_platform_init(struct musb *musb)
+int __init musb_platform_init(struct musb *musb)
 {
 	/* Erratum - reset value of STP has pull-down.
 	   Change it to pull-up. */
drivers/usb/musb/plat_uds.c +22 -19

159 lines not on this page · raw message

drivers/usb/musb/tusb6010.c +4 -4
Index: h4/drivers/usb/musb/tusb6010.c
===================================================================
@@ -682,7 +682,7 @@ void musb_platform_disable(struct musb *
  * Sets up TUSB6010 CPU interface specific signals and registers
  * Note: Settings optimized for OMAP24xx
  */
-static void tusb_setup_cpu_interface(struct musb *musb)
+static void __init tusb_setup_cpu_interface(struct musb *musb)
 {
 	void __iomem	*base = musb->ctrl_base;
 
@@ -708,7 +708,7 @@ static void tusb_setup_cpu_interface(str
 #define TUSB_REV_MAJOR(reg_val)		((reg_val >> 4) & 0xf)
 #define TUSB_REV_MINOR(reg_val)		(reg_val & 0xf)
 
-static int tusb_print_revision(struct musb *musb)
+static int __init tusb_print_revision(struct musb *musb)
 {
 	void __iomem	*base = musb->ctrl_base;
 
@@ -729,7 +729,7 @@ static int tusb_print_revision(struct mu
 	return TUSB_REV_MAJOR(musb_readl(base, TUSB_INT_CTRL_REV));
 }
 
-static int __devinit tusb_start(struct musb *musb)
+static int __init tusb_start(struct musb *musb)
 {
 	void __iomem	*base = musb->ctrl_base;
 	int		ret = 0;
@@ -798,7 +798,7 @@ err:
 	return -ENODEV;
 }
 
-int __devinit musb_platform_init(struct musb *musb)
+int __init musb_platform_init(struct musb *musb)
 {
 	struct platform_device	*pdev;
 	struct resource		*mem;
drivers/usb/musb/cppi_dma.c +2 -2
Index: h4/drivers/usb/musb/cppi_dma.c
===================================================================
@@ -91,7 +91,7 @@ static void cppi_reset_rx(struct cppi_rx
 	musb_writel(CAST &rx->byteCount, 0, 0);
 }
 
-static void __devinit cppi_pool_init(struct cppi *cppi, struct cppi_channel *c)
+static void __init cppi_pool_init(struct cppi *cppi, struct cppi_channel *c)
 {
 	int	j;
 
@@ -137,7 +137,7 @@ static void cppi_pool_free(struct cppi_c
 	c->lastHwBDProcessed = NULL;
 }
 
-static int __devinit cppi_controller_start(struct dma_controller *c)
+static int __init cppi_controller_start(struct dma_controller *c)
 {
 	struct cppi	*pController;
 	void		*__iomem regBase;
drivers/usb/musb/musb_gadget.c +3 -3
Index: h4/drivers/usb/musb/musb_gadget.c
===================================================================
@@ -1589,7 +1589,7 @@ static void musb_gadget_release(struct d
 }
 
 
-static void __devinit
+static void __init
 init_peripheral_ep(struct musb *musb, struct musb_ep *ep, u8 bEnd, int is_in)
 {
 	struct musb_hw_ep	*hw_ep = musb->aLocalEnd + bEnd;
@@ -1626,7 +1626,7 @@ init_peripheral_ep(struct musb *musb, st
  * Initialize the endpoints exposed to peripheral drivers, with backlinks
  * to the rest of the driver state.
  */
-static inline void __devinit musb_g_init_endpoints(struct musb *pThis)
+static inline void __init musb_g_init_endpoints(struct musb *pThis)
 {
 	u8			bEnd;
 	struct musb_hw_ep	*hw_ep;
@@ -1659,7 +1659,7 @@ static inline void __devinit musb_g_init
 /* called once during driver setup to initialize and link into
  * the driver model; memory is zeroed.
  */
-int __devinit musb_gadget_setup(struct musb *pThis)
+int __init musb_gadget_setup(struct musb *pThis)
 {
 	int status;
 
drivers/usb/musb/musb_procfs.c +1 -1
Index: h4/drivers/usb/musb/musb_procfs.c
===================================================================
@@ -813,7 +813,7 @@ void __devexit musb_debug_delete(char *n
 		remove_proc_entry(name, NULL);
 }
 
-struct proc_dir_entry *__devinit
+struct proc_dir_entry *__init
 musb_debug_create(char *name, struct musb *data)
 {
 	struct proc_dir_entry	*pde;
drivers/usb/musb/musbdefs.h +1 -1
Index: h4/drivers/usb/musb/musbdefs.h
===================================================================
@@ -525,7 +525,7 @@ extern int musb_platform_get_vbus_status
 #define musb_platform_get_vbus_status(x)	0
 #endif
 
-extern int __devinit musb_platform_init(struct musb *musb);
+extern int __init musb_platform_init(struct musb *musb);
 extern int musb_platform_exit(struct musb *musb);
 
 /*-------------------------- ProcFS definitions ---------------------*/
#1 lore raw
Quoted 4 lines · David Brownell

Move musb_hdrc driver init into the init section, by switching over to use platform_driver_probe(). Shrinks this driver's run-time footprint by about 5KB ... pretty good for linker level tweaks to just one (big) driver, and there's a bit more shrinkage yet to be had (for DMA init).

Pushed.

Tony