On Fri, Aug 21, 2015 at 09:31:25AM +0200, Christian Hartmann wrote:
[ 6.169473] spi spi-WM510205:00: modalias WM510205 in id_table not found, returns NULL [ 6.169501] arizona spi-WM510205:00: arizona_acpi_get_type(), than via spi_get_device_id(). [ 6.169507] arizona spi-WM510205:00: arizona_acpi_get_type matched [ 6.169511] arizona spi-WM510205:00: using 1 as type for arizona audio codec [ 6.169515] arizona spi-WM510205:00: regmap set to wm5102_spi [ 6.170301] arizona spi-WM510205:00: spi_irq = -1 [ 6.170309] arizona spi-WM510205:00: acpi_dev_add_driver_gpios arizona_acpi_gpios added done, 0 [ 6.170313] arizona spi-WM510205:00: arizona_spi_probe done, calling arizona_dev_init [ 6.170317] arizona spi-WM510205:00: dev_set_drvdata done for 1 [ 6.170323] arizona spi-WM510205:00: GPIO lookup for consumer reset [ 6.170328] arizona spi-WM510205:00: using ACPI for GPIO lookup [ 6.170333] acpi WM510205:00: GPIO: looking up reset-gpios [ 6.170340] acpi WM510205:00: GPIO: _DSD returned WM510205:00 3 1 0 0 [ 6.175675] acpi WM510205:00: GPIO: looking up 0 in _CRS
1) You got "reset-gpios" here.
[ 6.175733] arizona spi-WM510205:00: GPIO lookup for consumer ldoena [ 6.175739] arizona spi-WM510205:00: using ACPI for GPIO lookup [ 6.175744] acpi WM510205:00: GPIO: looking up ldoena-gpios [ 6.175750] acpi WM510205:00: GPIO: _DSD returned WM510205:00 3 2 0 0 [ 6.175805] acpi WM510205:00: GPIO: looking up 0 in _CRS [ 6.175860] arizona spi-WM510205:00: arizona_of_get_core_pdata (ACPI) using irq_gpio GPIO = 146 [ 6.175867] arizona spi-WM510205:00: arizona_of_get_core_pdata (ACPI) using ldoena GPIO = 405 [ 6.175871] arizona spi-WM510205:00: arizona_of_get_core_pdata (ACPI) using reset GPIO = 342 [ 6.175875] arizona spi-WM510205:00: arizona_of_get_core_pdata for 1 [ 6.175880] arizona spi-WM510205:00: regcache_cache_only for 1 set [ 6.175885] arizona spi-WM510205:00: added wm5102_core_supplies for 1 [ 6.176079] gpio-405 (ldoena): gpiod_request: status -16 [ 6.176084] LDO1: Failed to request enable GPIO405: -16 [ 6.176154] arizona spi-WM510205:00: Failed to register LDO1 supply: -16 [ 6.189631] arizona-ldo1: probe of arizona-ldo1 failed with error -16 [ 6.189656] arizona spi-WM510205:00: mfd_add_devices done for 1 [ 6.189665] spi-WM510205:00 supply AVDD not found, using dummy regulator [ 6.189721] spi-WM510205:00 supply DBVDD1 not found, using dummy regulator [ 6.189753] arizona spi-WM510205:00: devm_regulator_bulk_get done for 1 [ 6.189757] spi-WM510205:00 supply DCVDD not found, using dummy regulator [ 6.189786] arizona spi-WM510205:00: regulator_get done for 1 [ 6.189794] gpio-342 (reset): gpiod_request: status -16 [ 6.189799] arizona spi-WM510205:00: Failed to request /RESET: -16
2) and fail here with -EBUSY because you have already requested the GPIO.
So please drop the code in 1) to be able to request the GPIO in the driver.