Commit 3911764c authored by Heiner Kallweit's avatar Heiner Kallweit Committed by Wolfram Sang

i2c: meson: remove meson_i2c_write_tokens

meson_i2c_write_tokens is always called directly after
meson_i2c_prepare_xfer (and only then). So we can simplify the code by
removing meson_i2c_write_tokens and moving the two statements of
meson_i2c_write_tokens to the end of meson_i2c_prepare_xfer.
Signed-off-by: default avatarHeiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
parent 3f205d7b
...@@ -123,12 +123,6 @@ static void meson_i2c_add_token(struct meson_i2c *i2c, int token) ...@@ -123,12 +123,6 @@ static void meson_i2c_add_token(struct meson_i2c *i2c, int token)
i2c->num_tokens++; i2c->num_tokens++;
} }
static void meson_i2c_write_tokens(struct meson_i2c *i2c)
{
writel(i2c->tokens[0], i2c->regs + REG_TOK_LIST0);
writel(i2c->tokens[1], i2c->regs + REG_TOK_LIST1);
}
static void meson_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq) static void meson_i2c_set_clk_div(struct meson_i2c *i2c, unsigned int freq)
{ {
unsigned long clk_rate = clk_get_rate(i2c->clk); unsigned long clk_rate = clk_get_rate(i2c->clk);
...@@ -210,6 +204,9 @@ static void meson_i2c_prepare_xfer(struct meson_i2c *i2c) ...@@ -210,6 +204,9 @@ static void meson_i2c_prepare_xfer(struct meson_i2c *i2c)
if (i2c->last && i2c->pos + i2c->count >= i2c->msg->len) if (i2c->last && i2c->pos + i2c->count >= i2c->msg->len)
meson_i2c_add_token(i2c, TOKEN_STOP); meson_i2c_add_token(i2c, TOKEN_STOP);
writel(i2c->tokens[0], i2c->regs + REG_TOK_LIST0);
writel(i2c->tokens[1], i2c->regs + REG_TOK_LIST1);
} }
static irqreturn_t meson_i2c_irq(int irqno, void *dev_id) static irqreturn_t meson_i2c_irq(int irqno, void *dev_id)
...@@ -275,12 +272,10 @@ static irqreturn_t meson_i2c_irq(int irqno, void *dev_id) ...@@ -275,12 +272,10 @@ static irqreturn_t meson_i2c_irq(int irqno, void *dev_id)
} }
out: out:
if (i2c->state != STATE_IDLE) { if (i2c->state != STATE_IDLE)
/* Restart the processing */ /* Restart the processing */
meson_i2c_write_tokens(i2c);
meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START, meson_i2c_set_mask(i2c, REG_CTRL, REG_CTRL_START,
REG_CTRL_START); REG_CTRL_START);
}
spin_unlock(&i2c->lock); spin_unlock(&i2c->lock);
...@@ -321,7 +316,6 @@ static int meson_i2c_xfer_msg(struct meson_i2c *i2c, struct i2c_msg *msg, ...@@ -321,7 +316,6 @@ static int meson_i2c_xfer_msg(struct meson_i2c *i2c, struct i2c_msg *msg,
i2c->state = (msg->flags & I2C_M_RD) ? STATE_READ : STATE_WRITE; i2c->state = (msg->flags & I2C_M_RD) ? STATE_READ : STATE_WRITE;
meson_i2c_prepare_xfer(i2c); meson_i2c_prepare_xfer(i2c);
meson_i2c_write_tokens(i2c);
reinit_completion(&i2c->done); reinit_completion(&i2c->done);
/* Start the transfer */ /* Start the transfer */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment