changeset 2297:fa76da61c460

* src/v85x_edb_v850_disk.c (cf_disk_init): Provide phys_block_size and max_transfer disk ident members. * src/v85x_edb_v850_disk.c: DISK_CHANNEL and DISK_FUNS are now implicitly static. Update DISK_CHANNEL for new io/disk macro.
author jlarmour
date Thu, 21 Sep 2006 16:35:04 +0000
parents 528f10185fd5
children 474e1f0afb12
files packages/devs/disk/v85x/edb_v850/current/ChangeLog packages/devs/disk/v85x/edb_v850/current/src/v85x_edb_v850_disk.c
diffstat 2 files changed, 25 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/disk/v85x/edb_v850/current/ChangeLog
+++ b/packages/devs/disk/v85x/edb_v850/current/ChangeLog
@@ -1,3 +1,14 @@
+2006-09-21  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* src/v85x_edb_v850_disk.c (cf_disk_init): Provide phys_block_size
+	and max_transfer disk ident members.
+
+2006-09-20  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* src/v85x_edb_v850_disk.c:
+	DISK_CHANNEL and DISK_FUNS are now implicitly static.
+	Update DISK_CHANNEL for new io/disk macro.
+
 2004-07-02  Savin Zlobec  <savin@elatec.si> 
 
         * src/v85x_edb_v850_disk.c:
@@ -22,6 +33,7 @@ 2003-09-01 Savin Zlobec <savin@elatec.si
 //####ECOSGPLCOPYRIGHTBEGIN####
 // -------------------------------------------
 // This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 2006 eCosCentric Ltd.
 // Copyright (C) 2003 Savin Zlobec 
 //
 // eCos is free software; you can redistribute it and/or modify it under
--- a/packages/devs/disk/v85x/edb_v850/current/src/v85x_edb_v850_disk.c
+++ b/packages/devs/disk/v85x/edb_v850/current/src/v85x_edb_v850_disk.c
@@ -9,6 +9,7 @@
 // -------------------------------------------
 // This file is part of eCos, the Embedded Configurable Operating System.
 // Copyright (C) 2003 Savin Zlobec.
+// Copyright (C) 2006 eCosCentric Ltd.
 //
 // eCos is free software; you can redistribute it and/or modify it under
 // the terms of the GNU General Public License as published by the Free
@@ -136,15 +137,19 @@ static Cyg_ErrNo cf_disk_lookup(struct c
                                 struct cyg_devtab_entry  *sub_tab,
                                 const char               *name);
 
-static DISK_FUNS(cf_disk_funs, 
-                 cf_disk_read, 
-                 cf_disk_write, 
-                 cf_disk_get_config,
-                 cf_disk_set_config
+DISK_FUNS(cf_disk_funs, 
+          cf_disk_read, 
+          cf_disk_write, 
+          cf_disk_get_config,
+          cf_disk_set_config
 );
 
 // ----------------------------------------------------------------------------
 
+// No h/w controller structure is needed, but the address of the
+// second argument is taken anyway.
+DISK_CONTROLLER(cf_disk_controller, cf_disk_controller);
+
 #define CF_DISK_INSTANCE(_number_,_base_,_mbr_supp_,_name_)           \
 static cf_disk_info_t cf_disk_info##_number_ = {                      \
     base: (volatile cyg_uint16 *)_base_,                              \
@@ -152,6 +157,7 @@ static cf_disk_info_t cf_disk_info##_num
 DISK_CHANNEL(cf_disk_channel##_number_,                               \
              cf_disk_funs,                                            \
              cf_disk_info##_number_,                                  \
+             cf_disk_controller,                                      \
              _mbr_supp_,                                              \
              4                                                        \
 );                                                                    \
@@ -327,7 +333,8 @@ cf_disk_init(struct cyg_devtab_entry *ta
     ident.sectors_num     = ata_id->num_sectors;
     ident.lba_sectors_num = ata_id->lba_total_sectors[1] << 16 | 
                             ata_id->lba_total_sectors[0];
-    
+    ident.phys_block_size = 1;
+    ident.max_transfer    = 512;
     if (!(chan->callbacks->disk_init)(tab))
         return false;