mtd: m25p80: fix allocation size

This patch fixes two problems:

1. During a probe failure (in mtd_device_parse_register?) the command
   buffer would not be freed.

2. The command buffer's size is determined by the use of 'fast_read',
   but the decision regarding fast_read is made after this allocation.

To fix the first, just switch to the devres version of kzalloc.

To fix the second, move the allocation later in the function.

This problem was reported by Yuhang Wang, on whose work this patch is
based.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reported-by: Yuhang Wang <wangyuhang2014@gmail.com>
mtd: m25p80: remove obsolete FIXME

The FIXME and NOTE have already been fixed (we have FAST_READ support).

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
mtd: m25p80: support Micron n25q512a

Not tested yet.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>