patch-2.1.29 linux/drivers/sbus/sbus.c

Next file: linux/drivers/scsi/ChangeLog.ncr53c8xx
Previous file: linux/drivers/sbus/dvma.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.28/linux/drivers/sbus/sbus.c linux/drivers/sbus/sbus.c
@@ -12,6 +12,7 @@
 #include <asm/sbus.h>
 #include <asm/dma.h>
 #include <asm/oplib.h>
+#include <asm/bpp.h>
 
 /* This file has been written to be more dynamic and a bit cleaner,
  * but it still needs some spring cleaning.
@@ -59,6 +60,7 @@
 		panic("fill_sbus_device");
 	}
 	sbus_dev->num_registers = (len/sizeof(struct linux_prom_registers));
+	sbus_dev->ranges_applied = 0;
 
 	base = (unsigned long) sbus_dev->reg_addrs[0].phys_addr;
 	if(base>=SUN_SBUS_BVADDR || sparc_cpu_model == sun4m) {
@@ -147,6 +149,9 @@
 #ifdef CONFIG_SUN_MOSTEK_RTC
 extern int rtc_init(void);
 #endif
+#ifdef CONFIG_SPARCAUDIO
+extern int sparcaudio_init(void);
+#endif
 
 __initfunc(static unsigned long 
 sbus_do_child_siblings(unsigned long memory_start, int start_node,
@@ -157,6 +162,7 @@
 	int this_node = start_node;
 
 	/* Child already filled in, just need to traverse siblings. */
+	child->child = 0;
 	while((this_node = prom_getsibling(this_node)) != 0) {
 		this_dev->next = (struct linux_sbus_device *) memory_start;
 		memory_start += sizeof(struct linux_sbus_device);
@@ -332,6 +338,12 @@
 #endif
 #ifdef CONFIG_SUN_MOSTEK_RTC
 	rtc_init();
+#endif
+#ifdef CONFIG_SPARCAUDIO
+	sparcaudio_init();
+#endif
+#ifdef CONFIG_SUN_BPP
+	bpp_init();
 #endif
 	return memory_start;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov