Skip to content

Commit e3b2e2c

Browse files
committed
Merge tag 'i2c-for-6.4-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux
Pull i2c fixes from Wolfram Sang: "Nothing fancy. Two driver and one DT binding fix" * tag 'i2c-for-6.4-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle i2c: qup: Add missing unwind goto in qup_i2c_probe() dt-bindings: i2c: opencores: Add missing type for "regstep"
2 parents 547cc9b + e69b9bc commit e3b2e2c

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

Documentation/devicetree/bindings/i2c/opencores,i2c-ocores.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ properties:
6060
default: 0
6161

6262
regstep:
63+
$ref: /schemas/types.yaml#/definitions/uint32
6364
description: |
6465
deprecated, use reg-shift above
6566
deprecated: true

drivers/i2c/busses/i2c-imx-lpi2c.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,8 +201,8 @@ static void lpi2c_imx_stop(struct lpi2c_imx_struct *lpi2c_imx)
201201
/* CLKLO = I2C_CLK_RATIO * CLKHI, SETHOLD = CLKHI, DATAVD = CLKHI/2 */
202202
static int lpi2c_imx_config(struct lpi2c_imx_struct *lpi2c_imx)
203203
{
204-
u8 prescale, filt, sethold, clkhi, clklo, datavd;
205-
unsigned int clk_rate, clk_cycle;
204+
u8 prescale, filt, sethold, datavd;
205+
unsigned int clk_rate, clk_cycle, clkhi, clklo;
206206
enum lpi2c_imx_pincfg pincfg;
207207
unsigned int temp;
208208

drivers/i2c/busses/i2c-qup.c

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1752,16 +1752,21 @@ static int qup_i2c_probe(struct platform_device *pdev)
17521752
if (!clk_freq || clk_freq > I2C_MAX_FAST_MODE_PLUS_FREQ) {
17531753
dev_err(qup->dev, "clock frequency not supported %d\n",
17541754
clk_freq);
1755-
return -EINVAL;
1755+
ret = -EINVAL;
1756+
goto fail_dma;
17561757
}
17571758

17581759
qup->base = devm_platform_ioremap_resource(pdev, 0);
1759-
if (IS_ERR(qup->base))
1760-
return PTR_ERR(qup->base);
1760+
if (IS_ERR(qup->base)) {
1761+
ret = PTR_ERR(qup->base);
1762+
goto fail_dma;
1763+
}
17611764

17621765
qup->irq = platform_get_irq(pdev, 0);
1763-
if (qup->irq < 0)
1764-
return qup->irq;
1766+
if (qup->irq < 0) {
1767+
ret = qup->irq;
1768+
goto fail_dma;
1769+
}
17651770

17661771
if (has_acpi_companion(qup->dev)) {
17671772
ret = device_property_read_u32(qup->dev,
@@ -1775,13 +1780,15 @@ static int qup_i2c_probe(struct platform_device *pdev)
17751780
qup->clk = devm_clk_get(qup->dev, "core");
17761781
if (IS_ERR(qup->clk)) {
17771782
dev_err(qup->dev, "Could not get core clock\n");
1778-
return PTR_ERR(qup->clk);
1783+
ret = PTR_ERR(qup->clk);
1784+
goto fail_dma;
17791785
}
17801786

17811787
qup->pclk = devm_clk_get(qup->dev, "iface");
17821788
if (IS_ERR(qup->pclk)) {
17831789
dev_err(qup->dev, "Could not get iface clock\n");
1784-
return PTR_ERR(qup->pclk);
1790+
ret = PTR_ERR(qup->pclk);
1791+
goto fail_dma;
17851792
}
17861793
qup_i2c_enable_clocks(qup);
17871794
src_clk_freq = clk_get_rate(qup->clk);

0 commit comments

Comments
 (0)