public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Why not PCMCIA built-in and yenta/i82365 as modules
@ 2000-11-21 22:34 Tobias Ringstrom
  2000-11-22  0:04 ` David Hinds
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Tobias Ringstrom @ 2000-11-21 22:34 UTC (permalink / raw)
  To: dhinds, torvalds; +Cc: Kernel Mailing List

The subject says it all. Is there any particular (technical) reason why I
must have both the generic pcmcia code and the controller support
built-in, or build all of them as modules?

/Tobias


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-21 22:34 Why not PCMCIA built-in and yenta/i82365 as modules Tobias Ringstrom
@ 2000-11-22  0:04 ` David Hinds
  2000-11-22  1:10   ` Albert D. Cahalan
                     ` (2 more replies)
  2000-11-22 10:25 ` Matti Aarnio
  2000-11-22 11:05 ` David Woodhouse
  2 siblings, 3 replies; 11+ messages in thread
From: David Hinds @ 2000-11-22  0:04 UTC (permalink / raw)
  To: Tobias Ringstrom; +Cc: Kernel Mailing List

On Tue, Nov 21, 2000 at 11:34:45PM +0100, Tobias Ringstrom wrote:
> The subject says it all. Is there any particular (technical) reason why I
> must have both the generic pcmcia code and the controller support
> built-in, or build all of them as modules?

Is there a technical reason for this?  Not that I know of; but then I
also cannot think of a good reason for wanting, say, the generic code
built in but the controller support as modules.  I do see reasonable
arguments for all-builtin or all-modules.

-- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22  0:04 ` David Hinds
@ 2000-11-22  1:10   ` Albert D. Cahalan
  2000-11-22  1:28     ` David Hinds
  2000-11-22  1:44   ` Horst von Brand
  2000-11-22 10:54   ` Tobias Ringstrom
  2 siblings, 1 reply; 11+ messages in thread
From: Albert D. Cahalan @ 2000-11-22  1:10 UTC (permalink / raw)
  To: David Hinds; +Cc: Tobias Ringstrom, Kernel Mailing List

>> The subject says it all. Is there any particular (technical) reason
>> why I must have both the generic pcmcia code and the controller
>> support built-in, or build all of them as modules?
>
> Is there a technical reason for this?  Not that I know of; but then I
> also cannot think of a good reason for wanting, say, the generic code
> built in but the controller support as modules.  I do see reasonable
> arguments for all-builtin or all-modules.

Hmmm, I'm not the only one who doesn't like modules depending
on other modules. I suppose this is part paranoia about extra
complexity leading to problems, and part desire to avoid the
module overhead for common code that will most likely get used.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22  1:10   ` Albert D. Cahalan
@ 2000-11-22  1:28     ` David Hinds
  0 siblings, 0 replies; 11+ messages in thread
From: David Hinds @ 2000-11-22  1:28 UTC (permalink / raw)
  To: Albert D. Cahalan; +Cc: Tobias Ringstrom, Kernel Mailing List

On Tue, Nov 21, 2000 at 08:10:38PM -0500, Albert D. Cahalan wrote:
> 
> Hmmm, I'm not the only one who doesn't like modules depending
> on other modules. I suppose this is part paranoia about extra
> complexity leading to problems, and part desire to avoid the
> module overhead for common code that will most likely get used.

Since the core PCMCIA code and the socket driver are equally essential
to do anything useful with PCMCIA, the only reasonable argument I
could see for it would be if you are using one kernel on several
systems, all of which use PCMCIA, but which need different socket
drivers.  So you would save... oh... perhaps 2K by having the PCMCIA
shared code in the kernel.

In any case, I don't think it would require much more than modifying
the Config.in for the PCMCIA drivers to support this.  My own paranoia
would be that you would be adding a bunch of rarely used permutations
of config options, that would rarely be tested.

-- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22  0:04 ` David Hinds
  2000-11-22  1:10   ` Albert D. Cahalan
@ 2000-11-22  1:44   ` Horst von Brand
  2000-11-22  1:50     ` David Hinds
  2000-11-22 10:54   ` Tobias Ringstrom
  2 siblings, 1 reply; 11+ messages in thread
From: Horst von Brand @ 2000-11-22  1:44 UTC (permalink / raw)
  To: David Hinds; +Cc: Tobias Ringstrom, Kernel Mailing List

David Hinds <dhinds@lahmed.stanford.edu> said:

[...]

> Is there a technical reason for this?  Not that I know of; but then I
> also cannot think of a good reason for wanting, say, the generic code
> built in but the controller support as modules.  I do see reasonable
> arguments for all-builtin or all-modules.

If you have a laptop with an assortment of cards, you might want to have
the generic builtin and the cards themselves as modules.

Pretty weak, I know.
-- 
Horst von Brand                             vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Vin~a del Mar, Chile                               +56 32 672616
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22  1:44   ` Horst von Brand
@ 2000-11-22  1:50     ` David Hinds
  0 siblings, 0 replies; 11+ messages in thread
From: David Hinds @ 2000-11-22  1:50 UTC (permalink / raw)
  To: Horst von Brand; +Cc: Tobias Ringstrom, Kernel Mailing List

On Tue, Nov 21, 2000 at 10:44:30PM -0300, Horst von Brand wrote:
> 
> If you have a laptop with an assortment of cards, you might want to have
> the generic builtin and the cards themselves as modules.

No, that's ok, and that's supported with the current config scripts.

The original question was about having the generic code built in, but
the socket driver (yenta) as a module.  The socket driver needs to be
loaded regardless of what cards you're using.  So I think having one
in the kernel and the other as a module is of limited utility.

-- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-21 22:34 Why not PCMCIA built-in and yenta/i82365 as modules Tobias Ringstrom
  2000-11-22  0:04 ` David Hinds
@ 2000-11-22 10:25 ` Matti Aarnio
  2000-11-22 12:29   ` Alan Cox
  2000-11-24 17:06   ` Oliver Xymoron
  2000-11-22 11:05 ` David Woodhouse
  2 siblings, 2 replies; 11+ messages in thread
From: Matti Aarnio @ 2000-11-22 10:25 UTC (permalink / raw)
  To: Tobias Ringstrom; +Cc: dhinds, torvalds, Kernel Mailing List

On Tue, Nov 21, 2000 at 11:34:45PM +0100, Tobias Ringstrom wrote:
> The subject says it all. Is there any particular (technical) reason
> why I must have both the generic pcmcia code and the controller support
> built-in, or build all of them as modules?
> 
> /Tobias

Wasn't there some strange laptop model which had PCMCIA floppy/CDROM,
which are unavailable to bootstrap process, unless PCMCIA is supported
at the booting kernel ?

Or was it about USB floppy at some other laptop?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22  0:04 ` David Hinds
  2000-11-22  1:10   ` Albert D. Cahalan
  2000-11-22  1:44   ` Horst von Brand
@ 2000-11-22 10:54   ` Tobias Ringstrom
  2 siblings, 0 replies; 11+ messages in thread
From: Tobias Ringstrom @ 2000-11-22 10:54 UTC (permalink / raw)
  To: David Hinds; +Cc: Kernel Mailing List

On Tue, 21 Nov 2000, David Hinds wrote:

> On Tue, Nov 21, 2000 at 11:34:45PM +0100, Tobias Ringstrom wrote:
> > The subject says it all. Is there any particular (technical) reason why I
> > must have both the generic pcmcia code and the controller support
> > built-in, or build all of them as modules?
> 
> Is there a technical reason for this?  Not that I know of; but then I
> also cannot think of a good reason for wanting, say, the generic code
> built in but the controller support as modules.  I do see reasonable
> arguments for all-builtin or all-modules.

Maybe more a matter of taste, or real life problems. I wanted a kernel
with yenta and i82365 built-in, but I need to specify extra_sockes to the
i82365. There is no way to do this unless it is a module. Then I thought,
why not have yenta build-in, and i82365 as a module, and discovered that
that was not possible. I know, I should add a __setup thingie to i82365,
but...

As for taste, the generic pcmcia code is not a driver, and it would make
sense to me to have that support in the kernel, not in a module.

/Tobias

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-21 22:34 Why not PCMCIA built-in and yenta/i82365 as modules Tobias Ringstrom
  2000-11-22  0:04 ` David Hinds
  2000-11-22 10:25 ` Matti Aarnio
@ 2000-11-22 11:05 ` David Woodhouse
  2 siblings, 0 replies; 11+ messages in thread
From: David Woodhouse @ 2000-11-22 11:05 UTC (permalink / raw)
  To: David Hinds; +Cc: Tobias Ringstrom, Kernel Mailing List


dhinds@lahmed.stanford.edu said:
>  Is there a technical reason for this?  Not that I know of; but then I
> also cannot think of a good reason for wanting, say, the generic code
> built in but the controller support as modules.  I do see reasonable
> arguments for all-builtin or all-modules.

register_ss_entry() is broken and when you unload a socket driver it'll get 
very confused and leave /proc entries behind. You can clean this up by 
removing pcmcia_core.o and reloading it.

If you have pcmcia_core.o built in and a socket driver as a module, then 
obviously you can't do this without rebooting.

I doubt this was known at the time the Config.in choices were made, but 
it's sufficient reason right now to leave it as it is.

The correct fix is to dump the static socket tables completely, as has
already happened in the standalone code, but I think that should probably
wait for 2.5. In the meantime, this patch ought to work around the problem
for most cases - although it'll still break if you load 2 socket drivers,
then unload them again FIFO.

Index: drivers/pcmcia/cs.c
===================================================================
RCS file: /net/passion/inst/cvs/linux/drivers/pcmcia/Attic/cs.c,v
retrieving revision 1.1.2.28
diff -u -r1.1.2.28 cs.c
--- drivers/pcmcia/cs.c 2000/11/10 14:56:32     1.1.2.28
+++ drivers/pcmcia/cs.c 2000/11/22 10:37:33
@@ -416,12 +416,10 @@
 {
     int i;
 
-    for (i = 0; i < sockets; i++) {
+    for (i = sockets-1; i >= 0; i-- ) {
        socket_info_t *socket = socket_table[i];
        if (socket->ss_entry == ss_entry)
-           pcmcia_unregister_socket (socket);
-       else
-           i++;
+               pcmcia_unregister_socket (socket);
     }
 } /* unregister_ss_entry */
 


--
dwmw2


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22 10:25 ` Matti Aarnio
@ 2000-11-22 12:29   ` Alan Cox
  2000-11-24 17:06   ` Oliver Xymoron
  1 sibling, 0 replies; 11+ messages in thread
From: Alan Cox @ 2000-11-22 12:29 UTC (permalink / raw)
  To: Matti Aarnio; +Cc: Tobias Ringstrom, dhinds, torvalds, Kernel Mailing List

> Wasn't there some strange laptop model which had PCMCIA floppy/CDROM,
> which are unavailable to bootstrap process, unless PCMCIA is supported
> at the booting kernel ?

I have seen a couple where the floppy/cdrom are supported by the bios but
then vanish. Generally they are left mapped which means if you know the
right ide= incantation it works.

Remember you can solve this with an initrd. 

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

* Re: Why not PCMCIA built-in and yenta/i82365 as modules
  2000-11-22 10:25 ` Matti Aarnio
  2000-11-22 12:29   ` Alan Cox
@ 2000-11-24 17:06   ` Oliver Xymoron
  1 sibling, 0 replies; 11+ messages in thread
From: Oliver Xymoron @ 2000-11-24 17:06 UTC (permalink / raw)
  To: Matti Aarnio; +Cc: Tobias Ringstrom, dhinds, torvalds, Kernel Mailing List

On Wed, 22 Nov 2000, Matti Aarnio wrote:

> On Tue, Nov 21, 2000 at 11:34:45PM +0100, Tobias Ringstrom wrote:
> > The subject says it all. Is there any particular (technical) reason
> > why I must have both the generic pcmcia code and the controller support
> > built-in, or build all of them as modules?
> > 
> > /Tobias
> 
> Wasn't there some strange laptop model which had PCMCIA floppy/CDROM,
> which are unavailable to bootstrap process, unless PCMCIA is supported
> at the booting kernel ?
> 
> Or was it about USB floppy at some other laptop?

Yes and yes. However, you still would need the controller specific code
built-in.

The USB floppy situation is uglier still. When I tried to put Debian on my
VAIO from floppy, I discovered that even with a USB-enabled kernel, the
floppy wasn't available in time to mount /. 

Approaches that did work, in case anyone is curious, were using loadlin
with FreeDOS (incredibly slow) to preload the second floppy via BIOS, or
using syslinux and a custom mini-kernel and initrd image crammed onto a
single floppy.

--
 "Love the dolphins," she advised him. "Write by W.A.S.T.E.." 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

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

end of thread, other threads:[~2000-11-24 17:37 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2000-11-21 22:34 Why not PCMCIA built-in and yenta/i82365 as modules Tobias Ringstrom
2000-11-22  0:04 ` David Hinds
2000-11-22  1:10   ` Albert D. Cahalan
2000-11-22  1:28     ` David Hinds
2000-11-22  1:44   ` Horst von Brand
2000-11-22  1:50     ` David Hinds
2000-11-22 10:54   ` Tobias Ringstrom
2000-11-22 10:25 ` Matti Aarnio
2000-11-22 12:29   ` Alan Cox
2000-11-24 17:06   ` Oliver Xymoron
2000-11-22 11:05 ` David Woodhouse

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