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