Skip to contentSkip to conversation

spi: bfin_spi: Use DIV_ROUND_UP instead of open-coded

PATCH New Axel Lin 3 participants 8 messages Jul 12, 2013 – Aug 6, 2013 SPI

lore
Share & tools
lore

Axel Lin

author
#0 lore raw

PATCH 1/3 spi: bfin_spi: Use DIV_ROUND_UP instead of open-coded

Use DIV_ROUND_UP to simplify the code.

---
 drivers/spi/bfin_spi.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/spi/bfin_spi.c +1 -3
index a9a4d92..f7192c2 100644
@@ -144,10 +144,8 @@ void spi_set_speed(struct spi_slave *slave, uint hz)
 	u32 baud;
 
 	sclk = get_sclk();
-	baud = sclk / (2 * hz);
 	/* baud should be rounded up */
-	if (sclk % (2 * hz))
-		baud += 1;
+	baud = DIV_ROUND_UP(sclk, 2 * hz);
 	if (baud < 2)
 		baud = 2;
 	else if (baud > (u16)-1)
Signature · 1 line
1.8.1.2
author
#1 lore raw

PATCH 2/3 spi: fsl_espi: Use DIV_ROUND_UP instead of open-coded

Use DIV_ROUND_UP to simplify the code.

---
 drivers/spi/fsl_espi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/spi/fsl_espi.c +2 -4
index 28609ee..e20ab9f 100644
@@ -234,15 +234,13 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *data_out,
 	      slave->bus, slave->cs, *(uint *) dout,
 	      dout, *(uint *) din, din, len);
 
-	num_chunks = data_len / max_tran_len +
-		(data_len % max_tran_len ? 1 : 0);
+	num_chunks = DIV_ROUND_UP(data_len, max_tran_len);
 	while (num_chunks--) {
 		if (data_in)
 			din = buffer + rx_offset;
 		dout = buffer;
 		tran_len = min(data_len , max_tran_len);
-		num_blks = (tran_len + cmd_len) / 4 +
-			((tran_len + cmd_len) % 4 ? 1 : 0);
+		num_blks = DIV_ROUND_UP(tran_len + cmd_len, 4);
 		num_bytes = (tran_len + cmd_len) % 4;
 		fsl->data_len = tran_len + cmd_len;
 		spi_cs_activate(slave);
Signature · 1 line
1.8.1.2
author
#4 lore raw

PATCH 3/3 spi: mpc8xxx_spi: Use DIV_ROUND_UP instead of open-coded

In reply to Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
 drivers/spi/mpc8xxx_spi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/spi/mpc8xxx_spi.c +1 -1
index 6b0e3b4..c90c0ce 100644
@@ -93,7 +93,7 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
 {
 	volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi;
 	unsigned int tmpdout, tmpdin, event;
-	int numBlks = bitlen / 32 + (bitlen % 32 ? 1 : 0);
+	int numBlks = DIV_ROUND_UP(bitlen, 32);
 	int tm, isRead = 0;
 	unsigned char charSize = 32;
 
Signature · 1 line
1.8.1.2
#7 lore raw

PATCH 1/3 spi: bfin_spi: Use DIV_ROUND_UP instead of open-coded

In reply to Axel Lin
Quoted 32 lines · Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
 drivers/spi/bfin_spi.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
drivers/spi/bfin_spi.c +1 -4
index a9a4d92..f7192c2 100644
@@ -144,10 +144,8 @@ void spi_set_speed(struct spi_slave *slave, uint hz)
        u32 baud;
 
        sclk = get_sclk();
-       baud = sclk / (2 * hz);
        /* baud should be rounded up */
-       if (sclk % (2 * hz))
-               baud += 1;
+       baud = DIV_ROUND_UP(sclk, 2 * hz);
        if (baud < 2)
                baud = 2;
        else if (baud > (u16)-1)
--

1.8.1.2

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#2 lore raw

PATCH 2/3 spi: fsl_espi: Use DIV_ROUND_UP instead of open-coded

In reply to Axel Lin
Quoted 20 lines · Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
  drivers/spi/fsl_espi.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
drivers/spi/fsl_espi.c +1 -2
index 28609ee..e20ab9f 100644
@@ -234,15 +234,13 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *data_out,
  	      slave->bus, slave->cs, *(uint *) dout,
  	      dout, *(uint *) din, din, len);
 
-	num_chunks = data_len / max_tran_len +
-		(data_len % max_tran_len ? 1 : 0);
+	num_chunks = DIV_ROUND_UP(data_len, max_tran_len);
  	while (num_chunks--) {

drivers/spi/fsl_espi.c int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *data_out, · line 246

Quoted 10 lines
drivers/spi/fsl_espi.c +1 -2
  		if (data_in)
  			din = buffer + rx_offset;
  		dout = buffer;
  		tran_len = min(data_len , max_tran_len);
-		num_blks = (tran_len + cmd_len) / 4 +
-			((tran_len + cmd_len) % 4 ? 1 : 0);
+		num_blks = DIV_ROUND_UP(tran_len + cmd_len, 4);
  		num_bytes = (tran_len + cmd_len) % 4;
  		fsl->data_len = tran_len + cmd_len;
  		spi_cs_activate(slave);

--
Thanks,
Jagan.

#5 lore raw

PATCH 3/3 spi: mpc8xxx_spi: Use DIV_ROUND_UP instead of open-coded

In reply to Axel Lin
Quoted 13 lines · Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
  drivers/spi/mpc8xxx_spi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/spi/mpc8xxx_spi.c +0 -0
index 6b0e3b4..c90c0ce 100644

drivers/spi/mpc8xxx_spi.c int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout, · line 99

Quoted 8 lines
drivers/spi/mpc8xxx_spi.c +1 -1
@@ -93,7 +93,7 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
  {
  	volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi;
  	unsigned int tmpdout, tmpdin, event;
-	int numBlks = bitlen / 32 + (bitlen % 32 ? 1 : 0);
+	int numBlks = DIV_ROUND_UP(bitlen, 32);
  	int tm, isRead = 0;
  	unsigned char charSize = 32;
 

--
Thanks,
Jagan.

#6 lore raw

PATCH 3/3 spi: mpc8xxx_spi: Use DIV_ROUND_UP instead of open-coded

Quoted 26 lines · Jagan Teki
Quoted 14 lines · Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
  drivers/spi/mpc8xxx_spi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
drivers/spi/mpc8xxx_spi.c +0 -0
index 6b0e3b4..c90c0ce 100644

drivers/spi/mpc8xxx_spi.c int spi_xfer(struct spi_slave *slave, unsigned int · line 99

Quoted 8 lines
drivers/spi/mpc8xxx_spi.c +1 -1
@@ -93,7 +93,7 @@ int spi_xfer(struct spi_slave *slave, unsigned int
 bitlen, const void *dout,
  {
      volatile spi8xxx_t *spi = &((immap_t *) (CONFIG_SYS_IMMR))->spi;
      unsigned int tmpdout, tmpdin, event;
-    int numBlks = bitlen / 32 + (bitlen % 32 ? 1 : 0);
+    int numBlks = DIV_ROUND_UP(bitlen, 32);
      int tm, isRead = 0;
      unsigned char charSize = 32;
Quoted 3 lines

--
Thanks,
Jagan.

Applied to u-boot-spi/master

--
Thanks,
Jagan.

#3 lore raw

PATCH 2/3 spi: fsl_espi: Use DIV_ROUND_UP instead of open-coded

In reply to Jagan Teki
Quoted 35 lines · Jagan Teki
Quoted 29 lines · Axel Lin

Use DIV_ROUND_UP to simplify the code.

---
  drivers/spi/fsl_espi.c | 6 ++----
  1 file changed, 2 insertions(+), 4 deletions(-)
drivers/spi/fsl_espi.c +2 -4
index 28609ee..e20ab9f 100644
@@ -234,15 +234,13 @@ int spi_xfer(struct spi_slave *slave, unsigned
 int bitlen, const void *data_out,
            slave->bus, slave->cs, *(uint *) dout,
            dout, *(uint *) din, din, len);
 
-    num_chunks = data_len / max_tran_len +
-        (data_len % max_tran_len ? 1 : 0);
+    num_chunks = DIV_ROUND_UP(data_len, max_tran_len);
      while (num_chunks--) {
          if (data_in)
              din = buffer + rx_offset;
          dout = buffer;
          tran_len = min(data_len , max_tran_len);
-        num_blks = (tran_len + cmd_len) / 4 +
-            ((tran_len + cmd_len) % 4 ? 1 : 0);
+        num_blks = DIV_ROUND_UP(tran_len + cmd_len, 4);
          num_bytes = (tran_len + cmd_len) % 4;
          fsl->data_len = tran_len + cmd_len;
Quoted 2 lines
          spi_cs_activate(slave);
Quoted 3 lines

--
Thanks,
Jagan.

Applied to u-boot-spi/master

--
Thanks,
Jagan.