From: Stefan E. <se...@us...> - 2002-05-10 15:41:18
|
Update of /cvsroot/blob/blob/src/lib In directory usw-pr-cvs1:/tmp/cvs-serv13862 Modified Files: cf.c Log Message: - CF cards want LBA addressing mode. sigh. - names instead of pointers to io_driver_t - fixed some warnings Index: cf.c =================================================================== RCS file: /cvsroot/blob/blob/src/lib/cf.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- cf.c 8 May 2002 19:18:40 -0000 1.4 +++ cf.c 10 May 2002 15:41:16 -0000 1.5 @@ -46,7 +46,7 @@ #define CF_DEBUG 1 /* define this to activate module test cmd */ -#define CF_TEST_MODULE 1 +#define CF_TEST_MODULE 0 #if CF_DEBUG # define DBG( x, args... ) if ( cf_dbg>x ) printf( args ); @@ -98,6 +98,8 @@ u8 cfgvalue; u8 value; + DBG( 1, "%s: %s\n", __FUNCTION__, module_version ); + ret = pcmcia_init(); if ( ret != 0 ) return -EINVAL; @@ -180,12 +182,7 @@ if ( ret ) return -EINVAL; - ret = 0; -DONE: - if ( ret != 0 ) { - printf( "cf: error (%d).\n", ret ); - } - return ret; + return 0; } /********************************************************************** @@ -248,7 +245,7 @@ io->private_data = (void *)cf_slot; /* FIXME: is this ok? How to calculate the correct size? */ - io->io_size = (drive.driveid.vendor0 | (drive.driveid.vendor1 << 16)) * IDE_BLOCK_SIZE; + io->io_size = (drive.driveid.vendor1 | (drive.driveid.vendor0 << 16)) * IDE_BLOCK_SIZE; DBG( 1, "%s: io_size=%d\n", __FUNCTION__, io_get_size( io ) ); return 0; @@ -277,7 +274,8 @@ block = start_block; while ( amount > 0 ) { /* read block into buffer */ - ret = hd_read_mapped( &drive, block, buffer ); + //ret = hd_read_mapped( &drive, block, buffer ); + ret = hd_read_lba( &drive, block, buffer ); if ( ret != 0 ) return -EINVAL; @@ -348,7 +346,7 @@ return ret; } - ret = io_configure( &cf_def_io, (void *)1 ); + ret = io_configure( "CF", (void *)1 ); if ( ret ) { DBG( 1, "%s: cf_io_configure: %d\n", __FUNCTION__, ret ); return ret; |