diff --git a/drivers/zio-gpio.c b/drivers/zio-gpio.c
index 578d9b89813e6c9ee007d5597ae65bc5e102168a..7240d28df84eb374d355bc19ac4e3d5b15e2a624 100644
--- a/drivers/zio-gpio.c
+++ b/drivers/zio-gpio.c
@@ -22,18 +22,10 @@
 #include <linux/zio-buffer.h>
 
 #define ZGPIO_NOUT 8
-#define ZGPIO_NIN 8
 
-/* Output and input bits are selected at load time */
 static int zgp_out[ZGPIO_NOUT];
 static int zgp_nout;
 module_param_array_named(out, zgp_out, int, &zgp_nout, 0444);
-static int zgp_in[ZGPIO_NIN];
-static int zgp_nin;
-module_param_array_named(in, zgp_in, int, &zgp_nin, 0444);
-
-ZIO_PARAM_TRIGGER(zgp_trigger);
-ZIO_PARAM_BUFFER(zgp_buffer);
 
 static int zgp_output(struct zio_cset *cset)
 {
@@ -67,12 +59,6 @@ static struct zio_cset zgp_cset[] = {
 		.ssize =	1,
 		.flags =	ZIO_DIR_OUTPUT | ZCSET_TYPE_ANALOG,
 	},
-};
-	{
-		.n_chan =	1,
-		.ssize =	1,
-		.flags =	ZIO_DIR_INPUT | ZCSET_TYPE_ANALOG,
-	},
 };
 static struct zio_device zgp_dev = {
 	.owner =		THIS_MODULE,
@@ -100,36 +86,17 @@ static int __init zgp_init(void)
 		}
 	}
 
-	for (i = 0; i < zgp_nin; i++) {
-		err = gpio_request(zgp_in[i], "zio-gpio-in");
-		if (err) {
-			pr_err(KBUILD_MODNAME ": can't request gpio %i\n",
-			       zgp_in[i]);
-			goto out_input;
-		}
-	}
-
-	if (zgp_trigger)
-		zgp_dev.preferred_trigger = zgp_trigger;
-	if (zgp_buffer)
-		zgp_dev.preferred_buffer = zgp_buffer;
 	err = zio_register_dev(&zgp_dev, "gpio");
 	if (err) {
 		pr_err(KBUILD_MODNAME ": can't register zio driver "
 		       "(error %i)\n", err);
-		goto out_input;
+		goto out;
 	}
 
 	for (i = 0; i < zgp_nout; i++)
 		gpio_direction_output(zgp_out[i], 0);
 	return 0;
 
-out_input:
-	/* i is one more than the last registered gpio */
-	for (i--; i >= 0; i--)
-		gpio_free(zgp_out[i]);
-	return err;
-
 out:
 	/* i is one more than the last registered gpio */
 	for (i--; i >= 0; i--)