Skip to content

Commit 06e12ae

Browse files
author
Wolfram Sang
committed
i2c: testunit: move code to avoid a forward declaration
To avoid forward declarations in upcoming code, move the workqueue handler as-is downwards. This will ease review of the new features. Signed-off-by: Wolfram Sang <[email protected]>
1 parent bbec612 commit 06e12ae

File tree

1 file changed

+42
-42
lines changed

1 file changed

+42
-42
lines changed

drivers/i2c/i2c-slave-testunit.c

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -48,48 +48,6 @@ struct testunit_data {
4848

4949
static char tu_version_info[] = "v" UTS_RELEASE "\n\0";
5050

51-
static void i2c_slave_testunit_work(struct work_struct *work)
52-
{
53-
struct testunit_data *tu = container_of(work, struct testunit_data, worker.work);
54-
struct i2c_msg msg;
55-
u8 msgbuf[256];
56-
int ret = 0;
57-
58-
msg.addr = I2C_CLIENT_END;
59-
msg.buf = msgbuf;
60-
61-
switch (tu->regs[TU_REG_CMD]) {
62-
case TU_CMD_READ_BYTES:
63-
msg.addr = tu->regs[TU_REG_DATAL];
64-
msg.flags = I2C_M_RD;
65-
msg.len = tu->regs[TU_REG_DATAH];
66-
break;
67-
68-
case TU_CMD_SMBUS_HOST_NOTIFY:
69-
msg.addr = 0x08;
70-
msg.flags = 0;
71-
msg.len = 3;
72-
msgbuf[0] = tu->client->addr;
73-
msgbuf[1] = tu->regs[TU_REG_DATAL];
74-
msgbuf[2] = tu->regs[TU_REG_DATAH];
75-
break;
76-
77-
default:
78-
break;
79-
}
80-
81-
if (msg.addr != I2C_CLIENT_END) {
82-
ret = i2c_transfer(tu->client->adapter, &msg, 1);
83-
/* convert '0 msgs transferred' to errno */
84-
ret = (ret == 0) ? -EIO : ret;
85-
}
86-
87-
if (ret < 0)
88-
dev_err(&tu->client->dev, "CMD%02X failed (%d)\n", tu->regs[TU_REG_CMD], ret);
89-
90-
clear_bit(TU_FLAG_IN_PROCESS, &tu->flags);
91-
}
92-
9351
static int i2c_slave_testunit_slave_cb(struct i2c_client *client,
9452
enum i2c_slave_event event, u8 *val)
9553
{
@@ -166,6 +124,48 @@ static int i2c_slave_testunit_slave_cb(struct i2c_client *client,
166124
return ret;
167125
}
168126

127+
static void i2c_slave_testunit_work(struct work_struct *work)
128+
{
129+
struct testunit_data *tu = container_of(work, struct testunit_data, worker.work);
130+
struct i2c_msg msg;
131+
u8 msgbuf[256];
132+
int ret = 0;
133+
134+
msg.addr = I2C_CLIENT_END;
135+
msg.buf = msgbuf;
136+
137+
switch (tu->regs[TU_REG_CMD]) {
138+
case TU_CMD_READ_BYTES:
139+
msg.addr = tu->regs[TU_REG_DATAL];
140+
msg.flags = I2C_M_RD;
141+
msg.len = tu->regs[TU_REG_DATAH];
142+
break;
143+
144+
case TU_CMD_SMBUS_HOST_NOTIFY:
145+
msg.addr = 0x08;
146+
msg.flags = 0;
147+
msg.len = 3;
148+
msgbuf[0] = tu->client->addr;
149+
msgbuf[1] = tu->regs[TU_REG_DATAL];
150+
msgbuf[2] = tu->regs[TU_REG_DATAH];
151+
break;
152+
153+
default:
154+
break;
155+
}
156+
157+
if (msg.addr != I2C_CLIENT_END) {
158+
ret = i2c_transfer(tu->client->adapter, &msg, 1);
159+
/* convert '0 msgs transferred' to errno */
160+
ret = (ret == 0) ? -EIO : ret;
161+
}
162+
163+
if (ret < 0)
164+
dev_err(&tu->client->dev, "CMD%02X failed (%d)\n", tu->regs[TU_REG_CMD], ret);
165+
166+
clear_bit(TU_FLAG_IN_PROCESS, &tu->flags);
167+
}
168+
169169
static int i2c_slave_testunit_probe(struct i2c_client *client)
170170
{
171171
struct testunit_data *tu;

0 commit comments

Comments
 (0)