[Fwd: Re: [parisc-linux] warning: minor abi change]

Joel Soete joel.soete@tiscali.be
Sat, 28 Jun 2003 10:35:25 +0000


-------- Original Message --------
Subject: 	Re: [parisc-linux] warning: minor abi change
Date: 	Fri, 27 Jun 2003 09:15:46 -0600
From: 	Grant Grundler <grundler@parisc-linux.org>
To: 	Joel Soete <jsoe0708@tiscali.be>
References: 	<20030626170628.GO451@parcelfarce.linux.theplanet.co.uk> 
<3ED70CF10000AD97@ocpmta2.freegates.net>



On Fri, Jun 27, 2003 at 04:41:13PM +0200, Joel Soete wrote:
> But mainly, as promise I co 2.4.21-p0 and copare with my merge and notice
> some requested add patch:
> diff -NaurX dontdiff linux-2.4.21-pa0/drivers/ide/pci/ns87415.c linux-2.4.21-rc8-pa35/drivers/ide/pci/ns87415.c

This is for c3000/j5000/et al workstations.
NS "SuckyIO" multifunction chip includes ns87415 compatible IDE controller.

...
> +#define __save_and_cli(x)  do { __save_flags(x); __cli(); } while(0);
> +#define __save_and_sti(x)  do { __save_flags(x); __sti(); } while(0);
> +

This is something different - but I'd think this is needed too.
Make sure this isn't a merge error (ie see if it's defined elsewhere).

> btw I also test following stuff which seems to works too:
> diff -NaurX dontdiff linux-2.4.21-pa0/include/asm-parisc/system_irqsave.h.mine
> linux-2.4.21-rc8-pa35/include/asm-parisc/system_irqsave.h.mine
> --- linux-2.4.21-pa0/include/asm-parisc/system_irqsave.h.mine	1970-01-01
> 01:00:00.000000000 +0100
> +++ linux-2.4.21-rc8-pa35/include/asm-parisc/system_irqsave.h.mine	2003-06-27
> 15:50:11.000000000 +0200
> @@ -0,0 +1,21 @@
> +#ifndef __PARISC_SYSTEM_IRQSAVE_H
> +#define __PARISC_SYSTEM_IRQSAVE_H
> +
> +/* interrupt control */
> +#define __save_flags(x)	__asm__ __volatile__("ssm 0, %0" : "=r" (x) : :
> "memory")
> +#define __restore_flags(x) __asm__ __volatile__("mtsm %0" : : "r" (x) :
> "memory")
> +#define __cli()	__asm__ __volatile__("rsm %0,%%r0\n" : : "i" (PSW_I) : "memory"
> )
> +#define __sti()	__asm__ __volatile__("ssm %0,%%r0\n" : : "i" (PSW_I) : "memory"
> )
> +
> +#define __save_and_cli(x)  do { __save_flags(x); __cli(); } while(0);
> +#define __save_and_sti(x)  do { __save_flags(x); __sti(); } while(0);
> +
> +/* For spinlocks etc */
> +#define local_irq_save(x)  __save_and_cli(x)
> +#define local_irq_set(x)   __save_and_sti(x)
> +
> +#define local_irq_restore(x) __restore_flags(x)
> +#define local_irq_disable() __cli()
> +#define local_irq_enable()  __sti()
> +
> +#endif /* __PARISC_SYSTEM_IRQSAVE_H */


This looks more familiar to me..but I'd need to review the whole tree and
can't do that right now.

> +0200
> +++ linux-2.4.21-rc8-pa35/arch/parisc/kernel/processor.c	2002-12-20 15:56:19.000000000
> +0100
> @@ -77,8 +77,6 @@
>  	unsigned long txn_addr;
>  	unsigned long cpuid;
>  	struct cpuinfo_parisc *p;
> -	extern struct irq_region_ops cpu_irq_ops; /* arch/parisc...irq.c */
> -	extern struct irqaction cpu_irq_actions[]; /* arch/parisc...irq.c */


If they are no longer referenced, that's fine.
I didn't really want these published in a header file if they are still
referenced.  But it's not a big deal if they are.

...
> - Grant what do you think about this:
> 
> diff -NaurX dontdiff linux-2.4.21-pa0/drivers/sound/ad1889.c linux-2.4.21-rc8-pa35/drivers/sound/ad1889.c
> --- linux-2.4.21-pa0/drivers/sound/ad1889.c	2003-06-27 07:46:37.000000000
> +0200
> +++ linux-2.4.21-rc8-pa35/drivers/sound/ad1889.c	2003-05-08 22:43:44.000000000
...

That's fine with me.
If AD had published decent specs for this chip, we could actually
get it workng. I only hacked around on it enough to get DMA sort of
working and *some* sounds came out of it.

> - another cleanup (don't remember why :-?)
...
> Comments:
> 
> - The first changes (xxx_bad(void)) was agreed earlier by Randolph but never
> comited (?). The goal is to breack the build of the kernel and so avoid the
> risk to boot one (as I do when I test evms or [xj]fs which required __put_XXX_asm64)
> which can unexpected damages

yes - that's good

> - The second replace Randolph __put_XXX_asm64(); it does the same job and
> avoid severall warning at compile time as:

good too

I need the above changes in a format that I apply with "patch -p1 < diff"
(or -p0) if you want me to commit them.

thanks,
grant