This driver has problems all over the place and needs
to be be disabled (or deleted)
In file included from include/linux/mca.h:140,
from drivers/block/ps2esdi.c:42:
include/linux/mca-legacy.h:10:2: warning: #warning "MCA legacy - please
move your driver to the new sysfs api"
drivers/block/ps2esdi.c:186: error: redefinition of `init_module'
drivers/block/ps2esdi.c:172: error: `init_module' previously defined here
drivers/block/ps2esdi.c: In function `init_module':
drivers/block/ps2esdi.c:190: warning: initialization from incompatible
pointer type
drivers/block/ps2esdi.c:193: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c:193: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c:194: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c:197: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c:198: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c:200: error: dereferencing pointer to incomplete type
drivers/block/ps2esdi.c: In function `cleanup_module':
drivers/block/ps2esdi.c:216: error: `i' undeclared (first use in this
function)
drivers/block/ps2esdi.c:216: error: (Each undeclared identifier is
reported only once
drivers/block/ps2esdi.c:216: error: for each function it appears in.)
make[2]: *** [drivers/block/ps2esdi.o] Error 1
diff -Nru a/drivers/block/Kconfig b/drivers/block/Kconfig
--- a/drivers/block/Kconfig Wed Sep 10 21:15:51 2003
+++ b/drivers/block/Kconfig Wed Sep 10 21:15:51 2003
@@ -44,7 +44,7 @@
config BLK_DEV_PS2
tristate "PS/2 ESDI hard disk support"
- depends on MCA
+ depends on MCA && BROKEN
help
Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
hard disk.
On Wed, Sep 10, 2003 at 09:20:57PM -0700, Stephen Hemminger wrote:
> This driver has problems all over the place and needs
> to be be disabled (or deleted)
>
> diff -Nru a/drivers/block/Kconfig b/drivers/block/Kconfig
> --- a/drivers/block/Kconfig Wed Sep 10 21:15:51 2003
> +++ b/drivers/block/Kconfig Wed Sep 10 21:15:51 2003
> @@ -44,7 +44,7 @@
>
> config BLK_DEV_PS2
> tristate "PS/2 ESDI hard disk support"
> - depends on MCA
> + depends on MCA && BROKEN
> help
> Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
> hard disk.
Or just the following, since these problems are actually a couple of
typos on the modular side and misuse of module_init():
diff -urN B5-misc4/drivers/block/Kconfig B5-current/drivers/block/Kconfig
--- B5-misc4/drivers/block/Kconfig Mon Jul 28 11:13:03 2003
+++ B5-current/drivers/block/Kconfig Thu Sep 11 01:16:22 2003
@@ -44,7 +44,7 @@
config BLK_DEV_PS2
tristate "PS/2 ESDI hard disk support"
- depends on MCA
+ depends on MCA && MCA_LEGACY
help
Say Y here if you have a PS/2 machine with a MCA bus and an ESDI
hard disk.
diff -urN B5-misc4/drivers/block/ps2esdi.c B5-current/drivers/block/ps2esdi.c
--- B5-misc4/drivers/block/ps2esdi.c Sat Aug 9 02:20:46 2003
+++ B5-current/drivers/block/ps2esdi.c Thu Sep 11 01:18:39 2003
@@ -62,8 +62,6 @@
static void reset_ctrl(void);
-int ps2esdi_init(void);
-
static int ps2esdi_geninit(void);
static void do_ps2esdi_request(request_queue_t * q);
@@ -141,7 +139,7 @@
static struct gendisk *ps2esdi_gendisk[2];
/* initialization routine called by ll_rw_blk.c */
-int __init ps2esdi_init(void)
+static int __init ps2esdi_init(void)
{
int error = 0;
@@ -169,9 +167,11 @@
return 0;
} /* ps2esdi_init */
+#ifndef MODULE
+
module_init(ps2esdi_init);
-#ifdef MODULE
+#else
static int cyl[MAX_HD] = {-1,-1};
static int head[MAX_HD] = {-1, -1};
@@ -187,7 +187,7 @@
int drive;
for(drive = 0; drive < MAX_HD; drive++) {
- struct ps2_esdi_i_struct *info = &ps2esdi_info[drive];
+ struct ps2esdi_i_struct *info = &ps2esdi_info[drive];
if (cyl[drive] != -1) {
info->cyl = info->lzone = cyl[drive];
@@ -204,6 +204,7 @@
void
cleanup_module(void) {
+ int i;
if(ps2esdi_slot) {
mca_mark_as_unused(ps2esdi_slot);
mca_set_adapter_procfn(ps2esdi_slot, NULL, NULL);