input: allow several probe calls for rescan
authornotaz <notasas@gmail.com>
Sat, 19 Mar 2011 22:27:57 +0000 (22:27 +0000)
committernotaz <notasas@gmail.com>
Sat, 19 Mar 2011 22:27:57 +0000 (22:27 +0000)
git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@920 be3aeb3a-fb24-0410-a615-afba39da0efa

common/input.c

index 5250535..c5130c4 100644 (file)
@@ -223,8 +223,14 @@ void in_probe(void)
        int i;
 
        in_have_async_devs = 0;
-       for (i = 0; i < in_dev_count; i++)
-               in_devices[i].probed = 0;
+       for (i = 0; i < in_dev_count; i++) {
+               in_dev_t *dev = &in_devices[i];
+               if (dev->probed) {
+                       DRV(dev->drv_id).free(dev->drv_data);
+                       dev->drv_data = NULL;
+                       dev->probed = 0;
+               }
+       }
 
        for (i = 1; i < IN_DRVID_COUNT; i++)
                in_drivers[i].probe();