On Mon, 4 Jun 2018, Geert Uytterhoeven wrote: > > > Don't call pmu_shutdown() or pmu_restart() on early PowerBooks: the > > PMU device found in these PowerBooks isn't supported. > > Shouldn't that be a separate patch? > > > --- a/arch/m68k/mac/misc.c > > +++ b/arch/m68k/mac/misc.c > > > @@ -477,9 +445,8 @@ void mac_poweroff(void) > > macintosh_config->adb_type == MAC_ADB_CUDA) { > > cuda_shutdown(); > > #endif > > -#ifdef CONFIG_ADB_PMU68K > > - } else if (macintosh_config->adb_type == MAC_ADB_PB1 > > - || macintosh_config->adb_type == MAC_ADB_PB2) { > > +#ifdef CONFIG_ADB_PMU > > + } else if (macintosh_config->adb_type == MAC_ADB_PB2) { > > pmu_shutdown(); > > #endif > > } > > @@ -519,9 +486,8 @@ void mac_reset(void) > > macintosh_config->adb_type == MAC_ADB_CUDA) { > > cuda_restart(); > > #endif > > -#ifdef CONFIG_ADB_PMU68K > > - } else if (macintosh_config->adb_type == MAC_ADB_PB1 > > - || macintosh_config->adb_type == MAC_ADB_PB2) { > > +#ifdef CONFIG_ADB_PMU > > + } else if (macintosh_config->adb_type == MAC_ADB_PB2) { > > pmu_restart(); > > #endif > > } else if (CPU_IS_030) { >
The stability problem here is bigger than just pmu_restart() and pmu_shutdown(), so those hunks are insufficient. You need to prevent the via-pmu68k driver from loading in the first place and to drop all the PMU_68K_V1 cases. But splitting this patch in that way creates potential merge conflicts, which is a hassle. E.g. this hunk: - .... - switch (macintosh_config->adb_type) { - case MAC_ADB_PB1: - pmu_kind = PMU_68K_V1; - break; - case MAC_ADB_PB2: - pmu_kind = PMU_68K_V2; - break; - default: - pmu_kind = PMU_UNKNOWN; - return -ENODEV; - } - ... would get split over two patches. The way I see it, having no PMU driver for PMU_68K_V1 machines is a bug. And loading any of the existing PMU drivers on that hardware is also a bug. These bugs are equivalent in that either one means you can't use the keyboard, trackpad etc. So there's no value in cherry-picking the other bug. If you are using v4.17 on a PMU_68K_V1 machine, you probably already have CONFIG_ADB_PMU68K=n. With that config, here's nothing to be gained from bisecting these changes. Does that make sense? Did I overlook other possible reason(s) to split up this patch? --