changeset 2299:04006a2b020d

* src/ide_disk.h: DISK_FUNS is now implicitly static. (IDE_DISK_INSTANCE): Reflect updated io/disk API by using ide_disk_controller. * src/ide_disk.c: Define ide_disk_controller (even though unused in practice). (ide_disk_init): Provide phys_block_size and max_transfer disk ident members.
author jlarmour
date Thu, 21 Sep 2006 16:36:24 +0000
parents 474e1f0afb12
children 654c837cc618
files packages/devs/disk/ide/current/ChangeLog packages/devs/disk/ide/current/src/ide_disk.c packages/devs/disk/ide/current/src/ide_disk.h
diffstat 3 files changed, 22 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/packages/devs/disk/ide/current/ChangeLog
+++ b/packages/devs/disk/ide/current/ChangeLog
@@ -1,3 +1,13 @@
+2006-09-21  Jonathan Larmour  <jifl@eCosCentric.com>
+
+	* src/ide_disk.h: DISK_FUNS is now implicitly static.
+	(IDE_DISK_INSTANCE): Reflect updated io/disk API by using
+	ide_disk_controller.
+	* src/ide_disk.c: Define ide_disk_controller (even though unused
+	in practice).
+	(ide_disk_init): Provide phys_block_size and max_transfer disk ident
+	members.	
+
 2005-02-02 Knud Woehler <knud.woehler@microplex.de>
 
 	* src/ide_disk.c: Check the device is not busy before sending a
--- a/packages/devs/disk/ide/current/src/ide_disk.c
+++ b/packages/devs/disk/ide/current/src/ide_disk.c
@@ -74,6 +74,10 @@
 
 // ----------------------------------------------------------------------------
 
+// No h/w controller structure is needed in this driver, but the address of the
+// second argument is taken anyway.
+DISK_CONTROLLER(ide_disk_controller, ide_disk_controller);
+
 #ifdef CYGVAR_DEVS_DISK_IDE_DISK0
 IDE_DISK_INSTANCE(0, 0, 0, true, CYGDAT_IO_DISK_IDE_DISK0_NAME);
 #endif
@@ -355,6 +359,8 @@ ide_disk_init(struct cyg_devtab_entry *t
     ident.sectors_num = ide_idData->num_sectors;
     ident.lba_sectors_num = ide_idData->lba_total_sectors[1] << 16 | 
                             ide_idData->lba_total_sectors[0];
+    ident.phys_block_size = 1;
+    ident.max_transfer = 512;
     
     D("\tSerial : %s\n", ident.serial);
     D("\tFirmware rev. : %s\n", ident.firmware_rev);
--- a/packages/devs/disk/ide/current/src/ide_disk.h
+++ b/packages/devs/disk/ide/current/src/ide_disk.h
@@ -152,11 +152,11 @@ static Cyg_ErrNo ide_disk_lookup(struct 
                                 struct cyg_devtab_entry  *sub_tab,
                                 const char               *name);
 
-static DISK_FUNS(ide_disk_funs, 
-                 ide_disk_read, 
-                 ide_disk_write, 
-                 ide_disk_get_config,
-                 ide_disk_set_config
+DISK_FUNS(ide_disk_funs, 
+          ide_disk_read, 
+          ide_disk_write, 
+          ide_disk_get_config,
+          ide_disk_set_config
 );
 
 // ----------------------------------------------------------------------------
@@ -169,6 +169,7 @@ static ide_disk_info_t ide_disk_info##_n
 DISK_CHANNEL(ide_disk_channel##_number_,                                \
              ide_disk_funs,                                             \
              ide_disk_info##_number_,                                   \
+             ide_disk_controller,                                       \
              _mbr_supp_,                                                \
              4                                                          \
 );                                                                      \