Re: [PATCH] ps2esdi broken

From: viro
Date: Thu Sep 11 2003 - 00:39:04 EST


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);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/