Skip to contentSkip to conversation

PPC: Cleanup tqm8xx_pcmcia.c

PATCH New Marek Vasut 3 participants 14 messages Oct 5, 2011 – Oct 18, 2011 Pcmcia

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154 +++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 73 deletions(-)
drivers/pcmcia/tqm8xx_pcmcia.c +81 -73
index ca1a9fe..859cbe0 100644
@@ -3,6 +3,7 @@
 /* SC8xx   Boards by SinoVee Microsystems				*/
 /* -------------------------------------------------------------------- */
 #include <common.h>
+#include <asm/io.h>
 #ifdef CONFIG_8xx
 #include <mpc8xx.h>
 #endif
@@ -31,75 +32,86 @@
 
 #if	defined(CONFIG_NSCU)
 
-#define	power_config(slot)	do {} while (0)
-#define	power_off(slot)		do {} while (0)
-#define	power_on_5_0(slot)	do {} while (0)
-#define	power_on_3_3(slot)	do {} while (0)
+static inline void power_config(int slot) {}
+static inline void power_off(int slot) {}
+static inline void power_on_5_0(int slot) {}
+static inline void power_on_3_3(int slot) {}
 
 #elif	defined(CONFIG_VIRTLAB2)
 
-#define	power_config(slot)	do {} while (0)
+static inline void power_config(int slot) {}
+
 static inline void power_off(int slot)
 {
-	volatile unsigned char	*powerctl =
-			(volatile unsigned char *)PCMCIA_CTRL;
-	*powerctl = 0;
+	out_be32(PCMCIA_CTRL, 0);
 }
 
 static inline void power_on_5_0(int slot)
 {
-	volatile unsigned char	*powerctl =
-			(volatile unsigned char *)PCMCIA_CTRL;
-			*powerctl = 2;	/* Enable 5V Vccout */
+	/* Enable 5V Vccout */
+	out_be32(PCMCIA_CTRL, 2);
 }
 
 static inline void power_on_3_3(int slot)
 {
-	volatile unsigned char	*powerctl =
-			(volatile unsigned char *)PCMCIA_CTRL;
-			*powerctl = 1;	/* Enable 3.3V Vccout */
+	/* Enable 3.3V Vccout */
+	out_be32(PCMCIA_CTRL, 1);
 }
 
 #else
 
 static inline void power_config(int slot)
 {
-	volatile immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
 	/*
-	* Configure Port C pins for
-	* 5 Volts Enable and 3 Volts enable
-	*/
-	immap->im_ioport.iop_pcpar &= ~(0x0002 | 0x0004);
-	immap->im_ioport.iop_pcso  &= ~(0x0002 | 0x0004);
+	 * Configure Port C pins for
+	 * 5 Volts Enable and 3 Volts enable
+	 */
+	clrbits_be16(&immap->im_ioport.iop_pcpar, 0x0002 | 0x0004);
+	clrbits_be16(&immap->im_ioport.iop_pcso, 0x0002 | 0x0004);
 }
 
 static inline void power_off(int slot)
 {
-	volatile immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
-	immap->im_ioport.iop_pcdat &= ~(0x0002 | 0x0004);
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	clrbits_be16(&immap->im_ioport.iop_pcdat, 0x0002 | 0x0004);
 }
 
 static inline void power_on_5_0(int slot)
 {
-	volatile immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
-	immap->im_ioport.iop_pcdat |= 0x0004;
-	immap->im_ioport.iop_pcdir |= (0x0002 | 0x0004);
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	setbits_be16(&immap->im_ioport.iop_pcdat, 0x0004);
+	setbits_be16(&immap->im_ioport.iop_pcdir, 0x0002 | 0x0004);
 }
 
 static inline void power_on_3_3(int slot)
 {
-	volatile immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
-	immap->im_ioport.iop_pcdat |= 0x0002;
-	immap->im_ioport.iop_pcdir |= (0x0002 | 0x0004);
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	setbits_be16(&immap->im_ioport.iop_pcdat, 0x0002);
+	setbits_be16(&immap->im_ioport.iop_pcdir, 0x0002 | 0x0004);
 }
 
 #endif
 
+/*
+ * Function to retrieve the PIPR register, used for debuging purposes.
+ */
+static inline uint32_t debug_get_pipr(void)
+{
+	uint32_t pipr = 0;
+#ifdef	DEBUG
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	pipr = in_be32(&immap->im_pcmcia.pcmc_pipr);
+#endif
+	return pipr;
+}
+
+
 static inline int check_card_is_absent(int slot)
 {
-	volatile pcmconf8xx_t *pcmp =
-		(pcmconf8xx_t *)(&(((immap_t *)CONFIG_SYS_IMMR)->im_pcmcia));
-	return pcmp->pcmc_pipr & (0x18000000 >> (slot << 4));
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
+	uint32_t pipr = in_be32(&immap->im_pcmcia.pcmc_pipr);
+	return pipr & (0x18000000 >> (slot << 4));
 }
 
 #ifdef	NSCU_OE_INV
@@ -110,31 +122,30 @@ static inline int check_card_is_absent(int slot)
 
 int pcmcia_hardware_enable(int slot)
 {
-	volatile pcmconf8xx_t *pcmp =
-		(pcmconf8xx_t *)(&(((immap_t *)CONFIG_SYS_IMMR)->im_pcmcia));
-	volatile sysconf8xx_t *sysp =
-		(sysconf8xx_t *)(&(((immap_t *)CONFIG_SYS_IMMR)->im_siu_conf));
+	immap_t *immap = (immap_t *)CONFIG_SYS_IMMR;
 	uint reg, mask;
 
-	debug ("hardware_enable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);
+	debug("hardware_enable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);
 
 	udelay(10000);
 
 	/*
-	* Configure SIUMCR to enable PCMCIA port B
-	* (VFLS[0:1] are not used for debugging, we connect FRZ# instead)
-	*/
-	sysp->sc_siumcr &= ~SIUMCR_DBGC11;	/* set DBGC to 00 */
+	 * Configure SIUMCR to enable PCMCIA port B
+	 * (VFLS[0:1] are not used for debugging, we connect FRZ# instead)
+	 */
 
-	/* clear interrupt state, and disable interrupts */
-	pcmp->pcmc_pscr =  PCMCIA_MASK(slot);
-	pcmp->pcmc_per &= ~PCMCIA_MASK(slot);
+	/* Set DBGC to 00 */
+	clrbits_be32(&immap->im_siu_conf.sc_siumcr, SIUMCR_DBGC11);
+
+	/* Clear interrupt state, and disable interrupts */
+	out_be32(&immap->im_pcmcia.pcmc_pscr, PCMCIA_MASK(slot));
+	clrbits_be32(&immap->im_pcmcia.pcmc_per, PCMCIA_MASK(slot));
 
 	/*
-	* Disable interrupts, DMA, and PCMCIA buffers
-	* (isolate the interface) and assert RESET signal
-	*/
-	debug ("Disable PCMCIA buffers and assert RESET\n");
+	 * Disable interrupts, DMA, and PCMCIA buffers
+	 * (isolate the interface) and assert RESET signal
+	 */
+	debug("Disable PCMCIA buffers and assert RESET\n");
 	reg  = 0;
 	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */
 	reg |= NSCU_GCRX_CXOE;
@@ -149,8 +160,9 @@ int pcmcia_hardware_enable(int slot)
 	 * Make sure there is a card in the slot, then configure the interface.
 	*/
 	udelay(10000);
-	debug ("[%d] %s: PIPR(%p)=0x%x\n", __LINE__,__FUNCTION__,
-	       &(pcmp->pcmc_pipr),pcmp->pcmc_pipr);
+	reg = debug_get_pipr();
+	debug("[%d] %s: PIPR(%p)=0x%x\n", __LINE__, __FUNCTION__,
+		&immap->im_pcmcia.pcmc_pipr, reg);
 
 	if (check_card_is_absent(slot)) {
 		printf ("   No Card found\n");
@@ -158,14 +170,14 @@ int pcmcia_hardware_enable(int slot)
 	}
 
 	/*
-	* Power On.
-	*/
+	 * Power On.
+	 */
 	mask = PCMCIA_VS1(slot) | PCMCIA_VS2(slot);
-	reg  = pcmp->pcmc_pipr;
+	reg = in_be32(&immap->im_pcmcia.pcmc_pipr);
 	debug ("PIPR: 0x%x ==> VS1=o%s, VS2=o%s\n",
 	       reg,
-	       (reg&PCMCIA_VS1(slot))?"n":"ff",
-	       (reg&PCMCIA_VS2(slot))?"n":"ff");
+	       (reg & PCMCIA_VS1(slot)) ? "n" : "ff",
+	       (reg & PCMCIA_VS2(slot)) ? "n" : "ff");
 
 	if ((reg & mask) == mask) {
 		power_on_5_0(slot);
@@ -183,7 +195,7 @@ int pcmcia_hardware_enable(int slot)
 #endif
 
 	udelay(1000);
-	debug ("Enable PCMCIA buffers and stop RESET\n");
+	debug("Enable PCMCIA buffers and stop RESET\n");
 	reg  =  PCMCIA_PGCRX(slot);
 	reg &= ~__MY_PCMCIA_GCRX_CXRESET;	/* active high */
 	reg |= __MY_PCMCIA_GCRX_CXOE;		/* active low  */
@@ -193,7 +205,7 @@ int pcmcia_hardware_enable(int slot)
 
 	udelay(250000);	/* some cards need >150 ms to come up :-( */
 
-	debug ("# hardware_enable done\n");
+	debug("# hardware_enable done\n");
 
 	return (0);
 }
@@ -204,13 +216,12 @@ int pcmcia_hardware_disable(int slot)
 {
 	u_long reg;
 
-	debug ("hardware_disable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);
-
+	debug("hardware_disable: " PCMCIA_BOARD_MSG " Slot %c\n", 'A'+slot);
 
 	/* remove all power */
 	power_off(slot);
 
-	debug ("Disable PCMCIA buffers and assert RESET\n");
+	debug("Disable PCMCIA buffers and assert RESET\n");
 	reg  = 0;
 	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */
 	reg |= NSCU_GCRX_CXOE;			/* active low  */
@@ -227,20 +238,17 @@ int pcmcia_voltage_set(int slot, int vcc, int vpp)
 {
 #ifndef CONFIG_NSCU
 	u_long reg;
-# ifdef DEBUG
-	volatile pcmconf8xx_t *pcmp =
-		(pcmconf8xx_t *)(&(((immap_t *)CONFIG_SYS_IMMR)->im_pcmcia));
-# endif
+	uint32_t pipr = 0;
 
-	debug ("voltage_set: " PCMCIA_BOARD_MSG
+	debug("voltage_set: " PCMCIA_BOARD_MSG
 		" Slot %c, Vcc=%d.%d, Vpp=%d.%d\n",
 		'A'+slot, vcc/10, vcc%10, vpp/10, vcc%10);
 
 	/*
-	* Disable PCMCIA buffers (isolate the interface)
-	* and assert RESET signal
-	*/
-	debug ("Disable PCMCIA buffers and assert RESET\n");
+	 * Disable PCMCIA buffers (isolate the interface)
+	 * and assert RESET signal
+	 */
+	debug("Disable PCMCIA buffers and assert RESET\n");
 	reg  = PCMCIA_PGCRX(slot);
 	reg |= __MY_PCMCIA_GCRX_CXRESET;	/* active high */
 	reg &= ~__MY_PCMCIA_GCRX_CXOE;		/* active low  */
@@ -249,7 +257,7 @@ int pcmcia_voltage_set(int slot, int vcc, int vpp)
 	PCMCIA_PGCRX(slot) = reg;
 	udelay(500);
 
-	debug ("PCMCIA power OFF\n");
+	debug("PCMCIA power OFF\n");
 	power_config(slot);
 	power_off(slot);
 
@@ -261,9 +269,9 @@ int pcmcia_voltage_set(int slot, int vcc, int vpp)
 	}
 
 	/* Checking supported voltages */
-
-	debug("PIPR: 0x%x --> %s\n", pcmp->pcmc_pipr,
-	       (pcmp->pcmc_pipr & 0x00008000) ? "only 5 V" : "can do 3.3V");
+	pipr = debug_get_pipr();
+	debug("PIPR: 0x%x --> %s\n", pipr,
+	       (pipr & 0x00008000) ? "only 5 V" : "can do 3.3V");
 
 	if (vcc)
 		debug("PCMCIA powered at %sV\n", (vcc == 50) ? "5.0" : "3.3");
@@ -282,7 +290,7 @@ done:
 
 	debug("voltage_set: " PCMCIA_BOARD_MSG " Slot %c, DONE\n", slot+'A');
 #endif	/* CONFIG_NSCU */
-	return (0);
+	return 0;
 }
 
 #endif	/* CONFIG_PCMCIA && (CONFIG_TQM8xxL || CONFIG_SVM_SC8xx) */
Signature · 1 line
1.7.6.2
#1 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

Quoted 6 lines · Marek Vasut
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154

+++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 73 deletions(-)

Hi Wolfgang, if you have chance, can you please test if this breaks anything?

The size growth is from 655 bytes of text to 955 bytes.

Cheers

#2 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

Dear Marek Vasut,

Quoted 11 lines · In message <[email protected]> you wrote:
Quoted 6 lines · Marek Vasut
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154

+++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 73 deletions(-)

Hi Wolfgang, if you have chance, can you please test if this breaks anything?

The size growth is from 655 bytes of text to 955 bytes.

Will do ASAP.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Ein weiser Herrscher kann in einem gro?en Land  mehr  Gutes  bewirken
als  in  einem kleinen - ein dummer Herrscher aber auch viel mehr Un-
fug. Da weise Herrscher seltener sind als dumme, war ich schon  immer
gegen gro?e Reiche skeptisch.                   - Herbert Rosendorfer
#3 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

In reply to Marek Vasut

Dear Marek Vasut,

Quoted 4 lines · In message <[email protected]> you wrote:
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154 +++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 73 deletions(-)

Tested on TQM823L_LCD and TQM855M (with ARGOSY PnPIDE D5 PCMCIA adapter and IBM-DCXA-210000 HDD).

#4 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

Quoted 10 lines · In message <[email protected]> I wrote:

Dear Marek Vasut,

Quoted 4 lines · In message <[email protected]> you wrote:
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154 +++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 73 deletions(-)

Tested on TQM823L_LCD and TQM855M (with ARGOSY PnPIDE D5 PCMCIA adapter and IBM-DCXA-210000 HDD).

Funny enough, the build will break for other boards (like TQM860L) due to the increased code size. Will submit a patch and push it before this one.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
What about WRITING it first and rationalizing it afterwords?  :-)
                       - Larry Wall in <[email protected]>
#5 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

Quoted 4 lines · Wolfgang Denk
Quoted 3 lines · In message <[email protected]> I wrote:

Dear Marek Vasut,

In message <[email protected]> you

Quoted 10 lines · wrote:
Quoted 9 lines
Quoted 6 lines

---

 drivers/pcmcia/tqm8xx_pcmcia.c |  154

+++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 73 deletions(-)

Tested on TQM823L_LCD and TQM855M (with ARGOSY PnPIDE D5 PCMCIA adapter and IBM-DCXA-210000 HDD).

Quoted 7 lines

Funny enough, the build will break for other boards (like TQM860L) due to the increased code size. Will submit a patch and push it before this one.

Best regards,

Wolfgang Denk

Thanks for testing!

Cheers

#6 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

In reply to Marek Vasut

Dear Marek Vasut,

Quoted 4 lines · In message <[email protected]> you wrote:
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154 +++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 73 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It is practically impossible to teach good programming style to  stu-
dents that have had prior exposure to BASIC: as potential programmers
they are mentally mutilated beyond hope of regeneration.   - Dijkstra
#7 lore raw

PATCH 1/1 TQM8xx: make room for growing code size due to I/O accessor cleanup

In reply to Marek Vasut

Commit "PPC: Cleanup tqm8xx_pcmcia.c" will clean up the PCMCIA code to use I/O accessors instead of plain volatile pointer accesses. This will result in about 300 byte bigger code. Fix custom linker script to make room for this.

While we are at it, drop unmaintained u-boot.lds.debug linker script.

---
 board/tqc/tqm8xx/u-boot.lds       |    3 +-
 board/tqc/tqm8xx/u-boot.lds.debug |  135 -------------------------------------
 2 files changed, 2 insertions(+), 136 deletions(-)
 delete mode 100644 board/tqc/tqm8xx/u-boot.lds.debug
board/tqc/tqm8xx/u-boot.lds +2 -1
index f625c3d..4f08be6 100644
@@ -39,7 +39,8 @@ SECTIONS
     board/tqc/tqm8xx/libtqm8xx.o	(.text*)
     disk/libdisk.o			(.text*)
     drivers/net/libnet.o		(.text*)
-    drivers/pcmcia/libpcmcia.o		(.text*)
+    drivers/pcmcia/libpcmcia.o		(.text.pcmcia_on)
+    drivers/pcmcia/libpcmcia.o		(.text.pcmcia_hardware_enable)
     drivers/rtc/librtc.o		(.text*)
     drivers/misc/libmisc.o		(.text*)
     *(.text.print_buffer)
board/tqc/tqm8xx/u-boot.lds.debug deleted +0 -135

135 lines not on this page · raw message

Signature · 1 line
1.7.6.2
#8 lore raw

PATCH 1/1 TQM8xx: make room for growing code size due to I/O accessor cleanup

Quoted 7 lines · In message <[email protected]> I wrote:

Commit "PPC: Cleanup tqm8xx_pcmcia.c" will clean up the PCMCIA code to use I/O accessors instead of plain volatile pointer accesses. This will result in about 300 byte bigger code. Fix custom linker script to make room for this.

While we are at it, drop unmaintained u-boot.lds.debug linker script.

Quoted 7 lines
---
 board/tqc/tqm8xx/u-boot.lds       |    3 +-
 board/tqc/tqm8xx/u-boot.lds.debug |  135 -------------------------------------
 2 files changed, 2 insertions(+), 136 deletions(-)
 delete mode 100644 board/tqc/tqm8xx/u-boot.lds.debug

Compile tested on FPS850L, FPS860L, TQM823L, TQM823L_LCD, TQM823M, TQM850L, TQM850M, TQM855L, TQM855M, TQM860L, TQM860M, TQM862L, TQM862M, TQM866M, TQM885D, TTTech, and wtk.

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Machines take me by surprise with great frequency.      - Alan Turing
#9 lore raw

PATCH 1/1 TQM8xx: make room for growing code size due to I/O accessor cleanup

In reply to Wolfgang Denk

Dear Wolfgang Denk,

Quoted 7 lines · In message <[email protected]> you wrote:

Commit "PPC: Cleanup tqm8xx_pcmcia.c" will clean up the PCMCIA code to use I/O accessors instead of plain volatile pointer accesses. This will result in about 300 byte bigger code. Fix custom linker script to make room for this.

While we are at it, drop unmaintained u-boot.lds.debug linker script.

Quoted 7 lines
---
 board/tqc/tqm8xx/u-boot.lds       |    3 +-
 board/tqc/tqm8xx/u-boot.lds.debug |  135 -------------------------------------
 2 files changed, 2 insertions(+), 136 deletions(-)
 delete mode 100644 board/tqc/tqm8xx/u-boot.lds.debug

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 5 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"You're just jealous." "What, of an overgrown puppy  with  a  single-
figure IQ?"                      - Terry Pratchett, _Moving Pictures_
#10 lore raw

PATCH 1/1 TQM8xx: make room for growing code size due to I/O accessor cleanup

Quoted 14 lines · Wolfgang Denk

Dear Wolfgang Denk,

Quoted 11 lines · In message <[email protected]> you wrote:

Commit "PPC: Cleanup tqm8xx_pcmcia.c" will clean up the PCMCIA code to use I/O accessors instead of plain volatile pointer accesses. This will result in about 300 byte bigger code. Fix custom linker script to make room for this.

While we are at it, drop unmaintained u-boot.lds.debug linker script.

---

Quoted 7 lines
Quoted 5 lines
 board/tqc/tqm8xx/u-boot.lds       |    3 +-
 board/tqc/tqm8xx/u-boot.lds.debug |  135
 ------------------------------------- 2 files changed, 2 insertions(+),
 136 deletions(-)
 delete mode 100644 board/tqc/tqm8xx/u-boot.lds.debug

Applied, thanks.

You're thanking to yourself ? ;-)

Anyway, thanks for this patch!

#11 lore raw

PATCH 1/1 TQM8xx: make room for growing code size due to I/O accessor cleanup

Dear Marek Vasut,

Quoted 2 lines · In message <[email protected]> you wrote:
Quoted 2 lines

Dear Wolfgang Denk,

...

Quoted 3 lines
Quoted 1 line

Applied, thanks.

You're thanking to yourself ? ;-)

Yes, I do. Sometimes I need that. Actually I think I should treat myself not worse than anybody elase (well, at least not in public).

[Also, I'm too lazy to extend that vi macro to special case my own mail address.]

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
As usual, this being a 1.3.x release, I haven't  even  compiled  this
kernel yet. So if it works, you should be doubly impressed.
      - Linus Torvalds in <[email protected]>
#12 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

In reply to Marek Vasut

Dear Marek Vasut,

Quoted 4 lines · In message <[email protected]> you wrote:
---
 drivers/pcmcia/tqm8xx_pcmcia.c |  154 +++++++++++++++++++++-------------------
 1 files changed, 81 insertions(+), 73 deletions(-)

This commit causes new warnings on the virtlab2 board:

Configuring for virtlab2 board...
tqm8xx_pcmcia.c: In function 'power_off':
tqm8xx_pcmcia.c:46: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast tqm8xx_pcmcia.c: In function 'power_on_5_0':
tqm8xx_pcmcia.c:52: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast tqm8xx_pcmcia.c: In function 'power_on_3_3':
tqm8xx_pcmcia.c:58: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast

Why did you not run MAKEALL???

Please fix!

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Brain fried - Core dumped
#13 lore raw

PATCH 1/1 PPC: Cleanup tqm8xx_pcmcia.c

Quoted 22 lines

Dear Marek Vasut,

In message <[email protected]> you

Quoted 5 lines · wrote:

---
drivers/pcmcia/tqm8xx_pcmcia.c |? 154 +++++++++++++++++++++------------------- 1 files changed, 81 insertions(+), 73 deletions(-)

This commit causes new warnings on the virtlab2 board:

Configuring for virtlab2 board...
tqm8xx_pcmcia.c: In function 'power_off':
tqm8xx_pcmcia.c:46: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast tqm8xx_pcmcia.c: In function 'power_on_5_0': tqm8xx_pcmcia.c:52: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast tqm8xx_pcmcia.c: In function 'power_on_3_3': tqm8xx_pcmcia.c:58: warning: passing argument 1 of 'out_be32' makes pointer from integer without a cast

Quoted 7 lines

Why did you not run MAKEALL???

Please fix!

Best regards,

Wolfgang Denk

Fix for this is in my patchqueue for a while now. I'm still hunting down those +/- four byte growths/decreases though. I suspect the fact that such things happens is because the optimization graph is too complicated and gcc4.2 can't cope with it anymore.