

*************************************************************************
*									*
* Arm Trust Zone CryptoCell REE Linux driver upstreaming TODO items	*
*									*
*************************************************************************

ccree specific items
a.k.a stuff fixing for this driver to move out of staging
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1.  Move to using Crypto Engine to handle backlog queueing.
2.  Remove synchronous algorithm support leftovers.
3.  Separate platform specific code for FIPS and power management into separate platform modules.
4.  Drop legacy kernel support code.
5.  Move most (all?) #ifdef CONFIG into inline functions.
6.  Remove all unused definitions.
7.  Re-factor to accomediate newer/older HW revisions besides the 712.
8.  Handle the many checkpatch errors.
9.  Implement ahash import/export correctly.
10. Go through a proper review of DT bindings and sysfs ABI
11. Sort out FIPS mode: bake tests into testmgr, sort out behaviour on error, 
    figure if 3DES weak key check is needed

Kernel infrastructure items
a.k.a stuff we either neither need to fix in the kernel or understand what we're doing wrong
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. ahash import/export context has a PAGE_SIZE/8 size limit.  We need more.
2. Crypto Engine seems to be built for HW with hardware queue depth of 1, we have 600++.
