Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'i2c-for-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
"MAINTAINERS rectifications and a few minor driver fixes"

* tag 'i2c-for-5.19-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: mediatek: Fix an error handling path in mtk_i2c_probe()
i2c: designware: Use standard optional ref clock implementation
MAINTAINERS: core DT include belongs to core
MAINTAINERS: add include/dt-bindings/i2c to I2C SUBSYSTEM HOST DRIVERS
i2c: npcm7xx: Add check for platform_driver_register
MAINTAINERS: Update Synopsys DesignWare I2C to Supported

+22 -10
+3 -1
MAINTAINERS
··· 9276 9276 F: Documentation/devicetree/bindings/i2c/i2c.txt 9277 9277 F: Documentation/i2c/ 9278 9278 F: drivers/i2c/* 9279 + F: include/dt-bindings/i2c/i2c.h 9279 9280 F: include/linux/i2c-dev.h 9280 9281 F: include/linux/i2c-smbus.h 9281 9282 F: include/linux/i2c.h ··· 9292 9291 F: Documentation/devicetree/bindings/i2c/ 9293 9292 F: drivers/i2c/algos/ 9294 9293 F: drivers/i2c/busses/ 9294 + F: include/dt-bindings/i2c/ 9295 9295 9296 9296 I2C-TAOS-EVM DRIVER 9297 9297 M: Jean Delvare <jdelvare@suse.com> ··· 19307 19305 R: Mika Westerberg <mika.westerberg@linux.intel.com> 19308 19306 R: Jan Dabros <jsd@semihalf.com> 19309 19307 L: linux-i2c@vger.kernel.org 19310 - S: Maintained 19308 + S: Supported 19311 19309 F: drivers/i2c/busses/i2c-designware-* 19312 19310 19313 19311 SYNOPSYS DESIGNWARE MMC/SD/SDIO DRIVER
-3
drivers/i2c/busses/i2c-designware-common.c
··· 477 477 { 478 478 int ret; 479 479 480 - if (IS_ERR(dev->clk)) 481 - return PTR_ERR(dev->clk); 482 - 483 480 if (prepare) { 484 481 /* Optional interface clock */ 485 482 ret = clk_prepare_enable(dev->pclk);
+11 -2
drivers/i2c/busses/i2c-designware-platdrv.c
··· 320 320 goto exit_reset; 321 321 } 322 322 323 - dev->clk = devm_clk_get(&pdev->dev, NULL); 324 - if (!i2c_dw_prepare_clk(dev, true)) { 323 + dev->clk = devm_clk_get_optional(&pdev->dev, NULL); 324 + if (IS_ERR(dev->clk)) { 325 + ret = PTR_ERR(dev->clk); 326 + goto exit_reset; 327 + } 328 + 329 + ret = i2c_dw_prepare_clk(dev, true); 330 + if (ret) 331 + goto exit_reset; 332 + 333 + if (dev->clk) { 325 334 u64 clk_khz; 326 335 327 336 dev->get_clk_rate_khz = i2c_dw_get_clk_rate_khz;
+7 -2
drivers/i2c/busses/i2c-mt65xx.c
··· 1420 1420 if (ret < 0) { 1421 1421 dev_err(&pdev->dev, 1422 1422 "Request I2C IRQ %d fail\n", irq); 1423 - return ret; 1423 + goto err_bulk_unprepare; 1424 1424 } 1425 1425 1426 1426 i2c_set_adapdata(&i2c->adap, i2c); 1427 1427 ret = i2c_add_adapter(&i2c->adap); 1428 1428 if (ret) 1429 - return ret; 1429 + goto err_bulk_unprepare; 1430 1430 1431 1431 platform_set_drvdata(pdev, i2c); 1432 1432 1433 1433 return 0; 1434 + 1435 + err_bulk_unprepare: 1436 + clk_bulk_unprepare(I2C_MT65XX_CLK_MAX, i2c->clocks); 1437 + 1438 + return ret; 1434 1439 } 1435 1440 1436 1441 static int mtk_i2c_remove(struct platform_device *pdev)
+1 -2
drivers/i2c/busses/i2c-npcm7xx.c
··· 2372 2372 static int __init npcm_i2c_init(void) 2373 2373 { 2374 2374 npcm_i2c_debugfs_dir = debugfs_create_dir("npcm_i2c", NULL); 2375 - platform_driver_register(&npcm_i2c_bus_driver); 2376 - return 0; 2375 + return platform_driver_register(&npcm_i2c_bus_driver); 2377 2376 } 2378 2377 module_init(npcm_i2c_init); 2379 2378