Input: wm9712 - no pressure measurement with 5-wire mode
[safe/jmp/linux-2.6] / drivers / input / touchscreen / wm97xx-core.c
index ba6fb28..cdc24ad 100644 (file)
@@ -608,6 +608,17 @@ static int wm97xx_probe(struct device *dev)
                goto alloc_err;
        }
 
+       /* set up physical characteristics */
+       wm->codec->phy_init(wm);
+
+       /* load gpio cache */
+       wm->gpio[0] = wm97xx_reg_read(wm, AC97_GPIO_CFG);
+       wm->gpio[1] = wm97xx_reg_read(wm, AC97_GPIO_POLARITY);
+       wm->gpio[2] = wm97xx_reg_read(wm, AC97_GPIO_STICKY);
+       wm->gpio[3] = wm97xx_reg_read(wm, AC97_GPIO_WAKEUP);
+       wm->gpio[4] = wm97xx_reg_read(wm, AC97_GPIO_STATUS);
+       wm->gpio[5] = wm97xx_reg_read(wm, AC97_MISC_AFE);
+
        wm->input_dev = input_allocate_device();
        if (wm->input_dev == NULL) {
                ret = -ENOMEM;
@@ -635,17 +646,6 @@ static int wm97xx_probe(struct device *dev)
        if (ret < 0)
                goto dev_alloc_err;
 
-       /* set up physical characteristics */
-       wm->codec->phy_init(wm);
-
-       /* load gpio cache */
-       wm->gpio[0] = wm97xx_reg_read(wm, AC97_GPIO_CFG);
-       wm->gpio[1] = wm97xx_reg_read(wm, AC97_GPIO_POLARITY);
-       wm->gpio[2] = wm97xx_reg_read(wm, AC97_GPIO_STICKY);
-       wm->gpio[3] = wm97xx_reg_read(wm, AC97_GPIO_WAKEUP);
-       wm->gpio[4] = wm97xx_reg_read(wm, AC97_GPIO_STATUS);
-       wm->gpio[5] = wm97xx_reg_read(wm, AC97_MISC_AFE);
-
        /* register our battery device */
        wm->battery_dev = platform_device_alloc("wm97xx-battery", -1);
        if (!wm->battery_dev) {
@@ -802,7 +802,7 @@ void wm97xx_unregister_mach_ops(struct wm97xx *wm)
 EXPORT_SYMBOL_GPL(wm97xx_unregister_mach_ops);
 
 static struct device_driver wm97xx_driver = {
-       .name =         "ac97",
+       .name =         "wm97xx-ts",
        .bus =          &ac97_bus_type,
        .owner =        THIS_MODULE,
        .probe =        wm97xx_probe,