[PATCH 9_9] Use "void *" not "unsigned long *" for block dev read_write buffer pointers

Block device read/write is anonymous data; there is no need to use a
typed pointer.  void * is fine.  Also add a hook for block_read functions

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
diff --git a/drivers/systemace.c b/drivers/systemace.c
index 3f329f9..9502623 100644
--- a/drivers/systemace.c
+++ b/drivers/systemace.c
@@ -73,8 +73,7 @@
 /* */
 
 static unsigned long systemace_read(int dev, unsigned long start,
-                                    unsigned long blkcnt,
-                                    unsigned long *buffer);
+                                    unsigned long blkcnt, void *buffer);
 
 static block_dev_desc_t systemace_dev = { 0 };
 
@@ -133,11 +132,11 @@
  * number of blocks read. A zero return indicates an error.
  */
 static unsigned long systemace_read(int dev, unsigned long start,
-                                    unsigned long blkcnt, unsigned long *buffer)
+                                    unsigned long blkcnt, void *buffer)
 {
 	int retry;
 	unsigned blk_countdown;
-	unsigned char *dp = (unsigned char *)buffer;
+	unsigned char *dp = buffer;
 	unsigned val;
 
 	if (get_cf_lock() < 0) {