linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Minor "cleanup" patches for 2.4.5-ac kernels
@ 2001-06-13  0:38 Michal Jaegermann
  2001-06-13  1:03 ` Jeff Garzik
  2001-06-14 18:05 ` Alan Cox
  0 siblings, 2 replies; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-13  0:38 UTC (permalink / raw)
  To: linux-kernel; +Cc: alan

Here are some small, but in times important, "gotchas" in current
2.4.5-ac kernels.

When compiling SMP 'udelay' in current drivers/pci/quirks.c expands to:

   __udelay((15), cpu_data[(current->processor)]...

and a type for 'current' is not known, at least on alpha, so
the following seems to be in order:

--- linux-2.4.5ac/drivers/pci/quirks.c~	Tue Jun 12 16:31:12 2001
+++ linux-2.4.5ac/drivers/pci/quirks.c	Tue Jun 12 17:13:18 2001
@@ -18,6 +18,7 @@
 #include <linux/pci.h>
 #include <linux/init.h>
 #include <linux/delay.h>
+#include <linux/sched.h>
 
 #undef DEBUG
 
There is no problem if SMP is not configured.

This one is replacing a symbol in sg.c to one which is exported
so 'sg.o' can be compiled as a valid module.

--- linux-2.4.5ac/drivers/scsi/sg.c~	Tue May 29 17:52:09 2001
+++ linux-2.4.5ac/drivers/scsi/sg.c	Tue May 29 18:40:17 2001
@@ -2603,7 +2603,7 @@
     num = (count < 10) ? count : 10;
     copy_from_user(buff, buffer, num);
     buff[num] = '\0';
-    sg_allow_dio = simple_strtol(buff, 0, 10) ? 1 : 0;
+    sg_allow_dio = simple_strtoul(buff, 0, 10) ? 1 : 0;
     return count;
 }
 
 
And this one, proposed already some few times by Ivan Kokshaysky,

--- 2.4.5-ac11/include/linux/binfmts.h	Mon Jun  4 14:19:00 2001
+++ linux/include/linux/binfmts.h	Mon Jun  4 20:24:50 2001
@@ -32,6 +32,9 @@ struct linux_binprm{
 	unsigned long loader, exec;
 };
 
+/* Forward declaration */
+struct mm_struct;
+
 /*
  * This structure defines the functions that are used to load the binary formats that
  * linux accepts.

kills a flood of warnings (at least on Alpha) about 'mm_struct'
defined on a parameter list.

Are there any reasons which would make any of those "bad"?

  Michal

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

* Re: Minor "cleanup" patches for 2.4.5-ac kernels
  2001-06-13  0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
@ 2001-06-13  1:03 ` Jeff Garzik
  2001-06-13  2:04   ` Michal Jaegermann
  2001-06-14 18:05 ` Alan Cox
  1 sibling, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2001-06-13  1:03 UTC (permalink / raw)
  To: Michal Jaegermann; +Cc: linux-kernel, alan

Michal Jaegermann wrote:
> --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> +++ linux-2.4.5ac/drivers/pci/quirks.c  Tue Jun 12 17:13:18 2001
> @@ -18,6 +18,7 @@
>  #include <linux/pci.h>
>  #include <linux/init.h>
>  #include <linux/delay.h>
> +#include <linux/sched.h>
> 
>  #undef DEBUG
> 
> There is no problem if SMP is not configured.

no the better place for this is include/asm-i386/delay.h.  Otherwise you
wind up solving the same problem over and over again in each similar
driver.

I --just-- went through on Alpha, and included linux/sched.h in
include/asm-alpha/delay.h.  Not an hour ago :)  Then Andrea suggested to
simply un-inline udelay, which solved the compile problem in an even
better way.  (we cannot un-inline udelay on x86 I think)


> --- 2.4.5-ac11/include/linux/binfmts.h  Mon Jun  4 14:19:00 2001
> +++ linux/include/linux/binfmts.h       Mon Jun  4 20:24:50 2001
> @@ -32,6 +32,9 @@ struct linux_binprm{
>         unsigned long loader, exec;
>  };
> 
> +/* Forward declaration */
> +struct mm_struct;
> +

I added this one to the MDK kernel compile.  I think it is an 'ac'
thing, I don't get these warnings on vanilla 2.4.[56]-pre.

-- 
Jeff Garzik      | Andre the Giant has a posse.
Building 1024    |
MandrakeSoft     |

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

* Re: Minor "cleanup" patches for 2.4.5-ac kernels
  2001-06-13  1:03 ` Jeff Garzik
@ 2001-06-13  2:04   ` Michal Jaegermann
  2001-06-14 13:40     ` Jeff Garzik
  0 siblings, 1 reply; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-13  2:04 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: linux-kernel, alan

On Tue, Jun 12, 2001 at 09:03:23PM -0400, Jeff Garzik wrote:
> Michal Jaegermann wrote:
> > --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> > +++ linux-2.4.5ac/drivers/pci/quirks.c  Tue Jun 12 17:13:18 2001
> > @@ -18,6 +18,7 @@
> >  #include <linux/pci.h>
> >  #include <linux/init.h>
> >  #include <linux/delay.h>
> > +#include <linux/sched.h>
> > 
> >  #undef DEBUG
> > 
> > There is no problem if SMP is not configured.
> 
> no the better place for this is include/asm-i386/delay.h.

You mean to put "#include <linux/sched.h>" into include/linux/delay.h?
Otherwise this will not help very much on Alpha when I run into
the problem; or other architectures. :-)  Works for me and indeed
it may be a better place.

> Otherwise you
> wind up solving the same problem over and over again in each similar
> driver.

'quirks.c' was the only trouble spot which tripped compilation
after changes to it.  So I kept my patch local.

> I --just-- went through on Alpha, and included linux/sched.h in
> include/asm-alpha/delay.h.  Not an hour ago :)

This was probably this hour when I was looking for that error. :-)

> Then Andrea suggested to
> simply un-inline udelay, which solved the compile problem in an even
> better way.  (we cannot un-inline udelay on x86 I think)

How about other architectures?  Each will need an individual treatment?

> > --- 2.4.5-ac11/include/linux/binfmts.h  Mon Jun  4 14:19:00 2001
> > +++ linux/include/linux/binfmts.h       Mon Jun  4 20:24:50 2001
> > @@ -32,6 +32,9 @@ struct linux_binprm{
> >         unsigned long loader, exec;
> >  };
> > 
> > +/* Forward declaration */
> > +struct mm_struct;
> > +
> 
> I added this one to the MDK kernel compile.  I think it is an 'ac'
> thing, I don't get these warnings on vanilla 2.4.[56]-pre.

Indeed it is.  All three actually are (as I wrote).  The last one,
if not present, has a very unpleasant effect of drowning compilation
warnings in a flood as wailing happens in a header which is included
mostly everywhere.  It is very easy then to miss something where one
should pay a closer attention.

I suggested earlier some other patch for that but Alan apparently
did not like that one.  Quite possibly he was right.

  Michal


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

* Re: Minor "cleanup" patches for 2.4.5-ac kernels
  2001-06-13  2:04   ` Michal Jaegermann
@ 2001-06-14 13:40     ` Jeff Garzik
  0 siblings, 0 replies; 6+ messages in thread
From: Jeff Garzik @ 2001-06-14 13:40 UTC (permalink / raw)
  To: Michal Jaegermann; +Cc: linux-kernel, alan

Michal Jaegermann wrote:
> 
> On Tue, Jun 12, 2001 at 09:03:23PM -0400, Jeff Garzik wrote:
> > Michal Jaegermann wrote:
> > > --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> > > +++ linux-2.4.5ac/drivers/pci/quirks.c  Tue Jun 12 17:13:18 2001
> > > @@ -18,6 +18,7 @@
> > >  #include <linux/pci.h>
> > >  #include <linux/init.h>
> > >  #include <linux/delay.h>
> > > +#include <linux/sched.h>
> > >
> > >  #undef DEBUG
> > >
> > > There is no problem if SMP is not configured.
> >
> > no the better place for this is include/asm-i386/delay.h.
> 
> You mean to put "#include <linux/sched.h>" into include/linux/delay.h?
> Otherwise this will not help very much on Alpha when I run into
> the problem; or other architectures. :-)  Works for me and indeed
> it may be a better place.

This is an architecture-level thing.  include/asm-$arch/delay not
include/linux/delay.h

Currently, Alpha does not need to include sched.h at all...


> > Then Andrea suggested to
> > simply un-inline udelay, which solved the compile problem in an even
> > better way.  (we cannot un-inline udelay on x86 I think)
> 
> How about other architectures?  Each will need an individual treatment?

Each arch will need individual treatment, but each alpha should decide
for itself whether or not to un-inline udelay.  It may not be possible
on some archs.

-- 
Jeff Garzik      | Andre the Giant has a posse.
Building 1024    |
MandrakeSoft     |

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

* Re: Minor "cleanup" patches for 2.4.5-ac kernels
  2001-06-13  0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
  2001-06-13  1:03 ` Jeff Garzik
@ 2001-06-14 18:05 ` Alan Cox
  2001-06-14 18:30   ` Michal Jaegermann
  1 sibling, 1 reply; 6+ messages in thread
From: Alan Cox @ 2001-06-14 18:05 UTC (permalink / raw)
  To: Michal Jaegermann; +Cc: linux-kernel, alan

> --- linux-2.4.5ac/drivers/pci/quirks.c~	Tue Jun 12 16:31:12 2001
> +++ linux-2.4.5ac/drivers/pci/quirks.c	Tue Jun 12 17:13:18 2001
> @@ -18,6 +18,7 @@
>  #include <linux/pci.h>
>  #include <linux/init.h>
>  #include <linux/delay.h>
> +#include <linux/sched.h>

Ok

>  
> This one is replacing a symbol in sg.c to one which is exported
> so 'sg.o' can be compiled as a valid module.

Export the right symbol on Alpha ?

>  
> +/* Forward declaration */
> +struct mm_struct;
> +

Ok

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

* Re: Minor "cleanup" patches for 2.4.5-ac kernels
  2001-06-14 18:05 ` Alan Cox
@ 2001-06-14 18:30   ` Michal Jaegermann
  0 siblings, 0 replies; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-14 18:30 UTC (permalink / raw)
  To: Alan Cox; +Cc: Michal Jaegermann, linux-kernel

On Thu, Jun 14, 2001 at 07:05:55PM +0100, Alan Cox wrote:
> > --- linux-2.4.5ac/drivers/pci/quirks.c~	Tue Jun 12 16:31:12 2001
> > +++ linux-2.4.5ac/drivers/pci/quirks.c	Tue Jun 12 17:13:18 2001
> > @@ -18,6 +18,7 @@
> >  #include <linux/pci.h>
> >  #include <linux/init.h>
> >  #include <linux/delay.h>
> > +#include <linux/sched.h>
> 
> Ok

Jeff Garzik had some comments here and other, architecture dependent,
propositions.

> >  
> > This one is replacing a symbol in sg.c to one which is exported
> > so 'sg.o' can be compiled as a valid module.
> 
> Export the right symbol on Alpha ?

I do not see how this one is Alpha specific.  Patches from 'ac' series
added one reference to 'simple_strtol' in drivers/scsi/sg.c. Sure, one
more symbol can be exported, but results of this call are used only as a
zero/non-zero flag so an already exported 'simple_strtoul' will serve
instead (or we have an extra export for _one_ call in the whole kernel).

  Michal

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

end of thread, other threads:[~2001-06-14 18:30 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-13  0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
2001-06-13  1:03 ` Jeff Garzik
2001-06-13  2:04   ` Michal Jaegermann
2001-06-14 13:40     ` Jeff Garzik
2001-06-14 18:05 ` Alan Cox
2001-06-14 18:30   ` Michal Jaegermann

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).