[Meego-kernel] [PATCH 4/8] did some minor cleanup

Gorby, Russ russ.gorby
Mon Sep 27 16:53:47 PDT 2010


This patch does some minor cleanup and uses msleep in the probe routine
	instead of mdelay
This is a delta patch based on Alan's 2.6-mid-ref repo

Signed-off-by: Russ Gorby <richardx.r.gorby at intel.com>
---
 drivers/serial/ifx6x60.c |   44 ++++++++++++++++++++------------------------
 1 files changed, 20 insertions(+), 24 deletions(-)

diff --git a/drivers/serial/ifx6x60.c b/drivers/serial/ifx6x60.c
index 708738d..f18a228 100644
--- a/drivers/serial/ifx6x60.c
+++ b/drivers/serial/ifx6x60.c
@@ -109,6 +109,7 @@ static inline void mrdy_set_high(void)
 {
 	gpio_set_value(saved_ifx_dev->gpio.mrdy, 1);
 }
+
 static inline void mrdy_set_low(void)
 {
 	gpio_set_value(saved_ifx_dev->gpio.mrdy, 0);
@@ -493,7 +494,7 @@ static int ifx_spi_write(struct tty_struct *tty, const unsigned char *buf,
 	dev_dbg(&ifx_dev->spi_dev->dev, "%s called", __func__);
 
 	tx_count = kfifo_in_locked(&port_data->tx_fifo, tmp_buf, count,
-			&port_data->fifo_lock);
+				   &port_data->fifo_lock);
 	ifx_ser->tty_write_cnt += tx_count;
 	dev_dbg(&ifx_dev->spi_dev->dev,
 		"Write: wrote %d bytes in fifo (total = %d)",
@@ -677,14 +678,14 @@ static void ifx_spi_insert_flip_string(struct ifx_spi_serial *ifx_ser,
 {
 	int chars_inserted;
 	struct tty_struct *tty;
-#ifdef IFX_SPI_DEBUG
-	int i;
-#endif
 
 	dev_dbg(ifx_ser->tty_dev, "%s %d", __func__, size);
 #ifdef IFX_SPI_DEBUG
-	for (i = 0; i < size; i++)
-		dev_dbg(ifx_ser->tty_dev, "%x %c", chars[i], chars[i]);
+	{
+		int i;
+		for (i = 0; i < size; i++)
+			dev_dbg(ifx_ser->tty_dev, "%x %c", chars[i], chars[i]);
+	}
 #endif
 
 	tty = tty_port_tty_get(&ifx_ser->tty_port);
@@ -769,8 +770,7 @@ complete_exit:
 
 	clear_bit(IFX_SPI_STATE_IO_IN_PROGRESS, &(ifx_dev->flags));
 
-	queue_length = (port_data == NULL) ? 0 :
-		kfifo_len(&port_data->tx_fifo);
+	queue_length = (port_data == NULL) ? 0 : kfifo_len(&port_data->tx_fifo);
 	srdy = gpio_get_value(ifx_dev->gpio.srdy);
 	if (!srdy)
 		ifx_spi_power_state_clear(ifx_dev, IFX_SPI_POWER_SRDY);
@@ -912,9 +912,6 @@ void ifx_spi_free_port(struct ifx_spi_device *ifx_dev)
 	dev_dbg(&ifx_dev->spi_dev->dev, "%s called", __func__);
 
 	port_data = ifx_dev->port_data;
-	if (!port_data)
-		return;
-
 	ifx_ser = &port_data->serial;
 	if (ifx_ser) {
 		if (ifx_ser->tty_dev)
@@ -922,6 +919,7 @@ void ifx_spi_free_port(struct ifx_spi_device *ifx_dev)
 	}
 	kfifo_free(&port_data->tx_fifo);
 	kfree(port_data);
+	ifx_dev->port_data = NULL;
 }
 
 int ifx_spi_create_port(struct ifx_spi_device *ifx_dev)
@@ -967,7 +965,6 @@ int ifx_spi_create_port(struct ifx_spi_device *ifx_dev)
 	}
 
 
-	ifx_dev->port_data = port_data;
 	dev_dbg(&ifx_dev->spi_dev->dev, "port data successfully constructed");
 
 	return 0;
@@ -1062,12 +1059,12 @@ static irqreturn_t ifx_spi_reset_interrupt(int irq, void *dev)
 
 static void _ifx_spi_free_device(void)
 {
-	if (saved_ifx_dev) {
-		ifx_spi_free_port(saved_ifx_dev);
-		kfree(saved_ifx_dev->tx_buffer);
-		kfree(saved_ifx_dev->rx_buffer);
-		kfree(saved_ifx_dev);
-	}
+	if (!saved_ifx_dev)
+		return;
+	ifx_spi_free_port(saved_ifx_dev);
+	kfree(saved_ifx_dev->tx_buffer);
+	kfree(saved_ifx_dev->rx_buffer);
+	kfree(saved_ifx_dev);
 	saved_ifx_dev = NULL;
 }
 
@@ -1176,11 +1173,10 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
 		ifx_dev->gpio.reset_out = pl_data->rst_out;
 	} else {
 		dev_err(&spi->dev, "missing platform data!");
-		return -ENODEV;
-
+		ret = -ENODEV;
+		goto error_ret;
 	}
 
-
 	dev_info(&spi->dev, "gpios %d, %d, %d, %d, %d",
 		 ifx_dev->gpio.reset, ifx_dev->gpio.po, ifx_dev->gpio.mrdy,
 		 ifx_dev->gpio.srdy, ifx_dev->gpio.reset_out);
@@ -1256,11 +1252,11 @@ static int ifx_spi_spi_probe(struct spi_device *spi)
 	set_bit(MR_START, &ifx_dev->mdm_reset_state);
 	gpio_set_value(ifx_dev->gpio.po, 0);
 	gpio_set_value(ifx_dev->gpio.reset, 0);
-	mdelay(25);
+	msleep(25);
 	gpio_set_value(ifx_dev->gpio.reset, 1);
-	mdelay(1);
+	msleep(1);
 	gpio_set_value(ifx_dev->gpio.po, 1);
-	mdelay(1);
+	msleep(1);
 	gpio_set_value(ifx_dev->gpio.po, 0);
 	ret = wait_event_timeout(ifx_dev->mdm_reset_wait,
 				 test_bit(MR_COMPLETE,
-- 
1.6.0.6

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-did-some-minor-cleanup.patch
Type: application/octet-stream
Size: 4332 bytes
Desc: 0004-did-some-minor-cleanup.patch
URL: <http://lists.meego.com/pipermail/meego-kernel/attachments/20100927/d880d0c8/attachment.obj>




More information about the Meego-kernel mailing list