Refactor code, moved page_modified variable in KFileFlashAvr struct
authorqwert <qwert@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 18 Jul 2008 13:13:12 +0000 (13:13 +0000)
committerqwert <qwert@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 18 Jul 2008 13:13:12 +0000 (13:13 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1495 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/cpu/avr/drv/flash_avr.c
bertos/cpu/avr/drv/flash_avr.h

index a0792e3cf3ddb592e517b0a6025b0af7eff46796..73075cde5c080bb7dec1fbea8d13605731d3669a 100644 (file)
@@ -74,10 +74,7 @@ typedef uint16_t avr_page_addr_t;
  */
 static uint8_t page_buf[SPM_PAGESIZE];
 
-/**
- * Flag for checking if current page is modified.
- */
-bool page_modified;
+
 
 
 
@@ -91,7 +88,7 @@ bool page_modified;
  */
 static void flash_avr_flush(KFileFlashAvr *fd)
 {
-       if (page_modified)
+       if (fd->page_modified)
        {
                kprintf("Flushing page %d\n", fd->curr_page);
 
@@ -132,7 +129,7 @@ static void flash_avr_flush(KFileFlashAvr *fd)
                */
                ATOMIC(boot_rww_enable());
 
-               page_modified = false;
+               fd->page_modified = false;
                kprintf("Done.\n");
        }
 }
@@ -196,7 +193,7 @@ static size_t flash_avr_write(struct KFile *_fd, const void *_buf, size_t size)
 
                size_t wr_len = MIN(size, SPM_PAGESIZE - page_addr);
                memcpy(page_buf + page_addr, buf, wr_len);
-               page_modified = true;
+               fd->page_modified = true;
 
                buf += wr_len;
                fd->fd.seek_pos += wr_len;
@@ -219,7 +216,7 @@ static void flash_avr_open(struct KFileFlashAvr *fd)
 
        fd->fd.seek_pos = 0;
        fd->fd.size = (uint16_t)(FLASHEND - CONFIG_FLASH_AVR_BOOTSIZE + 1);
-       page_modified = false;
+       fd->page_modified = false;
 
        kprintf("Flash file opened\n");
 }
index 5115d10befde2431238b2b82c6808b5401ce028d..bb7698aba42bb9072f9b1457d332edb7c5d60519 100644 (file)
@@ -55,13 +55,20 @@ typedef uint16_t avr_page_t;
  */
 typedef struct KFileFlashAvr
 {
-       KFile fd;               ///< File descriptor.
+       /**
+       * File descriptor.
+       */
+       KFile fd;
 
        /**
        * Current buffered page.
        */
        avr_page_t curr_page;
 
+       /**
+       * Flag for checking if current page is modified.
+       */
+       bool page_modified;
 
 } KFileFlashAvr;