LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Check for altname == NULL in snd-pmac-gpio.c
From: Ben Collins @ 2006-01-22  4:43 UTC (permalink / raw)
  To: Linuxppc-dev

Since callers don't have to pass altname, snd-pmac-gpio.c should have
been checking for NULL, and it wasn't.

Also, fixes the pmf_unregister_irq_client() call to match the previous
patch.

Signed-off-by: Ben Collins <bcollins@ubuntu.com>

diff --git a/sound/ppc/snd-pmac-gpio.c b/sound/ppc/snd-pmac-gpio.c
index 25ef5e9..480e1ca 100644
--- a/sound/ppc/snd-pmac-gpio.c
+++ b/sound/ppc/snd-pmac-gpio.c
@@ -41,7 +41,7 @@ static struct pmf_function *get_audio_pf
 		return NULL;
 
 	pfunc = pmf_find_function(np, name);
-	if (pfunc == NULL && altname != NULL)
+	if (pfunc == NULL && altname)
 		pfunc = pmf_find_function(np, altname);
 
 	return pfunc;
@@ -58,10 +58,10 @@ static struct device_node *find_audio_gp
 	for (np = np->child; np; np = np->sibling) {
 		char *property = get_property(np, "audio-gpio", NULL);
 		if (property && (strcmp(property, name) == 0 ||
-		    strcmp(property, altname) == 0))
+		    (altname && strcmp(property, altname) == 0)))
 			break;
 		if (device_is_compatible(np, name) ||
-		    device_is_compatible(np, altname))
+		    (altname && device_is_compatible(np, altname)))
 			break;
         }
 
@@ -136,11 +136,7 @@ void snd_pmac_free_gpio(snd_pmac_gpio_t 
 {
 	if (gp->pfunc != NULL) {
 		if (gp->irq_client.owner == THIS_MODULE) {
-			/* XXX: pmf_unregister_irq_client doesn't use its
-			 * first two arguments. We only need to send it
-			 * the irq_client. WATCH FOR THIS CHANGING!
-			 */
-			pmf_unregister_irq_client(NULL, NULL, &gp->irq_client);
+			pmf_unregister_irq_client(&gp->irq_client);
 			gp->irq_client.owner = NULL;
 		}
 
@@ -233,7 +229,7 @@ int snd_pmac_request_irq(snd_pmac_gpio_t
 
 		if ((np = find_devices("i2s-a"))) {
 			ret = pmf_register_irq_client(np, gp->name, &gp->irq_client);
-			if (ret < 0)
+			if (ret < 0 && gp->altname)
 				ret = pmf_register_irq_client(np, gp->altname, &gp->irq_client);
 		}
 		if (ret < 0)


-- 
Ben Collins
Kernel Developer - Ubuntu Linux

^ permalink raw reply related

* [PATCH] Enable irq's for platform functions.
From: Ben Collins @ 2006-01-22  4:40 UTC (permalink / raw)
  To: Linuxppc-dev

This patch makes the platform function interrupt functions actually
work. Calls irq_enable() for the first in the list, and irq_disable()
for the last.

Added *func to struct irq_client so the the user can pass just that to
pmf_unregister_irq_client().

Signed-off-by: Ben Collins <bcollins@ubuntu.com>

diff --git a/arch/powerpc/platforms/powermac/pfunc_core.c b/arch/powerpc/platforms/powermac/pfunc_core.c
index 76d037c..51b3601 100644
--- a/arch/powerpc/platforms/powermac/pfunc_core.c
+++ b/arch/powerpc/platforms/powermac/pfunc_core.c
@@ -869,21 +869,28 @@ int pmf_register_irq_client(struct devic
 		spin_unlock_irqrestore(&pmf_lock, flags);
 		return -ENODEV;
 	}
+	if (list_empty(&func->irq_clients))
+		func->dev->handlers->irq_enable(func);
 	list_add(&client->link, &func->irq_clients);
+	client->func = func;
 	spin_unlock_irqrestore(&pmf_lock, flags);
 
 	return 0;
 }
 EXPORT_SYMBOL_GPL(pmf_register_irq_client);
 
-void pmf_unregister_irq_client(struct device_node *np,
-			      const char *name,
-			      struct pmf_irq_client *client)
+void pmf_unregister_irq_client(struct pmf_irq_client *client)
 {
+	struct pmf_function *func = client->func;
 	unsigned long flags;
 
+	BUG_ON(func == NULL);
+
 	spin_lock_irqsave(&pmf_lock, flags);
+	client->func = NULL;
 	list_del(&client->link);
+	if (list_empty(&func->irq_clients))
+		func->dev->handlers->irq_disable(func);
 	spin_unlock_irqrestore(&pmf_lock, flags);
 }
 EXPORT_SYMBOL_GPL(pmf_unregister_irq_client);
diff --git a/include/asm-powerpc/pmac_pfunc.h b/include/asm-powerpc/pmac_pfunc.h
index d6d9a4d..e4594d5 100644
--- a/include/asm-powerpc/pmac_pfunc.h
+++ b/include/asm-powerpc/pmac_pfunc.h
@@ -168,6 +168,7 @@ struct pmf_irq_client {
 	void			*data;
 	struct module		*owner;
 	struct list_head	link;
+	struct pmf_function	*func;
 };
 
 
@@ -188,9 +189,7 @@ extern int pmf_register_irq_client(struc
 				   const char *name,
 				   struct pmf_irq_client *client);
 
-extern void pmf_unregister_irq_client(struct device_node *np,
-				      const char *name,
-				      struct pmf_irq_client *client);
+extern void pmf_unregister_irq_client(struct pmf_irq_client *client);
 
 /*
  * Called by the handlers when an irq happens


-- 
Ben Collins
Kernel Developer - Ubuntu Linux

^ permalink raw reply related

* Re: 2.6.16-r1 sound
From: Benjamin Herrenschmidt @ 2006-01-22  3:43 UTC (permalink / raw)
  To: Douglas Russell; +Cc: linuxppc-dev
In-Reply-To: <200601211833.06139.puggy@gentoo.org>

On Sat, 2006-01-21 at 18:33 +0000, Douglas Russell wrote:
> ALSA sound seems to have stopped working under 2.6.16-rc1 on my powerbook 5,6. 
> The kernel just doesn't seem to find a sound device. It works fine when I go 
> back to 2.6.15-rc5 which I was on before.

Known problem, will be fixed before 2.6.16 is final.

Ben.

^ permalink raw reply

* Re: [PATCH 001/001] PMAC HD runtime blinking control
From: Benjamin Herrenschmidt @ 2006-01-22  2:49 UTC (permalink / raw)
  To: Cedric Pradalier; +Cc: Linuxppc-dev, debian-powerpc
In-Reply-To: <20060122121907.792abc72.cedric.pradalier@free.fr>

On Sun, 2006-01-22 at 12:19 +1000, Cedric Pradalier wrote:
> Hi,
> 
> I've finally spend the time to mend the patch for control of
> the HD led blinking at runtime. This is a patch against
> 2.6.15
> 
> The sysfs entry is attached to the PCI device and to the
> MACIO device if available. I think that was what Ben was
> asking for:

Heh, nice :) Almost ! It would be better if it was attached to the sysfs
node of the ide interface, you can find it in the HWIF array after
probe, but I won't be too much of a pain about that for now :)

Ben.

^ permalink raw reply

* [PATCH 001/001] PMAC HD runtime blinking control
From: Cedric Pradalier @ 2006-01-22  2:19 UTC (permalink / raw)
  To: Linuxppc-dev; +Cc: debian-powerpc

Hi,

I've finally spend the time to mend the patch for control of
the HD led blinking at runtime. This is a patch against
2.6.15

The sysfs entry is attached to the PCI device and to the
MACIO device if available. I think that was what Ben was
asking for:

lauren-ph:/sys# find . | grep blink
./module/ide_core/parameters/noblink
./devices/pci0001:10/0001:10:17.0/blinking_led
./devices/pci0001:10/0001:10:17.0/0.80000000:mac-io/0.0001f000:ata-4/blinking_led


To activate blinking:
echo 1 > ./devices/pci0001:10/0001:10:17.0/blinking_led

To deactivate it:
echo 0 > ./devices/pci0001:10/0001:10:17.0/blinking_led

There is also a boot time parameter idecore:noblink to
deactivate the blinking at this stage.


signed-off-by: Cedric Pradalier <cedric.pradalier@free.fr>
---

--- drivers/ide/ppc/pmac.c.orig	2006-01-03
13:21:10.000000000 +1000 +++ drivers/ide/ppc/pmac.c
2006-01-22 11:51:11.000000000 +1000 @@ -36,6 +36,11 @@
 #include <linux/pmu.h>
 #include <linux/scatterlist.h>
 
+#ifdef CONFIG_BLK_DEV_IDE_PMAC_BLINK
+#include <linux/device.h>
+#include <asm/of_device.h>
+#endif
+
 #include <asm/prom.h>
 #include <asm/io.h>
 #include <asm/dbdma.h>
@@ -427,6 +432,15 @@ static void pmac_ide_kauai_selectproc
(id 
 #ifdef CONFIG_BLK_DEV_IDE_PMAC_BLINK
 
+MODULE_AUTHOR("Paul Mackerras & Ben. Herrenschmidt");
+MODULE_DESCRIPTION("Support for IDE interfaces on
PowerMacs"); +MODULE_LICENSE("GPL");
+
+static int blinking_led = 1;
+module_param_named(noblink,blinking_led, invbool, 0666);
+MODULE_PARM_DESC(noblink,"Enable/Disable blinking led
[Default: enabled]"); +
+
 /* Set to 50ms minimum led-on time (also used to limit
frequency
  * of requests sent to the PMU
  */
@@ -437,8 +451,7 @@ static spinlock_t pmu_blink_lock;
 static unsigned long pmu_blink_stoptime;
 static int pmu_blink_ledstate;
 static struct timer_list pmu_blink_timer;
-static int pmu_ide_blink_enabled;
-
+static int pmu_ide_blink_enabled = 0;
 
 static void
 pmu_hd_blink_timeout(unsigned long data)
@@ -468,6 +481,8 @@ static void
 pmu_hd_kick_blink(void *data, int rw)
 {
 	unsigned long flags;
+	if (!blinking_led)
+		return;
 	
 	pmu_blink_stoptime = jiffies + PMU_HD_BLINK_TIME;
 	wmb();
@@ -483,8 +498,28 @@ pmu_hd_kick_blink(void *data, int rw)
 	spin_unlock_irqrestore(&pmu_blink_lock, flags);
 }
 
+static ssize_t show_blinkingled_activity(struct device
*dev, struct device_attribute *attr, char *buf)\ +{  
+	return sprintf(buf, "%c\n", blinking_led?'1':'0'); 
+}
+
+static ssize_t set_blinkingled_activity(struct device
*dev, struct device_attribute *attr, 
+		const char *buf, size_t count)
+{
+	int blink;
+	if (sscanf (buf, "%d", &blink) != 1)
+		return -EINVAL;
+	blinking_led = (blink != 0);
+	printk(KERN_INFO "pmac blinking led initialized
(blink %s)\n",
+			blinking_led?"enabled":"disabled");
+	return count;
+}
+
+static DEVICE_ATTR (blinking_led, S_IRUGO | S_IWUSR, 
+		show_blinkingled_activity,
set_blinkingled_activity); +
 static int
-pmu_hd_blink_init(void)
+pmu_hd_blink_init(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
 {
 	struct device_node *dt;
 	const char *model;
@@ -516,6 +551,13 @@ pmu_hd_blink_init(void)
 	init_timer(&pmu_blink_timer);
 	pmu_blink_timer.function = pmu_hd_blink_timeout;
 
+	device_create_file (&hwif->pci_dev->dev,
&dev_attr_blinking_led);
+	if (pmif->mdev != NULL)
+		device_create_file
(&pmif->mdev->ofdev.dev, &dev_attr_blinking_led);
+	
+	printk(KERN_INFO "pmac blinking led initialized
(blink %s)\n",
+			blinking_led?"enabled":"disabled");
+
 	return 1;
 }
 
@@ -1271,7 +1313,7 @@ static int
 pmac_ide_setup_device(pmac_ide_hwif_t *pmif, ide_hwif_t
*hwif) {
 	struct device_node *np = pmif->node;
-	int *bidp, i;
+	int *bidp;
 
 	pmif->cable_80 = 0;
 	pmif->broken_dma = pmif->broken_dma_warn = 0;
@@ -1375,7 +1417,7 @@ pmac_ide_setup_device(pmac_ide_hwif_t
*p hwif->speedproc = pmac_ide_tune_chipset;
 
 #ifdef CONFIG_BLK_DEV_IDE_PMAC_BLINK
-	pmu_ide_blink_enabled = pmu_hd_blink_init();
+	pmu_ide_blink_enabled = pmu_hd_blink_init
(pmif,hwif); 
 	if (pmu_ide_blink_enabled)
 		hwif->led_act = pmu_hd_kick_blink;
@@ -1476,6 +1518,7 @@ pmac_ide_macio_attach(struct
macio_dev * #endif /* CONFIG_BLK_DEV_IDEDMA_PMAC */
 	dev_set_drvdata(&mdev->ofdev.dev, hwif);
 
+	printk(KERN_INFO "pmac: using macio interface");
 	rc = pmac_ide_setup_device(pmif, hwif);
 	if (rc != 0) {
 		/* The inteface is released to the common
IDE layer */ @@ -1584,6 +1627,7 @@ pmac_ide_pci_attach
(struct pci_dev *pdev 
 	pci_set_drvdata(pdev, hwif);
 
+	printk(KERN_INFO "pmac: using PCI interface");
 	rc = pmac_ide_setup_device(pmif, hwif);
 	if (rc != 0) {
 		/* The inteface is released to the common
IDE layer */

^ permalink raw reply

* Re: AGPGART driver for ArticiaS - ioremap() problem
From: Benjamin Herrenschmidt @ 2006-01-21 22:48 UTC (permalink / raw)
  To: Gerhard Pircher; +Cc: linuxppc-dev, debian-powerpc
In-Reply-To: <25707.1137808755@www011.gmx.net>

On Sat, 2006-01-21 at 02:59 +0100, Gerhard Pircher wrote:

> Yes, I see. :( The code mostly allocates the resources for the AGPGART
> driver beyond the real memory space, thus preventing the X server to work.
> Sometimes the resource is also mapped to where the resource of the graphic
> card resides (address 0x88000000, compare with the included iomem file).

The AGP aperture should generally be located "outside" of those spaces.
That is above RAM and in some place where no device already resides...
It can be made to overlap RAM but that isn't a good idea (that's what
happens on Macs though due to a bug in the Apple chipset).

> Please take a look to the attachments. But the allocation seems to be
> different now! Strange!? At least the AGPGART driver is not allocated to bus
> 1.

I don't see anything related to AGP in your output... you didn't post
the lspci as root thus it's missing all the useful infos ;) Also, the
AGP base isn't generally a PCI BAR of the bridge... it is one in your
case ?

Ben.
 

^ permalink raw reply

* [CFT] Don't use ASYNC_* nor SERIAL_IO_* with serial_core
From: Russell King @ 2006-01-21 21:14 UTC (permalink / raw)
  To: Linux Kernel List; +Cc: pfg, linux-mips, takata, linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 12333 bytes --]

The serial_core layer has its own definitions for these, and I'd
appreciate it if folk would use them instead of the old ASYNC_* and
SERIAL_IO_* definitions.

They're compatible _at the moment_ but I make no guarantees that they
will stay that way.  Hence, it's in your interest to ensure that you're
using the correct definitions.

MIPS, PPC seem to be the architectures which are stuck in the past on
this issue, as is the M32R SIO driver.

The ioc4_serial driver is worse.  It assumes that it can set/clear
ASYNC_CTS_FLOW in the uart_info flags field, which is private to
serial_core.  It also seems to set TTY_IO_ERROR followed by immediately
clearing it (pointless), and then it writes to tty->alt_speed... which
isn't used by the serial layer so is also pointless.

So, here's a patch to fix some of this crap up.  Please test and
enjoy - I certainly didn't.

 arch/mips/cobalt/setup.c                   |    2 +-
 arch/mips/lasat/setup.c                    |    4 ++--
 arch/mips/mips-boards/atlas/atlas_setup.c  |    4 ++--
 arch/mips/mips-boards/sead/sead_setup.c    |    4 ++--
 arch/mips/mips-boards/sim/sim_setup.c      |    4 ++--
 arch/mips/momentum/jaguar_atx/ja-console.c |    2 +-
 arch/mips/pmc-sierra/yosemite/setup.c      |    2 +-
 arch/mips/sgi-ip32/ip32-setup.c            |   13 ++++---------
 arch/ppc/platforms/4xx/bamboo.c            |    4 ++--
 arch/ppc/platforms/4xx/bubinga.c           |    4 ++--
 arch/ppc/platforms/4xx/ebony.c             |    4 ++--
 arch/ppc/platforms/4xx/luan.c              |    4 ++--
 arch/ppc/platforms/4xx/ocotea.c            |    4 ++--
 arch/ppc/platforms/4xx/xilinx_ml300.c      |    4 ++--
 arch/ppc/platforms/4xx/yucca.c             |    4 ++--
 arch/ppc/platforms/spruce.c                |    4 ++--
 drivers/serial/ioc4_serial.c               |   14 --------------
 drivers/serial/m32r_sio.c                  |    2 +-
 18 files changed, 32 insertions(+), 51 deletions(-)

diff --git a/arch/mips/cobalt/setup.c b/arch/mips/cobalt/setup.c
--- a/arch/mips/cobalt/setup.c
+++ b/arch/mips/cobalt/setup.c
@@ -139,7 +139,7 @@ void __init plat_setup(void)
 		uart.type	= PORT_UNKNOWN;
 		uart.uartclk	= 18432000;
 		uart.irq	= COBALT_SERIAL_IRQ;
-		uart.flags	= STD_COM_FLAGS;
+		uart.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 		uart.iobase	= 0xc800000;
 		uart.iotype	= UPIO_PORT;
 
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c
--- a/arch/mips/lasat/setup.c
+++ b/arch/mips/lasat/setup.c
@@ -134,8 +134,8 @@ void __init serial_init(void)
 
 	memset(&s, 0, sizeof(s));
 
-	s.flags = STD_COM_FLAGS;
-	s.iotype = SERIAL_IO_MEM;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	s.iotype = UPIO_MEM;
 
 	if (mips_machtype == MACH_LASAT_100) {
 		s.uartclk = LASAT_BASE_BAUD_100 * 16;
diff --git a/arch/mips/mips-boards/atlas/atlas_setup.c b/arch/mips/mips-boards/atlas/atlas_setup.c
--- a/arch/mips/mips-boards/atlas/atlas_setup.c
+++ b/arch/mips/mips-boards/atlas/atlas_setup.c
@@ -82,8 +82,8 @@ static void __init serial_init(void)
 #endif
 	s.irq = ATLASINT_UART;
 	s.uartclk = ATLAS_BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ;
-	s.iotype = SERIAL_IO_PORT;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ;
+	s.iotype = UPIO_PORT;
 	s.regshift = 3;
 
 	if (early_serial_setup(&s) != 0) {
diff --git a/arch/mips/mips-boards/sead/sead_setup.c b/arch/mips/mips-boards/sead/sead_setup.c
--- a/arch/mips/mips-boards/sead/sead_setup.c
+++ b/arch/mips/mips-boards/sead/sead_setup.c
@@ -71,8 +71,8 @@ static void __init serial_init(void)
 #endif
 	s.irq = MIPSCPU_INT_BASE + MIPSCPU_INT_UART0;
 	s.uartclk = SEAD_BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ;
-	s.iotype = 0;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ;
+	s.iotype = UPIO_PORT;
 	s.regshift = 3;
 
 	if (early_serial_setup(&s) != 0) {
diff --git a/arch/mips/mips-boards/sim/sim_setup.c b/arch/mips/mips-boards/sim/sim_setup.c
--- a/arch/mips/mips-boards/sim/sim_setup.c
+++ b/arch/mips/mips-boards/sim/sim_setup.c
@@ -88,8 +88,8 @@ static void __init serial_init(void)
 	 but poll for now */
 	s.irq =  0;
 	s.uartclk = BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | UPF_SKIP_TEST;
-	s.iotype = SERIAL_IO_PORT | ASYNC_SKIP_TEST;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	s.iotype = UPIO_PORT;
 	s.regshift = 0;
 	s.timeout = 4;
 
diff --git a/arch/mips/momentum/jaguar_atx/ja-console.c b/arch/mips/momentum/jaguar_atx/ja-console.c
--- a/arch/mips/momentum/jaguar_atx/ja-console.c
+++ b/arch/mips/momentum/jaguar_atx/ja-console.c
@@ -93,7 +93,7 @@ static void inline ja_console_probe(void
 	up.uartclk	= JAGUAR_ATX_UART_CLK;
 	up.regshift	= 2;
 	up.iotype	= UPIO_MEM;
-	up.flags	= ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	up.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	up.line		= 0;
 
 	if (early_serial_setup(&up))
diff --git a/arch/mips/pmc-sierra/yosemite/setup.c b/arch/mips/pmc-sierra/yosemite/setup.c
--- a/arch/mips/pmc-sierra/yosemite/setup.c
+++ b/arch/mips/pmc-sierra/yosemite/setup.c
@@ -185,7 +185,7 @@ static void __init py_uart_setup(void)
 	up.uartclk      = TITAN_UART_CLK;
 	up.regshift     = 0;
 	up.iotype       = UPIO_MEM;
-	up.flags        = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	up.flags        = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	up.line         = 0;
 
 	if (early_serial_setup(&up))
diff --git a/arch/mips/sgi-ip32/ip32-setup.c b/arch/mips/sgi-ip32/ip32-setup.c
--- a/arch/mips/sgi-ip32/ip32-setup.c
+++ b/arch/mips/sgi-ip32/ip32-setup.c
@@ -66,11 +66,6 @@ static inline void str2eaddr(unsigned ch
 #include <linux/tty.h>
 #include <linux/serial.h>
 #include <linux/serial_core.h>
-extern int early_serial_setup(struct uart_port *port);
-
-#define STD_COM_FLAGS (ASYNC_SKIP_TEST)
-#define BASE_BAUD (1843200 / 16)
-
 #endif /* CONFIG_SERIAL_8250 */
 
 /* An arbitrary time; this can be decreased if reliability looks good */
@@ -110,8 +105,8 @@ void __init plat_setup(void)
 		o2_serial[0].type	= PORT_16550A;
 		o2_serial[0].line	= 0;
 		o2_serial[0].irq	= MACEISA_SERIAL1_IRQ;
-		o2_serial[0].flags	= STD_COM_FLAGS;
-		o2_serial[0].uartclk	= BASE_BAUD * 16;
+		o2_serial[0].flags	= UPF_SKIP_TEST;
+		o2_serial[0].uartclk	= 1843200;
 		o2_serial[0].iotype	= UPIO_MEM;
 		o2_serial[0].membase	= (char *)&mace->isa.serial1;
 		o2_serial[0].fifosize	= 14;
@@ -121,8 +116,8 @@ void __init plat_setup(void)
 		o2_serial[1].type	= PORT_16550A;
 		o2_serial[1].line	= 1;
 		o2_serial[1].irq	= MACEISA_SERIAL2_IRQ;
-		o2_serial[1].flags	= STD_COM_FLAGS;
-		o2_serial[1].uartclk	= BASE_BAUD * 16;
+		o2_serial[1].flags	= UPF_SKIP_TEST;
+		o2_serial[1].uartclk	= 1843200;
 		o2_serial[1].iotype	= UPIO_MEM;
 		o2_serial[1].membase	= (char *)&mace->isa.serial2;
 		o2_serial[1].fifosize	= 14;
diff --git a/arch/ppc/platforms/4xx/bamboo.c b/arch/ppc/platforms/4xx/bamboo.c
--- a/arch/ppc/platforms/4xx/bamboo.c
+++ b/arch/ppc/platforms/4xx/bamboo.c
@@ -332,8 +332,8 @@ bamboo_early_serial_map(void)
 	port.irq = 0;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/bubinga.c b/arch/ppc/platforms/4xx/bubinga.c
--- a/arch/ppc/platforms/4xx/bubinga.c
+++ b/arch/ppc/platforms/4xx/bubinga.c
@@ -97,8 +97,8 @@ bubinga_early_serial_map(void)
 	port.irq = ACTING_UART0_INT;
 	port.uartclk = uart_clock;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c
--- a/arch/ppc/platforms/4xx/ebony.c
+++ b/arch/ppc/platforms/4xx/ebony.c
@@ -225,8 +225,8 @@ ebony_early_serial_map(void)
 	port.irq = 0;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c
--- a/arch/ppc/platforms/4xx/luan.c
+++ b/arch/ppc/platforms/4xx/luan.c
@@ -279,8 +279,8 @@ luan_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c
--- a/arch/ppc/platforms/4xx/ocotea.c
+++ b/arch/ppc/platforms/4xx/ocotea.c
@@ -248,8 +248,8 @@ ocotea_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/xilinx_ml300.c b/arch/ppc/platforms/4xx/xilinx_ml300.c
--- a/arch/ppc/platforms/4xx/xilinx_ml300.c
+++ b/arch/ppc/platforms/4xx/xilinx_ml300.c
@@ -95,8 +95,8 @@ ml300_early_serial_map(void)
 		port.irq = old_ports[i].irq;
 		port.uartclk = old_ports[i].baud_base * 16;
 		port.regshift = old_ports[i].iomem_reg_shift;
-		port.iotype = SERIAL_IO_MEM;
-		port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+		port.iotype = UPIO_MEM;
+		port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 		port.line = i;
 
 		if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/yucca.c b/arch/ppc/platforms/4xx/yucca.c
--- a/arch/ppc/platforms/4xx/yucca.c
+++ b/arch/ppc/platforms/4xx/yucca.c
@@ -305,8 +305,8 @@ yucca_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/spruce.c b/arch/ppc/platforms/spruce.c
--- a/arch/ppc/platforms/spruce.c
+++ b/arch/ppc/platforms/spruce.c
@@ -176,8 +176,8 @@ spruce_early_serial_map(void)
 	memset(&serial_req, 0, sizeof(serial_req));
 	serial_req.uartclk = uart_clk;
 	serial_req.irq = UART0_INT;
-	serial_req.flags = ASYNC_BOOT_AUTOCONF;
-	serial_req.iotype = SERIAL_IO_MEM;
+	serial_req.flags = UPF_BOOT_AUTOCONF;
+	serial_req.iotype = UPIO_MEM;
 	serial_req.membase = (u_char *)UART0_IO_BASE;
 	serial_req.regshift = 0;
 
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -1717,11 +1717,9 @@ ioc4_change_speed(struct uart_port *the_
 	}
 
 	if (cflag & CRTSCTS) {
-		info->flags |= ASYNC_CTS_FLOW;
 		port->ip_sscr |= IOC4_SSCR_HFC_EN;
 	}
 	else {
-		info->flags &= ~ASYNC_CTS_FLOW;
 		port->ip_sscr &= ~IOC4_SSCR_HFC_EN;
 	}
 	writel(port->ip_sscr, &port->ip_serial_regs->sscr);
@@ -1760,18 +1758,6 @@ static inline int ic4_startup_local(stru
 
 	info = the_port->info;
 
-	if (info->tty) {
-		set_bit(TTY_IO_ERROR, &info->tty->flags);
-		clear_bit(TTY_IO_ERROR, &info->tty->flags);
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
-			info->tty->alt_speed = 57600;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI)
-			info->tty->alt_speed = 115200;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_SHI)
-			info->tty->alt_speed = 230400;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_WARP)
-			info->tty->alt_speed = 460800;
-	}
 	local_open(port);
 
 	/* set the speed of the serial port */
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -80,7 +80,7 @@
 #include <asm/serial.h>
 
 /* Standard COM flags */
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
+#define STD_COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST)
 
 /*
  * SERIAL_PORT_DFNS tells us about built-in ports that have no

[-- Attachment #2: async.diff --]
[-- Type: text/plain, Size: 10394 bytes --]

diff --git a/arch/mips/cobalt/setup.c b/arch/mips/cobalt/setup.c
--- a/arch/mips/cobalt/setup.c
+++ b/arch/mips/cobalt/setup.c
@@ -139,7 +139,7 @@ void __init plat_setup(void)
 		uart.type	= PORT_UNKNOWN;
 		uart.uartclk	= 18432000;
 		uart.irq	= COBALT_SERIAL_IRQ;
-		uart.flags	= STD_COM_FLAGS;
+		uart.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 		uart.iobase	= 0xc800000;
 		uart.iotype	= UPIO_PORT;
 
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c
--- a/arch/mips/lasat/setup.c
+++ b/arch/mips/lasat/setup.c
@@ -134,8 +134,8 @@ void __init serial_init(void)
 
 	memset(&s, 0, sizeof(s));
 
-	s.flags = STD_COM_FLAGS;
-	s.iotype = SERIAL_IO_MEM;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	s.iotype = UPIO_MEM;
 
 	if (mips_machtype == MACH_LASAT_100) {
 		s.uartclk = LASAT_BASE_BAUD_100 * 16;
diff --git a/arch/mips/mips-boards/atlas/atlas_setup.c b/arch/mips/mips-boards/atlas/atlas_setup.c
--- a/arch/mips/mips-boards/atlas/atlas_setup.c
+++ b/arch/mips/mips-boards/atlas/atlas_setup.c
@@ -82,8 +82,8 @@ static void __init serial_init(void)
 #endif
 	s.irq = ATLASINT_UART;
 	s.uartclk = ATLAS_BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ;
-	s.iotype = SERIAL_IO_PORT;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ;
+	s.iotype = UPIO_PORT;
 	s.regshift = 3;
 
 	if (early_serial_setup(&s) != 0) {
diff --git a/arch/mips/mips-boards/sead/sead_setup.c b/arch/mips/mips-boards/sead/sead_setup.c
--- a/arch/mips/mips-boards/sead/sead_setup.c
+++ b/arch/mips/mips-boards/sead/sead_setup.c
@@ -71,8 +71,8 @@ static void __init serial_init(void)
 #endif
 	s.irq = MIPSCPU_INT_BASE + MIPSCPU_INT_UART0;
 	s.uartclk = SEAD_BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ;
-	s.iotype = 0;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ;
+	s.iotype = UPIO_PORT;
 	s.regshift = 3;
 
 	if (early_serial_setup(&s) != 0) {
diff --git a/arch/mips/mips-boards/sim/sim_setup.c b/arch/mips/mips-boards/sim/sim_setup.c
--- a/arch/mips/mips-boards/sim/sim_setup.c
+++ b/arch/mips/mips-boards/sim/sim_setup.c
@@ -88,8 +88,8 @@ static void __init serial_init(void)
 	 but poll for now */
 	s.irq =  0;
 	s.uartclk = BASE_BAUD * 16;
-	s.flags = ASYNC_BOOT_AUTOCONF | UPF_SKIP_TEST;
-	s.iotype = SERIAL_IO_PORT | ASYNC_SKIP_TEST;
+	s.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
+	s.iotype = UPIO_PORT;
 	s.regshift = 0;
 	s.timeout = 4;
 
diff --git a/arch/mips/momentum/jaguar_atx/ja-console.c b/arch/mips/momentum/jaguar_atx/ja-console.c
--- a/arch/mips/momentum/jaguar_atx/ja-console.c
+++ b/arch/mips/momentum/jaguar_atx/ja-console.c
@@ -93,7 +93,7 @@ static void inline ja_console_probe(void
 	up.uartclk	= JAGUAR_ATX_UART_CLK;
 	up.regshift	= 2;
 	up.iotype	= UPIO_MEM;
-	up.flags	= ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	up.flags	= UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	up.line		= 0;
 
 	if (early_serial_setup(&up))
diff --git a/arch/mips/pmc-sierra/yosemite/setup.c b/arch/mips/pmc-sierra/yosemite/setup.c
--- a/arch/mips/pmc-sierra/yosemite/setup.c
+++ b/arch/mips/pmc-sierra/yosemite/setup.c
@@ -185,7 +185,7 @@ static void __init py_uart_setup(void)
 	up.uartclk      = TITAN_UART_CLK;
 	up.regshift     = 0;
 	up.iotype       = UPIO_MEM;
-	up.flags        = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	up.flags        = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	up.line         = 0;
 
 	if (early_serial_setup(&up))
diff --git a/arch/mips/sgi-ip32/ip32-setup.c b/arch/mips/sgi-ip32/ip32-setup.c
--- a/arch/mips/sgi-ip32/ip32-setup.c
+++ b/arch/mips/sgi-ip32/ip32-setup.c
@@ -66,11 +66,6 @@ static inline void str2eaddr(unsigned ch
 #include <linux/tty.h>
 #include <linux/serial.h>
 #include <linux/serial_core.h>
-extern int early_serial_setup(struct uart_port *port);
-
-#define STD_COM_FLAGS (ASYNC_SKIP_TEST)
-#define BASE_BAUD (1843200 / 16)
-
 #endif /* CONFIG_SERIAL_8250 */
 
 /* An arbitrary time; this can be decreased if reliability looks good */
@@ -110,8 +105,8 @@ void __init plat_setup(void)
 		o2_serial[0].type	= PORT_16550A;
 		o2_serial[0].line	= 0;
 		o2_serial[0].irq	= MACEISA_SERIAL1_IRQ;
-		o2_serial[0].flags	= STD_COM_FLAGS;
-		o2_serial[0].uartclk	= BASE_BAUD * 16;
+		o2_serial[0].flags	= UPF_SKIP_TEST;
+		o2_serial[0].uartclk	= 1843200;
 		o2_serial[0].iotype	= UPIO_MEM;
 		o2_serial[0].membase	= (char *)&mace->isa.serial1;
 		o2_serial[0].fifosize	= 14;
@@ -121,8 +116,8 @@ void __init plat_setup(void)
 		o2_serial[1].type	= PORT_16550A;
 		o2_serial[1].line	= 1;
 		o2_serial[1].irq	= MACEISA_SERIAL2_IRQ;
-		o2_serial[1].flags	= STD_COM_FLAGS;
-		o2_serial[1].uartclk	= BASE_BAUD * 16;
+		o2_serial[1].flags	= UPF_SKIP_TEST;
+		o2_serial[1].uartclk	= 1843200;
 		o2_serial[1].iotype	= UPIO_MEM;
 		o2_serial[1].membase	= (char *)&mace->isa.serial2;
 		o2_serial[1].fifosize	= 14;
diff --git a/arch/ppc/platforms/4xx/bamboo.c b/arch/ppc/platforms/4xx/bamboo.c
--- a/arch/ppc/platforms/4xx/bamboo.c
+++ b/arch/ppc/platforms/4xx/bamboo.c
@@ -332,8 +332,8 @@ bamboo_early_serial_map(void)
 	port.irq = 0;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/bubinga.c b/arch/ppc/platforms/4xx/bubinga.c
--- a/arch/ppc/platforms/4xx/bubinga.c
+++ b/arch/ppc/platforms/4xx/bubinga.c
@@ -97,8 +97,8 @@ bubinga_early_serial_map(void)
 	port.irq = ACTING_UART0_INT;
 	port.uartclk = uart_clock;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/ebony.c b/arch/ppc/platforms/4xx/ebony.c
--- a/arch/ppc/platforms/4xx/ebony.c
+++ b/arch/ppc/platforms/4xx/ebony.c
@@ -225,8 +225,8 @@ ebony_early_serial_map(void)
 	port.irq = 0;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/luan.c b/arch/ppc/platforms/4xx/luan.c
--- a/arch/ppc/platforms/4xx/luan.c
+++ b/arch/ppc/platforms/4xx/luan.c
@@ -279,8 +279,8 @@ luan_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c
--- a/arch/ppc/platforms/4xx/ocotea.c
+++ b/arch/ppc/platforms/4xx/ocotea.c
@@ -248,8 +248,8 @@ ocotea_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/xilinx_ml300.c b/arch/ppc/platforms/4xx/xilinx_ml300.c
--- a/arch/ppc/platforms/4xx/xilinx_ml300.c
+++ b/arch/ppc/platforms/4xx/xilinx_ml300.c
@@ -95,8 +95,8 @@ ml300_early_serial_map(void)
 		port.irq = old_ports[i].irq;
 		port.uartclk = old_ports[i].baud_base * 16;
 		port.regshift = old_ports[i].iomem_reg_shift;
-		port.iotype = SERIAL_IO_MEM;
-		port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+		port.iotype = UPIO_MEM;
+		port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 		port.line = i;
 
 		if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/4xx/yucca.c b/arch/ppc/platforms/4xx/yucca.c
--- a/arch/ppc/platforms/4xx/yucca.c
+++ b/arch/ppc/platforms/4xx/yucca.c
@@ -305,8 +305,8 @@ yucca_early_serial_map(void)
 	port.irq = UART0_INT;
 	port.uartclk = clocks.uart0;
 	port.regshift = 0;
-	port.iotype = SERIAL_IO_MEM;
-	port.flags = ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST;
+	port.iotype = UPIO_MEM;
+	port.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
 	port.line = 0;
 
 	if (early_serial_setup(&port) != 0) {
diff --git a/arch/ppc/platforms/spruce.c b/arch/ppc/platforms/spruce.c
--- a/arch/ppc/platforms/spruce.c
+++ b/arch/ppc/platforms/spruce.c
@@ -176,8 +176,8 @@ spruce_early_serial_map(void)
 	memset(&serial_req, 0, sizeof(serial_req));
 	serial_req.uartclk = uart_clk;
 	serial_req.irq = UART0_INT;
-	serial_req.flags = ASYNC_BOOT_AUTOCONF;
-	serial_req.iotype = SERIAL_IO_MEM;
+	serial_req.flags = UPF_BOOT_AUTOCONF;
+	serial_req.iotype = UPIO_MEM;
 	serial_req.membase = (u_char *)UART0_IO_BASE;
 	serial_req.regshift = 0;
 
diff --git a/drivers/serial/ioc4_serial.c b/drivers/serial/ioc4_serial.c
--- a/drivers/serial/ioc4_serial.c
+++ b/drivers/serial/ioc4_serial.c
@@ -1717,11 +1717,9 @@ ioc4_change_speed(struct uart_port *the_
 	}
 
 	if (cflag & CRTSCTS) {
-		info->flags |= ASYNC_CTS_FLOW;
 		port->ip_sscr |= IOC4_SSCR_HFC_EN;
 	}
 	else {
-		info->flags &= ~ASYNC_CTS_FLOW;
 		port->ip_sscr &= ~IOC4_SSCR_HFC_EN;
 	}
 	writel(port->ip_sscr, &port->ip_serial_regs->sscr);
@@ -1760,18 +1758,6 @@ static inline int ic4_startup_local(stru
 
 	info = the_port->info;
 
-	if (info->tty) {
-		set_bit(TTY_IO_ERROR, &info->tty->flags);
-		clear_bit(TTY_IO_ERROR, &info->tty->flags);
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_HI)
-			info->tty->alt_speed = 57600;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_VHI)
-			info->tty->alt_speed = 115200;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_SHI)
-			info->tty->alt_speed = 230400;
-		if ((info->flags & ASYNC_SPD_MASK) == ASYNC_SPD_WARP)
-			info->tty->alt_speed = 460800;
-	}
 	local_open(port);
 
 	/* set the speed of the serial port */
diff --git a/drivers/serial/m32r_sio.c b/drivers/serial/m32r_sio.c
--- a/drivers/serial/m32r_sio.c
+++ b/drivers/serial/m32r_sio.c
@@ -80,7 +80,7 @@
 #include <asm/serial.h>
 
 /* Standard COM flags */
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
+#define STD_COM_FLAGS (UPF_BOOT_AUTOCONF | UPF_SKIP_TEST)
 
 /*
  * SERIAL_PORT_DFNS tells us about built-in ports that have no

^ permalink raw reply

* HD light: stuck illuminated
From: Mich Lanners @ 2006-01-21 20:52 UTC (permalink / raw)
  To: Linuxppc-dev

Hi all,

I just had a quirk with the HD light feature in kernel 2.6.15 (straight
kernel.org).

When killing a process that caused heavy disk access, the light got
stuck illuminated with no activity, and behaved inverted from then on:
always on, except when the disk is active...

A bit later, the problem corrected itself, but I don't know why
specifically.

So there might be a problem with the state logic there. I have not had
time to look at the source...

Cheers

Michel

-------------------------------------------------------------------------
Michel Lanners                 |  " Read Philosophy.  Study Art.
23, Rue Paul Henkes            |    Ask Questions.  Make Mistakes.
L-1710 Luxembourg              |
email   mlan@cpu.lu            |
http://www.cpu.lu/~mlan        |                     Learn Always. "

^ permalink raw reply

* 2.6.16-r1 sound
From: Douglas Russell @ 2006-01-21 18:33 UTC (permalink / raw)
  To: linuxppc-dev

ALSA sound seems to have stopped working under 2.6.16-rc1 on my powerbook 5,6. 
The kernel just doesn't seem to find a sound device. It works fine when I go 
back to 2.6.15-rc5 which I was on before.

Cheers

^ permalink raw reply

* RE: u-boot debugging
From: Glenn Burkhardt @ 2006-01-21 14:20 UTC (permalink / raw)
  To: linuxppc-embedded; +Cc: atul.sabharwal
In-Reply-To: <mailman.3.1137805202.13229.linuxppc-embedded@ozlabs.org>

On Friday 20 January 2006 08:00 pm, Atul Sabharwal wrote:
> First learn to communicate in English. I can give you 25 Us cents as I
> cannot afford 1 Mark. You are not work even a Mark.

The complete lack of civility in this remark is inexcusable in a public forum.  
Herr Denk has provided an incredibly valuable service to the community, and 
deserves more respect than this.

^ permalink raw reply

* Re: u-boot debugging
From: Atul Sabharwal @ 2006-01-21  6:34 UTC (permalink / raw)
  To: Wolfgang Denk, iamatul; +Cc: linuxppc-embedded
In-Reply-To: <20060120194612.14F60353A3F@atlas.denx.de>

You have a conflict of interest as you are just pissed with Metrowerks
as they are your competitors.  Open source is about free speech and
not for people with vested interests.  You seem to be one of the guys
with vested interest.

You cannot repress people and tell them *oxymorons* or ninkampoops...
If you do the cost benefit analysis between BDI and Metrowerks debugger,
its the same.  And their UI is better than ddd and works with a BDI also.
So, if you consider all aspects, its a better product.

And opensource is used all over the globe including the Asian subcontinent.
And there are still sites which use hubs as people dont have the excess 
money
to throw away on legacy products.  Just sitting in your small cube does not 
give
insight to global technology trends...

Ciao,

Atul

^ permalink raw reply

* Re: [Alsa-devel] RFC: OSS driver removal, a slightly different approach
From: Ben Collins @ 2006-01-20 23:22 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: alsa-devel, Ben Collins, linux-kernel, Adrian Bunk, linuxppc-dev,
	Olaf Hering
In-Reply-To: <1137799001.12998.59.camel@localhost.localdomain>

On Sat, 2006-01-21 at 10:16 +1100, Benjamin Herrenschmidt wrote:
> On Fri, 2006-01-20 at 22:29 +0100, Olaf Hering wrote:
> >  On Fri, Jan 20, Adrian Bunk wrote:
> > 
> >  
> > > Can someone from the ppc developers drop me a small note whether 
> > > SND_POWERMAC completely replaces DMASOUND_PMAC?
> > 
> > It doesnt. Some tumbler models work only after one plug/unplug cycle of
> > the headphone. early powerbooks report/handle the mute settings
> > incorrectly. there are likely more bugs.
> 
> Interesting... Ben Collins hacked something to have Toonie work as a
> "default" driver for non supported machine and saw that problem too, I
> think he fixes it, I'll check with him what's up there and if his fix
> applied to tumbler.c as well.

My "fix" was basically the result of converting to the platform
functions. It's hit or miss whether this works with tumbler too.

You can try the Ubuntu kernel packages (they can be unpacked and used on
non Ubuntu systems pretty easily) to see if it works for you. Tumbler
platform function conversion isn't even tested, so I'd be happy to hear
any feedback.

-- 
Ben Collins
Kernel Developer - Ubuntu Linux

^ permalink raw reply

* Re: AGPGART driver for ArticiaS - ioremap() problem
From: Gerhard Pircher @ 2006-01-21  1:59 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, debian-powerpc

[-- Attachment #1: Type: text/plain, Size: 1793 bytes --]

> --- Ursprüngliche Nachricht ---
> Von: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> An: Gerhard Pircher <gerhard_pircher@gmx.net>
> Kopie: linuxppc-dev@ozlabs.org, debian-powerpc@lists.debian.org
> Betreff: Re: AGPGART driver for ArticiaS - ioremap() problem
> Datum: Sat, 21 Jan 2006 10:00:16 +1100
> 
> On Fri, 2006-01-20 at 12:16 +0100, Gerhard Pircher wrote:
> 
> > > Nope... look at drivers/pci/setup-res.c how it does for allocating
> > > new resources for PCI devices.
> > I guess you mean something like this code snipped from the
> > efficeon-agp.c source code (with pci_assign_resource()):
> 
> Something around those lines... you will probably need to use lower
> level routines, not pci_* as the AGP aperture isn't generally a BAR.
Yes, I see. :( The code mostly allocates the resources for the AGPGART
driver beyond the real memory space, thus preventing the X server to work.
Sometimes the resource is also mapped to where the resource of the graphic
card resides (address 0x88000000, compare with the included iomem file).

> > BTW: I took a look at the PCI resources list of the AmigaOne and found
> > out that the resources of the AGP graphic card are allocated to bus 0
> > (PCI only). IMHO their allocation should be assigned to bus 1 (AGP) (at 
> > least this is the case on x86!?), so I think this should be fixed. Is
> > my assumption correct?
> 
> Hrm... sounds weird, can you send me the output of lspci -vv,
> cat /proc/iomem and cat /prop/ioports ?
Please take a look to the attachments. But the allocation seems to be
different now! Strange!? At least the AGPGART driver is not allocated to bus
1.

Thanks!

Gerhard

-- 
Lust, ein paar Euro nebenbei zu verdienen? Ohne Kosten, ohne Risiko!
Satte Provisionen für GMX Partner: http://www.gmx.net/de/go/partner

[-- Attachment #2: lspci_output.txt --]
[-- Type: text/plain, Size: 6802 bytes --]

0000:00:00.0 Host bridge: Mai Logic Incorporated Articia S Host Bridge (rev 01)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 32
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at <unassigned> (32-bit, prefetchable)
	Capabilities: <available only to root>

0000:00:01.0 PCI bridge: Mai Logic Incorporated Articia S PCI Bridge (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 32
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	!!! Unknown I/O range types 21/20
	Memory behind bridge: 88000000-880fffff
	Prefetchable memory behind bridge: 80000000-87ffffff
	BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B-

0000:00:06.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
	Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 8 (2500ns min, 2500ns max), Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin A routed to IRQ 7
	Region 0: I/O ports at fe802000 [size=128]
	Region 1: Memory at 98100000 (32-bit, non-prefetchable) [size=128]
	Capabilities: <available only to root>

0000:00:07.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 40)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0
	Capabilities: <available only to root>

0000:00:07.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 16
	Region 4: I/O ports at fe00cc00 [size=16]
	Capabilities: <available only to root>

0000:00:07.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 31, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 5
	Region 4: I/O ports at fe802080 [size=32]
	Capabilities: <available only to root>

0000:00:07.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 1a) (prog-if 00 [UHCI])
	Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 31, Cache Line Size: 0x08 (32 bytes)
	Interrupt: pin D routed to IRQ 5
	Region 4: I/O ports at fe8020a0 [size=32]
	Capabilities: <available only to root>

0000:00:07.4 Non-VGA unclassified device: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 40)
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Capabilities: <available only to root>

0000:00:07.5 Multimedia audio controller: VIA Technologies, Inc. VT82C686 AC97 Audio Controller (rev 50)
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin C routed to IRQ 11
	Region 0: I/O ports at fe802100 [size=256]
	Region 1: I/O ports at fe802200 [size=4]
	Region 2: I/O ports at fe802204 [size=4]
	Capabilities: <available only to root>

0000:00:07.6 Communication controller: VIA Technologies, Inc. Intel 537 [AC97 Modem] (rev 30)
	Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin C routed to IRQ 11
	Region 0: I/O ports at fe802300 [size=256]
	Capabilities: <available only to root>

0000:00:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 0a)
	Subsystem: Creative Labs: Unknown device 8067
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 128 (500ns min, 5000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at fe802400 [size=32]
	Capabilities: <available only to root>

0000:00:09.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 0a)
	Subsystem: Creative Labs Gameport Joystick
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 128
	Region 0: I/O ports at fe802420 [size=8]
	Capabilities: <available only to root>

0000:01:00.0 VGA compatible controller: ATI Technologies Inc RV280 [Radeon 9200] (rev 01) (prog-if 00 [VGA])
	Subsystem: PC Partner Limited: Unknown device 7c13
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 0 (2000ns min)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at 80000000 (32-bit, prefetchable) [size=128M]
	Region 1: I/O ports at fe002000 [size=256]
	Region 2: Memory at 88000000 (32-bit, non-prefetchable) [size=64K]
	Expansion ROM at 88020000 [disabled] [size=128K]
	Capabilities: <available only to root>

0000:01:00.1 Display controller: ATI Technologies Inc RV280 [Radeon 9200] (Secondary) (rev 01)
	Subsystem: PC Partner Limited: Unknown device 7c12
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 128 (2000ns min), Cache Line Size: 0x08 (32 bytes)
	Region 0: Memory at 88000000 (32-bit, prefetchable)
	Region 1: Memory at 88010000 (32-bit, non-prefetchable) [size=64K]
	Capabilities: <available only to root>


[-- Attachment #3: iomem_output.txt --]
[-- Type: text/plain, Size: 374 bytes --]

80000000-efffffff : PCI host bridge
  80000000-87ffffff : PCI Bus #01
    80000000-87ffffff : 0000:01:00.0
      80000000-87ffffff : radeonfb framebuffer
  88000000-880fffff : PCI Bus #01
    88000000-8800ffff : 0000:01:00.0
      88000000-8800ffff : radeonfb mmio
    88010000-8801ffff : 0000:01:00.1
    88020000-8803ffff : 0000:01:00.0
  98100000-9810007f : 0000:00:06.0

[-- Attachment #4: ioports_output.txt --]
[-- Type: text/plain, Size: 1287 bytes --]

00000000-00bfffff : PCI host bridge
  00000000-0000001f : dma1
  00000020-00000021 : 8259 (master)
  00000040-0000005f : timer
  00000060-0000006f : i8042
  00000080-0000008f : dma page reg
  000000a0-000000a1 : 8259 (slave)
  000000c0-000000df : dma2
  00000170-00000177 : ide1
  000001f0-000001f7 : ide0
  00000278-0000027a : parport2
  0000027b-0000027f : parport2
  000002f8-000002ff : serial
  00000376-00000376 : ide1
  00000378-0000037a : parport0
  000003bc-000003be : parport1
  000003c0-000003df : vga+
  000003e8-000003ef : serial
  000003f6-000003f6 : ide0
  000003f8-000003ff : serial
  000004d0-000004d1 : 8259 edge control
  00002000-00002fff : PCI Bus #01
    00002000-000020ff : 0000:01:00.0
  0000cc00-0000cc0f : 0000:00:07.1
    0000cc00-0000cc07 : ide0
    0000cc08-0000cc0f : ide1
  00802000-0080207f : 0000:00:06.0
    00802000-0080207f : 0000:00:06.0
  00802080-0080209f : 0000:00:07.2
    00802080-0080209f : uhci_hcd
  008020a0-008020bf : 0000:00:07.3
    008020a0-008020bf : uhci_hcd
  00802100-008021ff : 0000:00:07.5
  00802200-00802203 : 0000:00:07.5
  00802204-00802207 : 0000:00:07.5
  00802300-008023ff : 0000:00:07.6
  00802400-0080241f : 0000:00:09.0
    00802400-0080241f : EMU10K1
  00802420-00802427 : 0000:00:09.1
    00802420-00802427 : emu10k1-gp

[-- Attachment #5: sys_devices_pci0000.00.txt --]
[-- Type: text/plain, Size: 23292 bytes --]

.:
total 0
drwxr-xr-x  14 root root 0 Jan 21  2006 .
drwxr-xr-x   5 root root 0 Jan 21  2006 ..
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:00.0
drwxr-xr-x   4 root root 0 Jan 21 02:18 0000:00:01.0
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:06.0
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:07.0
drwxr-xr-x   4 root root 0 Jan 21 02:18 0000:00:07.1
drwxr-xr-x   3 root root 0 Jan 21 02:18 0000:00:07.2
drwxr-xr-x   3 root root 0 Jan 21 02:18 0000:00:07.3
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:07.4
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:07.5
drwxr-xr-x   2 root root 0 Jan 21 02:18 0000:00:07.6
drwxr-xr-x   3 root root 0 Jan 21 02:18 0000:00:09.0
drwxr-xr-x   3 root root 0 Jan 21 02:18 0000:00:09.1

./0000:00:00.0:
total 0
drwxr-xr-x   2 root root         0 Jan 21 02:18 .
drwxr-xr-x  14 root root         0 Jan 21  2006 ..
lrwxrwxrwx   1 root root         0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root      4096 Jan 21  2006 class
-rw-r--r--   1 root root       256 Jan 21 02:18 config
-r--r--r--   1 root root      4096 Jan 21  2006 device
lrwxrwxrwx   1 root root         0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/agpgart-articias
-r--r--r--   1 root root      4096 Jan 21 02:18 irq
-r--r--r--   1 root root      4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root      4096 Jan 21 02:18 modalias
-r--r--r--   1 root root      4096 Jan 21 02:18 resource
-rw-------   1 root root 134217728 Jan 21 02:18 resource0
-r--r--r--   1 root root      4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root      4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root      4096 Jan 21  2006 vendor

./0000:00:01.0:
total 0
drwxr-xr-x   4 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
drwxr-xr-x   6 root root    0 Jan 21 02:18 0000:01:00.0
drwxr-xr-x   2 root root    0 Jan 21 02:18 0000:01:00.1
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:01.0/0000:01:00.0:
total 0
drwxr-xr-x  6 root root         0 Jan 21 02:18 .
drwxr-xr-x  4 root root         0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root         0 Jan 21  2006 bus -> ../../../../bus/pci
-r--r--r--  1 root root      4096 Jan 21  2006 class
-rw-r--r--  1 root root       256 Jan 21 02:18 config
-r--r--r--  1 root root      4096 Jan 21  2006 device
lrwxrwxrwx  1 root root         0 Jan 21  2006 driver -> ../../../../bus/pci/drivers/radeonfb
-r--r--r--  1 root root       128 Jan 21 02:18 edid1
lrwxrwxrwx  1 root root         0 Jan 21 02:18 graphics:fb0 -> ../../../../class/graphics/fb0
drwxr-xr-x  2 root root         0 Jan 21 02:18 i2c-0
drwxr-xr-x  2 root root         0 Jan 21 02:18 i2c-1
drwxr-xr-x  2 root root         0 Jan 21 02:18 i2c-2
drwxr-xr-x  2 root root         0 Jan 21 02:18 i2c-3
lrwxrwxrwx  1 root root         0 Jan 21 02:18 i2c-dev:i2c-0 -> ../../../../class/i2c-dev/i2c-0
lrwxrwxrwx  1 root root         0 Jan 21 02:18 i2c-dev:i2c-1 -> ../../../../class/i2c-dev/i2c-1
lrwxrwxrwx  1 root root         0 Jan 21 02:18 i2c-dev:i2c-2 -> ../../../../class/i2c-dev/i2c-2
lrwxrwxrwx  1 root root         0 Jan 21 02:18 i2c-dev:i2c-3 -> ../../../../class/i2c-dev/i2c-3
-r--r--r--  1 root root      4096 Jan 21 02:18 irq
-r--r--r--  1 root root      4096 Jan 21 02:18 local_cpus
-r--r--r--  1 root root      4096 Jan 21 02:18 modalias
-r--r--r--  1 root root      4096 Jan 21 02:18 resource
-rw-------  1 root root 134217728 Jan 21 02:18 resource0
-rw-------  1 root root       256 Jan 21 02:18 resource1
-rw-------  1 root root     65536 Jan 21 02:18 resource2
-r--------  1 root root    131072 Jan 21 02:18 rom
-r--r--r--  1 root root      4096 Jan 21  2006 subsystem_device
-r--r--r--  1 root root      4096 Jan 21  2006 subsystem_vendor
-r--r--r--  1 root root      4096 Jan 21  2006 vendor

./0000:00:01.0/0000:01:00.0/i2c-0:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  6 root root    0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root    0 Jan 21 02:18 i2c-adapter:i2c-0 -> ../../../../../class/i2c-adapter/i2c-0
-r--r--r--  1 root root 4096 Jan 21 02:18 name

./0000:00:01.0/0000:01:00.0/i2c-1:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  6 root root    0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root    0 Jan 21 02:18 i2c-adapter:i2c-1 -> ../../../../../class/i2c-adapter/i2c-1
-r--r--r--  1 root root 4096 Jan 21 02:18 name

./0000:00:01.0/0000:01:00.0/i2c-2:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  6 root root    0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root    0 Jan 21 02:18 i2c-adapter:i2c-2 -> ../../../../../class/i2c-adapter/i2c-2
-r--r--r--  1 root root 4096 Jan 21 02:18 name

./0000:00:01.0/0000:01:00.0/i2c-3:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  6 root root    0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root    0 Jan 21 02:18 i2c-adapter:i2c-3 -> ../../../../../class/i2c-adapter/i2c-3
-r--r--r--  1 root root 4096 Jan 21 02:18 name

./0000:00:01.0/0000:01:00.1:
total 0
drwxr-xr-x  2 root root     0 Jan 21 02:18 .
drwxr-xr-x  4 root root     0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root     0 Jan 21 02:18 bus -> ../../../../bus/pci
-r--r--r--  1 root root  4096 Jan 21  2006 class
-rw-r--r--  1 root root   256 Jan 21 02:18 config
-r--r--r--  1 root root  4096 Jan 21  2006 device
-r--r--r--  1 root root  4096 Jan 21 02:18 irq
-r--r--r--  1 root root  4096 Jan 21 02:18 local_cpus
-r--r--r--  1 root root  4096 Jan 21 02:18 modalias
-r--r--r--  1 root root  4096 Jan 21 02:18 resource
-rw-------  1 root root 65536 Jan 21 02:18 resource1
-r--r--r--  1 root root  4096 Jan 21  2006 subsystem_device
-r--r--r--  1 root root  4096 Jan 21  2006 subsystem_vendor
-r--r--r--  1 root root  4096 Jan 21  2006 vendor

./0000:00:06.0:
total 0
drwxr-xr-x   2 root root      0 Jan 21 02:18 .
drwxr-xr-x  14 root root      0 Jan 21  2006 ..
lrwxrwxrwx   1 root root      0 Jan 21  2006 bus -> ../../../bus/pci
-r--r--r--   1 root root   4096 Jan 21  2006 class
-rw-r--r--   1 root root    256 Jan 21 02:18 config
-r--r--r--   1 root root   4096 Jan 21  2006 device
lrwxrwxrwx   1 root root      0 Jan 21  2006 driver -> ../../../bus/pci/drivers/3c59x
-r--r--r--   1 root root   4096 Jan 21 02:18 irq
-r--r--r--   1 root root   4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root   4096 Jan 21 02:18 modalias
lrwxrwxrwx   1 root root      0 Jan 21 02:18 net:eth0 -> ../../../class/net/eth0
-r--r--r--   1 root root   4096 Jan 21 02:18 resource
-rw-------   1 root root    128 Jan 21 02:18 resource0
-rw-------   1 root root    128 Jan 21 02:18 resource1
-r--------   1 root root 131072 Jan 21 02:18 rom
-r--r--r--   1 root root   4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root   4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root   4096 Jan 21  2006 vendor

./0000:00:07.0:
total 0
drwxr-xr-x   2 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/parport_pc
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.1:
total 0
drwxr-xr-x   4 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/VIA_IDE
drwxr-xr-x   3 root root    0 Jan 21  2006 ide0
drwxr-xr-x   4 root root    0 Jan 21  2006 ide1
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root   16 Jan 21 02:18 resource4
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.1/ide0:
total 0
drwxr-xr-x  3 root root 0 Jan 21  2006 .
drwxr-xr-x  4 root root 0 Jan 21 02:18 ..
drwxr-xr-x  2 root root 0 Jan 21 02:18 0.0

./0000:00:07.1/ide0/0.0:
total 0
drwxr-xr-x  2 root root 0 Jan 21 02:18 .
drwxr-xr-x  3 root root 0 Jan 21  2006 ..
lrwxrwxrwx  1 root root 0 Jan 21 02:18 block -> ../../../../../block/hda
lrwxrwxrwx  1 root root 0 Jan 21  2006 bus -> ../../../../../bus/ide
lrwxrwxrwx  1 root root 0 Jan 21  2006 driver -> ../../../../../bus/ide/drivers/ide-disk

./0000:00:07.1/ide1:
total 0
drwxr-xr-x  4 root root 0 Jan 21  2006 .
drwxr-xr-x  4 root root 0 Jan 21 02:18 ..
drwxr-xr-x  2 root root 0 Jan 21 02:18 1.0
drwxr-xr-x  2 root root 0 Jan 21 02:18 1.1

./0000:00:07.1/ide1/1.0:
total 0
drwxr-xr-x  2 root root 0 Jan 21 02:18 .
drwxr-xr-x  4 root root 0 Jan 21  2006 ..
lrwxrwxrwx  1 root root 0 Jan 21 02:18 block -> ../../../../../block/hdc
lrwxrwxrwx  1 root root 0 Jan 21  2006 bus -> ../../../../../bus/ide
lrwxrwxrwx  1 root root 0 Jan 21  2006 driver -> ../../../../../bus/ide/drivers/ide-cdrom

./0000:00:07.1/ide1/1.1:
total 0
drwxr-xr-x  2 root root 0 Jan 21 02:18 .
drwxr-xr-x  4 root root 0 Jan 21  2006 ..
lrwxrwxrwx  1 root root 0 Jan 21 02:18 block -> ../../../../../block/hdd
lrwxrwxrwx  1 root root 0 Jan 21  2006 bus -> ../../../../../bus/ide
lrwxrwxrwx  1 root root 0 Jan 21  2006 driver -> ../../../../../bus/ide/drivers/ide-cdrom

./0000:00:07.2:
total 0
drwxr-xr-x   3 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/uhci_hcd
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 pools
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root   32 Jan 21 02:18 resource4
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
drwxr-xr-x   3 root root    0 Jan 21 02:18 usb1
lrwxrwxrwx   1 root root    0 Jan 21 02:18 usb_host:usb_host1 -> ../../../class/usb_host/usb_host1
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.2/usb1:
total 0
drwxr-xr-x  3 root root    0 Jan 21 02:18 .
drwxr-xr-x  3 root root    0 Jan 21 02:18 ..
drwxr-xr-x  2 root root    0 Jan 21 02:18 1-0:1.0
-rw-r--r--  1 root root 4096 Jan 21 02:18 bConfigurationValue
-r--r--r--  1 root root 4096 Jan 21  2006 bDeviceClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bDeviceProtocol
-r--r--r--  1 root root 4096 Jan 21 02:18 bDeviceSubClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bMaxPacketSize0
-r--r--r--  1 root root 4096 Jan 21 02:18 bMaxPower
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumConfigurations
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumInterfaces
-r--r--r--  1 root root 4096 Jan 21 02:18 bcdDevice
-r--r--r--  1 root root 4096 Jan 21 02:18 bmAttributes
lrwxrwxrwx  1 root root    0 Jan 21  2006 bus -> ../../../../bus/usb
-r--r--r--  1 root root 4096 Jan 21 02:18 configuration
-r--r--r--  1 root root 4096 Jan 21 02:18 devnum
lrwxrwxrwx  1 root root    0 Jan 21  2006 driver -> ../../../../bus/usb/drivers/usb
-r--r--r--  1 root root 4096 Jan 21 02:18 idProduct
-r--r--r--  1 root root 4096 Jan 21 02:18 idVendor
-r--r--r--  1 root root 4096 Jan 21 02:18 manufacturer
-r--r--r--  1 root root 4096 Jan 21 02:18 maxchild
-r--r--r--  1 root root 4096 Jan 21 02:18 product
-r--r--r--  1 root root 4096 Jan 21 02:18 serial
-r--r--r--  1 root root 4096 Jan 21 02:18 speed
lrwxrwxrwx  1 root root    0 Jan 21 02:18 usb_device:usbdev1.1 -> ../../../../class/usb_device/usbdev1.1
-r--r--r--  1 root root 4096 Jan 21 02:18 version

./0000:00:07.2/usb1/1-0:1.0:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  3 root root    0 Jan 21 02:18 ..
-r--r--r--  1 root root 4096 Jan 21 02:18 bAlternateSetting
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceNumber
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceProtocol
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceSubClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumEndpoints
lrwxrwxrwx  1 root root    0 Jan 21 02:18 bus -> ../../../../../bus/usb
lrwxrwxrwx  1 root root    0 Jan 21 02:18 driver -> ../../../../../bus/usb/drivers/hub
-r--r--r--  1 root root 4096 Jan 21 02:18 modalias

./0000:00:07.3:
total 0
drwxr-xr-x   3 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/uhci_hcd
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 pools
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root   32 Jan 21 02:18 resource4
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
drwxr-xr-x   3 root root    0 Jan 21 02:18 usb2
lrwxrwxrwx   1 root root    0 Jan 21 02:18 usb_host:usb_host2 -> ../../../class/usb_host/usb_host2
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.3/usb2:
total 0
drwxr-xr-x  3 root root    0 Jan 21 02:18 .
drwxr-xr-x  3 root root    0 Jan 21 02:18 ..
drwxr-xr-x  2 root root    0 Jan 21 02:18 2-0:1.0
-rw-r--r--  1 root root 4096 Jan 21 02:18 bConfigurationValue
-r--r--r--  1 root root 4096 Jan 21  2006 bDeviceClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bDeviceProtocol
-r--r--r--  1 root root 4096 Jan 21 02:18 bDeviceSubClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bMaxPacketSize0
-r--r--r--  1 root root 4096 Jan 21 02:18 bMaxPower
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumConfigurations
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumInterfaces
-r--r--r--  1 root root 4096 Jan 21 02:18 bcdDevice
-r--r--r--  1 root root 4096 Jan 21 02:18 bmAttributes
lrwxrwxrwx  1 root root    0 Jan 21  2006 bus -> ../../../../bus/usb
-r--r--r--  1 root root 4096 Jan 21 02:18 configuration
-r--r--r--  1 root root 4096 Jan 21 02:18 devnum
lrwxrwxrwx  1 root root    0 Jan 21  2006 driver -> ../../../../bus/usb/drivers/usb
-r--r--r--  1 root root 4096 Jan 21 02:18 idProduct
-r--r--r--  1 root root 4096 Jan 21 02:18 idVendor
-r--r--r--  1 root root 4096 Jan 21 02:18 manufacturer
-r--r--r--  1 root root 4096 Jan 21 02:18 maxchild
-r--r--r--  1 root root 4096 Jan 21 02:18 product
-r--r--r--  1 root root 4096 Jan 21 02:18 serial
-r--r--r--  1 root root 4096 Jan 21 02:18 speed
lrwxrwxrwx  1 root root    0 Jan 21 02:18 usb_device:usbdev2.1 -> ../../../../class/usb_device/usbdev2.1
-r--r--r--  1 root root 4096 Jan 21 02:18 version

./0000:00:07.3/usb2/2-0:1.0:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  3 root root    0 Jan 21 02:18 ..
-r--r--r--  1 root root 4096 Jan 21 02:18 bAlternateSetting
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceNumber
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceProtocol
-r--r--r--  1 root root 4096 Jan 21 02:18 bInterfaceSubClass
-r--r--r--  1 root root 4096 Jan 21 02:18 bNumEndpoints
lrwxrwxrwx  1 root root    0 Jan 21 02:18 bus -> ../../../../../bus/usb
lrwxrwxrwx  1 root root    0 Jan 21 02:18 driver -> ../../../../../bus/usb/drivers/hub
-r--r--r--  1 root root 4096 Jan 21 02:18 modalias

./0000:00:07.4:
total 0
drwxr-xr-x   2 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.5:
total 0
drwxr-xr-x   2 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root  256 Jan 21 02:18 resource0
-rw-------   1 root root    4 Jan 21 02:18 resource1
-rw-------   1 root root    4 Jan 21 02:18 resource2
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:07.6:
total 0
drwxr-xr-x   2 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root  256 Jan 21 02:18 resource0
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:09.0:
total 0
drwxr-xr-x   3 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21  2006 bus -> ../../../bus/pci
drwxr-xr-x   2 root root    0 Jan 21  2006 card0-0
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21  2006 driver -> ../../../bus/pci/drivers/EMU10K1_Audigy
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root   32 Jan 21 02:18 resource0
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:admmidi -> ../../../class/sound/admmidi
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:adsp -> ../../../class/sound/adsp
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:amidi -> ../../../class/sound/amidi
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:audio -> ../../../class/sound/audio
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:controlC0 -> ../../../class/sound/controlC0
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:dmmidi -> ../../../class/sound/dmmidi
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:dsp -> ../../../class/sound/dsp
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:hwC0D0 -> ../../../class/sound/hwC0D0
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:hwC0D2 -> ../../../class/sound/hwC0D2
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:midi -> ../../../class/sound/midi
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:midiC0D0 -> ../../../class/sound/midiC0D0
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:midiC0D1 -> ../../../class/sound/midiC0D1
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:midiC0D2 -> ../../../class/sound/midiC0D2
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:mixer -> ../../../class/sound/mixer
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D0c -> ../../../class/sound/pcmC0D0c
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D0p -> ../../../class/sound/pcmC0D0p
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D1c -> ../../../class/sound/pcmC0D1c
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D2c -> ../../../class/sound/pcmC0D2c
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D2p -> ../../../class/sound/pcmC0D2p
lrwxrwxrwx   1 root root    0 Jan 21 02:18 sound:pcmC0D3p -> ../../../class/sound/pcmC0D3p
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:09.0/card0-0:
total 0
drwxr-xr-x  2 root root 0 Jan 21  2006 .
drwxr-xr-x  3 root root 0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root 0 Jan 21  2006 bus -> ../../../../bus/ac97

./0000:00:09.1:
total 0
drwxr-xr-x   3 root root    0 Jan 21 02:18 .
drwxr-xr-x  14 root root    0 Jan 21  2006 ..
lrwxrwxrwx   1 root root    0 Jan 21 02:18 bus -> ../../../bus/pci
-r--r--r--   1 root root 4096 Jan 21  2006 class
-rw-r--r--   1 root root  256 Jan 21 02:18 config
-r--r--r--   1 root root 4096 Jan 21  2006 device
lrwxrwxrwx   1 root root    0 Jan 21 02:18 driver -> ../../../bus/pci/drivers/Emu10k1_gameport
drwxr-xr-x   2 root root    0 Jan 21 02:18 gameport0
-r--r--r--   1 root root 4096 Jan 21 02:18 irq
-r--r--r--   1 root root 4096 Jan 21 02:18 local_cpus
-r--r--r--   1 root root 4096 Jan 21 02:18 modalias
-r--r--r--   1 root root 4096 Jan 21 02:18 resource
-rw-------   1 root root    8 Jan 21 02:18 resource0
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_device
-r--r--r--   1 root root 4096 Jan 21  2006 subsystem_vendor
-r--r--r--   1 root root 4096 Jan 21  2006 vendor

./0000:00:09.1/gameport0:
total 0
drwxr-xr-x  2 root root    0 Jan 21 02:18 .
drwxr-xr-x  3 root root    0 Jan 21 02:18 ..
lrwxrwxrwx  1 root root    0 Jan 21  2006 bus -> ../../../../bus/gameport
-r--r--r--  1 root root 4096 Jan 21 02:18 description
--w-------  1 root root 4096 Jan 21 02:18 drvctl

^ permalink raw reply

* Re: [Alsa-devel] RFC: OSS driver removal, a slightly different approach
From: Benjamin Herrenschmidt @ 2006-01-20 23:16 UTC (permalink / raw)
  To: Olaf Hering
  Cc: linuxppc-dev, alsa-devel, Ben Collins, linux-kernel, Adrian Bunk
In-Reply-To: <20060120212917.GA14405@suse.de>

On Fri, 2006-01-20 at 22:29 +0100, Olaf Hering wrote:
>  On Fri, Jan 20, Adrian Bunk wrote:
> 
>  
> > Can someone from the ppc developers drop me a small note whether 
> > SND_POWERMAC completely replaces DMASOUND_PMAC?
> 
> It doesnt. Some tumbler models work only after one plug/unplug cycle of
> the headphone. early powerbooks report/handle the mute settings
> incorrectly. there are likely more bugs.

Interesting... Ben Collins hacked something to have Toonie work as a
"default" driver for non supported machine and saw that problem too, I
think he fixes it, I'll check with him what's up there and if his fix
applied to tumbler.c as well.

Ben.

^ permalink raw reply

* Re: [Alsa-devel] RFC: OSS driver removal, a slightly different approach
From: Benjamin Herrenschmidt @ 2006-01-20 23:15 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: linuxppc-dev, alsa-devel, linux-kernel
In-Reply-To: <20060120190415.GM19398@stusta.de>

On Fri, 2006-01-20 at 20:04 +0100, Adrian Bunk wrote:
> On Fri, Jan 20, 2006 at 11:54:43AM +0000, Martin Habets wrote:
> 
> > It seems to me we can already get rid of sound/oss/dmasound now.
> > I cannot find anything refering to it anymore, and the ALSA powermac
> > driver is being maintained.
> 
> You are correct that I forgot to add the dmasound drivers to my list, 
> but I don't think we can get rid of all of them since I doubt the ALSA 
> powermac driver was able to drive m68k hardware.
> 
> Can someone from the ppc developers drop me a small note whether 
> SND_POWERMAC completely replaces DMASOUND_PMAC?

It should...

Ben.

^ permalink raw reply

* Re: AGPGART driver for ArticiaS - ioremap() problem
From: Benjamin Herrenschmidt @ 2006-01-20 23:00 UTC (permalink / raw)
  To: Gerhard Pircher; +Cc: linuxppc-dev, debian-powerpc
In-Reply-To: <17310.1137755798@www009.gmx.net>

On Fri, 2006-01-20 at 12:16 +0100, Gerhard Pircher wrote:

> > Nope... look at drivers/pci/setup-res.c how it does for allocating new
> > resources for PCI devices.
> I guess you mean something like this code snipped from the efficeon-agp.c
> source code (with pci_assign_resource()):

Something around those lines... you will probably need to use lower
level routines, not pci_* as the AGP aperture isn't generally a BAR.

> BTW: I took a look at the PCI resources list of the AmigaOne and found out
> that the resources of the AGP graphic card are allocated to bus 0 (PCI
> only). IMHO their allocation should be assigned to bus 1 (AGP) (at least
> this is the case on x86!?), so I think this should be fixed. Is my
> assumption correct?

Hrm... sounds weird, can you send me the output of lspci -vv,
cat /proc/iomem and cat /prop/ioports ?

Ben.

^ permalink raw reply

* Re: [Alsa-devel] RFC: OSS driver removal, a slightly different approach
From: Olaf Hering @ 2006-01-20 21:29 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: alsa-devel, linux-kernel, linuxppc-dev
In-Reply-To: <20060120190415.GM19398@stusta.de>

 On Fri, Jan 20, Adrian Bunk wrote:

 
> Can someone from the ppc developers drop me a small note whether 
> SND_POWERMAC completely replaces DMASOUND_PMAC?

It doesnt. Some tumbler models work only after one plug/unplug cycle of
the headphone. early powerbooks report/handle the mute settings
incorrectly. there are likely more bugs.

-- 
short story of a lazy sysadmin:
 alias appserv=wotan

^ permalink raw reply

* RE: u-boot debugging
From: atul.sabharwal @ 2006-01-20 21:13 UTC (permalink / raw)
  To: wd; +Cc: linuxppc-embedded

First learn to communicate in English. I can give you 25 Us cents as I
cannot afford 1 Mark. You are not work even a Mark.

On a public network where there is lots of multicast/broadcast network,
10Mbps network would not scale.  Only on a isolated network with a
switch
It would work. If people are using a 100Mbps hub, the entire hub will
get
Scaled down to 10Mbps speed.

So, now mail me a Mark:)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Atul Sabharwal
c/o Azad. Inc.
503-962-9395
=20
P.S:  Our destiny is in our hands... And yes, necessity is mother of
invention!!
-----Original Message-----
From: wd@denx.de [mailto:wd@denx.de]=20
Sent: Friday, January 20, 2006 11:48 AM
To: Sabharwal, Atul
Cc: mustafa.cayir@bte.mam.gov.tr; linuxppc-embedded@ozlabs.org
Subject: Re: u-boot debugging=20

In message
<4A062D477D842B4C8FC48EA5AF2D41F201AC2CC8@us-bv-m23.global.tektronix.net
> you wrote:
>
> Besides, the BDI has only a 10Mbps Ethernet interface.  It might be
> enough for simple debug operation but they should
> Have put a 100Mbps link to put it on a shared network.  For an
isolated
> network configuration, it should suffice...

You should really get a clue. Or can you please explain what  is  the
maximum  transfer rate you can get over the BDM / JTAG interface, and
how is this limited by the 10Mbps Ethernet interface?


Best regards,

Wolfgang Denk

--=20
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Of all the things I've lost, I miss my mind the most.

^ permalink raw reply

* Re: u-boot debugging
From: bennett78 @ 2006-01-20 20:40 UTC (permalink / raw)
  To: Wolfgang Denk; +Cc: atul.sabharwal, linuxppc-embedded
In-Reply-To: <20060120194815.654AD353A3F@atlas.denx.de>

[-- Attachment #1: Type: text/plain, Size: 1919 bytes --]

Wolfgang Denk wrote:

>In message <4A062D477D842B4C8FC48EA5AF2D41F201AC2CC8@us-bv-m23.global.tektronix.net> you wrote:
>  
>
>>Besides, the BDI has only a 10Mbps Ethernet interface.  It might be
>>enough for simple debug operation but they should
>>Have put a 100Mbps link to put it on a shared network.  For an isolated
>>network configuration, it should suffice...
>>    
>>
>
>  
>
Yeah this thread is covering a broad range of JTAG debug. There
are debuggers that range form $50 to $50k with no JTAG standard. 
$50 wigglers that are painfully slow because they bit-bang the parallel
port and $50k Gigabit interface with GBs of fast memory that can "capture
bugs" in realtime (that is if you can define/setup the trigger condition to
capture "the bug", but for a 400MHz processor that may only mean 1-2
seconds of data).  The BDI is a nice product for $2k, wish I would of
thought of designing it. You can either communicate with it directly for
single step, breakpointing, etc, but the coolness is the capability to run
remote gdb, then there is insight which is a gui that runs ontop of gdb....
works great debugging u-boot and kernel/user code later....but the best
part is no need for windose and with DENX you don't have to pay big
$ to metrowerks, greenhills or the like and wait while they develop or
if they will ever develop debugger software for your target!

>You should really get a clue. Or can you please explain what  is  the
>maximum  transfer rate you can get over the BDM / JTAG interface, and
>how is this limited by the 10Mbps Ethernet interface?
>
>
>Best regards,
>
>Wolfgang Denk
>
>  
>


-- 

*/Frank Bennett
Technical Contractor/*

/Triad Systems Engineering
200 West Mountain Avenue, Suite 103C
Ft. Collins, CO 80521
/http://www.traidsyseng.com <http://www.triadsyseng.com>
frank.bennett@triadsyseng.com <mailto:frank.bennett@triadsyseng.com>/
/office: 970-493-7586
cell:   970-402-9269



[-- Attachment #2: Type: text/html, Size: 3142 bytes --]

^ permalink raw reply

* Re: u-boot debugging
From: Wolfgang Denk @ 2006-01-20 19:48 UTC (permalink / raw)
  To: atul.sabharwal; +Cc: linuxppc-embedded
In-Reply-To: <4A062D477D842B4C8FC48EA5AF2D41F201AC2CC8@us-bv-m23.global.tektronix.net>

In message <4A062D477D842B4C8FC48EA5AF2D41F201AC2CC8@us-bv-m23.global.tektronix.net> you wrote:
>
> Besides, the BDI has only a 10Mbps Ethernet interface.  It might be
> enough for simple debug operation but they should
> Have put a 100Mbps link to put it on a shared network.  For an isolated
> network configuration, it should suffice...

You should really get a clue. Or can you please explain what  is  the
maximum  transfer rate you can get over the BDM / JTAG interface, and
how is this limited by the 10Mbps Ethernet interface?


Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Of all the things I've lost, I miss my mind the most.

^ permalink raw reply

* Re: u-boot debugging
From: Wolfgang Denk @ 2006-01-20 19:46 UTC (permalink / raw)
  To: atul.sabharwal; +Cc: linuxppc-embedded
In-Reply-To: <4A062D477D842B4C8FC48EA5AF2D41F201AC2CC0@us-bv-m23.global.tektronix.net>

In message <4A062D477D842B4C8FC48EA5AF2D41F201AC2CC0@us-bv-m23.global.tektronix.net> you wrote:
> 
> BDI works but PowerTap Pro from Metrowerks is better.  The debug
> interface is windows based and more user friendly than

This sentence includes at least one oxymoron. Um. No, two.

> Ddd on Linux.  Take your pick as a commercial product would be better
> than an opensource product till it has been perfected
> (i.e. customized, all bugs fixed and usability issues resolved).  And no
> service from the community on occasion.

Please stop trolling!

*PLONK*

Best regards,

Wolfgang Denk

-- 
Software Engineering:  Embedded and Realtime Systems,  Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
Every solution breeds new problems.

^ permalink raw reply

* Re: [Alsa-devel] RFC: OSS driver removal, a slightly different approach
From: Adrian Bunk @ 2006-01-20 19:04 UTC (permalink / raw)
  To: benh, linux-kernel, alsa-devel; +Cc: linuxppc-dev
In-Reply-To: <20060120115443.GA16582@palantir8>

On Fri, Jan 20, 2006 at 11:54:43AM +0000, Martin Habets wrote:

> It seems to me we can already get rid of sound/oss/dmasound now.
> I cannot find anything refering to it anymore, and the ALSA powermac
> driver is being maintained.

You are correct that I forgot to add the dmasound drivers to my list, 
but I don't think we can get rid of all of them since I doubt the ALSA 
powermac driver was able to drive m68k hardware.

Can someone from the ppc developers drop me a small note whether 
SND_POWERMAC completely replaces DMASOUND_PMAC?

> Martin

TIA
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply

* [PATCH] Add support for Freescale 83xx Host Mode USB
From: Randy Vinson @ 2006-01-20 18:44 UTC (permalink / raw)
  To: linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 1018 bytes --]

Greetings,
   The following patch was supposed to have been sent to 
linuxppc-embedded, but ended up on linuxppc-dev (address auto-completion 
goof). So... Here it is as promised.



Greetings,
     I've attached a patch (based on 2.6.16-rc1) which adds Host mode
support for the Dual-Role(DR) and Multi-Port-Host (MPH) USB controllers
found in the Freescale 8349. Note that this patch only provides the
platform-specific code that sets up the external hardware and pin
configuration. The actual DR and MPH controller driver is being posted
on the linux-usb-devel mailing list.

     Using a Freescale 8349CDS reference board, the DR controller was
successfully tested using a USB 2.0 high speed FLASH drive, a USB 1.1
full speed 4-port hub and a Siemens SpeedStream USB to Ethernet adapter.
The MPH controller has been successfully tested with a USB 2.0 high
speed FLASH drive. Attempts to run USB 1.1 devices with the MPH
controller have proven unsuccessful.


           Randy Vinson
           MontaVista Software

[-- Attachment #2: 8349_usb_platform.patch --]
[-- Type: text/plain, Size: 8578 bytes --]

Adding platform support for the 834x Host Mode USB controller.

This patch provides the platform-specific hardware setup required by the
83xx Host Mode USB controller on the Freescale 8349CDS reference system.

Signed-off-by: Randy Vinson <rvinson@mvista.com>

---
commit 30b1d2d35237f0367aeceb1bc9f62c9fdc46dbff
tree 64af0c1897f30bb1adb72ecbb6f4c4d0ef619639
parent 2581e186c343cd26802279bd80e420307037fbc6
author Randy Vinson <rvinson@linuxbox.(none)> Tue, 17 Jan 2006 16:32:23 -0700
committer Randy Vinson <rvinson@linuxbox.(none)> Tue, 17 Jan 2006 16:32:23 -0700

 arch/ppc/Kconfig                      |    2 +
 arch/ppc/platforms/83xx/Kconfig       |   28 +++++++++
 arch/ppc/platforms/83xx/mpc834x_sys.c |  100 +++++++++++++++++++++++++++++++++
 arch/ppc/platforms/83xx/mpc834x_sys.h |    3 +
 arch/ppc/syslib/mpc83xx_devices.c     |   16 +++++
 include/asm-ppc/mpc83xx.h             |   17 ++++++
 6 files changed, 166 insertions(+), 0 deletions(-)

diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index 11899f0..b33b0eb 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -681,6 +681,8 @@ config EV64360
 	  platform.
 endchoice
 
+source arch/ppc/platforms/83xx/Kconfig
+
 config PQ2ADS
 	bool
 	depends on ADS8272
diff --git a/arch/ppc/platforms/83xx/Kconfig b/arch/ppc/platforms/83xx/Kconfig
new file mode 100644
index 0000000..90bc67a
--- /dev/null
+++ b/arch/ppc/platforms/83xx/Kconfig
@@ -0,0 +1,28 @@
+config 834x_USB_SUPPORT
+	bool "834x USB Support"
+	depends on MPC834x_SYS
+	default y
+	---help---
+	  Enables support for the USB controllers on the MPC834x chip. The 834x
+	  reference board is wired for only one USB port. That port may be
+	  used by either the MPH or DR USB controller.
+	  Requires USB Host EHCI support.
+	  If unsure, say Y.
+choice
+	prompt "834x USB Controller Selection"
+	depends on 834x_USB_SUPPORT
+	default 834x_DR_USB_SUPPORT
+
+config 834x_DR_USB_SUPPORT
+	bool "DR Controller"
+	select USB_EHCI_ROOT_HUB_TT
+	---help---
+	  Select if using the Dual-Role (DR) USB controller.
+
+config 834x_MPH_USB_SUPPORT
+	bool "MPH Controller"
+	---help---
+	  Select if using the Multi-Port-Host (MPH) USB controller.
+
+endchoice
+
diff --git a/arch/ppc/platforms/83xx/mpc834x_sys.c b/arch/ppc/platforms/83xx/mpc834x_sys.c
index 012e1e6..6f23909 100644
--- a/arch/ppc/platforms/83xx/mpc834x_sys.c
+++ b/arch/ppc/platforms/83xx/mpc834x_sys.c
@@ -11,6 +11,9 @@
  * under  the terms of  the GNU General  Public License as published by the
  * Free Software Foundation;  either version 2 of the  License, or (at your
  * option) any later version.
+ *
+ * USB setup added by Randy Vinson <rvinson@mvista.com> based on code from
+ * Hunter Wu.
  */
 
 #include <linux/config.h>
@@ -93,6 +96,99 @@ mpc83xx_exclude_device(u_char bus, u_cha
 }
 #endif /* CONFIG_PCI */
 
+/*
+ * Configure the on-chip USB controller. The MPC834xCDS only supports the
+ * second USB interface (port 1). This code sets up the hardware and then
+ * lets the platform driver take over device setup.
+ */
+
+#ifdef CONFIG_834x_USB_SUPPORT
+void mpc834x_board_init(void)
+{
+	unsigned char __iomem *bcsr;
+	volatile unsigned char *bcsr5_p;
+
+	/*
+	 * if SYS board is plug into PIB board,
+	 * force to use the PHY on SYS board
+	 * */
+	bcsr = ioremap(BCSR_PHYS_ADDR, BCSR_SIZE);
+	bcsr5_p = bcsr + BCSR5_OFF;
+	if ( (*bcsr5_p & BCSR5_INT_USB) == 0 )
+		*bcsr5_p = (*bcsr5_p | BCSR5_INT_USB);
+	iounmap(bcsr);
+}
+
+void mpc834x_usb_clk_cfg(void)
+{
+	unsigned long sccr;
+	volatile unsigned long *p;
+
+	p = (volatile unsigned long *)(VIRT_IMMRBAR + MPC83XX_SCCR_OFFS); /* SCCR */
+	sccr = *p;
+
+	sccr |= MPC83XX_SCCR_USB_MPHCM_11 | MPC83XX_SCCR_USB_DRCM_11;
+
+	*p = sccr;
+}
+
+static void mpc834x_usb_pin_cfg(struct fsl_usb2_platform_data *pdata)
+{
+	unsigned long sicrl;
+	volatile unsigned long *p;
+
+	p = (volatile unsigned long *)(VIRT_IMMRBAR + MPC83XX_SICRL_OFFS); /* SCCR */
+	sicrl = *p;
+
+	/* set both ports to MPH mode */
+	sicrl &= ~(MPC83XX_SICRL_USB0 | MPC83XX_SICRL_USB1);
+
+	if (pdata->operating_mode == FSL_USB2_DR_HOST) {
+		if (pdata->phy_mode == FSL_USB2_PHY_UTMI_WIDE) {
+			/* UTMI WIDE combines both ports into a single 16-bit port */
+			sicrl |= MPC83XX_SICRL_USB0 | MPC83XX_SICRL_USB1;
+		}
+		else {
+			if (pdata->port_enables & FSL_USB2_PORT0_ENABLED)
+				sicrl |= MPC83XX_SICRL_USB0;
+		}
+	}
+	*p = sicrl;
+}
+
+static void __init
+mpc834x_usb_init(void)
+{
+	struct fsl_usb2_platform_data *pdata;
+
+#ifdef CONFIG_834x_DR_USB_SUPPORT
+	ppc_sys_device_remove(MPC83xx_USB2_MPH);
+	pdata = (struct fsl_usb2_platform_data *) ppc_sys_get_pdata(MPC83xx_USB2_DR);
+
+	if (pdata) {
+		pdata->phy_mode = FSL_USB2_PHY_ULPI;
+		pdata->operating_mode = FSL_USB2_DR_HOST;
+		pdata->port_enables = FSL_USB2_PORT0_ENABLED;
+	}
+
+#elif defined(CONFIG_834x_MPH_USB_SUPPORT)
+	ppc_sys_device_remove(MPC83xx_USB2_DR);
+	pdata = (struct fsl_usb2_platform_data *) ppc_sys_get_pdata(MPC83xx_USB2_MPH);
+
+	if (pdata) {
+		pdata->phy_mode = FSL_USB2_PHY_ULPI;
+		pdata->operating_mode = FSL_USB2_MPH_HOST;
+		pdata->port_enables = FSL_USB2_PORT0_ENABLED;
+	}
+
+#endif
+	mpc834x_usb_pin_cfg(pdata);
+	mpc834x_board_init();
+	mpc834x_usb_clk_cfg();
+	return;
+}
+#endif /* CONFIG_834x_USB_SUPPORT */
+
 /* ************************************************************************
  *
  * Setup the architecture
@@ -144,6 +240,10 @@ mpc834x_sys_setup_arch(void)
 		memcpy(pdata->mac_addr, binfo->bi_enet1addr, 6);
 	}
 
+#ifdef CONFIG_834x_USB_SUPPORT
+	mpc834x_usb_init();
+#endif
+
 #ifdef CONFIG_BLK_DEV_INITRD
 	if (initrd_start)
 		ROOT_DEV = Root_RAM0;
diff --git a/arch/ppc/platforms/83xx/mpc834x_sys.h b/arch/ppc/platforms/83xx/mpc834x_sys.h
index 2e514d3..fab3762 100644
--- a/arch/ppc/platforms/83xx/mpc834x_sys.h
+++ b/arch/ppc/platforms/83xx/mpc834x_sys.h
@@ -27,6 +27,9 @@
 #define BCSR_PHYS_ADDR		((uint)0xf8000000)
 #define BCSR_SIZE		((uint)(128 * 1024))
 
+#define BCSR5_OFF		0x05
+#define BCSR5_INT_USB		0x02
+
 #define BCSR_MISC_REG2_OFF	0x07
 #define BCSR_MISC_REG2_PORESET	0x01
 
diff --git a/arch/ppc/syslib/mpc83xx_devices.c b/arch/ppc/syslib/mpc83xx_devices.c
index f9b95de..916926c 100644
--- a/arch/ppc/syslib/mpc83xx_devices.c
+++ b/arch/ppc/syslib/mpc83xx_devices.c
@@ -23,6 +23,8 @@
 #include <asm/ppc_sys.h>
 #include <asm/machdep.h>
 
+static u64 mpc83xx_dma_mask = 0xffffffffULL;
+
 /* We use offsets for IORESOURCE_MEM since we do not know at compile time
  * what IMMRBAR is, will get fixed up by mach_mpc83xx_fixup
  */
@@ -50,6 +52,14 @@ static struct fsl_i2c_platform_data mpc8
 	.device_flags = FSL_I2C_DEV_SEPARATE_DFSRR,
 };
 
+/* Placeholder to be filled in by board code */
+static struct fsl_usb2_platform_data mpc83xx_fsl_dr_pdata = { 
+};
+
+/* Placeholder to be filled in by board code */
+static struct fsl_usb2_platform_data mpc83xx_fsl_mph_pdata = {
+};
+
 static struct plat_serial8250_port serial_platform_data[] = {
 	[0] = {
 		.mapbase	= 0x4500,
@@ -190,7 +200,10 @@ struct platform_device ppc_sys_platform_
 	[MPC83xx_USB2_DR] = {
 		.name = "fsl-usb2-dr",
 		.id	= 1,
+		.dev.platform_data = &mpc83xx_fsl_dr_pdata,
 		.num_resources	 = 2,
+		.dev.dma_mask	= &mpc83xx_dma_mask,
+		.dev.coherent_dma_mask = 0xffffffffULL,
 		.resource = (struct resource[]) {
 			{
 				.start	= 0x23000,
@@ -208,6 +221,9 @@ struct platform_device ppc_sys_platform_
 		.name = "fsl-usb2-mph",
 		.id	= 1,
 		.num_resources	 = 2,
+		.dev.platform_data = &mpc83xx_fsl_mph_pdata,
+		.dev.dma_mask	= &mpc83xx_dma_mask,
+		.dev.coherent_dma_mask = 0xffffffffULL,
 		.resource = (struct resource[]) {
 			{
 				.start	= 0x22000,
diff --git a/include/asm-ppc/mpc83xx.h b/include/asm-ppc/mpc83xx.h
index 7cdf60f..cd2baf7 100644
--- a/include/asm-ppc/mpc83xx.h
+++ b/include/asm-ppc/mpc83xx.h
@@ -95,6 +95,23 @@ extern unsigned char __res[];
 
 #define MPC83xx_CCSRBAR_SIZE	(1024*1024)
 
+#define MPC83XX_SCCR_OFFS          0xA08
+#define MPC83XX_SCCR_USB_MPHCM_11  0x00c00000
+#define MPC83XX_SCCR_USB_MPHCM_01  0x00400000
+#define MPC83XX_SCCR_USB_MPHCM_10  0x00800000
+#define MPC83XX_SCCR_USB_DRCM_11   0x00300000
+#define MPC83XX_SCCR_USB_DRCM_01   0x00100000
+#define MPC83XX_SCCR_USB_DRCM_10   0x00200000
+
+/* system i/o configuration register low */
+#define MPC83XX_SICRL_OFFS         0x114
+#define MPC83XX_SICRL_USB0         0x40000000
+#define MPC83XX_SICRL_USB1         0x20000000
+
+/* system i/o configuration register high */
+#define MPC83XX_SICRH_OFFS         0x118
+#define MPC83XX_SICRH_USB_UTMI     0x00020000
+
 /* Let modules/drivers get at immrbar (physical) */
 extern phys_addr_t immrbar;
 

^ permalink raw reply related

* RE: u-boot debugging
From: atul.sabharwal @ 2006-01-20 18:13 UTC (permalink / raw)
  To: atul.sabharwal, mustafa.cayir, linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 2842 bytes --]

I hope this gives the answer to make a better pick between BDI and Metrowerks...  And this is not off topic

As the debugger is not only for u-boot but debugging the kernel on this architecture...

 

--

Atul

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 P.S:  Our destiny is in our hands... And yes, necessity is mother of invention!!

________________________________

From: Sabharwal, Atul 
Sent: Friday, January 20, 2006 10:06 AM
To: Sabharwal, Atul; 'Mustafa Çayır'; 'linuxppc-embedded@ozlabs.org'
Subject: RE: u-boot debugging

 

Besides, the BDI has only a 10Mbps Ethernet interface.  It might be enough for simple debug operation but they should

Have put a 100Mbps link to put it on a shared network.  For an isolated network configuration, it should suffice...

 

The Metrowerks debugger is USB 2.0 based, so on a isolated network and faster data throughput for easy symbol/code

cross referencing.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: Sabharwal, Atul 
Sent: Friday, January 20, 2006 10:00 AM
To: Sabharwal, Atul; 'Mustafa Çayır'; 'linuxppc-embedded@ozlabs.org'
Subject: RE: u-boot debugging

 

My best guess is the PowerTap Pro supports code tracing from a trace buffer on the board or processor... Not sure if

you can sample the processor instruction stream over the JTAG chain as its too slow.  You could use a logic analyzer

or an in-circuit emulator to capture all signals.  The power pc has a SIU to pass the instruction stream for a logic analyzer

to use...

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: Sabharwal, Atul 
Sent: Friday, January 20, 2006 9:57 AM
To: 'Mustafa Çayır'; linuxppc-embedded@ozlabs.org
Subject: RE: u-boot debugging

 

BDI works but PowerTap Pro from Metrowerks is better.  The debug interface is windows based and more user friendly than

Ddd on Linux.  Take your pick as a commercial product would be better than an opensource product till it has been perfected

(i.e. customized, all bugs fixed and usability issues resolved).  And no service from the community on occasion.

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: linuxppc-embedded-bounces@ozlabs.org [mailto:linuxppc-embedded-bounces@ozlabs.org] On Behalf Of Mustafa Çayir
Sent: Thursday, January 19, 2006 10:51 PM
To: linuxppc-embedded@ozlabs.org
Subject: u-boot debugging

 

Hi,

 

Which tool must i use to debuggin u-boot codes. BDI2000 or windriver visionclick, which one do you prefer? is step by step code tracing possible?

 

thanks


[-- Attachment #2: Type: text/html, Size: 14175 bytes --]

^ permalink raw reply

* RE: u-boot debugging
From: atul.sabharwal @ 2006-01-20 18:06 UTC (permalink / raw)
  To: atul.sabharwal, mustafa.cayir, linuxppc-embedded

[-- Attachment #1: Type: text/plain, Size: 2282 bytes --]

Besides, the BDI has only a 10Mbps Ethernet interface.  It might be enough for simple debug operation but they should

Have put a 100Mbps link to put it on a shared network.  For an isolated network configuration, it should suffice...

 

The Metrowerks debugger is USB 2.0 based, so on a isolated network and faster data throughput for easy symbol/code

cross referencing.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: Sabharwal, Atul 
Sent: Friday, January 20, 2006 10:00 AM
To: Sabharwal, Atul; 'Mustafa Çayır'; 'linuxppc-embedded@ozlabs.org'
Subject: RE: u-boot debugging

 

My best guess is the PowerTap Pro supports code tracing from a trace buffer on the board or processor... Not sure if

you can sample the processor instruction stream over the JTAG chain as its too slow.  You could use a logic analyzer

or an in-circuit emulator to capture all signals.  The power pc has a SIU to pass the instruction stream for a logic analyzer

to use...

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: Sabharwal, Atul 
Sent: Friday, January 20, 2006 9:57 AM
To: 'Mustafa Çayır'; linuxppc-embedded@ozlabs.org
Subject: RE: u-boot debugging

 

BDI works but PowerTap Pro from Metrowerks is better.  The debug interface is windows based and more user friendly than

Ddd on Linux.  Take your pick as a commercial product would be better than an opensource product till it has been perfected

(i.e. customized, all bugs fixed and usability issues resolved).  And no service from the community on occasion.

 

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Atul Sabharwal

c/o Azad. Inc.

503-962-9395

________________________________

From: linuxppc-embedded-bounces@ozlabs.org [mailto:linuxppc-embedded-bounces@ozlabs.org] On Behalf Of Mustafa Çayir
Sent: Thursday, January 19, 2006 10:51 PM
To: linuxppc-embedded@ozlabs.org
Subject: u-boot debugging

 

Hi,

 

Which tool must i use to debuggin u-boot codes. BDI2000 or windriver visionclick, which one do you prefer? is step by step code tracing possible?

 

thanks


[-- Attachment #2: Type: text/html, Size: 11537 bytes --]

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox