return input_dev;
            }
            
----------- static void wacom_free_inputs(struct wacom *wacom)
----------- {
-----------     struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
----------- 
-               input_free_device(wacom_wac->pen_input);
-               input_free_device(wacom_wac->touch_input);
-               input_free_device(wacom_wac->pad_input);
 ----------     if (wacom_wac->pen_input)
 ----------             input_free_device(wacom_wac->pen_input);
 ----------     if (wacom_wac->touch_input)
 ----------             input_free_device(wacom_wac->touch_input);
 ----------     if (wacom_wac->pad_input)
 ----------             input_free_device(wacom_wac->pad_input);
-----------     wacom_wac->pen_input = NULL;
-----------     wacom_wac->touch_input = NULL;
-----------     wacom_wac->pad_input = NULL;
----------- }
----------- 
----------- static int wacom_allocate_inputs(struct wacom *wacom)
----------- {
-----------     struct input_dev *pen_input_dev, *touch_input_dev, *pad_input_dev;
-----------     struct wacom_wac *wacom_wac = &(wacom->wacom_wac);
----------- 
-----------     pen_input_dev = wacom_allocate_input(wacom);
-----------     touch_input_dev = wacom_allocate_input(wacom);
-----------     pad_input_dev = wacom_allocate_input(wacom);
-----------     if (!pen_input_dev || !touch_input_dev || !pad_input_dev) {
-----------             wacom_free_inputs(wacom);
-----------             return -ENOMEM;
-----------     }
----------- 
-----------     wacom_wac->pen_input = pen_input_dev;
-----------     wacom_wac->touch_input = touch_input_dev;
-----------     wacom_wac->touch_input->name = wacom_wac->touch_name;
-----------     wacom_wac->pad_input = pad_input_dev;
-----------     wacom_wac->pad_input->name = wacom_wac->pad_name;
----------- 
-----------     return 0;
----------- }
----------- 
            static void wacom_clean_inputs(struct wacom *wacom)
            {
                if (wacom->wacom_wac.pen_input) {