Subject: ide-m8xx as a MODULE

From: Steven Scholz <[email-masked]>
Date: Wed, 10 Apr 2002 15:21:09 +0200

Hi there,

I tried to make the MPC8xx IDE Driver loadable as a module (nevermind if
this is useful or not).

It is working - at least in my configuration.

BUT:

Apparently I am too stupid to understand all this Makefile stuff. That's
why I changed the drivers/ide/Makefile to look like this now:

===================================================================
RCS file: /home/cvsroot/linux-2.4.18/drivers/ide/Makefile,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile
--- drivers/ide/Makefile        2002/04/05 11:46:19     1.1.1.1
+++ drivers/ide/Makefile        2002/04/10 12:59:34
@@ -65,7 +65,15 @@
 ide-obj-$(CONFIG_BLK_DEV_TRM290)       += trm290.o
 ide-obj-$(CONFIG_BLK_DEV_UMC8672)      += umc8672.o
 ide-obj-$(CONFIG_BLK_DEV_VIA82CXXX)    += via82cxxx.o
-ide-obj-$(CONFIG_BLK_DEV_MPC8xx_IDE)   += ide-m8xx.o
+
+ifeq ($(CONFIG_BLK_DEV_MPC8xx_IDE),y)
+       ide-obj-$(CONFIG_BLK_DEV_MPC8xx_IDE)    += ide-m8xx.o
+endif
+
+ifeq ($(CONFIG_BLK_DEV_MPC8xx_IDE),m)
+       obj-$(CONFIG_BLK_DEV_MPC8xx_IDE)        += ide-m8xx.o
+endif
+

 # The virtualised raid layers MUST come after the ide itself or bad
stuff
 # will happen.
Otherwiser eihter there problems during compile or ide-m8xx.o is not
built at all.
I am pretty sure that there is a better i.e. correct way to do this. Any
hints?

Another points is:

When I unload the module and call ide_unregister(0) then the function
m8xx_ide_init_hwif_ports() is called again!
Should I released the region which is ioremaped the first time
m8xx_ide_init_hwif_ports() gets called?

	if (!ide_base) {
...
		ide_base=(unsigned long)ioremap(ide_phy_base,
						ide_phy_end-ide_phy_base);
...
	}

Thanks a million,

Steven

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/