summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-04-07 17:18:33 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2011-04-11 15:57:51 +0200
commit99b9ca240ddccf63ab0e3eefbcf5e466220bb7c0 (patch)
treefadcf7b5d832189bdd3110909f0f957a32c39bd9
parentec441a536ef4480e70df5dc58d050e78f38db804 (diff)
downloadbarebox-99b9ca240ddccf63ab0e3eefbcf5e466220bb7c0.tar.gz
barebox-99b9ca240ddccf63ab0e3eefbcf5e466220bb7c0.tar.xz
ata: make write support optional
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/ata/Kconfig4
-rw-r--r--drivers/ata/disk_drive.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig
index 05cba70be2..d7f4dcbfe3 100644
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
@@ -8,6 +8,10 @@ if ATA
comment "drive types"
+config ATA_WRITE
+ select BLOCK_WRITE
+ bool "support writing to ATA drives"
+
config ATA_DISK
bool "disk drives"
help
diff --git a/drivers/ata/disk_drive.c b/drivers/ata/disk_drive.c
index 4ad5a7a827..f526b1e102 100644
--- a/drivers/ata/disk_drive.c
+++ b/drivers/ata/disk_drive.c
@@ -137,6 +137,7 @@ static int atablk_read(struct block_device *blk, void *buf, int block,
return atablk->intf->read(atablk->dev, block, num_blocks, buf);
}
+#ifdef CONFIG_ATA_WRITE
static int atablk_write(struct block_device *blk, const void *buf, int block,
int num_blocks)
{
@@ -144,10 +145,13 @@ static int atablk_write(struct block_device *blk, const void *buf, int block,
return atablk->intf->write(atablk->dev, block, num_blocks, buf);
}
+#endif
static struct block_device_ops ataops = {
.read = atablk_read,
+#ifdef CONFIG_ATA_WRITE
.write = atablk_write,
+#endif
};
/**