[Galaxy S II Android Development] K9100ii:
There is an issue with the latest commits in kernel sources, where compiling the kernel will fail with these errors on devices/defconfigs with no MAX77693 charging IC and don't use the Samsung battery driver:

arch/arm/mach-exynos/built-in.o: In function `charge_info_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:160: undefined reference to `charge_info_level'
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:160: undefined reference to `charge_info_text'
arch/arm/mach-exynos/built-in.o: In function `ignore_safety_margin_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:136: undefined reference to `ignore_safety_margin'
arch/arm/mach-exynos/built-in.o: In function `ignore_unstable_power_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:113: undefined reference to `ignore_unstable_power'
arch/arm/mach-exynos/built-in.o: In function `charge_level_wireless_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:84: undefined reference to `wireless_level'
arch/arm/mach-exynos/built-in.o: In function `charge_level_usb_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:56: undefined reference to `usb_level'
arch/arm/mach-exynos/built-in.o: In function `charge_level_ac_show':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:27: undefined reference to `ac_level'
arch/arm/mach-exynos/built-in.o: In function `ignore_safety_margin_store':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:152: undefined reference to `ignore_safety_margin'
arch/arm/mach-exynos/built-in.o: In function `ignore_unstable_power_store':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:129: undefined reference to `ignore_unstable_power'
arch/arm/mach-exynos/built-in.o: In function `charge_level_wireless_store':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:106: undefined reference to `wireless_level'
arch/arm/mach-exynos/built-in.o: In function `charge_level_usb_store':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:78: undefined reference to `usb_level'
arch/arm/mach-exynos/built-in.o: In function `charge_level_ac_store':
/home/USERNAME_REMOVED/Android/lineage-16.0-i9100/out/target/product/i9100/obj/KERNEL_OBJ/../../../../../../kernel/samsung/smdk4412/arch/arm/mach-exynos/charge_level.c:49: undefined reference to `ac_level'

The commits causing issues are:

samsung_battery: Charge level interface - https://github.com/rINanDO/android_...mmit/cd305344d07aefd18b01a25056f48f2d1ee977c1

samsung_battery: Charge level interface v2 - https://github.com/rINanDO/android_...mmit/60014b97760b46cbb686b79e561afb2902c850ca

samsung_battery: Add wireless level to charge level interface - https://github.com/rINanDO/android_...mmit/8d79c0aa0c9d3ec237c88c4e57294be0d6a19093

samsung-battery: Add charge info to charge level interface V2 - https://github.com/rINanDO/android_...mmit/2aa0821805084cfcfee40e2c07d73088110f8e9f

charge_level: allow wireless charging up to 1600 mA - https://github.com/rINanDO/android_...mmit/f7be45071b068999006281a8f5c7d7bc1648770a

This charge level interface is set to default to enabled by default. One such device that has no MAX77693 charging IC and doesn't use the Samsung battery driver is the Samsung Galaxy S2 (GT-i9100), which makes this quite a bad issue and this is the device that was always supposed to be supported by this kernel. The fix is to make the "charge level" interface depend on the configs for the MAX77693 charging IC and Samsung battery driver. This will disable it for the S2 and it won't be able to use this interface as it doesn't have the 2 things I've mentioned, anyway. I've already applied this fix to my own kernel here: https://github.com/TALUAtGitHub/and...mmit/38b01f826ef5a4f1b657f485f0624991436a6fa8 and https://github.com/TALUAtGitHub/and...mmit/2e095ccb53e34c86485b2705dfd890c83d258d18

Edit: I've replaced the URL for the commit with a new commit with a fix. I've made a mistake where I had put '||' instead of '&&' in the 'depends on' line. '||' meant that this charge level interface could be enabled with either CONFIG_BATTERY_MAX77693_CHARGER or CONFIG_BATTERY_SAMSUNG enabled, and not only with both enabled like we need. '&&' is needed instead so that the charge level interface can only be enabled if both CONFIG_BATTERY_MAX77693_CHARGER and CONFIG_BATTERY_SAMSUNG are enabled, not just one.