Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b14a2998 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branch 'omap-fixes-warnings' of git://git.linaro.org/people/rmk/linux-arm

This set of changes are fixing various section mismatch warnings which
look to be completely valid.  Primerily, those which are fixed are those
which can cause oopses by manipulation of driver binding via sysfs.  For
example: calling code marked __init from driver probe __devinit
functions.

Some of these changes will be reworked at the next merge window when the
underlying reasons are sorted out.  In the mean time, I think it's
important to have this fixed for correctness.

Also included in this set are fixes to various error messages in OMAP -
including making them gramatically correct, fixing a few spelling
errors, and more importantly, making them greppable by unwrapping them.

Tony Lindgren has acked all these patches, put them out for testing a
week ago, and I've tested them on the platforms I have.

* 'omap-fixes-warnings' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: omap: resolve nebulous 'Error setting wl12xx data'
  ARM: omap: fix wrapped error messages in omap_hwmod.c
  ARM: omap: fix section mismatch warnings in mux.c caused by hsmmc.c
  ARM: omap: fix section mismatch warning for sdp3430_twl_gpio_setup()
  ARM: omap: fix section mismatch error for omap_4430sdp_display_init()
  ARM: omap: fix section mismatch warning for omap_secondary_startup()
  ARM: omap: preemptively fix section mismatch in omap4_sdp4430_wifi_mux_init()
  ARM: omap: fix section mismatch warning in mux.c
  ARM: omap: fix section mismatch errors in TWL PMIC driver
  ARM: omap: fix uninformative vc/i2c configuration error message
  ARM: omap: fix vc.c PMIC error message
  ARM: omap: fix prm44xx.c OMAP44XX_IRQ_PRCM build error
parents a269c2f5 70d669de
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -814,7 +814,7 @@ static struct omap_dss_board_info sdp4430_dss_data = {
	.default_device	= &sdp4430_lcd_device,
};

static void omap_4430sdp_display_init(void)
static void __init omap_4430sdp_display_init(void)
{
	int r;

@@ -851,7 +851,7 @@ static struct omap_board_mux board_mux[] __initdata = {
#define board_mux	NULL
 #endif

static void omap4_sdp4430_wifi_mux_init(void)
static void __init omap4_sdp4430_wifi_mux_init(void)
{
	omap_mux_init_gpio(GPIO_WIFI_IRQ, OMAP_PIN_INPUT |
				OMAP_PIN_OFF_WAKEUPENABLE);
@@ -878,12 +878,17 @@ static struct wl12xx_platform_data omap4_sdp4430_wlan_data __initdata = {
	.board_tcxo_clock = WL12XX_TCXOCLOCK_26,
};

static void omap4_sdp4430_wifi_init(void)
static void __init omap4_sdp4430_wifi_init(void)
{
	int ret;

	omap4_sdp4430_wifi_mux_init();
	if (wl12xx_set_platform_data(&omap4_sdp4430_wlan_data))
		pr_err("Error setting wl12xx data\n");
	platform_device_register(&omap_vwlan_device);
	ret = wl12xx_set_platform_data(&omap4_sdp4430_wlan_data);
	if (ret)
		pr_err("Error setting wl12xx data: %d\n", ret);
	ret = platform_device_register(&omap_vwlan_device);
	if (ret)
		pr_err("Error registering wl12xx device: %d\n", ret);
}

static void __init omap_4430sdp_init(void)
+16 −7
Original line number Diff line number Diff line
@@ -617,6 +617,21 @@ static struct gpio omap3_evm_ehci_gpios[] __initdata = {
	{ OMAP3_EVM_EHCI_SELECT, GPIOF_OUT_INIT_LOW,   "select EHCI port" },
};

static void __init omap3_evm_wl12xx_init(void)
{
#ifdef CONFIG_WL12XX_PLATFORM_DATA
	int ret;

	/* WL12xx WLAN Init */
	ret = wl12xx_set_platform_data(&omap3evm_wlan_data);
	if (ret)
		pr_err("error setting wl12xx data: %d\n", ret);
	ret = platform_device_register(&omap3evm_wlan_regulator);
	if (ret)
		pr_err("error registering wl12xx device: %d\n", ret);
#endif
}

static void __init omap3_evm_init(void)
{
	omap3_evm_get_revision();
@@ -665,13 +680,7 @@ static void __init omap3_evm_init(void)
	omap_ads7846_init(1, OMAP3_EVM_TS_GPIO, 310, NULL);
	omap3evm_init_smsc911x();
	omap3_evm_display_init();

#ifdef CONFIG_WL12XX_PLATFORM_DATA
	/* WL12xx WLAN Init */
	if (wl12xx_set_platform_data(&omap3evm_wlan_data))
		pr_err("error setting wl12xx data\n");
	platform_device_register(&omap3evm_wlan_regulator);
#endif
	omap3_evm_wl12xx_init();
}

MACHINE_START(OMAP3EVM, "OMAP3 EVM")
+4 −2
Original line number Diff line number Diff line
@@ -488,13 +488,15 @@ void omap4_panda_display_init(void)
static void __init omap4_panda_init(void)
{
	int package = OMAP_PACKAGE_CBS;
	int ret;

	if (omap_rev() == OMAP4430_REV_ES1_0)
		package = OMAP_PACKAGE_CBL;
	omap4_mux_init(board_mux, NULL, package);

	if (wl12xx_set_platform_data(&omap_panda_wlan_data))
		pr_err("error setting wl12xx data\n");
	ret = wl12xx_set_platform_data(&omap_panda_wlan_data);
	if (ret)
		pr_err("error setting wl12xx data: %d\n", ret);

	omap4_panda_i2c_init();
	platform_add_devices(panda_devices, ARRAY_SIZE(panda_devices));
+4 −2
Original line number Diff line number Diff line
@@ -296,8 +296,10 @@ static void enable_board_wakeup_source(void)

void __init zoom_peripherals_init(void)
{
	if (wl12xx_set_platform_data(&omap_zoom_wlan_data))
		pr_err("error setting wl12xx data\n");
	int ret = wl12xx_set_platform_data(&omap_zoom_wlan_data);

	if (ret)
		pr_err("error setting wl12xx data: %d\n", ret);

	omap_i2c_init();
	platform_device_register(&omap_vwlan_device);
+4 −4
Original line number Diff line number Diff line
@@ -293,7 +293,7 @@ static inline void omap_hsmmc_mux(struct omap_mmc_platform_data *mmc_controller,
	}
}

static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
static int omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
				 struct omap_mmc_platform_data *mmc)
{
	char *hc_name;
@@ -430,7 +430,7 @@ static int __init omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,

#define MAX_OMAP_MMC_HWMOD_NAME_LEN		16

void __init omap_init_hsmmc(struct omap2_hsmmc_info *hsmmcinfo, int ctrl_nr)
void omap_init_hsmmc(struct omap2_hsmmc_info *hsmmcinfo, int ctrl_nr)
{
	struct omap_hwmod *oh;
	struct platform_device *pdev;
@@ -487,7 +487,7 @@ done:
	kfree(mmc_data);
}

void __init omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
void omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
{
	u32 reg;

Loading