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 branch 'i2c/for-current-fixed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c fixes from Wolfram Sang:
"I2C driver bugfixes and a MAINTAINERS update for you"

* 'i2c/for-current-fixed' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
i2c: Prevent runtime suspend of adapter when Host Notify is required
i2c: synquacer: fix enumeration of slave devices
MAINTAINERS: friendly takeover of i2c-gpio driver
i2c: designware: ratelimit 'transfer when suspended' errors
i2c: imx: correct the method of getting private data in notifier_call

+10 -5
+1 -1
MAINTAINERS
··· 6462 6462 F: drivers/media/radio/radio-gemtek* 6463 6463 6464 6464 GENERIC GPIO I2C DRIVER 6465 - M: Haavard Skinnemoen <hskinnemoen@gmail.com> 6465 + M: Wolfram Sang <wsa+renesas@sang-engineering.com> 6466 6466 S: Supported 6467 6467 F: drivers/i2c/busses/i2c-gpio.c 6468 6468 F: include/linux/platform_data/i2c-gpio.h
+1 -2
drivers/i2c/busses/i2c-designware-master.c
··· 426 426 427 427 pm_runtime_get_sync(dev->dev); 428 428 429 - if (dev->suspended) { 430 - dev_err(dev->dev, "Error %s call while suspended\n", __func__); 429 + if (dev_WARN_ONCE(dev->dev, dev->suspended, "Transfer while suspended\n")) { 431 430 ret = -ESHUTDOWN; 432 431 goto done_nolock; 433 432 }
+2 -2
drivers/i2c/busses/i2c-imx.c
··· 515 515 unsigned long action, void *data) 516 516 { 517 517 struct clk_notifier_data *ndata = data; 518 - struct imx_i2c_struct *i2c_imx = container_of(&ndata->clk, 518 + struct imx_i2c_struct *i2c_imx = container_of(nb, 519 519 struct imx_i2c_struct, 520 - clk); 520 + clk_change_nb); 521 521 522 522 if (action & POST_RATE_CHANGE) 523 523 i2c_imx_set_clk(i2c_imx, ndata->new_rate);
+2
drivers/i2c/busses/i2c-synquacer.c
··· 597 597 i2c->adapter = synquacer_i2c_ops; 598 598 i2c_set_adapdata(&i2c->adapter, i2c); 599 599 i2c->adapter.dev.parent = &pdev->dev; 600 + i2c->adapter.dev.of_node = pdev->dev.of_node; 601 + ACPI_COMPANION_SET(&i2c->adapter.dev, ACPI_COMPANION(&pdev->dev)); 600 602 i2c->adapter.nr = pdev->id; 601 603 init_completion(&i2c->completion); 602 604
+4
drivers/i2c/i2c-core-base.c
··· 327 327 328 328 if (client->flags & I2C_CLIENT_HOST_NOTIFY) { 329 329 dev_dbg(dev, "Using Host Notify IRQ\n"); 330 + /* Keep adapter active when Host Notify is required */ 331 + pm_runtime_get_sync(&client->adapter->dev); 330 332 irq = i2c_smbus_host_notify_to_irq(client); 331 333 } else if (dev->of_node) { 332 334 irq = of_irq_get_byname(dev->of_node, "irq"); ··· 433 431 device_init_wakeup(&client->dev, false); 434 432 435 433 client->irq = client->init_irq; 434 + if (client->flags & I2C_CLIENT_HOST_NOTIFY) 435 + pm_runtime_put(&client->adapter->dev); 436 436 437 437 return status; 438 438 }