i2c-designware: move i2c functionality bit field to be adapter specific
The functionality of the adapter depends on the configuration of the IP block at silicon compile time and is adapter specific. Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com> Signed-off-by: Ben Dooks <ben-linux@fluff.org>
This commit is contained in:
parent
1d31b58f64
commit
2fa8326b4b
@ -457,12 +457,8 @@ done:
|
||||
|
||||
u32 i2c_dw_func(struct i2c_adapter *adap)
|
||||
{
|
||||
return I2C_FUNC_I2C |
|
||||
I2C_FUNC_10BIT_ADDR |
|
||||
I2C_FUNC_SMBUS_BYTE |
|
||||
I2C_FUNC_SMBUS_BYTE_DATA |
|
||||
I2C_FUNC_SMBUS_WORD_DATA |
|
||||
I2C_FUNC_SMBUS_I2C_BLOCK;
|
||||
struct dw_i2c_dev *dev = i2c_get_adapdata(adap);
|
||||
return dev->functionality;
|
||||
}
|
||||
|
||||
static u32 i2c_dw_read_clear_intrbits(struct dw_i2c_dev *dev)
|
||||
|
@ -182,6 +182,7 @@ struct dw_i2c_dev {
|
||||
int irq;
|
||||
int swab;
|
||||
struct i2c_adapter adapter;
|
||||
u32 functionality;
|
||||
unsigned int tx_fifo_depth;
|
||||
unsigned int rx_fifo_depth;
|
||||
};
|
||||
|
@ -96,6 +96,14 @@ static int __devinit dw_i2c_probe(struct platform_device *pdev)
|
||||
}
|
||||
clk_enable(dev->clk);
|
||||
|
||||
dev->functionality =
|
||||
I2C_FUNC_I2C |
|
||||
I2C_FUNC_10BIT_ADDR |
|
||||
I2C_FUNC_SMBUS_BYTE |
|
||||
I2C_FUNC_SMBUS_BYTE_DATA |
|
||||
I2C_FUNC_SMBUS_WORD_DATA |
|
||||
I2C_FUNC_SMBUS_I2C_BLOCK;
|
||||
|
||||
dev->base = ioremap(mem->start, resource_size(mem));
|
||||
if (dev->base == NULL) {
|
||||
dev_err(&pdev->dev, "failure mapping io resources\n");
|
||||
|
Loading…
Reference in New Issue
Block a user