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--)