Skip to content

Commit 1a62668

Browse files
svenpeter42wsakernel
authored andcommitted
i2c: pasemi: Move common reset code to own function
Split out common reset call to its own function so that we can later add support for selecting the clock frequency and an additional enable bit found in newer revisions. Reviewed-by: Arnd Bergmann <[email protected]> Signed-off-by: Sven Peter <[email protected]> Acked-by: Olof Johansson <[email protected]> Tested-by: Christian Zigotzky <[email protected]> Signed-off-by: Wolfram Sang <[email protected]>
1 parent 9bc5f4f commit 1a62668

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

drivers/i2c/busses/i2c-pasemi-core.c

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ static inline int reg_read(struct pasemi_smbus *smbus, int reg)
6161
#define TXFIFO_WR(smbus, reg) reg_write((smbus), REG_MTXFIFO, (reg))
6262
#define RXFIFO_RD(smbus) reg_read((smbus), REG_MRXFIFO)
6363

64+
static void pasemi_reset(struct pasemi_smbus *smbus)
65+
{
66+
reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
67+
(CLK_100K_DIV & CTL_CLK_M)));
68+
}
69+
6470
static void pasemi_smb_clear(struct pasemi_smbus *smbus)
6571
{
6672
unsigned int status;
@@ -135,8 +141,7 @@ static int pasemi_i2c_xfer_msg(struct i2c_adapter *adapter,
135141
return 0;
136142

137143
reset_out:
138-
reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
139-
(CLK_100K_DIV & CTL_CLK_M)));
144+
pasemi_reset(smbus);
140145
return err;
141146
}
142147

@@ -302,8 +307,7 @@ static int pasemi_smb_xfer(struct i2c_adapter *adapter,
302307
return 0;
303308

304309
reset_out:
305-
reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
306-
(CLK_100K_DIV & CTL_CLK_M)));
310+
pasemi_reset(smbus);
307311
return err;
308312
}
309313

@@ -335,8 +339,7 @@ int pasemi_i2c_common_probe(struct pasemi_smbus *smbus)
335339
/* set up the sysfs linkage to our parent device */
336340
smbus->adapter.dev.parent = smbus->dev;
337341

338-
reg_write(smbus, REG_CTL, (CTL_MTR | CTL_MRR |
339-
(CLK_100K_DIV & CTL_CLK_M)));
342+
pasemi_reset(smbus);
340343

341344
error = i2c_add_adapter(&smbus->adapter);
342345
if (error)

0 commit comments

Comments
 (0)