Skip to content

omap hsmmc init cleanup and section warning fixes for v3.4 merge window

Tony Lindgren linux-arm-kernel linux-omap 1 version New

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest0 of 3 patches 0 repliesNew

Patches in v1 No applies recorded yet

None of the 3 patches the cover letter announces are in this archive.

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/3] omap hsmmc init cleanup and section warning fixes for v3.4 merge window
Quoted 10 lines · Rajendra Nayak

Tony,

Quoted 6 lines · Tony Lindgren

Hi all,

This series fixes up the issues noted by Russell on omap2_hsmmc_init() where if TWL PMIC is compiled as a module we can't keep a bunch of functions marked as __init like they should be. This series fixes the issues by splitting omap2_hsmmc_init() into two functions.

Quoted 5 lines

I have a re-spin of this series ready with all the fixes I did while testing the insmod/unbind/bind test suggested by Russell. I could not figure out what branch your original patches were based on. So let me know what branch of your tree you want me to post this series on.

I have them on mainline commit a269c2f5a5ad2b24a19fdd723363daf18394ec85.

Note that we should fix what Russell noted separately for the -rc series for the issue where reloading gpio-twl4030.ko calls omap2_hsmmc_init() twice, maybe something like below for that.

Regards,

Tony

arch/arm/mach-omap2/hsmmc.c +6 -0
@@ -428,6 +428,7 @@ static int omap_hsmmc_pdata_init(struct omap2_hsmmc_info *c,
 	return 0;
 }
 
+static int omap_hsmmc_done;
 #define MAX_OMAP_MMC_HWMOD_NAME_LEN		16
 
 void omap_init_hsmmc(struct omap2_hsmmc_info *hsmmcinfo, int ctrl_nr)
@@ -491,6 +492,11 @@ void omap2_hsmmc_init(struct omap2_hsmmc_info *controllers)
 {
 	u32 reg;
 
+	if (omap_hsmmc_done)
+		return;
+
+	omap_hsmmc_done = 1;
+
 	if (!cpu_is_omap44xx()) {
 		if (cpu_is_omap2430()) {
 			control_pbias_offset = OMAP243X_CONTROL_PBIAS_LITE;