[PATCH 007/524] block/spectra: use do_div() for 64bit divs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>

it does not work on 32bit that way

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
Signed-off-by: David Woodhouse <David.Woodhouse@xxxxxxxxx>
---
 drivers/block/spectra/lld_mtd.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/drivers/block/spectra/lld_mtd.c b/drivers/block/spectra/lld_mtd.c
index f5666a9..0de05b1 100644
--- a/drivers/block/spectra/lld_mtd.c
+++ b/drivers/block/spectra/lld_mtd.c
@@ -99,6 +99,7 @@ int mtd_Flash_Release(void)
 
 u16 mtd_Read_Device_ID(void)
 {
+	uint64_t tmp;
 	nand_dbg_print(NAND_DBG_TRACE, "%s, Line %d, Function: %s\n",
 		       __FILE__, __LINE__, __func__);
 
@@ -108,7 +109,9 @@ u16 mtd_Read_Device_ID(void)
 	DeviceInfo.wDeviceMaker = 0;
 	DeviceInfo.wDeviceType = 8;
 	DeviceInfo.wSpectraStartBlock = SPECTRA_START_BLOCK;
-	DeviceInfo.wTotalBlocks = spectra_mtd->size / spectra_mtd->erasesize;
+	tmp = spectra_mtd->size;
+	do_div(tmp, spectra_mtd->erasesize);
+	DeviceInfo.wTotalBlocks = tmp;
 	DeviceInfo.wSpectraEndBlock = DeviceInfo.wTotalBlocks - 1;
 	DeviceInfo.wPagesPerBlock = spectra_mtd->erasesize / spectra_mtd->writesize;
 	DeviceInfo.wPageSize = spectra_mtd->writesize + spectra_mtd->oobsize;
-- 
1.7.1

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel


[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux