Skip to contentSkip to conversation

Omap fixes for 2.6.29-rc1

PATCH In review Tony Lindgren 6 participants 38 messages Jan 12, 2009 – Jan 18, 2009

Subsystems (6)
lore
Share & tools
lore

Tony Lindgren

author maintainer
#0 lore raw

cover Omap fixes for 2.6.29-rc1

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

Regards,

Tony

---

Anand Gadiyar (1):
ARM: OMAP: Fix DMA CCR programming for request line > 63

Arun KS (1):
ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23

Huang Weiyi (1):
ARM: OMAP: remove duplicated #include's

Jarkko Nikula (1):
ARM: OMAP: Fix gpio by switching to generic gpio calls, v2

Tony Lindgren (6):
ARM: OMAP: Remove unused platform devices for old ALSA code
ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers
ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS
ARM: OMAP: Fix compile for beagle
ARM: OMAP: Fix compile for palmte
ARM: OMAP: Fix compile for various McBSP

 arch/arm/mach-omap1/board-h2.c          |   38 ----------
 arch/arm/mach-omap1/board-h3.c          |   38 ----------
 arch/arm/mach-omap1/board-innovator.c   |   39 ----------
 arch/arm/mach-omap1/board-nokia770.c    |    7 ++
 arch/arm/mach-omap1/board-osk.c         |   43 +----------
 arch/arm/mach-omap1/board-palmte.c      |   29 --------
 arch/arm/mach-omap1/board-palmtt.c      |   41 -----------
 arch/arm/mach-omap1/board-palmz71.c     |   37 ----------
 arch/arm/mach-omap1/board-sx1.c         |   38 +---------
 arch/arm/mach-omap1/board-voiceblue.c   |    1 
 arch/arm/mach-omap1/mcbsp.c             |    1 
 arch/arm/mach-omap2/board-apollon.c     |   64 ++---------------
 arch/arm/mach-omap2/board-ldp.c         |    2 -
 arch/arm/mach-omap2/board-omap3beagle.c |    9 +-
 arch/arm/mach-omap2/mcbsp.c             |    1 
 arch/arm/plat-omap/dma.c                |    5 -
 arch/arm/plat-omap/gpio.c               |    3 +
 arch/arm/plat-omap/include/mach/aic23.h |  116 -------------------------------
 arch/arm/plat-omap/include/mach/gpio.h  |   10 ---
 arch/arm/plat-omap/include/mach/mcbsp.h |    7 ++
 arch/arm/plat-omap/mcbsp.c              |    4 +
 drivers/mtd/onenand/omap2.c             |    6 +-
 22 files changed, 45 insertions(+), 494 deletions(-)
 delete mode 100644 arch/arm/plat-omap/include/mach/aic23.h
Signature · 1 line
Signature
author maintainer
#1 lore raw

PATCH 1/10 ARM: OMAP: Fix compile for various McBSP

Include irqs.h or cpu.h directly as needed to fix
omap builds.

---
 arch/arm/mach-omap1/mcbsp.c |    1 +
 arch/arm/mach-omap2/mcbsp.c |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)
arch/arm/mach-omap1/mcbsp.c +1 -0
index 4474da7..ca7a0cc 100644
@@ -17,6 +17,7 @@
 #include <linux/io.h>
 #include <linux/platform_device.h>
 
+#include <mach/irqs.h>
 #include <mach/dma.h>
 #include <mach/irqs.h>
 #include <mach/mux.h>
arch/arm/mach-omap2/mcbsp.c +1 -0
index acdc709..e20023c 100644
@@ -17,6 +17,7 @@
 #include <linux/io.h>
 #include <linux/platform_device.h>
 
+#include <mach/irqs.h>
 #include <mach/dma.h>
 #include <mach/irqs.h>
 #include <mach/mux.h>
author maintainer
#2 lore raw

PATCH 2/10 ARM: OMAP: Fix compile for palmte

In reply to Tony Lindgren

Remove old MMC platform init code accidentally
left behind.

Patches are welcome to the new style MMC init code.

---
 arch/arm/mach-omap1/board-palmte.c |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)
arch/arm/mach-omap1/board-palmte.c +0 -9
index 75e32d3..00322f4 100644
@@ -195,15 +195,6 @@ static struct omap_usb_config palmte_usb_config __initdata = {
 	.pins[0]	= 2,
 };
 
-static struct omap_mmc_config palmte_mmc_config __initdata = {
-	.mmc[0]		= {
-		.enabled 	= 1,
-		.wp_pin		= PALMTE_MMC_WP_GPIO,
-		.power_pin	= PALMTE_MMC_POWER_GPIO,
-		.switch_pin	= PALMTE_MMC_SWITCH_GPIO,
-	},
-};
-
 static struct omap_lcd_config palmte_lcd_config __initdata = {
 	.ctrl_name	= "internal",
 };
author maintainer
#3 lore raw

PATCH 3/10 ARM: OMAP: Fix gpio by switching to generic gpio calls, v2

In reply to Tony Lindgren

From: Jarkko Nikula <[email protected]>

Fix compile by removing remaining omap specific gpio calls. Based on earlier patches by Jarkko Nikula.

Also remove old GPIO key code, there is already a patch to do this with gpio_keys.

---
 arch/arm/mach-omap1/board-sx1.c        |    6 ++-
 arch/arm/mach-omap2/board-apollon.c    |   64 +++-----------------------------
 arch/arm/mach-omap2/board-ldp.c        |    2 +
 arch/arm/plat-omap/include/mach/gpio.h |   10 -----
 drivers/mtd/onenand/omap2.c            |    6 ++-
 5 files changed, 13 insertions(+), 75 deletions(-)
arch/arm/mach-omap1/board-sx1.c +3 -3
index 8171fe0..09a2422 100644
@@ -423,9 +423,9 @@ static void __init omap_sx1_init(void)
 
 	/* turn on USB power */
 	/* sx1_setusbpower(1); cant do it here because i2c is not ready */
-	omap_request_gpio(1);	/* A_IRDA_OFF */
-	omap_request_gpio(11);	/* A_SWITCH */
-	omap_request_gpio(15);	/* A_USB_ON */
+	gpio_request(1, "A_IRDA_OFF");
+	gpio_request(11, "A_SWITCH");
+	gpio_request(15, "A_USB_ON");
 	gpio_direction_output(1, 1);	/*A_IRDA_OFF = 1 */
 	gpio_direction_output(11, 0);	/*A_SWITCH = 0 */
 	gpio_direction_output(15, 0);	/*A_USB_ON = 0 */
arch/arm/mach-omap2/board-apollon.c +6 -58

86 lines not on this page · raw message

arch/arm/mach-omap2/board-ldp.c +1 -1
index aa69727..f6a1345 100644
@@ -88,7 +88,7 @@ static inline void __init ldp_init_smc911x(void)
 
 	ldp_smc911x_resources[1].start = OMAP_GPIO_IRQ(eth_gpio);
 
-	if (omap_request_gpio(eth_gpio) < 0) {
+	if (gpio_request(eth_gpio, "smc911x irq") < 0) {
 		printk(KERN_ERR "Failed to request GPIO%d for smc911x IRQ\n",
 				eth_gpio);
 		return;
arch/arm/plat-omap/include/mach/gpio.h +0 -10
index 04e68e8..8d9dfe3 100644
@@ -87,16 +87,6 @@ extern void omap_set_gpio_debounce_time(int gpio, int enable);
 #include <linux/errno.h>
 #include <asm-generic/gpio.h>
 
-static inline int omap_request_gpio(int gpio)
-{
-	return gpio_request(gpio, "FIXME");
-}
-
-static inline void omap_free_gpio(int gpio)
-{
-	gpio_free(gpio);
-}
-
 static inline int gpio_get_value(unsigned gpio)
 {
 	return __gpio_get_value(gpio);
drivers/mtd/onenand/omap2.c +3 -3
index 96ecc17..77a4f14 100644
@@ -629,7 +629,7 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
 	}
 
 	if (c->gpio_irq) {
-		if ((r = omap_request_gpio(c->gpio_irq)) < 0) {
+		if ((r = gpio_request(c->gpio_irq, "OneNAND irq")) < 0) {
 			dev_err(&pdev->dev,  "Failed to request GPIO%d for "
 				"OneNAND\n", c->gpio_irq);
 			goto err_iounmap;
@@ -726,7 +726,7 @@ err_release_dma:
 		free_irq(gpio_to_irq(c->gpio_irq), c);
 err_release_gpio:
 	if (c->gpio_irq)
-		omap_free_gpio(c->gpio_irq);
+		gpio_free(c->gpio_irq);
 err_iounmap:
 	iounmap(c->onenand.base);
 err_release_mem_region:
@@ -761,7 +761,7 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev)
 	platform_set_drvdata(pdev, NULL);
 	if (c->gpio_irq) {
 		free_irq(gpio_to_irq(c->gpio_irq), c);
-		omap_free_gpio(c->gpio_irq);
+		gpio_free(c->gpio_irq);
 	}
 	iounmap(c->onenand.base);
 	release_mem_region(c->phys_base, ONENAND_IO_SIZE);
author maintainer
#4 lore raw

PATCH 4/10 ARM: OMAP: Fix compile for beagle

In reply to Tony Lindgren

Move twl4030 gpio init code to where it should be. Also include twl4030.h.

---
 arch/arm/mach-omap2/board-omap3beagle.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
arch/arm/mach-omap2/board-omap3beagle.c +5 -4
index 9e5ada0..38c88fb 100644
@@ -28,6 +28,8 @@
 #include <linux/mtd/partitions.h>
 #include <linux/mtd/nand.h>
 
+#include <linux/i2c/twl4030.h>
+
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
@@ -120,6 +122,9 @@ static int beagle_twl_gpio_setup(struct device *dev,
 		unsigned gpio, unsigned ngpio)
 {
 	/* gpio + 0 is "mmc0_cd" (input/IRQ) */
+	omap_cfg_reg(AH8_34XX_GPIO29);
+	mmc[0].gpio_cd = gpio + 0;
+	twl4030_mmc_init(mmc);
 
 	/* REVISIT: need ehci-omap hooks for external VBUS
 	 * power switch and overcurrent detect
@@ -304,10 +309,6 @@ static void __init omap3_beagle_init(void)
 	omap_board_config_size = ARRAY_SIZE(omap3_beagle_config);
 	omap_serial_init();
 
-	omap_cfg_reg(AH8_34XX_GPIO29);
-	mmc[0].gpio_cd = gpio + 0;
-	twl4030_mmc_init(mmc);
-
 	omap_cfg_reg(J25_34XX_GPIO170);
 	gpio_request(170, "DVI_nPD");
 	/* REVISIT leave DVI powered down until it's needed ... */
author maintainer
#5 lore raw

PATCH 5/10 ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS

In reply to Tony Lindgren

There are no wakeup registers on 15xx, and suspend_wakeup does not exist in the struct gpio_bank.

Without this fix we'll get "arch/arm/plat-omap/gpio.c:1792:
error: 'struct gpio_bank' has no member named 'suspend_wakeup'" as noted by Russell King.

Note that the ifdefs will be cleaned up once the omap gpio code gets split into omap1 and omap2 specific parts.

---
 arch/arm/plat-omap/gpio.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
arch/arm/plat-omap/gpio.c +3 -0
index 07b6968..f856a90 100644
@@ -1789,6 +1789,8 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
 /* FIXME for at least omap2, show pullup/pulldown state */
 
 			irqstat = irq_desc[irq].status;
+#if defined(CONFIG_ARCH_OMAP16XX) || defined(CONFIG_ARCH_OMAP24XX) ||	\
+		defined(CONFIG_ARCH_OMAP34XX)
 			if (is_in && ((bank->suspend_wakeup & mask)
 					|| irqstat & IRQ_TYPE_SENSE_MASK)) {
 				char	*trigger = NULL;
@@ -1818,6 +1820,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
 						(bank->suspend_wakeup & mask)
 							? " wakeup" : "");
 			}
+#endif
 			seq_printf(s, "\n");
 		}
 
author maintainer
#6 lore raw

PATCH 6/10 ARM: OMAP: Fix DMA CCR programming for request line > 63

In reply to Tony Lindgren

From: Anand Gadiyar <[email protected]>

Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used.

Reported by Wenbiao Wang

---
 arch/arm/plat-omap/dma.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)
arch/arm/plat-omap/dma.c +1 -4
index 692d2b4..6152586 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
 
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~(0x1f)) << 14);
 
 		val &= ~(0x1f);
 		val |= (dma_trigger & 0x1f);
#7 lore raw

RE: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

Quoted 36 lines

-----Original Message-----
From: Tony Lindgren [mailto:[email protected]]
Sent: Monday, January 12, 2009 8:15 PM
To: [email protected]
Cc: [email protected]; Gadiyar, Anand
Subject: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

From: Anand Gadiyar <[email protected]>

Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used.

Reported by Wenbiao Wang

---
 arch/arm/plat-omap/dma.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)
arch/arm/plat-omap/dma.c +1 -4
index 692d2b4..6152586 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int 
 lch, int data_type, int elem_count,
 
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~(0x1f)) << 14);
 
 		val &= ~(0x1f);
Quoted 4 lines

val |= (dma_trigger & 0x1f);

Reviewing my own patch. Is it better to use

		val |= ((dma_trigger & 0x60) << 14) instead?

Or is this fine, as is?

Thanks,
Anand

author maintainer
#8 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

Quoted 42 lines · Gadiyar, Anand
Quoted 36 lines

-----Original Message-----
From: Tony Lindgren [mailto:[email protected]]
Sent: Monday, January 12, 2009 8:15 PM
To: [email protected]
Cc: [email protected]; Gadiyar, Anand
Subject: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

From: Anand Gadiyar <[email protected]>

Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used.

Reported by Wenbiao Wang

---
 arch/arm/plat-omap/dma.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)
arch/arm/plat-omap/dma.c +1 -4
index 692d2b4..6152586 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int 
 lch, int data_type, int elem_count,
 
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~(0x1f)) << 14);
 
 		val &= ~(0x1f);
Quoted 4 lines

val |= (dma_trigger & 0x1f);

Reviewing my own patch. Is it better to use

Quoted 3 lines
		val |= ((dma_trigger & 0x60) << 14) instead?

Or is this fine, as is?

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Regards,

Tony

#9 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

Quoted 2 lines · Tony Lindgren

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Be very careful. gcc 4.3.2 ignores the cost of calling its support functions, so it could well decide to _actually_ do that as a divide rather than the obvious bit clear. Not only that, but the guys at Simtec found that gcc 4.3.2 sometimes generates the optimal code followed by the library call, followed by code overwrite the result of the library call with the version from the optimal code!

This issue is the subject of an open gcc bug; and I believe is the reason that kautobuild's compiler doesn't have ARMv7 support at the moment.

#10 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63

In reply to Tony Lindgren
Quoted 2 lines · Tony Lindgren

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Oh, and further to my previous reply there is also the general principle of writing what you mean. So, if you mean to clear the least significant 5 bits, write it as a mask with ~0x1f, not as a divide.

And no, you don't need ~(0x1f) - the parens there are pure noise. ~0x1f does just as well and isn't in any way confusing to the compiler. To put it another way, parens around a single value are completely meaningless.

author maintainer
#11 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Quoted 4 lines · Russell King - ARM Linux
Quoted 2 lines · Tony Lindgren

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Quoted 8 lines

Oh, and further to my previous reply there is also the general principle of writing what you mean. So, if you mean to clear the least significant 5 bits, write it as a mask with ~0x1f, not as a divide.

And no, you don't need ~(0x1f) - the parens there are pure noise. ~0x1f does just as well and isn't in any way confusing to the compiler. To put it another way, parens around a single value are completely meaningless.

Here's this one with the extra parens removed.

Tony

Quoted 1 line

From cccdfb22248a88a68c0947cb6ff6b7faae852739 Mon Sep 17 00:00:00 2001

From: Anand Gadiyar <[email protected]>
Date: Mon, 12 Jan 2009 16:01:03 +0200
Subject: [PATCH] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used.

Reported by Wenbiao Wang

arch/arm/plat-omap/dma.c +1 -4
index 692d2b4..660a4eb 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
 
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~0x1f) << 14);
 
 		val &= ~(0x1f);
 		val |= (dma_trigger & 0x1f);
#12 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Quoted 9 lines · Tony Lindgren
Quoted 8 lines · Russell King - ARM Linux
Quoted 2 lines · Tony Lindgren

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Oh, and further to my previous reply there is also the general principle of writing what you mean. So, if you mean to clear the least significant 5 bits, write it as a mask with ~0x1f, not as a divide.

Quoted 6 lines
Quoted 4 lines

And no, you don't need ~(0x1f) - the parens there are pure noise. ~0x1f does just as well and isn't in any way confusing to the compiler. To put it another way, parens around a single value are completely meaningless.

Here's this one with the extra parens removed.

If you're concerned about useless parens, then...

Quoted 6 lines
arch/arm/plat-omap/dma.c +0 -0
index 692d2b4..660a4eb 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
 

arch/arm/plat-omap/dma.c void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, · line 285

Quoted 10 lines
arch/arm/plat-omap/dma.c +1 -4
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~0x1f) << 14);
 
 		val &= ~(0x1f);
 		val |= (dma_trigger & 0x1f);

should change to:

		val = dma_read(CCR(lch));
		val &= ~(3 << 19);
		val |= (dma_trigger & ~0x1f) << 14;

		val &= ~0x1f;
		val |= dma_trigger & 0x1f;
author maintainer
#13 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Quoted 38 lines · Russell King - ARM Linux
Quoted 9 lines · Tony Lindgren
Quoted 8 lines · Russell King - ARM Linux
Quoted 2 lines · Tony Lindgren

Well at least you could remove some parens.
How about (dma_trigger / 32) << 19 instead?

Oh, and further to my previous reply there is also the general principle of writing what you mean. So, if you mean to clear the least significant 5 bits, write it as a mask with ~0x1f, not as a divide.

Quoted 6 lines
Quoted 4 lines

And no, you don't need ~(0x1f) - the parens there are pure noise. ~0x1f does just as well and isn't in any way confusing to the compiler. To put it another way, parens around a single value are completely meaningless.

Here's this one with the extra parens removed.

If you're concerned about useless parens, then...

Quoted 6 lines
arch/arm/plat-omap/dma.c +0 -0
index 692d2b4..660a4eb 100644
@@ -279,10 +279,7 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
 

arch/arm/plat-omap/dma.c void omap_set_dma_transfer_params(int lch, int data_type, int elem_count, · line 285

Quoted 10 lines
arch/arm/plat-omap/dma.c +1 -4
 		val = dma_read(CCR(lch));
 		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
+		val |= ((dma_trigger & ~0x1f) << 14);
 
 		val &= ~(0x1f);
 		val |= (dma_trigger & 0x1f);

should change to:

Quoted 6 lines
		val = dma_read(CCR(lch));
		val &= ~(3 << 19);
		val |= (dma_trigger & ~0x1f) << 14;

		val &= ~0x1f;
		val |= dma_trigger & 0x1f;

How about this? Of course the bits should be defined for DMA_SYNCHRO_CONTROL_UPPER and DMA_SYNCHRO_CONTROL, but that may not count as a fix..

Tony

Quoted 1 line

From 80637cc6235ffcb8cd5ec4dd9a91cbd2b885d71b Mon Sep 17 00:00:00 2001

From: Anand Gadiyar <[email protected]>
Date: Mon, 12 Jan 2009 16:01:03 +0200
Subject: [PATCH] ARM: OMAP: Fix DMA CCR programming for request line > 63, v3

Bug in existing code causes synchro control to be set +32 if request line greater than 63 is used.

Also clean up the function a bit by removing extra parens and clearing the bits at before write.

Reported by Wenbiao Wang.

arch/arm/plat-omap/dma.c +5 -8
index 692d2b4..e77373c 100644
@@ -278,14 +278,11 @@ void omap_set_dma_transfer_params(int lch, int data_type, int elem_count,
 		u32 val;
 
 		val = dma_read(CCR(lch));
-		val &= ~(3 << 19);
-		if (dma_trigger > 63)
-			val |= 1 << 20;
-		if (dma_trigger > 31)
-			val |= 1 << 19;
-
-		val &= ~(0x1f);
-		val |= (dma_trigger & 0x1f);
+
+		/* DMA_SYNCHRO_CONTROL_UPPER depends on the channel number */
+		val &= ~((3 << 19) | 0x1f);
+		val |= (dma_trigger & ~0x1f) << 14;
+		val |= dma_trigger & 0x1f;
 
 		if (sync_mode & OMAP_DMA_SYNC_FRAME)
 			val |= 1 << 5;
#14 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Quoted 3 lines · Tony Lindgren

How about this? Of course the bits should be defined for DMA_SYNCHRO_CONTROL_UPPER and DMA_SYNCHRO_CONTROL, but that may not count as a fix..

Ok.

author maintainer
#15 lore raw

Re: [PATCH 06/10] ARM: OMAP: Fix DMA CCR programming for request line > 63, v2

Quoted 6 lines · Russell King - ARM Linux
Quoted 3 lines · Tony Lindgren

How about this? Of course the bits should be defined for DMA_SYNCHRO_CONTROL_UPPER and DMA_SYNCHRO_CONTROL, but that may not count as a fix..

Ok.

One more update to fix compile on omap1 as noted by Russell.

Tony

Quoted 1 line

From 3127f8f8595a064b3f1a1837fea2177902589ac3 Mon Sep 17 00:00:00 2001

From: Tony Lindgren <Lopez>
Date: Thu, 15 Jan 2009 13:09:54 +0200
Subject: [PATCH] ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3

This patch enables writing to McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) for 2430/34xx platforms. It also adds XCCR, RCCR entries in McBSP register configuration structure and bit definitions for both registers.

If we enable the writing to CCR registers for 2430/34xx and don't set the default values (setting 0 as a consequence) in ASoC driver, the Transmit/Receive DMA mode gets disabled and the the transmission/reception doesn't happen, ending with a "write error: Input/Output error" when playing with 'aplay'.

Also define dummy CCR registers for omap1.

arch/arm/plat-omap/include/mach/mcbsp.h +11 -0
index 6a0d1a0..eef873d 100644
@@ -87,6 +87,10 @@
 #define OMAP_MCBSP_REG_XCERG	0x3A
 #define OMAP_MCBSP_REG_XCERH	0x3C
 
+/* Dummy defines, these are not available on omap1 */
+#define OMAP_MCBSP_REG_XCCR	0x00
+#define OMAP_MCBSP_REG_RCCR	0x00
+
 #define AUDIO_MCBSP_DATAWRITE	(OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DXR1)
 #define AUDIO_MCBSP_DATAREAD	(OMAP1510_MCBSP1_BASE + OMAP_MCBSP_REG_DRR1)
 
@@ -231,11 +235,16 @@
 #define XPBBLK(value)		((value)<<7)	/* Bits 7:8 */
 
 /*********************** McBSP XCCR bit definitions *************************/
+#define EXTCLKGATE		0x8000
+#define PPCONNECT		0x4000
+#define DXENDLY(value)		((value)<<12)	/* Bits 12:13 */
+#define XFULL_CYCLE		0x0800
 #define DILB			0x0020
 #define XDMAEN			0x0008
 #define XDISABLE		0x0001
 
 /********************** McBSP RCCR bit definitions *************************/
+#define RFULL_CYCLE		0x0800
 #define RDMAEN			0x0008
 #define RDISABLE		0x0001
 
@@ -267,6 +276,8 @@ struct omap_mcbsp_reg_cfg {
 	u16 rcerh;
 	u16 xcerg;
 	u16 xcerh;
+	u16 xccr;
+	u16 rccr;
 };
 
 typedef enum {
arch/arm/plat-omap/mcbsp.c +4 -0
index af33fc7..f2401a8 100644
@@ -173,6 +173,10 @@ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config)
 	OMAP_MCBSP_WRITE(io_base, MCR2, config->mcr2);
 	OMAP_MCBSP_WRITE(io_base, MCR1, config->mcr1);
 	OMAP_MCBSP_WRITE(io_base, PCR0, config->pcr0);
+	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+		OMAP_MCBSP_WRITE(io_base, XCCR, config->xccr);
+		OMAP_MCBSP_WRITE(io_base, RCCR, config->rccr);
+	}
 }
 EXPORT_SYMBOL(omap_mcbsp_config);
 
author maintainer
#16 lore raw

PATCH 7/10 ARM: OMAP: remove duplicated #include's

In reply to Tony Lindgren

From: Huang Weiyi <[email protected]>

Removed duplicated #include's in arch/arm/mach-omap1/board-voiceblue.c

---
 arch/arm/mach-omap1/board-voiceblue.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
arch/arm/mach-omap1/board-voiceblue.c +0 -1
index c224f3c..a765354 100644
@@ -22,7 +22,6 @@
 #include <linux/reboot.h>
 #include <linux/serial_8250.h>
 #include <linux/serial_reg.h>
-#include <linux/irq.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
author maintainer
#17 lore raw

PATCH 8/10 ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23

In reply to Tony Lindgren

From: Arun KS <[email protected]>

Adding I2C board info is required for tlvaic23 i2c chip driver.

---
 arch/arm/mach-omap1/board-osk.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
arch/arm/mach-omap1/board-osk.c +3 -1
index ff9e67b..d17952f 100644
@@ -259,8 +259,10 @@ static struct i2c_board_info __initdata osk_i2c_board_info[] = {
 		.platform_data	= &tps_board,
 
 	},
+	{
+		I2C_BOARD_INFO("tlv320aic23", 0x1B),
+	},
 	/* TODO when driver support is ready:
-	 *  - aic23 audio chip at 0x1a
 	 *  - optionally on Mistral, ov9640 camera sensor at 0x30
 	 */
 };
author maintainer
#18 lore raw

PATCH 9/10 ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers

In reply to Tony Lindgren

From: Tony Lindgren <Lopez>

This patch enables writing to McBSP Transmit Configuration Control Register (XCCR) and Receive Configuration Control Register (RCCR) for 2430/34xx platforms. It also adds XCCR, RCCR entries in McBSP register configuration structure and bit definitions for both registers.

If we enable the writing to CCR registers for 2430/34xx and don't set the default values (setting 0 as a consequence) in ASoC driver, the Transmit/Receive DMA mode gets disabled and the the transmission/reception doesn't happen, ending with a "write error: Input/Output error" when playing with 'aplay'.

---
 arch/arm/plat-omap/include/mach/mcbsp.h |    7 +++++++
 arch/arm/plat-omap/mcbsp.c              |    4 ++++
 2 files changed, 11 insertions(+), 0 deletions(-)
arch/arm/plat-omap/include/mach/mcbsp.h +7 -0
index 6a0d1a0..cc48f2f 100644
@@ -231,11 +231,16 @@
 #define XPBBLK(value)		((value)<<7)	/* Bits 7:8 */
 
 /*********************** McBSP XCCR bit definitions *************************/
+#define EXTCLKGATE		0x8000
+#define PPCONNECT		0x4000
+#define DXENDLY(value)		((value)<<12)	/* Bits 12:13 */
+#define XFULL_CYCLE		0x0800
 #define DILB			0x0020
 #define XDMAEN			0x0008
 #define XDISABLE		0x0001
 
 /********************** McBSP RCCR bit definitions *************************/
+#define RFULL_CYCLE		0x0800
 #define RDMAEN			0x0008
 #define RDISABLE		0x0001
 
@@ -267,6 +272,8 @@ struct omap_mcbsp_reg_cfg {
 	u16 rcerh;
 	u16 xcerg;
 	u16 xcerh;
+	u16 xccr;
+	u16 rccr;
 };
 
 typedef enum {
arch/arm/plat-omap/mcbsp.c +4 -0
index af33fc7..f2401a8 100644
@@ -173,6 +173,10 @@ void omap_mcbsp_config(unsigned int id, const struct omap_mcbsp_reg_cfg *config)
 	OMAP_MCBSP_WRITE(io_base, MCR2, config->mcr2);
 	OMAP_MCBSP_WRITE(io_base, MCR1, config->mcr1);
 	OMAP_MCBSP_WRITE(io_base, PCR0, config->pcr0);
+	if (cpu_is_omap2430() || cpu_is_omap34xx()) {
+		OMAP_MCBSP_WRITE(io_base, XCCR, config->xccr);
+		OMAP_MCBSP_WRITE(io_base, RCCR, config->rccr);
+	}
 }
 EXPORT_SYMBOL(omap_mcbsp_config);
 
author maintainer
#19 lore raw

PATCH 10/10 ARM: OMAP: Remove unused platform devices for old ALSA code

In reply to Tony Lindgren

This patch removes old platform devices. The should be now replaced with ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c.

Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling.

This patch is based on an earlier patch by Arun KS.

---
 arch/arm/mach-omap1/board-h2.c          |   38 ----------
 arch/arm/mach-omap1/board-h3.c          |   38 ----------
 arch/arm/mach-omap1/board-innovator.c   |   39 ----------
 arch/arm/mach-omap1/board-nokia770.c    |    7 ++
 arch/arm/mach-omap1/board-osk.c         |   39 ----------
 arch/arm/mach-omap1/board-palmte.c      |   20 -----
 arch/arm/mach-omap1/board-palmtt.c      |   41 -----------
 arch/arm/mach-omap1/board-palmz71.c     |   37 ----------
 arch/arm/mach-omap1/board-sx1.c         |   32 ---------
 arch/arm/plat-omap/include/mach/aic23.h |  116 -------------------------------
 10 files changed, 7 insertions(+), 400 deletions(-)
 delete mode 100644 arch/arm/plat-omap/include/mach/aic23.h
arch/arm/mach-omap1/board-h2.c +0 -38
index b240c5f..83e420f 100644
@@ -45,8 +45,6 @@
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static int h2_keymap[] = {
 	KEY(0, 0, KEY_LEFT),
@@ -292,41 +290,6 @@ static struct platform_device h2_lcd_device = {
 	.id		= -1,
 };
 
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-                RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
-	.rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-                XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
-	.xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(15),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
-
-	.pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-	/*.pcr0 = CLKXP | CLKRP,*/        /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name                   = "H2 TSC2101",
-	.mcbsp_regs_alsa        = &mcbsp_regs,
-	.codec_configure_dev    = NULL, /* tsc2101_configure, */
-	.codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
-	.codec_clock_setup      = NULL, /* tsc2101_clock_setup, */
-	.codec_clock_on         = NULL, /* tsc2101_clock_on, */
-	.codec_clock_off        = NULL, /* tsc2101_clock_off, */
-	.get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
-};
-
-static struct platform_device h2_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *h2_devices[] __initdata = {
 	&h2_nor_device,
 	&h2_nand_device,
@@ -334,7 +297,6 @@ static struct platform_device *h2_devices[] __initdata = {
 	&h2_irda_device,
 	&h2_kp_device,
 	&h2_lcd_device,
-	&h2_mcbsp1_device,
 };
 
 static void __init h2_init_smc91x(void)
arch/arm/mach-omap1/board-h3.c +0 -38
index 5157eea..1eced67 100644
@@ -49,8 +49,6 @@
 #include <mach/keypad.h>
 #include <mach/dma.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 #define H3_TS_GPIO	48
 
@@ -387,41 +385,6 @@ static struct spi_board_info h3_spi_board_info[] __initdata = {
 	},
 };
 
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-                RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
-	.rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-                XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
-	.xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(15),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
-
-	.pcr0  = CLKRM | SCLKME | FSXP | FSRP | CLKXP | CLKRP,
-	/*.pcr0 = CLKXP | CLKRP,*/        /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name                   = "H3 TSC2101",
-	.mcbsp_regs_alsa        = &mcbsp_regs,
-	.codec_configure_dev    = NULL, /* tsc2101_configure, */
-	.codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
-	.codec_clock_setup      = NULL, /* tsc2101_clock_setup, */
-	.codec_clock_on         = NULL, /* tsc2101_clock_on, */
-	.codec_clock_off        = NULL, /* tsc2101_clock_off, */
-	.get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
-};
-
-static struct platform_device h3_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *devices[] __initdata = {
 	&nor_device,
 	&nand_device,
@@ -430,7 +393,6 @@ static struct platform_device *devices[] __initdata = {
 	&h3_irda_device,
 	&h3_kp_device,
 	&h3_lcd_device,
-	&h3_mcbsp1_device,
 };
 
 static struct omap_usb_config h3_usb_config __initdata = {
arch/arm/mach-omap1/board-innovator.c +0 -39
index af2fb90..071cd02 100644
@@ -37,8 +37,6 @@
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/mmc.h>
 
 static int innovator_keymap[] = {
@@ -115,42 +113,6 @@ static struct platform_device innovator_flash_device = {
 	.resource	= &innovator_flash_resource,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OMAP Innovator AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device innovator_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
- 	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct resource innovator_kp_resources[] = {
 	[0] = {
 		.start	= INT_KEYBOARD,
@@ -227,7 +189,6 @@ static struct platform_device innovator1510_spi_device = {
 static struct platform_device *innovator1510_devices[] __initdata = {
 	&innovator_flash_device,
 	&innovator1510_smc91x_device,
-	&innovator_mcbsp1_device,
 	&innovator_kp_device,
 	&innovator1510_lcd_device,
 	&innovator1510_spi_device,
arch/arm/mach-omap1/board-nokia770.c +7 -0
index 4970c40..bfdad91 100644
@@ -261,6 +261,13 @@ static DEFINE_MUTEX(audio_pwr_lock);
  */
 static int audio_pwr_state = -1;
 
+static inline void aic23_power_up(void)
+{
+}
+static inline void aic23_power_down(void)
+{
+}
+
 /*
  * audio_pwr_up / down should be called under audio_pwr_lock
  */
arch/arm/mach-omap1/board-osk.c +0 -39
index d17952f..1a16ecb 100644
@@ -51,8 +51,6 @@
 #include <mach/mux.h>
 #include <mach/tc.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static struct mtd_partition osk_partitions[] = {
 	/* bootloader (U-Boot, etc) in first sector */
@@ -141,47 +139,10 @@ static struct platform_device osk5912_cf_device = {
 	.resource	= osk5912_cf_resources,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OSK AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device osk5912_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *osk5912_devices[] __initdata = {
 	&osk5912_flash_device,
 	&osk5912_smc91x_device,
 	&osk5912_cf_device,
-	&osk5912_mcbsp1_device,
 };
 
 static struct gpio_led tps_leds[] = {
arch/arm/mach-omap1/board-palmte.c +0 -20
index 00322f4..99f2b43 100644
@@ -42,8 +42,6 @@
 #include <mach/irda.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static void __init omap_palmte_init_irq(void)
 {
@@ -203,24 +201,6 @@ static struct omap_uart_config palmte_uart_config __initdata = {
 	.enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2),
 };
 
-static struct omap_mcbsp_reg_cfg palmte_mcbsp1_regs = {
-	.spcr2	= FRST | GRST | XRST | XINTM(3),
-	.xcr2	= XDATDLY(1) | XFIG,
-	.xcr1	= XWDLEN1(OMAP_MCBSP_WORD_32),
-	.pcr0	= SCLKME | FSXP | CLKXP,
-};
-
-static struct omap_alsa_codec_config palmte_alsa_config = {
-	.name			= "TSC2102 audio",
-	.mcbsp_regs_alsa	= &palmte_mcbsp1_regs,
-	.codec_configure_dev	= NULL,	/* tsc2102_configure, */
-	.codec_set_samplerate	= NULL,	/* tsc2102_set_samplerate, */
-	.codec_clock_setup	= NULL,	/* tsc2102_clock_setup, */
-	.codec_clock_on		= NULL,	/* tsc2102_clock_on, */
-	.codec_clock_off	= NULL,	/* tsc2102_clock_off, */
-	.get_default_samplerate	= NULL,	/* tsc2102_get_default_samplerate, */
-};
-
 #ifdef CONFIG_APM
 /*
  * Values measured in 10 minute intervals averaged over 10 samples.
arch/arm/mach-omap1/board-palmtt.c +0 -41

65 lines not on this page · raw message

arch/arm/mach-omap1/board-palmz71.c +0 -37
index cc05257..baf5efb 100644
@@ -32,7 +32,6 @@
 #include <asm/mach/map.h>
 #include <asm/mach/flash.h>
 
-#include <mach/mcbsp.h>
 #include <mach/gpio.h>
 #include <mach/mux.h>
 #include <mach/usb.h>
@@ -179,41 +178,6 @@ static struct platform_device palmz71_spi_device = {
 	.id	= -1,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2	= FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1	= RINTM(3) | RRST,
-	.rcr2	= RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-			RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1	= RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2	= XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-			XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1	= XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1	= FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2	= GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	.pcr0	= CLKXP | CLKRP,	/* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "PalmZ71 AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL,	/* aic23_configure */
-	.codec_set_samplerate	= NULL,	/* aic23_set_samplerate */
-	.codec_clock_setup	= NULL,	/* aic23_clock_setup */
-	.codec_clock_on		= NULL,	/* aic23_clock_on */
-	.codec_clock_off	= NULL,	/* aic23_clock_off */
-	.get_default_samplerate	= NULL,	/* aic23_get_default_samplerate */
-};
-
-static struct platform_device palmz71_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data = &alsa_config,
-	},
-};
-
 static struct omap_backlight_config palmz71_backlight_config = {
 	.default_intensity	= 0xa0,
 };
@@ -229,7 +193,6 @@ static struct platform_device palmz71_backlight_device = {
 static struct platform_device *devices[] __initdata = {
 	&palmz71_rom_device,
 	&palmz71_kp_device,
-	&palmz71_mcbsp1_device,
 	&palmz71_lcd_device,
 	&palmz71_irda_device,
 	&palmz71_spi_device,
arch/arm/mach-omap1/board-sx1.c +0 -32
index 09a2422..15f5b2e 100644
@@ -39,8 +39,6 @@
 #include <mach/tc.h>
 #include <mach/board.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/keypad.h>
 
 /* Write to I2C device */
@@ -254,35 +252,6 @@ static struct platform_device sx1_irda_device = {
 	.resource	= sx1_irda_resources,
 };
 
-/*----------- McBSP & Sound -------------------------*/
-
-/* Playback interface - McBSP1 */
-static struct omap_mcbsp_reg_cfg mcbsp1_regs = {
-	.spcr2	= XINTM(3),	/* SPCR2=30 */
-	.spcr1	= RINTM(3),	/* SPCR1=30 */
-	.rcr2	= 0,	/* RCR2 =00 */
-	.rcr1	= RFRLEN1(1) | RWDLEN1(OMAP_MCBSP_WORD_16),	/* RCR1=140 */
-	.xcr2	= 0,	/* XCR2 = 0 */
-	.xcr1	= XFRLEN1(1) | XWDLEN1(OMAP_MCBSP_WORD_16),	/* XCR1 = 140 */
-	.srgr1	= FWID(15) | CLKGDV(12),	/* SRGR1=0f0c */
-	.srgr2	= FSGM | FPER(31),	/* SRGR2=101f */
-	.pcr0	= FSXM | FSRM | CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-						/* PCR0 =0f0f */
-};
-
-static struct omap_alsa_codec_config sx1_alsa_config = {
-	.name			= "SX1 EGold",
-	.mcbsp_regs_alsa	= &mcbsp1_regs,
-};
-
-static struct platform_device sx1_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &sx1_alsa_config,
-	},
-};
-
 /*----------- MTD -------------------------*/
 
 static struct mtd_partition sx1_partitions[] = {
@@ -394,7 +363,6 @@ static struct platform_device *sx1_devices[] __initdata = {
 	&sx1_flash_device,
 	&sx1_kp_device,
 	&sx1_lcd_device,
-	&sx1_mcbsp1_device,
 	&sx1_irda_device,
 };
 /*-----------------------------------------*/
arch/arm/plat-omap/include/mach/aic23.h deleted +0 -116

116 lines not on this page · raw message

author maintainer
#20 lore raw

Re: [PATCH 10/10] ARM: OMAP: Remove unused platform devices for old ALSA code

Quoted 8 lines · Tony Lindgren

This patch removes old platform devices. The should be now replaced with ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c.

Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling.

This patch is based on an earlier patch by Arun KS.

Updates to fix H2 compile as noted by Russell King. ALso remove unused gpio_switch and nand code.

Tony

Quoted 1 line

From bf0b92849b730519130ddcf25c184e8401d30c13 Mon Sep 17 00:00:00 2001

From: Tony Lindgren <[email protected]>
Date: Thu, 15 Jan 2009 13:55:59 +0200
Subject: [PATCH] ARM: OMAP: Remove unused platform devices, v2

This patch removes old platform devices. Alsa should now be using the ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c.

Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling.

Remove references to omap_gpio_switch, and unused h2_nand_dev_ready function.

This patch is based on an earlier patch by Arun KS.

arch/arm/mach-omap1/board-h2.c +1 -44
index b240c5f..0d784a7 100644
@@ -37,16 +37,14 @@
 #include <asm/mach/flash.h>
 #include <asm/mach/map.h>
 
-#include <mach/gpio-switch.h>
 #include <mach/mux.h>
+#include <mach/dma.h>
 #include <mach/tc.h>
 #include <mach/nand.h>
 #include <mach/irda.h>
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static int h2_keymap[] = {
 	KEY(0, 0, KEY_LEFT),
@@ -292,41 +290,6 @@ static struct platform_device h2_lcd_device = {
 	.id		= -1,
 };
 
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-                RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
-	.rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-                XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
-	.xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(15),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
-
-	.pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-	/*.pcr0 = CLKXP | CLKRP,*/        /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name                   = "H2 TSC2101",
-	.mcbsp_regs_alsa        = &mcbsp_regs,
-	.codec_configure_dev    = NULL, /* tsc2101_configure, */
-	.codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
-	.codec_clock_setup      = NULL, /* tsc2101_clock_setup, */
-	.codec_clock_on         = NULL, /* tsc2101_clock_on, */
-	.codec_clock_off        = NULL, /* tsc2101_clock_off, */
-	.get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
-};
-
-static struct platform_device h2_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *h2_devices[] __initdata = {
 	&h2_nor_device,
 	&h2_nand_device,
@@ -334,7 +297,6 @@ static struct platform_device *h2_devices[] __initdata = {
 	&h2_irda_device,
 	&h2_kp_device,
 	&h2_lcd_device,
-	&h2_mcbsp1_device,
 };
 
 static void __init h2_init_smc91x(void)
@@ -409,11 +371,6 @@ static struct omap_board_config_kernel h2_config[] __initdata = {
 
 #define H2_NAND_RB_GPIO_PIN	62
 
-static int h2_nand_dev_ready(struct omap_nand_platform_data *data)
-{
-	return gpio_get_value(H2_NAND_RB_GPIO_PIN);
-}
-
 static void __init h2_init(void)
 {
 	/* Here we assume the NOR boot config:  NOR on CS3 (possibly swapped
arch/arm/mach-omap1/board-h3.c +0 -50

74 lines not on this page · raw message

arch/arm/mach-omap1/board-innovator.c +0 -39
index af2fb90..071cd02 100644
@@ -37,8 +37,6 @@
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/mmc.h>
 
 static int innovator_keymap[] = {
@@ -115,42 +113,6 @@ static struct platform_device innovator_flash_device = {
 	.resource	= &innovator_flash_resource,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OMAP Innovator AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device innovator_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
- 	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct resource innovator_kp_resources[] = {
 	[0] = {
 		.start	= INT_KEYBOARD,
@@ -227,7 +189,6 @@ static struct platform_device innovator1510_spi_device = {
 static struct platform_device *innovator1510_devices[] __initdata = {
 	&innovator_flash_device,
 	&innovator1510_smc91x_device,
-	&innovator_mcbsp1_device,
 	&innovator_kp_device,
 	&innovator1510_lcd_device,
 	&innovator1510_spi_device,
arch/arm/mach-omap1/board-nokia770.c +7 -0
index 4970c40..bfdad91 100644
@@ -261,6 +261,13 @@ static DEFINE_MUTEX(audio_pwr_lock);
  */
 static int audio_pwr_state = -1;
 
+static inline void aic23_power_up(void)
+{
+}
+static inline void aic23_power_down(void)
+{
+}
+
 /*
  * audio_pwr_up / down should be called under audio_pwr_lock
  */
arch/arm/mach-omap1/board-osk.c +0 -39
index d17952f..1a16ecb 100644
@@ -51,8 +51,6 @@
 #include <mach/mux.h>
 #include <mach/tc.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static struct mtd_partition osk_partitions[] = {
 	/* bootloader (U-Boot, etc) in first sector */
@@ -141,47 +139,10 @@ static struct platform_device osk5912_cf_device = {
 	.resource	= osk5912_cf_resources,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OSK AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device osk5912_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *osk5912_devices[] __initdata = {
 	&osk5912_flash_device,
 	&osk5912_smc91x_device,
 	&osk5912_cf_device,
-	&osk5912_mcbsp1_device,
 };
 
 static struct gpio_led tps_leds[] = {
arch/arm/mach-omap1/board-palmte.c +0 -20
index 00322f4..99f2b43 100644
@@ -42,8 +42,6 @@
 #include <mach/irda.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static void __init omap_palmte_init_irq(void)
 {
@@ -203,24 +201,6 @@ static struct omap_uart_config palmte_uart_config __initdata = {
 	.enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2),
 };
 
-static struct omap_mcbsp_reg_cfg palmte_mcbsp1_regs = {
-	.spcr2	= FRST | GRST | XRST | XINTM(3),
-	.xcr2	= XDATDLY(1) | XFIG,
-	.xcr1	= XWDLEN1(OMAP_MCBSP_WORD_32),
-	.pcr0	= SCLKME | FSXP | CLKXP,
-};
-
-static struct omap_alsa_codec_config palmte_alsa_config = {
-	.name			= "TSC2102 audio",
-	.mcbsp_regs_alsa	= &palmte_mcbsp1_regs,
-	.codec_configure_dev	= NULL,	/* tsc2102_configure, */
-	.codec_set_samplerate	= NULL,	/* tsc2102_set_samplerate, */
-	.codec_clock_setup	= NULL,	/* tsc2102_clock_setup, */
-	.codec_clock_on		= NULL,	/* tsc2102_clock_on, */
-	.codec_clock_off	= NULL,	/* tsc2102_clock_off, */
-	.get_default_samplerate	= NULL,	/* tsc2102_get_default_samplerate, */
-};
-
 #ifdef CONFIG_APM
 /*
  * Values measured in 10 minute intervals averaged over 10 samples.
arch/arm/mach-omap1/board-palmtt.c +0 -41

65 lines not on this page · raw message

arch/arm/mach-omap1/board-palmz71.c +0 -37
index cc05257..baf5efb 100644
@@ -32,7 +32,6 @@
 #include <asm/mach/map.h>
 #include <asm/mach/flash.h>
 
-#include <mach/mcbsp.h>
 #include <mach/gpio.h>
 #include <mach/mux.h>
 #include <mach/usb.h>
@@ -179,41 +178,6 @@ static struct platform_device palmz71_spi_device = {
 	.id	= -1,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2	= FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1	= RINTM(3) | RRST,
-	.rcr2	= RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-			RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1	= RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2	= XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-			XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1	= XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1	= FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2	= GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	.pcr0	= CLKXP | CLKRP,	/* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "PalmZ71 AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL,	/* aic23_configure */
-	.codec_set_samplerate	= NULL,	/* aic23_set_samplerate */
-	.codec_clock_setup	= NULL,	/* aic23_clock_setup */
-	.codec_clock_on		= NULL,	/* aic23_clock_on */
-	.codec_clock_off	= NULL,	/* aic23_clock_off */
-	.get_default_samplerate	= NULL,	/* aic23_get_default_samplerate */
-};
-
-static struct platform_device palmz71_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data = &alsa_config,
-	},
-};
-
 static struct omap_backlight_config palmz71_backlight_config = {
 	.default_intensity	= 0xa0,
 };
@@ -229,7 +193,6 @@ static struct platform_device palmz71_backlight_device = {
 static struct platform_device *devices[] __initdata = {
 	&palmz71_rom_device,
 	&palmz71_kp_device,
-	&palmz71_mcbsp1_device,
 	&palmz71_lcd_device,
 	&palmz71_irda_device,
 	&palmz71_spi_device,
arch/arm/mach-omap1/board-sx1.c +0 -32
index 09a2422..15f5b2e 100644
@@ -39,8 +39,6 @@
 #include <mach/tc.h>
 #include <mach/board.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/keypad.h>
 
 /* Write to I2C device */
@@ -254,35 +252,6 @@ static struct platform_device sx1_irda_device = {
 	.resource	= sx1_irda_resources,
 };
 
-/*----------- McBSP & Sound -------------------------*/
-
-/* Playback interface - McBSP1 */
-static struct omap_mcbsp_reg_cfg mcbsp1_regs = {
-	.spcr2	= XINTM(3),	/* SPCR2=30 */
-	.spcr1	= RINTM(3),	/* SPCR1=30 */
-	.rcr2	= 0,	/* RCR2 =00 */
-	.rcr1	= RFRLEN1(1) | RWDLEN1(OMAP_MCBSP_WORD_16),	/* RCR1=140 */
-	.xcr2	= 0,	/* XCR2 = 0 */
-	.xcr1	= XFRLEN1(1) | XWDLEN1(OMAP_MCBSP_WORD_16),	/* XCR1 = 140 */
-	.srgr1	= FWID(15) | CLKGDV(12),	/* SRGR1=0f0c */
-	.srgr2	= FSGM | FPER(31),	/* SRGR2=101f */
-	.pcr0	= FSXM | FSRM | CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-						/* PCR0 =0f0f */
-};
-
-static struct omap_alsa_codec_config sx1_alsa_config = {
-	.name			= "SX1 EGold",
-	.mcbsp_regs_alsa	= &mcbsp1_regs,
-};
-
-static struct platform_device sx1_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &sx1_alsa_config,
-	},
-};
-
 /*----------- MTD -------------------------*/
 
 static struct mtd_partition sx1_partitions[] = {
@@ -394,7 +363,6 @@ static struct platform_device *sx1_devices[] __initdata = {
 	&sx1_flash_device,
 	&sx1_kp_device,
 	&sx1_lcd_device,
-	&sx1_mcbsp1_device,
 	&sx1_irda_device,
 };
 /*-----------------------------------------*/
arch/arm/plat-omap/include/mach/aic23.h deleted +0 -116

116 lines not on this page · raw message

author maintainer
#21 lore raw

Re: [PATCH 10/10] ARM: OMAP: Remove unused platform devices, v3

Quoted 5 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren

This patch removes old platform devices. The should be now replaced with ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c.

Quoted 7 lines
Quoted 4 lines

Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling.

This patch is based on an earlier patch by Arun KS.

Updates to fix H2 compile as noted by Russell King. ALso remove unused gpio_switch and nand code.

One more update, now with include fixes for sx1 and 770.

Tony

Quoted 1 line

From e999bbe7f1318390e997d13e508e4f16b1b130af Mon Sep 17 00:00:00 2001

From: Tony Lindgren <[email protected]>
Date: Thu, 15 Jan 2009 13:55:59 +0200
Subject: [PATCH] ARM: OMAP: Remove unused platform devices, v3

This patch removes old platform devices. Alsa should now be using the ASoC driver. For boards not yet using ASoC, please see sound/soc/omap/osk5912.c.

Add dummy aic23_power_up and aic23_power_down functions for 770 to keep things compiling.

Remove references to omap_gpio_switch, and unused h2_nand_dev_ready function.

This patch is based on an earlier patch by Arun KS.

arch/arm/mach-omap1/board-h2.c +1 -44
index b240c5f..0d784a7 100644
@@ -37,16 +37,14 @@
 #include <asm/mach/flash.h>
 #include <asm/mach/map.h>
 
-#include <mach/gpio-switch.h>
 #include <mach/mux.h>
+#include <mach/dma.h>
 #include <mach/tc.h>
 #include <mach/nand.h>
 #include <mach/irda.h>
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static int h2_keymap[] = {
 	KEY(0, 0, KEY_LEFT),
@@ -292,41 +290,6 @@ static struct platform_device h2_lcd_device = {
 	.id		= -1,
 };
 
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2  = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-                RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(1),
-	.rcr1  = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2  = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-                XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(1) | XFIG,
-	.xcr1  = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(15),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(31),
-
-	.pcr0  = CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-	/*.pcr0 = CLKXP | CLKRP,*/        /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name                   = "H2 TSC2101",
-	.mcbsp_regs_alsa        = &mcbsp_regs,
-	.codec_configure_dev    = NULL, /* tsc2101_configure, */
-	.codec_set_samplerate   = NULL, /* tsc2101_set_samplerate, */
-	.codec_clock_setup      = NULL, /* tsc2101_clock_setup, */
-	.codec_clock_on         = NULL, /* tsc2101_clock_on, */
-	.codec_clock_off        = NULL, /* tsc2101_clock_off, */
-	.get_default_samplerate = NULL, /* tsc2101_get_default_samplerate, */
-};
-
-static struct platform_device h2_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *h2_devices[] __initdata = {
 	&h2_nor_device,
 	&h2_nand_device,
@@ -334,7 +297,6 @@ static struct platform_device *h2_devices[] __initdata = {
 	&h2_irda_device,
 	&h2_kp_device,
 	&h2_lcd_device,
-	&h2_mcbsp1_device,
 };
 
 static void __init h2_init_smc91x(void)
@@ -409,11 +371,6 @@ static struct omap_board_config_kernel h2_config[] __initdata = {
 
 #define H2_NAND_RB_GPIO_PIN	62
 
-static int h2_nand_dev_ready(struct omap_nand_platform_data *data)
-{
-	return gpio_get_value(H2_NAND_RB_GPIO_PIN);
-}
-
 static void __init h2_init(void)
 {
 	/* Here we assume the NOR boot config:  NOR on CS3 (possibly swapped
arch/arm/mach-omap1/board-h3.c +0 -50

74 lines not on this page · raw message

arch/arm/mach-omap1/board-innovator.c +0 -39
index af2fb90..071cd02 100644
@@ -37,8 +37,6 @@
 #include <mach/usb.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/mmc.h>
 
 static int innovator_keymap[] = {
@@ -115,42 +113,6 @@ static struct platform_device innovator_flash_device = {
 	.resource	= &innovator_flash_resource,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OMAP Innovator AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device innovator_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
- 	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct resource innovator_kp_resources[] = {
 	[0] = {
 		.start	= INT_KEYBOARD,
@@ -227,7 +189,6 @@ static struct platform_device innovator1510_spi_device = {
 static struct platform_device *innovator1510_devices[] __initdata = {
 	&innovator_flash_device,
 	&innovator1510_smc91x_device,
-	&innovator_mcbsp1_device,
 	&innovator_kp_device,
 	&innovator1510_lcd_device,
 	&innovator1510_spi_device,
arch/arm/mach-omap1/board-nokia770.c +7 -1
index 4970c40..af51e0b 100644
@@ -32,7 +32,6 @@
 #include <mach/keypad.h>
 #include <mach/common.h>
 #include <mach/dsp_common.h>
-#include <mach/aic23.h>
 #include <mach/omapfb.h>
 #include <mach/lcd_mipid.h>
 #include <mach/mmc.h>
@@ -261,6 +260,13 @@ static DEFINE_MUTEX(audio_pwr_lock);
  */
 static int audio_pwr_state = -1;
 
+static inline void aic23_power_up(void)
+{
+}
+static inline void aic23_power_down(void)
+{
+}
+
 /*
  * audio_pwr_up / down should be called under audio_pwr_lock
  */
arch/arm/mach-omap1/board-osk.c +0 -39
index d17952f..1a16ecb 100644
@@ -51,8 +51,6 @@
 #include <mach/mux.h>
 #include <mach/tc.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static struct mtd_partition osk_partitions[] = {
 	/* bootloader (U-Boot, etc) in first sector */
@@ -141,47 +139,10 @@ static struct platform_device osk5912_cf_device = {
 	.resource	= osk5912_cf_resources,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2 = FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1 = RINTM(3) | RRST,
-	.rcr2 = RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-	    RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1 = RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2 = XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-	    XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1 = XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1 = FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2 = GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	/*.pcr0 = FSXM | FSRM | CLKXM | CLKRM | CLKXP | CLKRP,*/ /* mcbsp: master */
-	.pcr0 = CLKXP | CLKRP,  /* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "OSK AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL, /* aic23_configure, */
-	.codec_set_samplerate	= NULL, /* aic23_set_samplerate, */
-	.codec_clock_setup	= NULL, /* aic23_clock_setup, */
-	.codec_clock_on		= NULL, /* aic23_clock_on, */
-	.codec_clock_off	= NULL, /* aic23_clock_off, */
-	.get_default_samplerate	= NULL, /* aic23_get_default_samplerate, */
-};
-
-static struct platform_device osk5912_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &alsa_config,
-	},
-};
-
 static struct platform_device *osk5912_devices[] __initdata = {
 	&osk5912_flash_device,
 	&osk5912_smc91x_device,
 	&osk5912_cf_device,
-	&osk5912_mcbsp1_device,
 };
 
 static struct gpio_led tps_leds[] = {
arch/arm/mach-omap1/board-palmte.c +0 -20
index 00322f4..99f2b43 100644
@@ -42,8 +42,6 @@
 #include <mach/irda.h>
 #include <mach/keypad.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 
 static void __init omap_palmte_init_irq(void)
 {
@@ -203,24 +201,6 @@ static struct omap_uart_config palmte_uart_config __initdata = {
 	.enabled_uarts = (1 << 0) | (1 << 1) | (0 << 2),
 };
 
-static struct omap_mcbsp_reg_cfg palmte_mcbsp1_regs = {
-	.spcr2	= FRST | GRST | XRST | XINTM(3),
-	.xcr2	= XDATDLY(1) | XFIG,
-	.xcr1	= XWDLEN1(OMAP_MCBSP_WORD_32),
-	.pcr0	= SCLKME | FSXP | CLKXP,
-};
-
-static struct omap_alsa_codec_config palmte_alsa_config = {
-	.name			= "TSC2102 audio",
-	.mcbsp_regs_alsa	= &palmte_mcbsp1_regs,
-	.codec_configure_dev	= NULL,	/* tsc2102_configure, */
-	.codec_set_samplerate	= NULL,	/* tsc2102_set_samplerate, */
-	.codec_clock_setup	= NULL,	/* tsc2102_clock_setup, */
-	.codec_clock_on		= NULL,	/* tsc2102_clock_on, */
-	.codec_clock_off	= NULL,	/* tsc2102_clock_off, */
-	.get_default_samplerate	= NULL,	/* tsc2102_get_default_samplerate, */
-};
-
 #ifdef CONFIG_APM
 /*
  * Values measured in 10 minute intervals averaged over 10 samples.
arch/arm/mach-omap1/board-palmtt.c +0 -41

65 lines not on this page · raw message

arch/arm/mach-omap1/board-palmz71.c +0 -37
index cc05257..baf5efb 100644
@@ -32,7 +32,6 @@
 #include <asm/mach/map.h>
 #include <asm/mach/flash.h>
 
-#include <mach/mcbsp.h>
 #include <mach/gpio.h>
 #include <mach/mux.h>
 #include <mach/usb.h>
@@ -179,41 +178,6 @@ static struct platform_device palmz71_spi_device = {
 	.id	= -1,
 };
 
-#define DEFAULT_BITPERSAMPLE 16
-
-static struct omap_mcbsp_reg_cfg mcbsp_regs = {
-	.spcr2	= FREE | FRST | GRST | XRST | XINTM(3),
-	.spcr1	= RINTM(3) | RRST,
-	.rcr2	= RPHASE | RFRLEN2(OMAP_MCBSP_WORD_8) |
-			RWDLEN2(OMAP_MCBSP_WORD_16) | RDATDLY(0),
-	.rcr1	= RFRLEN1(OMAP_MCBSP_WORD_8) | RWDLEN1(OMAP_MCBSP_WORD_16),
-	.xcr2	= XPHASE | XFRLEN2(OMAP_MCBSP_WORD_8) |
-			XWDLEN2(OMAP_MCBSP_WORD_16) | XDATDLY(0) | XFIG,
-	.xcr1	= XFRLEN1(OMAP_MCBSP_WORD_8) | XWDLEN1(OMAP_MCBSP_WORD_16),
-	.srgr1	= FWID(DEFAULT_BITPERSAMPLE - 1),
-	.srgr2	= GSYNC | CLKSP | FSGM | FPER(DEFAULT_BITPERSAMPLE * 2 - 1),
-	.pcr0	= CLKXP | CLKRP,	/* mcbsp: slave */
-};
-
-static struct omap_alsa_codec_config alsa_config = {
-	.name			= "PalmZ71 AIC23",
-	.mcbsp_regs_alsa	= &mcbsp_regs,
-	.codec_configure_dev	= NULL,	/* aic23_configure */
-	.codec_set_samplerate	= NULL,	/* aic23_set_samplerate */
-	.codec_clock_setup	= NULL,	/* aic23_clock_setup */
-	.codec_clock_on		= NULL,	/* aic23_clock_on */
-	.codec_clock_off	= NULL,	/* aic23_clock_off */
-	.get_default_samplerate	= NULL,	/* aic23_get_default_samplerate */
-};
-
-static struct platform_device palmz71_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data = &alsa_config,
-	},
-};
-
 static struct omap_backlight_config palmz71_backlight_config = {
 	.default_intensity	= 0xa0,
 };
@@ -229,7 +193,6 @@ static struct platform_device palmz71_backlight_device = {
 static struct platform_device *devices[] __initdata = {
 	&palmz71_rom_device,
 	&palmz71_kp_device,
-	&palmz71_mcbsp1_device,
 	&palmz71_lcd_device,
 	&palmz71_irda_device,
 	&palmz71_spi_device,
arch/arm/mach-omap1/board-sx1.c +1 -32
index 09a2422..28c76a1 100644
@@ -34,13 +34,12 @@
 
 #include <mach/gpio.h>
 #include <mach/mux.h>
+#include <mach/dma.h>
 #include <mach/irda.h>
 #include <mach/usb.h>
 #include <mach/tc.h>
 #include <mach/board.h>
 #include <mach/common.h>
-#include <mach/mcbsp.h>
-#include <mach/omap-alsa.h>
 #include <mach/keypad.h>
 
 /* Write to I2C device */
@@ -254,35 +253,6 @@ static struct platform_device sx1_irda_device = {
 	.resource	= sx1_irda_resources,
 };
 
-/*----------- McBSP & Sound -------------------------*/
-
-/* Playback interface - McBSP1 */
-static struct omap_mcbsp_reg_cfg mcbsp1_regs = {
-	.spcr2	= XINTM(3),	/* SPCR2=30 */
-	.spcr1	= RINTM(3),	/* SPCR1=30 */
-	.rcr2	= 0,	/* RCR2 =00 */
-	.rcr1	= RFRLEN1(1) | RWDLEN1(OMAP_MCBSP_WORD_16),	/* RCR1=140 */
-	.xcr2	= 0,	/* XCR2 = 0 */
-	.xcr1	= XFRLEN1(1) | XWDLEN1(OMAP_MCBSP_WORD_16),	/* XCR1 = 140 */
-	.srgr1	= FWID(15) | CLKGDV(12),	/* SRGR1=0f0c */
-	.srgr2	= FSGM | FPER(31),	/* SRGR2=101f */
-	.pcr0	= FSXM | FSRM | CLKXM | CLKRM | FSXP | FSRP | CLKXP | CLKRP,
-						/* PCR0 =0f0f */
-};
-
-static struct omap_alsa_codec_config sx1_alsa_config = {
-	.name			= "SX1 EGold",
-	.mcbsp_regs_alsa	= &mcbsp1_regs,
-};
-
-static struct platform_device sx1_mcbsp1_device = {
-	.name	= "omap_alsa_mcbsp",
-	.id	= 1,
-	.dev = {
-		.platform_data	= &sx1_alsa_config,
-	},
-};
-
 /*----------- MTD -------------------------*/
 
 static struct mtd_partition sx1_partitions[] = {
@@ -394,7 +364,6 @@ static struct platform_device *sx1_devices[] __initdata = {
 	&sx1_flash_device,
 	&sx1_kp_device,
 	&sx1_lcd_device,
-	&sx1_mcbsp1_device,
 	&sx1_irda_device,
 };
 /*-----------------------------------------*/
arch/arm/plat-omap/include/mach/aic23.h deleted +0 -116

116 lines not on this page · raw message

author maintainer
#22 lore raw

[PATCH 11/10] ARM: OMAP: Fix compile for h3 MMC

In reply to Tony Lindgren

Fix compile for h3 MMC

arch/arm/plat-omap/include/mach/board-h3.h +3 -1
index 14909dc..1888326 100644
@@ -30,7 +30,9 @@
 /* In OMAP1710 H3 the Ethernet is directly connected to CS1 */
 #define OMAP1710_ETHR_START		0x04000300
 
+#define H3_TPS_GPIO_BASE		(OMAP_MAX_GPIO_LINES + 16 /* MPUIO */)
+#	define H3_TPS_GPIO_MMC_PWR_EN	(H3_TPS_GPIO_BASE + 4)
+
 extern void h3_mmc_init(void);
-extern void h3_mmc_slot_cover_handler(void *arg, int state);
 
 #endif /*  __ASM_ARCH_OMAP_H3_H */
author maintainer
#23 lore raw

git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

In reply to Tony Lindgren
Quoted 4 lines · Tony Lindgren

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

If no other comments, here's the pull request:

The following changes since commit c59765042f53a79a7a65585042ff463b69cb248c:
Linus Torvalds (1):

        Linux 2.6.29-rc1

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes

Anand Gadiyar (1):
ARM: OMAP: Fix DMA CCR programming for request line > 63, v3

Arun KS (1):
ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23

Huang Weiyi (1):
ARM: OMAP: remove duplicated #include's

Jarkko Nikula (1):
ARM: OMAP: Fix gpio by switching to generic gpio calls, v2

Tony Lindgren (6):
ARM: OMAP: Fix compile for various McBSP
ARM: OMAP: Fix compile for palmte
ARM: OMAP: Fix compile for beagle
ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS
ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers
ARM: OMAP: Remove unused platform devices for old ALSA code

 arch/arm/mach-omap1/board-h2.c          |   38 ----------
 arch/arm/mach-omap1/board-h3.c          |   38 ----------
 arch/arm/mach-omap1/board-innovator.c   |   39 ----------
 arch/arm/mach-omap1/board-nokia770.c    |    7 ++
 arch/arm/mach-omap1/board-osk.c         |   43 +-----------
 arch/arm/mach-omap1/board-palmte.c      |   29 --------
 arch/arm/mach-omap1/board-palmtt.c      |   41 -----------
 arch/arm/mach-omap1/board-palmz71.c     |   37 ----------
 arch/arm/mach-omap1/board-sx1.c         |   38 +---------
 arch/arm/mach-omap1/board-voiceblue.c   |    1 -
 arch/arm/mach-omap1/mcbsp.c             |    1 +
 arch/arm/mach-omap2/board-apollon.c     |   64 ++---------------
 arch/arm/mach-omap2/board-ldp.c         |    2 +-
 arch/arm/mach-omap2/board-omap3beagle.c |    9 ++-
 arch/arm/mach-omap2/mcbsp.c             |    1 +
 arch/arm/plat-omap/dma.c                |   13 ++--
 arch/arm/plat-omap/gpio.c               |    3 +
 arch/arm/plat-omap/include/mach/aic23.h |  116 -------------------------------
 arch/arm/plat-omap/include/mach/gpio.h  |   10 ---
 arch/arm/plat-omap/include/mach/mcbsp.h |    7 ++
 arch/arm/plat-omap/mcbsp.c              |    4 +
 drivers/mtd/onenand/omap2.c             |    6 +-
 22 files changed, 49 insertions(+), 498 deletions(-)
 delete mode 100644 arch/arm/plat-omap/include/mach/aic23.h
#24 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 7 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

If no other comments, here's the pull request:

Unfortunately, this breaks stuff. Whereas before pulling this I get:

CC drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `usb_configure_device_otg':
drivers/usb/core/hub.c:1557: error: too few arguments to function `usb_port_suspend'

while building my omap config, I now get this much earlier in the build:

CC arch/arm/mach-omap1/board-h2.o
arch/arm/mach-omap1/board-h2.c:259: error: `OMAP_DMA_UART3_RX' undeclared here (not in a function) arch/arm/mach-omap1/board-h2.c:259: error: initializer element is not constant arch/arm/mach-omap1/board-h2.c:259: error: (near initialization for h2_irda_data.rx_channel') arch/arm/mach-omap1/board-h2.c:260: error: OMAP_DMA_UART3_TX' undeclared here (not in a function) arch/arm/mach-omap1/board-h2.c:260: error: initializer element is not constant arch/arm/mach-omap1/board-h2.c:260: error: (near initialization for `h2_irda_data.tx_channel') arch/arm/mach-omap1/board-h2.c:375: warning: 'h2_nand_dev_ready' defined but not used

This has appeared because in 9f94ad8ab33417f98b363491d4730a67f4d92831, the include of mach/omap-alsa.h was removed, which includes mach/dma.h, and mach/dma.h is needed for these definitions.

It would be far better to omit mach/dma.h from mach/omap-alsa.h since mach/dma.h isn't strictly required for mach/omap-alsa.h (the file seems to contain nothing that requires anything from mach/dma.h) and then these kinds of accidents can be avoided.

With that fixed, that then brings us on to:

CC arch/arm/plat-omap/mcbsp.o
arch/arm/plat-omap/mcbsp.c: In function `omap_mcbsp_config':
arch/arm/plat-omap/mcbsp.c:177: error: `OMAP_MCBSP_REG_XCCR' undeclared (first use in this function) arch/arm/plat-omap/mcbsp.c:177: error: (Each undeclared identifier is reported only once arch/arm/plat-omap/mcbsp.c:177: error: for each function it appears in.) arch/arm/plat-omap/mcbsp.c:178: error: `OMAP_MCBSP_REG_RCCR' undeclared (first use in this function)

which is caused by 82b30192282d9b3da37d98af4b308d989ed6b92e.

Not pulling.

#25 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 7 lines · Russell King - ARM Linux

Unfortunately, this breaks stuff.  Whereas before pulling this I get:

  CC      drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `usb_configure_device_otg':
drivers/usb/core/hub.c:1557: error: too few arguments to function `usb_port_suspend'

while building my omap config, I now get this much earlier in the build:

ISTR seeing that before. I'm not sure what happened to Alan's patch ... I guess it didn't get merged yet.

- Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

author maintainer
#26 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

In reply to Russell King - ARM Linux
Quoted 44 lines · Russell King - ARM Linux
Quoted 7 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

If no other comments, here's the pull request:

Unfortunately, this breaks stuff. Whereas before pulling this I get:

CC drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `usb_configure_device_otg':
drivers/usb/core/hub.c:1557: error: too few arguments to function `usb_port_suspend'

while building my omap config, I now get this much earlier in the build:

CC arch/arm/mach-omap1/board-h2.o
arch/arm/mach-omap1/board-h2.c:259: error: `OMAP_DMA_UART3_RX' undeclared here (not in a function) arch/arm/mach-omap1/board-h2.c:259: error: initializer element is not constant arch/arm/mach-omap1/board-h2.c:259: error: (near initialization for h2_irda_data.rx_channel') arch/arm/mach-omap1/board-h2.c:260: error: OMAP_DMA_UART3_TX' undeclared here (not in a function) arch/arm/mach-omap1/board-h2.c:260: error: initializer element is not constant arch/arm/mach-omap1/board-h2.c:260: error: (near initialization for `h2_irda_data.tx_channel') arch/arm/mach-omap1/board-h2.c:375: warning: 'h2_nand_dev_ready' defined but not used

This has appeared because in 9f94ad8ab33417f98b363491d4730a67f4d92831, the include of mach/omap-alsa.h was removed, which includes mach/dma.h, and mach/dma.h is needed for these definitions.

It would be far better to omit mach/dma.h from mach/omap-alsa.h since mach/dma.h isn't strictly required for mach/omap-alsa.h (the file seems to contain nothing that requires anything from mach/dma.h) and then these kinds of accidents can be avoided.

With that fixed, that then brings us on to:

CC arch/arm/plat-omap/mcbsp.o
arch/arm/plat-omap/mcbsp.c: In function `omap_mcbsp_config':
arch/arm/plat-omap/mcbsp.c:177: error: `OMAP_MCBSP_REG_XCCR' undeclared (first use in this function) arch/arm/plat-omap/mcbsp.c:177: error: (Each undeclared identifier is reported only once arch/arm/plat-omap/mcbsp.c:177: error: for each function it appears in.) arch/arm/plat-omap/mcbsp.c:178: error: `OMAP_MCBSP_REG_RCCR' undeclared (first use in this function)

Quoted 3 lines

which is caused by 82b30192282d9b3da37d98af4b308d989ed6b92e.

Not pulling.

Hmm, I thought I build all the defconfigs before posting the series. Will update in just few mins.

Tony

#27 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 10 lines · Tony Lindgren
Quoted 9 lines · Russell King - ARM Linux
Quoted 7 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

If no other comments, here's the pull request:

Quoted 8 lines
Quoted 5 lines

Unfortunately, this breaks stuff. Whereas before pulling this I get:

CC drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `usb_configure_device_otg':
drivers/usb/core/hub.c:1557: error: too few arguments to function `usb_port_suspend'

Hmm, I thought I build all the defconfigs before posting the series. Will update in just few mins.

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

http://armlinux.simtec.co.uk/kautobuild/<version>/errors.html

where <version> should be replaced by, eg, 2.6.29-rc1-git4

#28 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 3 lines · ext Russell King - ARM Linux

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

are you talking about

drivers/usb/core/hub.c:1557: error: too few arguments to function 'usb_port_suspend' ??

that should be fixed by Greg, no ??

Signature · 1 line
balbi
#29 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 9 lines · Felipe Balbi
Quoted 3 lines · ext Russell King - ARM Linux

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

are you talking about

drivers/usb/core/hub.c:1557: error: too few arguments to function 'usb_port_suspend' ??

That was indeed the one quoted in my message.

Quoted 1 line

that should be fixed by Greg, no ??

Not sure - looks to be related to OTG... and seems to be caused by Alan Stern's 65bfd2967c906ca322a4bb69a285fe0de8916ac6 change "USB: Enhance usage of pm_message_t". Adding To's.

#30 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 11 lines · Russell King - ARM Linux
Quoted 9 lines · Felipe Balbi
Quoted 3 lines · ext Russell King - ARM Linux

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

are you talking about

drivers/usb/core/hub.c:1557: error: too few arguments to function 'usb_port_suspend' ??

Quoted 7 lines

That was indeed the one quoted in my message.

Quoted 1 line

that should be fixed by Greg, no ??

Not sure - looks to be related to OTG... and seems to be caused by Alan Stern's 65bfd2967c906ca322a4bb69a285fe0de8916ac6 change "USB: Enhance usage of pm_message_t". Adding To's.

Apparently the patch to fix this is still in Greg's queue. If you want to test the patch for yourself, it's here:

	http://marc.info/?l=linux-usb&m=123032171110450&w=2

Alan Stern

#31 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 17 lines · Alan Stern
Quoted 15 lines · Russell King - ARM Linux
Quoted 9 lines · Felipe Balbi
Quoted 3 lines · ext Russell King - ARM Linux

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

are you talking about

drivers/usb/core/hub.c:1557: error: too few arguments to function 'usb_port_suspend' ??

That was indeed the one quoted in my message.

Quoted 1 line

that should be fixed by Greg, no ??

Quoted 8 lines
Quoted 3 lines

Not sure - looks to be related to OTG... and seems to be caused by Alan Stern's 65bfd2967c906ca322a4bb69a285fe0de8916ac6 change "USB: Enhance usage of pm_message_t". Adding To's.

Apparently the patch to fix this is still in Greg's queue. If you want to test the patch for yourself, it's here:

	http://marc.info/?l=linux-usb&m=123032171110450&w=2

Sigh. Trivial build error. Trivial fix. Almost three weeks to get it into mainline and still waiting... Frustrated and annoyed.

(Isn't this the kind of slow bug fixing that akpm complains about at kernel summits?)

author maintainer
#32 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

In reply to Russell King - ARM Linux
Quoted 20 lines · Russell King - ARM Linux
Quoted 10 lines · Tony Lindgren
Quoted 9 lines · Russell King - ARM Linux
Quoted 7 lines · Tony Lindgren
Quoted 4 lines · Tony Lindgren

Hi,

Here are some omap fixes for review. Some of these patches were posted earlier.

If no other comments, here's the pull request:

Quoted 8 lines
Quoted 5 lines

Unfortunately, this breaks stuff. Whereas before pulling this I get:

CC drivers/usb/core/hub.o
drivers/usb/core/hub.c: In function `usb_configure_device_otg':
drivers/usb/core/hub.c:1557: error: too few arguments to function `usb_port_suspend'

Hmm, I thought I build all the defconfigs before posting the series. Will update in just few mins.

Quoted 7 lines

Thanks. It would also be nice if the USB error could be fixed by USB folk as well - it's been broken since 2.6.28-git12. (Maybe people should check kautobuild's errors summary page?)

http://armlinux.simtec.co.uk/kautobuild/<version>/errors.html

where <version> should be replaced by, eg, 2.6.29-rc1-git4

Regarding the USB hub.c issue, sounds like Dave and Felipe are already looking into it.

I think I missed the other build errors because I probably forgot to manually try to rebuild the boards that failed on the usb.c error..

Here's the updated pull request for the other omap fixes.

Tony

The following changes since commit 5393f780277165f282a37ed82dd878159ec9dad5:
Linus Torvalds (1):
Merge branch 'merge' of git://git.kernel.org/.../benh/powerpc

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes

Anand Gadiyar (1):
ARM: OMAP: Fix DMA CCR programming for request line > 63, v3

Arun KS (1):
ARM: OMAP: Fix OSK ASoC by registering I2C board info for tlvaic23

Huang Weiyi (1):
ARM: OMAP: remove duplicated #include's

Jarkko Nikula (1):
ARM: OMAP: Fix gpio by switching to generic gpio calls, v2

Tony Lindgren (7):
ARM: OMAP: Fix compile for various McBSP
ARM: OMAP: Fix compile for palmte
ARM: OMAP: Fix compile for beagle
ARM: OMAP: Fix gpio.c compile on 15xx with CONFIG_DEBUGFS
ARM: OMAP: Fix ASoC by enabling writes to XCCR and RCCR McBSP registers, v3
ARM: OMAP: Remove unused platform devices, v3
ARM: OMAP: Fix compile for h3 MMC

 arch/arm/mach-omap1/board-h2.c             |   45 +-----------
 arch/arm/mach-omap1/board-h3.c             |   50 ------------
 arch/arm/mach-omap1/board-innovator.c      |   39 ---------
 arch/arm/mach-omap1/board-nokia770.c       |    8 ++-
 arch/arm/mach-omap1/board-osk.c            |   43 +----------
 arch/arm/mach-omap1/board-palmte.c         |   29 -------
 arch/arm/mach-omap1/board-palmtt.c         |   41 ----------
 arch/arm/mach-omap1/board-palmz71.c        |   37 ---------
 arch/arm/mach-omap1/board-sx1.c            |   39 +--------
 arch/arm/mach-omap1/board-voiceblue.c      |    1 -
 arch/arm/mach-omap1/mcbsp.c                |    1 +
 arch/arm/mach-omap2/board-apollon.c        |   64 ++--------------
 arch/arm/mach-omap2/board-ldp.c            |    2 +-
 arch/arm/mach-omap2/board-omap3beagle.c    |    9 +-
 arch/arm/mach-omap2/mcbsp.c                |    1 +
 arch/arm/plat-omap/dma.c                   |   13 +--
 arch/arm/plat-omap/gpio.c                  |    3 +
 arch/arm/plat-omap/include/mach/aic23.h    |  116 ----------------------------
 arch/arm/plat-omap/include/mach/board-h3.h |    4 +-
 arch/arm/plat-omap/include/mach/gpio.h     |   10 ---
 arch/arm/plat-omap/include/mach/mcbsp.h    |   11 +++
 arch/arm/plat-omap/mcbsp.c                 |    4 +
 drivers/mtd/onenand/omap2.c                |    6 +-
 23 files changed, 58 insertions(+), 518 deletions(-)
 delete mode 100644 arch/arm/plat-omap/include/mach/aic23.h
#33 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 1 line · Tony Lindgren

Here's the updated pull request for the other omap fixes.

Thanks, this one's better.

#34 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 4 lines · Russell King - ARM Linux
Quoted 1 line · Tony Lindgren

Here's the updated pull request for the other omap fixes.

Thanks, this one's better.

Now that akpm pushed the usb_port_suspend() fix upstream, we move on to the next breakage found by kautobuild, which for n770_defconfig is:

drivers/built-in.o: In function `ohci_omap_init':
hid-quirks.c:(.text+0x6c608): undefined reference to otg_get_transceiver' drivers/built-in.o: In function omap_udc_probe':
hid-quirks.c:(.init.text+0x34c0): undefined reference to otg_get_transceiver' hid-quirks.c:(.init.text+0x3d40): undefined reference to otg_put_transceiver'

#35 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 8 lines · Russell King - ARM Linux

Now that akpm pushed the usb_port_suspend() fix upstream, we move on to the next breakage found by kautobuild, which for n770_defconfig is:

drivers/built-in.o: In function `ohci_omap_init':
hid-quirks.c:(.text+0x6c608): undefined reference to otg_get_transceiver' drivers/built-in.o: In function omap_udc_probe':
hid-quirks.c:(.init.text+0x34c0): undefined reference to otg_get_transceiver' hid-quirks.c:(.init.text+0x3d40): undefined reference to otg_put_transceiver'

Does this fix that problem?

---
 drivers/usb/host/Kconfig |    1 +
 drivers/usb/otg/Kconfig  |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/usb/host/Kconfig +1 -0
@@ -140,6 +140,7 @@ config USB_OHCI_HCD
 	tristate "OHCI HCD support"
 	depends on USB && USB_ARCH_HAS_OHCI
 	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
+	select USB_OTG_UTILS if ARCH_OMAP
 	---help---
 	  The Open Host Controller Interface (OHCI) is a standard for accessing
 	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
drivers/usb/otg/Kconfig +2 -2
@@ -6,14 +6,14 @@
 
 comment "OTG and related infrastructure"
 
-if USB || USB_GADGET
-
 config USB_OTG_UTILS
 	bool
 	help
 	  Select this to make sure the build includes objects from
 	  the OTG infrastructure directory.
 
+if USB || USB_GADGET
+
 #
 # USB Transceiver Drivers
 #
author maintainer
#36 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 11 lines · David Brownell
Quoted 8 lines · Russell King - ARM Linux

Now that akpm pushed the usb_port_suspend() fix upstream, we move on to the next breakage found by kautobuild, which for n770_defconfig is:

drivers/built-in.o: In function `ohci_omap_init':
hid-quirks.c:(.text+0x6c608): undefined reference to otg_get_transceiver' drivers/built-in.o: In function omap_udc_probe':
hid-quirks.c:(.init.text+0x34c0): undefined reference to otg_get_transceiver' hid-quirks.c:(.init.text+0x3d40): undefined reference to otg_put_transceiver'

Does this fix that problem?

Yes, that fixes it, Acked-by: Tony Lindgren <[email protected]>. I assume it will get merged via the USB tree, so not adding it to omap-fixes.

FYI, I'll be flying back home soon so I probably won't be online until Tuesday at some point in case there are other fixes needed.

Tony

Quoted 35 lines
---
 drivers/usb/host/Kconfig |    1 +
 drivers/usb/otg/Kconfig  |    4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)
drivers/usb/host/Kconfig +1 -0
@@ -140,6 +140,7 @@ config USB_OHCI_HCD
 	tristate "OHCI HCD support"
 	depends on USB && USB_ARCH_HAS_OHCI
 	select ISP1301_OMAP if MACH_OMAP_H2 || MACH_OMAP_H3
+	select USB_OTG_UTILS if ARCH_OMAP
 	---help---
 	  The Open Host Controller Interface (OHCI) is a standard for accessing
 	  USB 1.1 host controller hardware.  It does more in hardware than Intel's
drivers/usb/otg/Kconfig +2 -2
@@ -6,14 +6,14 @@
 
 comment "OTG and related infrastructure"
 
-if USB || USB_GADGET
-
 config USB_OTG_UTILS
 	bool
 	help
 	  Select this to make sure the build includes objects from
 	  the OTG infrastructure directory.
 
+if USB || USB_GADGET
+
 #
 # USB Transceiver Drivers
 #
#37 lore raw

Re: git-pull request for omap-fixes for 2.6.29-rc1 (Re: [PATCH 00/10] Omap fixes for 2.6.29-rc1)

Quoted 2 lines · Tony Lindgren

FYI, I'll be flying back home soon so I probably won't be online until Tuesday at some point in case there are other fixes needed.

That doesn't really matter at the moment - Linus is at LCA and from what I hear, isn't planning to do very much in the way of patch merging this week.