Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'mfd-fixes-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull MFD fixes from Lee Jones:
- fix dependency issues on ChromeOS platforms
- fix runtime PM issues on Arizona
- fix IRQ/suspend race on Arizona

* tag 'mfd-fixes-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd:
mfd: Remove MFD_CROS_EC_SPI depends on OF
platform/chrome: Don't make CHROME_PLATFORMS depends on X86 || ARM
mfd: arizona: Fix initialisation of the PM runtime
mfd: arizona: Fix race between runtime suspend and IRQs

+8 -11
+1 -1
drivers/mfd/Kconfig
··· 115 115 116 116 config MFD_CROS_EC_SPI 117 117 tristate "ChromeOS Embedded Controller (SPI)" 118 - depends on MFD_CROS_EC && CROS_EC_PROTO && SPI && OF 118 + depends on MFD_CROS_EC && CROS_EC_PROTO && SPI 119 119 120 120 ---help--- 121 121 If you say Y here, you get support for talking to the ChromeOS EC
+7 -9
drivers/mfd/arizona-core.c
··· 651 651 652 652 arizona->has_fully_powered_off = true; 653 653 654 - disable_irq(arizona->irq); 654 + disable_irq_nosync(arizona->irq); 655 655 arizona_enable_reset(arizona); 656 656 regulator_bulk_disable(arizona->num_core_supplies, 657 657 arizona->core_supplies); ··· 1141 1141 arizona->pdata.gpio_defaults[i]); 1142 1142 } 1143 1143 1144 - pm_runtime_set_autosuspend_delay(arizona->dev, 100); 1145 - pm_runtime_use_autosuspend(arizona->dev); 1146 - pm_runtime_enable(arizona->dev); 1147 - 1148 1144 /* Chip default */ 1149 1145 if (!arizona->pdata.clk32k_src) 1150 1146 arizona->pdata.clk32k_src = ARIZONA_32KZ_MCLK2; ··· 1241 1245 arizona->pdata.spk_fmt[i]); 1242 1246 } 1243 1247 1248 + pm_runtime_set_active(arizona->dev); 1249 + pm_runtime_enable(arizona->dev); 1250 + 1244 1251 /* Set up for interrupts */ 1245 1252 ret = arizona_irq_init(arizona); 1246 1253 if (ret != 0) 1247 1254 goto err_reset; 1255 + 1256 + pm_runtime_set_autosuspend_delay(arizona->dev, 100); 1257 + pm_runtime_use_autosuspend(arizona->dev); 1248 1258 1249 1259 arizona_request_irq(arizona, ARIZONA_IRQ_CLKGEN_ERR, "CLKGEN error", 1250 1260 arizona_clkgen_err, arizona); ··· 1279 1277 dev_err(arizona->dev, "Failed to add subdevices: %d\n", ret); 1280 1278 goto err_irq; 1281 1279 } 1282 - 1283 - #ifdef CONFIG_PM 1284 - regulator_disable(arizona->dcvdd); 1285 - #endif 1286 1280 1287 1281 return 0; 1288 1282
-1
drivers/platform/chrome/Kconfig
··· 4 4 5 5 menuconfig CHROME_PLATFORMS 6 6 bool "Platform support for Chrome hardware" 7 - depends on X86 || ARM 8 7 ---help--- 9 8 Say Y here to get to see options for platform support for 10 9 various Chromebooks and Chromeboxes. This option alone does