summaryrefslogtreecommitdiff
path: root/nuttx/drivers/mtd/rammtd.c
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-05-03 14:32:08 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-05-03 14:32:08 -0600
commit0d40d1bd1474f04984320a650148d66095a8ff9c (patch)
treeac4f2e6df2a6fd5a7050f567704beafc2c4bca8b /nuttx/drivers/mtd/rammtd.c
parent1092e4b16395d945517b9bcbc2c48828fbe9303c (diff)
downloadpx4-nuttx-0d40d1bd1474f04984320a650148d66095a8ff9c.tar.gz
px4-nuttx-0d40d1bd1474f04984320a650148d66095a8ff9c.tar.bz2
px4-nuttx-0d40d1bd1474f04984320a650148d66095a8ff9c.zip
Replace CONFIG_MTD_SMART in MTD drivers with other conditions
Diffstat (limited to 'nuttx/drivers/mtd/rammtd.c')
-rw-r--r--nuttx/drivers/mtd/rammtd.c66
1 files changed, 32 insertions, 34 deletions
diff --git a/nuttx/drivers/mtd/rammtd.c b/nuttx/drivers/mtd/rammtd.c
index 137f91f73..575c3fb31 100644
--- a/nuttx/drivers/mtd/rammtd.c
+++ b/nuttx/drivers/mtd/rammtd.c
@@ -121,6 +121,12 @@ static ssize_t ram_bread(FAR struct mtd_dev_s *dev, off_t startblock, size_t nbl
FAR uint8_t *buf);
static ssize_t ram_bwrite(FAR struct mtd_dev_s *dev, off_t startblock, size_t nblocks,
FAR const uint8_t *buf);
+static ssize_t ram_byteread(FAR struct mtd_dev_s *dev, off_t offset,
+ size_t nbytes, FAR uint8_t *buf);
+#ifdef CONFIG_MTD_BYTE_WRITE
+static ssize_t ram_bytewrite(FAR struct mtd_dev_s *dev, off_t offset,
+ size_t nbytes, FAR const uint8_t *buf);
+#endif
static int ram_ioctl(FAR struct mtd_dev_s *dev, int cmd, unsigned long arg);
/****************************************************************************
@@ -160,7 +166,7 @@ static void *ram_write(FAR void *dest, FAR const void *src, size_t len)
#endif
/* Report any attempt to change the value of bits that are not in the
- * erased state.
+ * erased state.
*/
#ifdef CONFIG_DEBUG
@@ -225,30 +231,6 @@ static int ram_erase(FAR struct mtd_dev_s *dev, off_t startblock, size_t nblocks
}
/****************************************************************************
- * Name: ram_readbytes
- ****************************************************************************/
-
-#ifdef CONFIG_MTD_SMART
-static ssize_t ram_read_bytes(FAR struct mtd_dev_s *dev, off_t offset,
- size_t nbytes, FAR uint8_t *buf)
-{
- FAR struct ram_dev_s *priv = (FAR struct ram_dev_s *)dev;
-
- DEBUGASSERT(dev && buf);
-
- /* Don't let read read past end of buffer */
-
- if (offset + nbytes > priv->nblocks * CONFIG_RAMMTD_ERASESIZE)
- {
- return 0;
- }
-
- ram_read(buf, &priv->start[offset], nbytes);
- return nbytes;
-}
-#endif
-
-/****************************************************************************
* Name: ram_bread
****************************************************************************/
@@ -329,12 +311,34 @@ static ssize_t ram_bwrite(FAR struct mtd_dev_s *dev, off_t startblock,
}
/****************************************************************************
+ * Name: ram_byteread
+ ****************************************************************************/
+
+static ssize_t ram_byteread(FAR struct mtd_dev_s *dev, off_t offset,
+ size_t nbytes, FAR uint8_t *buf)
+{
+ FAR struct ram_dev_s *priv = (FAR struct ram_dev_s *)dev;
+
+ DEBUGASSERT(dev && buf);
+
+ /* Don't let read read past end of buffer */
+
+ if (offset + nbytes > priv->nblocks * CONFIG_RAMMTD_ERASESIZE)
+ {
+ return 0;
+ }
+
+ ram_read(buf, &priv->start[offset], nbytes);
+ return nbytes;
+}
+
+/****************************************************************************
* Name: ram_bytewrite
****************************************************************************/
#ifdef CONFIG_MTD_BYTE_WRITE
static ssize_t ram_bytewrite(FAR struct mtd_dev_s *dev, off_t offset,
- size_t nbytes, FAR const uint8_t *buf)
+ size_t nbytes, FAR const uint8_t *buf)
{
FAR struct ram_dev_s *priv = (FAR struct ram_dev_s *)dev;
off_t maxaddr;
@@ -462,17 +466,11 @@ FAR struct mtd_dev_s *rammtd_initialize(FAR uint8_t *start, size_t size)
priv->mtd.erase = ram_erase;
priv->mtd.bread = ram_bread;
priv->mtd.bwrite = ram_bwrite;
- priv->mtd.ioctl = ram_ioctl;
- priv->mtd.erase = ram_erase;
+ priv->mtd.read = ram_byteread;
#ifdef CONFIG_MTD_BYTE_WRITE
priv->mtd.write = ram_bytewrite;
#endif
-
-#ifdef CONFIG_MTD_SMART
- priv->mtd.read = ram_read_bytes;
-#else
- priv->mtd.read = NULL;
-#endif
+ priv->mtd.ioctl = ram_ioctl;
priv->start = start;
priv->nblocks = nblocks;