[ONE Android Development] Phoenix Wright:
This is a small mod for Sultanxda's CAF kernel. It's intended to ONLY be used with his CM 12.1 and his CM13, but it *might* work with other CAF ROMs.

The zip also replaces the fstab in the ramdisk to support the F2FS filesystem in /data and /cache (both ext4 and f2fs are supported for these, like the official CM builds), and the fsck.f2fs binary in /system/bin to the latest version (1.5.0).

The only kernel changes are:

- Added F2FS filesystem code. I keep it up-to-date with the Motorola github (right now the latest code is from the Moto X 2014 6.0 release): https://github.com/MotorolaMobilityLLC/motorola-kernel/tree/marshmallow-6.0.0-release-victara.

- Added and improved @sollapse's OTG-Y support patch.

- Eventual cherry picked commits from @sultanxda's Marshmallow branch.

- Updated CIFS/NFS code to the latest 3.4 version.

- Improved support for HIDs (joysticks, keyboards, etc.)

I compiled with GCC 4.8 (the same toolchain @sultanxda uses).

All the mods have been tested and I'm using them personally.

To install, you just need to flash his ROM, and then my zip. Then format /data and /cache to F2FS with TWRP if you wish to use F2FS.

I also made a recovery based on the 2.8.7.0-4 unofficial TWRP, it's rebased on the Sultan CM12.1 ROM and this kernel mod, plus it has:

- updated TWRP code (from the 5.1 branch)

- mounts /data and /cache as F2FS by default, with the same mount options as the fstab in my kernel mod

- theme replaced with the "Materialised Play" one

- updated mkfs.f2fs and fsck.f2fs to 1.5.0.

I included all the source code for the kernel changes, you only need to replace the GCC directory in the bash script and then execute it.

Changelogs:

01/13:

- Updated Sultan's kernel sources for CM13 and CM12.1.

- Updated NFS driver to the latest 3.4 code.

- Merged Sultan's charger improvements to the CM12.1 kernel.

- Enabled support for Force Feedback for a lot of controllers - you can enable this in Input.

- Enabled LED and Force Feedback support for the Xbox controllers (fixes the LED blinking forever).

- Fixed Wiimote support - sadly we can't have support for newer Wii Remotes (the "MotionPlus" ones) with a 3.4 kernel, but older ones are working.

- Cherry picked HID commits from the official CyanogenMod kernel, this improves the Wiimote support (Classic Controllers, Nunchucks etc. are supported) and adds/improves support for a lot of joysticks/keyboards/mice/etc.

01/05:

- Updated Sultan's kernel sources for CM13 and CM12.1.

12/30:

- Updated the F2FS driver with the one from Motorola's 6.0.0 release for Moto X 2014 (it's a couple months newer).

- Updated the fstab accordingly, the "nobarrier" option should bring a small performance improvement.

12/29:

- Actually fixed reboots when inserting OTG-Y devices in deep sleep.

- Fixed OTG-Y not starting when the charger is detected *prior* to the USB device (rare cases in which a charger/OTG-Y setup is disconnected and the driver takes a bit to detect that, and an OTG-Y setup is inserted before that).

12/23:

- Updated Sultan's kernel sources for CM13 (fixes inserting OTG devices in deep sleep and being unable to use USB again).

- Fixed reboots when inserting OTG-Y devices in deep sleep (thanks to the above patch!).

- Further clean-up of the OTG-Y patch code.

12/21:

- OTG-Y improvements and general clean-up. Code is cleaner, some race conditions and corner cases when toggling the parameter are handled better, low power mode is enabled when it's possible, and the charging notification going off, on and off again very fast sometimes after unplugging an OTG-Y setup has been fixed.

- Updated Sultan's kernel sources for CM13 and CM12.1

12/16:

- Overhaul of the OTG-Y patch. Now it's less "hacky" and it detects the charger properly. This removes the false charging notifications when connecting a regular OTG cable+device, makes it possible to use OTG again if charging is stopped and restarted, allows for faster charging rates, and fixes kernel panics when the OTG-Y cable/device are removed *after* charging was stopped.

- Updated Sultan's kernel sources for CM13 and CM12.1 (slow charging fixed)

12/12:

- Improved the OTG-Y patch (again): if you mistakenly connected a regular OTG cable+device when OTG-Y was set to Yes, a charging notification would be shown, and it wouldn't go away after disconnection. Now it properly disappears after the device has been disconnected.

12/10;

- Updated Sultan's kernel sources for CM13 and CM12.1 (including a couple changes still not present in the 12/1 CM12.1)

- Merged some changes from the CM13 kernel into the CM12.1 one: 1 2

- Improved the OTG-Y patch. It's now possible to charge the phone normally in AC mode while the OTG-Y parameter is set to Yes, and there are no more kernel panics or inability to use OTG up to the following reboot when you use OTG-Y inappropriately (disconnecting the OTG devices after changing the parameter status).

- Updated f2fs.fsck in the CM12.1 version and the init.rc in the CM13 version.

12/01:

- Updated Sultan's kernel sources for CM13 and CM12.1

11/28:

- Switched the F2FS code to the Motorola Moto G 5.1.1 F2FS branch: https://github.com/MotorolaMobilityLLC/motorola-kernel/tree/lollipop-5.0.2-release-falcon

- Updated Sultan's kernel sources for CM13

- Merged the new touchscreen fixes and CPU boosting logic to the CM12.1 kernel from the CM13 one.

Important: I'd recommend making a nandroid backup, formatting and restoring. This driver is technically older than upstream, and it might have issues with inlined dentries (the new fstab reflects the mount point configuration of the Moto X 2014 - so no inline_dentry).

11/25:

- Bug fix for F2FS from the dev-test branch

- Updated Sultan's kernel sources for CM13

- Included the touch screen bugfix from Sultan from the CM13 branch in the CM12.1 one.

11/18:

- Added other bug fix commits for F2FS from the dev-test branch

- Updated Sultan's kernel sources for both CM12.1 and CM13

- CM13 build should actually be functional now (thanks to @DerRomtester for the init.rc)

- Recovery has been rebuilt from sources, it now uses the Sultan CM12.1 kernel mod and source tree for his ROM.

11/10:

- Added two bug fix commits for F2FS from the dev-test branch (one of them is a fix to potential data corruption)

- Switched to CM's version of Google GCC

XDA:DevDB Information

Mod for Sultanxda's CAF kernel, Kernel for the OnePlus One

Contributors

Phoenix Wright

Kernel Special Features:

Version Information

Status: Stable

Current Stable Version: 01/13

Stable Release Date: 2016-01-13

Created 2015-11-07

Last Updated 2016-01-13