linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] H8/300 support update
@ 2003-10-16 16:42 Yoshinori Sato
  0 siblings, 0 replies; 5+ messages in thread
From: Yoshinori Sato @ 2003-10-16 16:42 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux kernel Mailing List

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

- document update
- fix semaphoe probrem
- fix config

-- 
Yoshinori Sato
<ysato@users.sourceforge.jp>


[-- Attachment #2: linux-2.6.0-test7-h8300.diff --]
[-- Type: application/octet-stream, Size: 4812 bytes --]

diff -Nru linux-2.6.0-test7/arch/h8300/Kconfig linux-2.6.0-test7-h8300/arch/h8300/Kconfig
--- linux-2.6.0-test7/arch/h8300/Kconfig	2003-10-17 00:07:36.000000000 +0900
+++ linux-2.6.0-test7-h8300/arch/h8300/Kconfig	2003-10-17 00:45:34.000000000 +0900
@@ -341,8 +341,8 @@
 
 endmenu
 
-#source drivers/misc/Config.in
 source "drivers/media/Kconfig"
+source "sound/Kconfig"
 
 source "fs/Kconfig"
 
diff -Nru linux-2.6.0-test7/arch/h8300/README linux-2.6.0-test7-h8300/arch/h8300/README
--- linux-2.6.0-test7/arch/h8300/README	2003-10-17 00:07:45.000000000 +0900
+++ linux-2.6.0-test7-h8300/arch/h8300/README	2003-10-17 01:04:54.000000000 +0900
@@ -1,9 +1,8 @@
-uClinux-2.4 for H8/300 README
+linux-2.6 for H8/300 README
 Yoshinori Sato <ysato@users.sourceforge.jp>
 
 * Supported CPU
-H8/300H
-H8S is planning.
+H8/300H and H8S
 
 * Supported Target
 1.simulator of GDB
@@ -15,8 +14,11 @@
   Akizuki Denshi Tsusho Ltd. <http://www.akizuki.ne.jp> (Japanese Only)
 
 3.H8MAX 
-  Under development
-  see http://www.strawberry-linux.com (Japanese Only)
+  see http://ip-sol.jp/h8max/ (Japanese Only)
+
+4.EDOSK2674
+  see http://www.eu.renesas.com/products/mpumcu/tool/edk/support/edosk2674.html
+      http://www.azpower.com/H8-uClinux/
 
 * Toolchain Version
 gcc-3.1 or higher and patch
@@ -26,10 +28,10 @@
 The environment that can compile a h8300-elf binary is necessary.
 
 * Userland Develop environment
-Tempolary used h8300-hms(h8300-coff) Toolchain.
-I prepare toolchain corresponding to h8300-elf.
+used h8300-elf toolchains.
+see http://www.uclinux.org/pub/uClinux/ports/h8/
 
 * A few words of thanks
-Porting to H8/300H is support of Information-technology Promotion Agency, Japan.
+Porting to H8/300 serieses is support of Information-technology Promotion Agency, Japan.
 I thank support.
 and All developer/user.
diff -Nru linux-2.6.0-test7/arch/h8300/lib/romfs.S linux-2.6.0-test7-h8300/arch/h8300/lib/romfs.S
--- linux-2.6.0-test7/arch/h8300/lib/romfs.S	2003-08-23 08:54:21.000000000 +0900
+++ linux-2.6.0-test7-h8300/arch/h8300/lib/romfs.S	2003-08-27 01:53:26.000000000 +0900
@@ -1,6 +1,7 @@
 /* romfs move to __ebss */
 
 #include <asm/linkage.h>
+#include <linux/config.h>
 
 #if defined(__H8300H__) 
 	.h8300h
@@ -9,6 +10,8 @@
 	.h8300s
 #endif
 
+#define BLKOFFSET 512
+
 	.text
 .globl	__move_romfs
 _romfs_sig_len = 8
@@ -31,6 +34,9 @@
 	add.l	er0,er1			/* romfs image end */
 	mov.l	#__ebss,er2
 	add.l	er0,er2			/* distination address */
+#if defined(CONFIG_INTELFLASH)
+	add.l	#BLKOFFSET,er2
+#endif
 	adds	#2,er0
 	adds	#1,er0
 	shlr	er0
diff -Nru linux-2.6.0-test7/arch/h8300/platform/h8s/ints.c linux-2.6.0-test7-h8300/arch/h8300/platform/h8s/ints.c
--- linux-2.6.0-test7/arch/h8300/platform/h8s/ints.c	2003-10-17 00:07:45.000000000 +0900
+++ linux-2.6.0-test7-h8300/arch/h8300/platform/h8s/ints.c	2003-10-17 01:15:56.000000000 +0900
@@ -1,5 +1,5 @@
 /*
- * linux/arch/h8300/platform/h8sh/ints.c
+ * linux/arch/h8300/platform/h8s/ints.c
  *
  * Yoshinori Sato <ysato@users.sourceforge.jp>
  *
@@ -20,7 +20,6 @@
 #include <linux/kernel_stat.h>
 #include <linux/seq_file.h>
 #include <linux/init.h>
-#include <linux/slab.h>
 #include <linux/bootmem.h>
 #include <linux/random.h>
 
@@ -75,7 +74,7 @@
 	{H8300_GPIO_P2,H8300_GPIO_B6},{H8300_GPIO_P2,H8300_GPIO_B7},
 };
 
-static int use_kmalloc;
+static short use_kmalloc = 0;
 
 extern unsigned long *interrupt_redirect_table;
 
diff -Nru linux-2.6.0-test7/include/asm-h8300/semaphore.h linux-2.6.0-test7-h8300/include/asm-h8300/semaphore.h
--- linux-2.6.0-test7/include/asm-h8300/semaphore.h	2003-10-17 00:07:29.000000000 +0900
+++ linux-2.6.0-test7-h8300/include/asm-h8300/semaphore.h	2003-10-16 23:45:08.000000000 +0900
@@ -101,13 +101,14 @@
 		"mov.l er1,%0\n\t"
 		"bpl 1f\n\t"
 		"ldc r3l,ccr\n\t"
+		"mov.l %1,er0\n\t"
 		"jsr @___down\n\t"
 		"bra 2f\n"
 		"1:\n\t"
 		"ldc r3l,ccr\n"
 		"2:"
 		: "+m"(*count)
-		: 
+		: "g"(sem)
 		: "cc",  "er1", "er2", "er3");
 }
 
@@ -129,6 +130,7 @@
 		"mov.l er2,%1\n\t"
 		"bpl 1f\n\t"
 		"ldc r1l,ccr\n\t"
+		"mov.l %2,er0\n\t"
 		"jsr @___down_interruptible\n\t"
 		"bra 2f\n"
 		"1:\n\t"
@@ -136,7 +138,7 @@
 		"sub.l %0,%0\n\t"
 		"2:\n\t"
 		: "=r" (count),"+m" (*count)
-		:
+		: "g"(sem)
 		: "cc", "er1", "er2", "er3");
 	return (int)count;
 }
@@ -161,6 +163,7 @@
 		"jmp @3f\n\t"
 		LOCK_SECTION_START(".align 2\n\t")
 		"3:\n\t"
+		"mov.l %2,er0\n\t"
 		"jsr @___down_trylock\n\t"
 		"jmp @2f\n\t"
 		LOCK_SECTION_END
@@ -169,7 +172,7 @@
 		"sub.l %1,%1\n"
 		"2:"
 		: "+m" (*count),"=r"(count)
-		: 
+		: "g"(sem)
 		: "cc", "er1","er2", "er3");
 	return (int)count;
 }
@@ -199,10 +202,11 @@
 		"sub.l er2,er2\n\t"
 		"cmp.l er2,er1\n\t"
 		"bgt 1f\n\t"
+		"mov.l %1,er0\n\t"
 		"jsr @___up\n"
 		"1:"
 		: "+m"(*count)
-		: 
+		: "g"(sem)
 		: "cc", "er1", "er2", "er3");
 }
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] H8/300 support update
@ 2003-10-19 15:53 Yoshinori Sato
  0 siblings, 0 replies; 5+ messages in thread
From: Yoshinori Sato @ 2003-10-19 15:53 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux kernel Mailing List

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

- fix build error

-- 
Yoshinori Sato
<ysato@users.sourceforge.jp>


[-- Attachment #2: linux-2.6.0-test8-h8300.diff --]
[-- Type: application/octet-stream, Size: 883 bytes --]

diff -Nru linux-2.6.0-test8/arch/h8300/kernel/time.c linux-2.6.0-test8-h8300/arch/h8300/kernel/time.c
--- linux-2.6.0-test8/arch/h8300/kernel/time.c	2003-10-17 00:07:45.000000000 +0900
+++ linux-2.6.0-test8-h8300/arch/h8300/kernel/time.c	2003-10-19 02:26:08.000000000 +0900
@@ -143,3 +143,8 @@
 }
 
 EXPORT_SYMBOL(do_settimeofday);
+
+unsigned long long sched_clock(void)
+{
+	return (unsigned long long)jiffies * (1000000000 / HZ);
+}
diff -Nru linux-2.6.0-test8/arch/h8300/lib/checksum.c linux-2.6.0-test8-h8300/arch/h8300/lib/checksum.c
--- linux-2.6.0-test8/arch/h8300/lib/checksum.c	2003-10-17 00:07:45.000000000 +0900
+++ linux-2.6.0-test8-h8300/arch/h8300/lib/checksum.c	2003-10-19 02:27:49.000000000 +0900
@@ -32,7 +32,6 @@
    of the assembly has to go. */
 
 #include <net/checksum.h>
-#include <net/module.h>
 
 static inline unsigned short from32to16(unsigned long x)
 {

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] h8/300 support update
@ 2003-10-26 14:27 Yoshinori Sato
  2003-10-26 17:23 ` Sam Ravnborg
  0 siblings, 1 reply; 5+ messages in thread
From: Yoshinori Sato @ 2003-10-26 14:27 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux kernel Mailing List

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

- add 'sched_clock'
- delete smplock.h

-- 
Yoshinori Sato
<ysato@users.sourceforge.jp>


[-- Attachment #2: linux-2.6.0-test9.diff --]
[-- Type: application/octet-stream, Size: 1719 bytes --]

diff -Nru linux-2.6.0-test9/arch/h8300/kernel/time.c linux-2.6.0-test9-h8300/arch/h8300/kernel/time.c
--- linux-2.6.0-test9/arch/h8300/kernel/time.c	2003-10-17 00:07:45.000000000 +0900
+++ linux-2.6.0-test9-h8300/arch/h8300/kernel/time.c	2003-10-26 21:24:31.000000000 +0900
@@ -143,3 +143,10 @@
 }
 
 EXPORT_SYMBOL(do_settimeofday);
+
+unsigned long long sched_clock(void)
+{
+	return (unsigned long long)jiffies * (1000000000 / HZ);
+
+}
diff -Nru linux-2.6.0-test9/include/asm-h8300/smplock.h linux-2.6.0-test9-h8300/include/asm-h8300/smplock.h
--- linux-2.6.0-test9/include/asm-h8300/smplock.h	2003-08-23 09:00:15.000000000 +0900
+++ linux-2.6.0-test9-h8300/include/asm-h8300/smplock.h	1970-01-01 09:00:00.000000000 +0900
@@ -1,51 +0,0 @@
-/*
- * <asm/smplock.h>
- *
- * Default SMP lock implementation
- */
-#include <linux/interrupt.h>
-#include <linux/spinlock.h>
-
-extern spinlock_t kernel_flag;
-
-#define kernel_locked()		spin_is_locked(&kernel_flag)
-
-/*
- * Release global kernel lock and global interrupt lock
- */
-#define release_kernel_lock(task, cpu) \
-do { \
-	if (task->lock_depth >= 0) \
-		spin_unlock(&kernel_flag); \
-	release_irqlock(cpu); \
-	__sti(); \
-} while (0)
-
-/*
- * Re-acquire the kernel lock
- */
-#define reacquire_kernel_lock(task) \
-do { \
-	if (task->lock_depth >= 0) \
-		spin_lock(&kernel_flag); \
-} while (0)
-
-
-/*
- * Getting the big kernel lock.
- *
- * This cannot happen asynchronously,
- * so we only need to worry about other
- * CPU's.
- */
-extern __inline__ void lock_kernel(void)
-{
-	if (!++current->lock_depth)
-		spin_lock(&kernel_flag);
-}
-
-extern __inline__ void unlock_kernel(void)
-{
-	if (--current->lock_depth < 0)
-		spin_unlock(&kernel_flag);
-}

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] h8/300 support update
  2003-10-26 14:27 [PATCH] h8/300 " Yoshinori Sato
@ 2003-10-26 17:23 ` Sam Ravnborg
  0 siblings, 0 replies; 5+ messages in thread
From: Sam Ravnborg @ 2003-10-26 17:23 UTC (permalink / raw)
  To: Yoshinori Sato; +Cc: Linus Torvalds, linux kernel Mailing List

On Sun, Oct 26, 2003 at 11:27:42PM +0900, Yoshinori Sato wrote:
> - add 'sched_clock'
> - delete smplock.h

Could you please inline your patches.

	Sam

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] H8/300 support update
@ 2004-04-08 15:11 Yoshinori Sato
  0 siblings, 0 replies; 5+ messages in thread
From: Yoshinori Sato @ 2004-04-08 15:11 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: linux kernel Mailing List

- fix any error/warning
- fix {request,freee}_irq interrupt control fix
- add dump_stack 
- fix show_trace_task
- fix typo

-- 
Yoshinori Sato
<ysato@users.sourceforge.jp>

diff -ru -X .exclude-diff linux-2.6.5/arch/h8300/Kconfig linux-2.6.5-h8300/arch/h8300/Kconfig
--- linux-2.6.5/arch/h8300/Kconfig	2004-04-08 23:26:16.000000000 +0900
+++ linux-2.6.5-h8300/arch/h8300/Kconfig	2004-04-08 23:51:58.000000000 +0900
@@ -67,7 +67,7 @@
 config H8300H_H8MAX
 	bool "H8MAX"
 	help
-	  H8MAX Evaluation Board Suooprt
+	  H8MAX Evaluation Board Support
 	  More Information. (Japanese Only)
 	  <http://strawberry-linux.com/h8/index.html>
 
diff -ru -X .exclude-diff linux-2.6.5/arch/h8300/kernel/ints.c linux-2.6.5-h8300/arch/h8300/kernel/ints.c
--- linux-2.6.5/arch/h8300/kernel/ints.c	2004-04-06 17:11:10.000000000 +0900
+++ linux-2.6.5-h8300/arch/h8300/kernel/ints.c	2004-04-08 01:11:05.000000000 +0900
@@ -93,7 +93,7 @@
 	if (ramvec == NULL)
 		panic("interrupt vector serup failed.");
 	else
-		printk("virtual vector at 0x%08lx\n",(unsigned long)ramvec);
+		printk(KERN_INFO "virtual vector at 0x%08lx\n",(unsigned long)ramvec);
 
 	/* create redirect table */
 	ramvec_p = ramvec;
@@ -118,11 +118,11 @@
 	ramvec_p = ramvec;
 	for (i = 0; i < NR_IRQS; i++) {
 		if ((i % 8) == 0)
-			printk("\n%p: ",ramvec_p);
-		printk("%p ",*ramvec_p);
+			printk(KERN_DEBUG "\n%p: ",ramvec_p);
+		printk(KERN_DEBUG "%p ",*ramvec_p);
 		ramvec_p++;
 	}
-	printk("\n");
+	printk(KERN_DEBUG "\n");
 #endif
 #endif
 }
@@ -133,9 +133,10 @@
 {
 	irq_handler_t *irq_handle;
 	if (irq < 0 || irq >= NR_IRQS) {
-		printk("Incorrect IRQ %d from %s\n", irq, devname);
+		printk(KERN_ERR "Incorrect IRQ %d from %s\n", irq, devname);
 		return -EINVAL;
 	}
+
 	if (irq_list[irq] || (h8300_enable_irq_pin(irq) == -EBUSY))
 		return -EBUSY;
 
@@ -156,6 +157,11 @@
 	irq_handle->dev_id  = dev_id;
 	irq_handle->devname = devname;
 	irq_list[irq] = irq_handle;
+
+	if (irq_handle->flags & SA_SAMPLE_RANDOM)
+		rand_initialize_irq(irq);
+
+	enable_irq(irq);
 	return 0;
 }
 
@@ -163,12 +169,13 @@
 
 void free_irq(unsigned int irq, void *dev_id)
 {
-	if (irq >= NR_IRQS) {
+	if (irq >= NR_IRQS)
 		return;
-	}
+
 	if (!irq_list[irq] || irq_list[irq]->dev_id != dev_id)
-		printk("Removing probably wrong IRQ %d from %s\n",
+		printk(KERN_WARNING "Removing probably wrong IRQ %d from %s\n",
 		       irq, irq_list[irq]->devname);
+	disable_irq(irq);
 	h8300_disable_irq_pin(irq);
 	if (((unsigned long)irq_list[irq] & 0x80000000) == 0) {
 		kfree(irq_list[irq]);
diff -ru -X .exclude-diff linux-2.6.5/arch/h8300/kernel/traps.c linux-2.6.5-h8300/arch/h8300/kernel/traps.c
--- linux-2.6.5/arch/h8300/kernel/traps.c	2004-01-09 15:59:06.000000000 +0900
+++ linux-2.6.5-h8300/arch/h8300/kernel/traps.c	2004-04-08 01:11:05.000000000 +0900
@@ -16,9 +16,10 @@
 
 #include <linux/types.h>
 #include <linux/sched.h>
-#include <linux/kernel_stat.h>
+#include <linux/kernel.h>
 #include <linux/errno.h>
 #include <linux/init.h>
+#include <linux/module.h>
 
 #include <asm/system.h>
 #include <asm/irq.h>
@@ -41,7 +42,7 @@
 
 asmlinkage void set_esp0 (unsigned long ssp)
 {
-  current->thread.esp0 = ssp;
+	current->thread.esp0 = ssp;
 }
 
 /*
@@ -55,14 +56,6 @@
 	int		i;
 
 	printk("\nCURRENT PROCESS:\n\n");
-#if 0
-{
-	extern int	swt_lastjiffies, swt_reference;
-	printk("WATCHDOG: jiffies=%d lastjiffies=%d [%d] reference=%d\n",
-		jiffies, swt_lastjiffies, (swt_lastjiffies - jiffies),
-		swt_reference);
-}
-#endif
 	printk("COMM=%s PID=%d\n", current->comm, current->pid);
 	if (current->mm) {
 		printk("TEXT=%08x-%08x DATA=%08x-%08x BSS=%08x-%08x\n",
@@ -76,13 +69,8 @@
 			(int) current->mm->start_stack,
 			(int) PAGE_SIZE+(unsigned long)current);
 	}
-
-	printk("PC: %08lx\n", (long)fp->pc);
-	printk("CCR: %02x   SP: %08lx\n", fp->ccr, (long) fp);
-	printk("ER0: %08lx  ER1: %08lx   ER2: %08lx   ER3: %08lx\n",
-		fp->er0, fp->er1, fp->er2, fp->er3);
-	printk("ER4: %08lx  ER5: %08lx   ER6: %08lx\n",
-		fp->er4, fp->er5, fp->er6);
+	
+	show_regs(fp);
 	printk("\nCODE:");
 	tp = ((unsigned char *) fp->pc) - 0x20;
 	for (sp = (unsigned long *) tp, i = 0; (i < 0x40);  i += 4) {
@@ -106,12 +94,6 @@
 	printk("\n\n");
 }
 
-void show_trace_task(struct task_struct *tsk)
-{
-	/* DAVIDM: we can do better, need a proper stack dump */
-	printk("STACK ksp=0x%lx, usp=0x%lx\n", tsk->thread.ksp, tsk->thread.usp);
-}
-
 void die_if_kernel (char *str, struct pt_regs *fp, int nr)
 {
 	extern int console_loglevel;
@@ -174,3 +156,14 @@
 	printk("\n");
 }
 
+void show_trace_task(struct task_struct *tsk)
+{
+	show_stack(tsk,(unsigned long *)tsk->thread.esp0);
+}
+
+void dump_stack(void)
+{
+	show_stack(NULL,NULL);
+}
+
+EXPORT_SYMBOL(dump_stack);
diff -ru -X .exclude-diff linux-2.6.5/arch/h8300/platform/h8s/entry.S linux-2.6.5-h8300/arch/h8300/platform/h8s/entry.S
--- linux-2.6.5/arch/h8300/platform/h8s/entry.S	2004-04-08 23:26:10.000000000 +0900
+++ linux-2.6.5-h8300/arch/h8300/platform/h8s/entry.S	2004-04-08 01:13:51.000000000 +0900
@@ -166,7 +166,7 @@
 	mov.l	sp,er1
 	subs	#4,er1				/* adjust ret_pc */
 	jsr	@SYMBOL_NAME(process_int)
-	mov.l	@SYMBOL_NAME(irq_stat)+CPU_SOFTIRQ_PENDING,er0
+	mov.l	@SYMBOL_NAME(irq_stat)+CPUSTAT_SOFTIRQ_PENDING,er0
 	beq	1f
 	jsr	@SYMBOL_NAME(do_softirq)
 1:
diff -ru -X .exclude-diff linux-2.6.5/arch/h8300/platform/h8s/ints_h8s.c linux-2.6.5-h8300/arch/h8300/platform/h8s/ints_h8s.c
--- linux-2.6.5/arch/h8300/platform/h8s/ints_h8s.c	2004-04-08 23:26:16.000000000 +0900
+++ linux-2.6.5-h8300/arch/h8300/platform/h8s/ints_h8s.c	2004-04-08 01:13:51.000000000 +0900
@@ -9,6 +9,7 @@
 #include <linux/config.h>
 #include <linux/init.h>
 #include <linux/errno.h>
+#include <linux/kernel.h>
 
 #include <asm/ptrace.h>
 #include <asm/traps.h>
@@ -80,12 +81,13 @@
 	if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) {
 		unsigned short ptn = 1 << (irq - EXT_IRQ0);
 		unsigned int port_no,bit_no;
-		IRQ_GPIO_MAP(ptn,irq,port_no,bit_no);
+		IRQ_GPIO_MAP(ptn, irq, port_no, bit_no);
 		if (H8300_GPIO_RESERVE(port_no, bit_no) == 0)
 			return -EBUSY;                   /* pin already use */
 		H8300_GPIO_DDR(port_no, bit_no, H8300_GPIO_INPUT);
 		*(volatile unsigned short *)ISR &= ~ptn; /* ISR clear */
-	}		
+	}
+
 	return 0;
 }
 
@@ -97,7 +99,7 @@
 		unsigned short port_no,bit_no;
 		*(volatile unsigned short *)ISR &= ~ptn;
 		*(volatile unsigned short *)IER &= ~ptn;
-		IRQ_GPIO_MAP(ptn,port_no,bit_no);
+		IRQ_GPIO_MAP(ptn, irq, port_no, bit_no);
 		H8300_GPIO_FREE(port_no, bit_no);
 	}
 }
diff -ru -X .exclude-diff linux-2.6.5/include/asm-h8300/io.h linux-2.6.5-h8300/include/asm-h8300/io.h
--- linux-2.6.5/include/asm-h8300/io.h	2004-04-06 17:10:58.000000000 +0900
+++ linux-2.6.5-h8300/include/asm-h8300/io.h	2004-04-08 01:09:30.000000000 +0900
@@ -9,7 +9,7 @@
 #if defined(CONFIG_H83007) || defined(CONFIG_H83068)
 #include <asm/regs306x.h>
 #elif defined(CONFIG_H8S2678)
-#include <asm/regs2678.h>
+#include <asm/regs267x.h>
 #else
 #error UNKNOWN CPU TYPE
 #endif
@@ -73,7 +73,7 @@
 
 static inline int h8300_buswidth(unsigned int addr)
 {
-	return (*(volatile unsigned char *)ABWCR & (1 << (addr >> 21) & 7)) == 0;
+	return (*(volatile unsigned char *)ABWCR & (1 << ((addr >> 21) & 7))) == 0;
 }
 
 static inline void io_outsb(unsigned int addr, void *buf, int len)
@@ -145,10 +145,10 @@
 #define memcpy_fromio(a,b,c)	memcpy((a),(void *)(b),(c))
 #define memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))
 
-#define inb(addr)    ((h8300_buswidth(addr))?readb(addr ^ 1) & 0xff:readb(addr))
+#define inb(addr)    ((h8300_buswidth(addr))?readb((addr) ^ 1) & 0xff:readb(addr))
 #define inw(addr)    _swapw(readw(addr))
 #define inl(addr)    _swapl(readl(addr))
-#define outb(x,addr) ((void)((h8300_buswidth(addr) && (addr & 1))?writew(x,addr):writeb(x,addr)))
+#define outb(x,addr) ((void)((h8300_buswidth(addr) && ((addr) & 1))?writew(x,addr):writeb(x,addr)))
 #define outw(x,addr) ((void) writew(_swapw(x),addr))
 #define outl(x,addr) ((void) writel(_swapl(x),addr))
 
diff -ru -X .exclude-diff linux-2.6.5/drivers/serial/sh-sci.c linux-2.6.5-h8300/drivers/serial/sh-sci.c
--- linux-2.6.5/drivers/serial/sh-sci.c	2004-04-08 23:59:50.000000000 +0900
+++ linux-2.6.5-h8300/drivers/serial/sh-sci.c	2004-04-08 01:06:52.000000000 +0900
@@ -297,10 +297,10 @@
 #if defined(__H8300S__)
 enum { sci_disable, sci_enable };
 
-static void h8300_sci_enable(struct sci_port* port, unsigned int ctrl)
+static void h8300_sci_enable(struct uart_port* port, unsigned int ctrl)
 {
 	volatile unsigned char *mstpcrl=(volatile unsigned char *)MSTPCRL;
-	int ch = (port->base  - SMR0) >> 3;
+	int ch = (port->mapbase  - SMR0) >> 3;
 	unsigned char mask = 1 << (ch+1);
 
 	if (ctrl == sci_disable) {
@@ -1288,7 +1288,7 @@
 			.line		= 1,
 		},
 		.type		= PORT_SCI,
-		.irqs		= H8S_IRQS1,
+		.irqs		= H8S_SCI_IRQS1,
 		.init_pins	= sci_init_pins_sci,
 	},
 	{
@@ -1302,7 +1302,7 @@
 			.line		= 2,
 		},
 		.type		= PORT_SCI,
-		.irqs		= H8S_IRQS2,
+		.irqs		= H8S_SCI_IRQS2,
 		.init_pins	= sci_init_pins_sci,
 	},
 #else

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-04-08 15:12 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-19 15:53 [PATCH] H8/300 support update Yoshinori Sato
  -- strict thread matches above, loose matches on Subject: below --
2004-04-08 15:11 Yoshinori Sato
2003-10-26 14:27 [PATCH] h8/300 " Yoshinori Sato
2003-10-26 17:23 ` Sam Ravnborg
2003-10-16 16:42 [PATCH] H8/300 " Yoshinori Sato

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).