public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Make number of IDE interfaces configurable
@ 2006-05-12 22:29 Matt Mackall
  2006-05-16 16:02 ` Adrian Bunk
  0 siblings, 1 reply; 5+ messages in thread
From: Matt Mackall @ 2006-05-12 22:29 UTC (permalink / raw)
  To: akpm, B.Zolnierkiewicz; +Cc: liux-ide, linux-kernel

Make IDE_HWIFS configurable if EMBEDDED

This lets us lop as much as 16k off an x86 build. It's a little ugly,
but it's dead simple. Note the fix for HWIFS < 2.

Sizing interfaces dynamically unfortunately turns out to be pretty
major surgery.

add/remove: 0/1 grow/shrink: 0/11 up/down: 0/-16182 (-16182)
function                                     old     new   delta
ide_hwifs                                  16920    1692  -15228
init_irq                                    1113     750    -363
ideprobe_init                                283     138    -145
ide_pci_setup_ports                         1329    1193    -136
save_match                                    85       -     -85
ide_register_hw_with_fixup                   367     287     -80
ide_setup                                   1364    1308     -56
is_chipset_set                                40       4     -36
create_proc_ide_interfaces                   225     205     -20
init_ide_data                                 84      67     -17
ide_probe_for_cmd640x                       1198    1183     -15
ide_unregister                              1452    1451      -1

Signed-off-by: Matt Mackall <mpm@selenic.com>

Index: 2.6/drivers/ide/Kconfig
===================================================================
--- 2.6.orig/drivers/ide/Kconfig	2006-04-20 17:01:05.000000000 -0500
+++ 2.6/drivers/ide/Kconfig	2006-05-11 15:10:58.000000000 -0500
@@ -54,7 +54,7 @@ if IDE
 
 config IDE_MAX_HWIFS
 	int "Max IDE interfaces"
-	depends on ALPHA || SUPERH || IA64
+	depends on ALPHA || SUPERH || IA64 || EMBEDDED
 	default 4
 	help
 	  This is the maximum number of IDE hardware interfaces that will
Index: 2.6/drivers/ide/setup-pci.c
===================================================================
--- 2.6.orig/drivers/ide/setup-pci.c	2006-05-11 15:07:32.000000000 -0500
+++ 2.6/drivers/ide/setup-pci.c	2006-05-11 15:13:51.000000000 -0500
@@ -102,7 +102,7 @@ static ide_hwif_t *ide_match_hwif(unsign
 				return hwif;	/* pick an unused entry */
 		}
 	}
-	for (h = 0; h < 2; ++h) {
+	for (h = 0; h < 2 && h < MAX_HWIFS; ++h) {
 		hwif = ide_hwifs + h;
 		if (hwif->chipset == ide_unknown)
 			return hwif;	/* pick an unused entry */
Index: 2.6/include/linux/ide.h
===================================================================
--- 2.6.orig/include/linux/ide.h	2006-05-11 15:07:32.000000000 -0500
+++ 2.6/include/linux/ide.h	2006-05-12 14:01:53.000000000 -0500
@@ -252,7 +252,8 @@ static inline void ide_std_init_ports(hw
 
 #include <asm/ide.h>
 
-#ifndef MAX_HWIFS
+#if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED)
+#undef MAX_HWIFS
 #define MAX_HWIFS	CONFIG_IDE_MAX_HWIFS
 #endif
 

-- 
Mathematics is the supreme nostalgia of our time.

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

* Re: [PATCH] Make number of IDE interfaces configurable
  2006-05-12 22:29 [PATCH] Make number of IDE interfaces configurable Matt Mackall
@ 2006-05-16 16:02 ` Adrian Bunk
  2006-05-16 16:29   ` Matt Mackall
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2006-05-16 16:02 UTC (permalink / raw)
  To: Matt Mackall; +Cc: akpm, B.Zolnierkiewicz, liux-ide, linux-kernel

On Fri, May 12, 2006 at 05:29:52PM -0500, Matt Mackall wrote:
>...
> --- 2.6.orig/include/linux/ide.h	2006-05-11 15:07:32.000000000 -0500
> +++ 2.6/include/linux/ide.h	2006-05-12 14:01:53.000000000 -0500
> @@ -252,7 +252,8 @@ static inline void ide_std_init_ports(hw
>  
>  #include <asm/ide.h>
>  
> -#ifndef MAX_HWIFS
> +#if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED)
> +#undef MAX_HWIFS
>  #define MAX_HWIFS	CONFIG_IDE_MAX_HWIFS
>  #endif

Why do you need this?

cu
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	[flat|nested] 5+ messages in thread

* Re: [PATCH] Make number of IDE interfaces configurable
  2006-05-16 16:02 ` Adrian Bunk
@ 2006-05-16 16:29   ` Matt Mackall
  2006-05-16 16:40     ` Adrian Bunk
  0 siblings, 1 reply; 5+ messages in thread
From: Matt Mackall @ 2006-05-16 16:29 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: akpm, B.Zolnierkiewicz, liux-ide, linux-kernel

On Tue, May 16, 2006 at 06:02:50PM +0200, Adrian Bunk wrote:
> On Fri, May 12, 2006 at 05:29:52PM -0500, Matt Mackall wrote:
> >...
> > --- 2.6.orig/include/linux/ide.h	2006-05-11 15:07:32.000000000 -0500
> > +++ 2.6/include/linux/ide.h	2006-05-12 14:01:53.000000000 -0500
> > @@ -252,7 +252,8 @@ static inline void ide_std_init_ports(hw
> >  
> >  #include <asm/ide.h>
> >  
> > -#ifndef MAX_HWIFS
> > +#if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED)
> > +#undef MAX_HWIFS
> >  #define MAX_HWIFS	CONFIG_IDE_MAX_HWIFS
> >  #endif
> 
> Why do you need this?

Doesn't work without it?

Most platforms define MAX_HWIFS.

-- 
Mathematics is the supreme nostalgia of our time.

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

* Re: [PATCH] Make number of IDE interfaces configurable
  2006-05-16 16:29   ` Matt Mackall
@ 2006-05-16 16:40     ` Adrian Bunk
  2006-05-16 19:13       ` Nick Warne
  0 siblings, 1 reply; 5+ messages in thread
From: Adrian Bunk @ 2006-05-16 16:40 UTC (permalink / raw)
  To: Matt Mackall; +Cc: akpm, B.Zolnierkiewicz, linux-ide, linux-kernel

On Tue, May 16, 2006 at 11:29:34AM -0500, Matt Mackall wrote:
> On Tue, May 16, 2006 at 06:02:50PM +0200, Adrian Bunk wrote:
> > On Fri, May 12, 2006 at 05:29:52PM -0500, Matt Mackall wrote:
> > >...
> > > --- 2.6.orig/include/linux/ide.h	2006-05-11 15:07:32.000000000 -0500
> > > +++ 2.6/include/linux/ide.h	2006-05-12 14:01:53.000000000 -0500
> > > @@ -252,7 +252,8 @@ static inline void ide_std_init_ports(hw
> > >  
> > >  #include <asm/ide.h>
> > >  
> > > -#ifndef MAX_HWIFS
> > > +#if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED)
> > > +#undef MAX_HWIFS
> > >  #define MAX_HWIFS	CONFIG_IDE_MAX_HWIFS
> > >  #endif
> > 
> > Why do you need this?
> 
> Doesn't work without it?
> 
> Most platforms define MAX_HWIFS.

OK, now I got it.

Setting this value is sometimes done in heder files and sometimes 
done in the Kconfig file.

That is extremely ugly.

Bart, would you accept a patch to set in in the Kconfig file on all 
architectures?

cu
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	[flat|nested] 5+ messages in thread

* Re: Make number of IDE interfaces configurable
  2006-05-16 16:40     ` Adrian Bunk
@ 2006-05-16 19:13       ` Nick Warne
  0 siblings, 0 replies; 5+ messages in thread
From: Nick Warne @ 2006-05-16 19:13 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: Matt Mackall, akpm, B.Zolnierkiewicz, linux-ide, linux-kernel

I submitted a patch ages ago similar (but differnet ;-) ) to this:

http://lkml.org/lkml/2005/6/25/69

I couldn't/don't see why I get six ide probes when I know I have only
2 IDE interfaces - I thought it would be better to stick to default
_unless_ the kernel builder knew otherwise and specified the amount.

Alan Cox didn't like it as it introduces more config unnecessary config options.

But it would be nice though if this could be included with that enhancement too.

Nick

On 16/05/06, Adrian Bunk <bunk@stusta.de> wrote:
> On Tue, May 16, 2006 at 11:29:34AM -0500, Matt Mackall wrote:
> > On Tue, May 16, 2006 at 06:02:50PM +0200, Adrian Bunk wrote:
> > > On Fri, May 12, 2006 at 05:29:52PM -0500, Matt Mackall wrote:
> > > >...
> > > > --- 2.6.orig/include/linux/ide.h	2006-05-11 15:07:32.000000000 -0500
> > > > +++ 2.6/include/linux/ide.h	2006-05-12 14:01:53.000000000 -0500
> > > > @@ -252,7 +252,8 @@ static inline void ide_std_init_ports(hw
> > > >
> > > >  #include <asm/ide.h>
> > > >
> > > > -#ifndef MAX_HWIFS
> > > > +#if !defined(MAX_HWIFS) || defined(CONFIG_EMBEDDED)
> > > > +#undef MAX_HWIFS
> > > >  #define MAX_HWIFS	CONFIG_IDE_MAX_HWIFS
> > > >  #endif
> > >
> > > Why do you need this?
> >
> > Doesn't work without it?
> >
> > Most platforms define MAX_HWIFS.
>
> OK, now I got it.
>
> Setting this value is sometimes done in heder files and sometimes
> done in the Kconfig file.
>
> That is extremely ugly.
>
> Bart, would you accept a patch to set in in the Kconfig file on all
> architectures?
>
> cu
> 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
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>

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

end of thread, other threads:[~2006-05-16 19:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-05-12 22:29 [PATCH] Make number of IDE interfaces configurable Matt Mackall
2006-05-16 16:02 ` Adrian Bunk
2006-05-16 16:29   ` Matt Mackall
2006-05-16 16:40     ` Adrian Bunk
2006-05-16 19:13       ` Nick Warne

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