Skip to content

Commit

Permalink
omap2+: Fix omap_serial_early_init to work with init_early hook
Browse files Browse the repository at this point in the history
The new init_early hook happens at the end of setup_arch,
which is too early for kzalloc. However, there's no need
to call omap_serial_early_init that early, so fix this
by setting it up as a core_initcall.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Tested-by: Kevin Hilman <khilman@ti.com>
  • Loading branch information
Tony Lindgren committed Feb 14, 2011
1 parent 44dc046 commit 3e16f92
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
2 changes: 0 additions & 2 deletions arch/arm/mach-omap2/io.c
Original file line number Diff line number Diff line change
Expand Up @@ -398,8 +398,6 @@ void __init omap2_init_common_infrastructure(void)
void __init omap2_init_common_devices(struct omap_sdrc_params *sdrc_cs0,
struct omap_sdrc_params *sdrc_cs1)
{
omap_serial_early_init();

if (cpu_is_omap24xx() || cpu_is_omap34xx()) {
omap2_sdrc_init(sdrc_cs0, sdrc_cs1);
_omap2_init_reprogram_sdrc();
Expand Down
7 changes: 5 additions & 2 deletions arch/arm/mach-omap2/serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -655,7 +655,7 @@ static void serial_out_override(struct uart_port *up, int offset, int value)
}
#endif

void __init omap_serial_early_init(void)
static int __init omap_serial_early_init(void)
{
int i = 0;

Expand All @@ -672,7 +672,7 @@ void __init omap_serial_early_init(void)

uart = kzalloc(sizeof(struct omap_uart_state), GFP_KERNEL);
if (WARN_ON(!uart))
return;
return -ENODEV;

uart->oh = oh;
uart->num = i++;
Expand All @@ -691,7 +691,10 @@ void __init omap_serial_early_init(void)
*/
uart->oh->flags |= HWMOD_INIT_NO_IDLE | HWMOD_INIT_NO_RESET;
} while (1);

return 0;
}
core_initcall(omap_serial_early_init);

/**
* omap_serial_init_port() - initialize single serial port
Expand Down
1 change: 0 additions & 1 deletion arch/arm/plat-omap/include/plat/serial.h
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@

struct omap_board_data;

extern void __init omap_serial_early_init(void);
extern void omap_serial_init(void);
extern void omap_serial_init_port(struct omap_board_data *bdata);
extern int omap_uart_can_sleep(void);
Expand Down

0 comments on commit 3e16f92

Please sign in to comment.