- 11 8月, 2015 2 次提交
-
-
由 Eddie Huang 提交于
When occur i2c ack error, i2c controller generate two interrupts, first is the ack error interrupt, then the complete interrupt. i2c interrupt handler should keep the two interrupt value, and only call complete() for the complete interrupt. Signed-off-by: NLiguo Zhang <liguo.zhang@mediatek.com> Signed-off-by: NEddie Huang <eddie.huang@mediatek.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Eddie Huang 提交于
Reset DMA in hardware init function to avoid unknown hardware state before do any I2C operation. Signed-off-by: NLiguo Zhang <liguo.zhang@mediatek.com> Signed-off-by: NEddie Huang <eddie.huang@mediatek.com> Reviewed-by: NDaniel Kurtz <djkurtz@chromium.org> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 10 8月, 2015 38 次提交
-
-
由 Colin Ian King 提交于
Minor clean up of indenting, no functional change Signed-off-by: NColin Ian King <colin.king@canonical.com> [wsa: squashed two lines into one] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Masahiro Yamada 提交于
The owner of the adapter is missing, while this driver is tristate. Signed-off-by: NMasahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NGuenter Roeck <linux@roeck-us.net>
-
由 Wolfram Sang 提交于
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NGuenter Roeck <linux@roeck-us.net>
-
由 Wolfram Sang 提交于
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NGuenter Roeck <linux@roeck-us.net>
-
由 Wolfram Sang 提交于
The I2C dir is not for I2C client devices! Move it to the proper folder. Signed-off-by: NWolfram Sang <wsa@the-dreams.de> Acked-by: NPavel Machek <pavel@denx.de>
-
由 Javier Martinez Canillas 提交于
The I2C core always reports the MODALIAS uevent as "i2c:<client name>" regardless if the driver later is match using the I2C id_table or the of_match_table. So the driver needs to export the I2C table and this be built into the module or udev won't have the necessary information to auto load the correct module when the device is added. Signed-off-by: NJavier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jarkko Nikula 提交于
Printing adapter name is irrelevant from this debug print and makes output needlessly long. Having already device and functions names printed here is enough for debugging. While at it remove extra space from "enabled= 0x" and use "%#x" for printing "0x" prefixed hexadecimal values. Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> [wsa: made it a oneliner] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vladimir Zapolskiy 提交于
This change is needed to properly lock I2C parent bus driver. Prior to this change i2c_put_adapter() is misused, which may lead to an overflow over zero of I2C bus driver user counter. Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vladimir Zapolskiy 提交于
of_find_i2c_adapter_by_node() call requires quite often missing put_device(), and i2c_put_adapter() releases a device locked by i2c_get_adapter() only. In general module_put(adapter->owner) and put_device(dev) are not interchangeable. This is a common error reproduction scenario as a result of the misusage described above (for clearness this is run on iMX6 platform with HDMI and I2C bus drivers compiled as kernel modules): root@mx6q:~# lsmod | grep i2c i2c_imx 10213 0 root@mx6q:~# lsmod | grep dw_hdmi_imx dw_hdmi_imx 3631 0 dw_hdmi 11846 1 dw_hdmi_imx imxdrm 8674 3 dw_hdmi_imx,imx_ipuv3_crtc,imx_ldb drm_kms_helper 113765 5 dw_hdmi,imxdrm,imx_ipuv3_crtc,imx_ldb root@mx6q:~# rmmod dw_hdmi_imx root@mx6q:~# lsmod | grep i2c i2c_imx 10213 -1 ^^^^^ root@mx6q:~# rmmod i2c_imx rmmod: ERROR: Module i2c_imx is in use To fix existing users of these interfaces and to avoid any further confusion and misusage in future, add one more interface of_get_i2c_adapter_by_node(), it is similar to i2c_get_adapter() in sense that an I2C bus device driver found and locked by user can be correctly unlocked by i2c_put_adapter(). Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vladimir Zapolskiy 提交于
In addition to module_get()/module_put() add get_device()/put_device() calls into i2c_get_adapter()/i2c_put_adapter() exported interfaces. This is done to lock I2C bus device, if it is in use by a client. Signed-off-by: NVladimir Zapolskiy <vladimir_zapolskiy@mentor.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Krzysztof Kozlowski 提交于
i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Krzysztof Kozlowski 提交于
i2c_driver does not need to set an owner because i2c_register_driver() will set it. Signed-off-by: NKrzysztof Kozlowski <k.kozlowski@samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Andy Shevchenko 提交于
The mentioned flag fixes a warning on Intel Edison board since one of the I2C controller shares IRQ line with watchdog timer. Signed-off-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Denis Carikli 提交于
This adds devicetree documentation for the bindings of the ads7828 driver. Signed-off-by: NDenis Carikli <denis@eukrea.com> Acked-by: NGuenter Roeck <linux@roeck-us.net> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Ondrej Zary 提交于
Add support for VCT-jig parallel port I2C adapter to i2c-parport. The adapter schematic can be found here (in the RAR file): http://remont-aud.net/shop/22/desc/vct-jig-komplekt-dlja-samostojatelnoj-sborkiSigned-off-by: NOndrej Zary <linux@rainbow-software.org> Reviewed-by: NJean Delvare <jdelvare@suse.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Anurag Kumar Vulisha 提交于
Cadence 1.0 version has bugs which have been fixed in the cadence 1.4 version. This patch removes the quirks present in the driver for cadence 1.4 version. Signed-off-by: NAnurag Kumar Vulisha <anuragku@xilinx.com> [wsa: fixed indentation issues in r1p10_i2c_def] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Laxman Dewangan 提交于
Tegra I2C controller required to configure the clock divisor register inside controller to different value based on the clock speed. The recommended clock divisor for the I2C controller for standard/fast mode is 0x19 and for fast-mode plus is 0x10. Add support to configure clock divisor register of I2C controller based on bus clock rate. This clock divisor is supported form T114 onwards. Signed-off-by: NChaitanya Bandi <bandik@nvidia.com> Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Laxman Dewangan 提交于
Once the new configuration is set on the conifg register of I2C controller, it is require to update the CONFIG_LOAD register to transfer the new SW configuration to actual HW internal registers that would be used in the actual logic. It is like, SW is programming only shadow registers through regular configuration and when these load_config bit fields are set to 1, it causes the regular/shadows registers configuration transferred to the HW internal active registers. So SW has to set these bit fields at the end of all regular registers configuration. And these config_load bits are HW auto-clear bits. HW clears these bit fields once the register configuration is moved to HW internal active registers. So SW has to wait until these bits are auto-cleared before going for any further programming This mechanism is supported on T124 and after this SoCs. Signed-off-by: NChaitanya Bandi <bandik@nvidia.com> Signed-off-by: NLaxman Dewangan <ldewangan@nvidia.com> Tested-by: NStephen Warren <swarren@nvidia.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
Patch "i2c: omap: abolish variable name confusion" triggered a coccinelle warning which we fix here: drivers/i2c/busses/i2c-omap.c:1333:5-24: pm_runtime_get_sync returns < 0 as error. Unecessary IS_ERR_VALUE at line 1334 Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
In case of error conditions like Arbitration lost or NACK lets signal the waiting process. Handle error cases in the Rx path Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Currently only one interrupt is serviced in the isr. In case the multiple interrupts happen simultenously we service and ack only one of them. Check for all the causes in the isr and service them. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Currently there is no slave mode support in the driver also in the isr we just ack it and do nothing. So disable the AAS interrupt. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Remove the busy loop while waiting for bus busy. Instead let the processor sleep. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Currently before every transfer the interrupts are disabled. So incase the slave nacks in the middle of the transfer the current transfer is not aborted. Upon enabling the interrupts conditions like NACK , arbitration lost will not be masked. Remove the disabling of the interrupts. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Currently before every transfer the controller is reinitialised. We are already resetting the controller upon errors so upon every transfer is a performance kill. Remove the same. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
The xiic_process is a 154 line code that runs in isr context currently move it to thread context. Also the name xiic_process suggests that the intension was to run in process context. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> [wsa: initialized irqreturn_t to IRQ_NONE instead of IRQ_HANDLED] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shubhrajyoti Datta 提交于
Currently the interrupts are disabled at the start of the isr and enabled at the end of the isr. Remove the same. In case the slave device NACKs the transaction while in the isr the transfer will continue and the NACK interrupt will arrive only after the isr is serviced. Signed-off-by: NShubhrajyoti Datta <shubhraj@xilinx.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vaibhav Hiremath 提交于
This patch cleans up i2c_pxa_probe() function, - Use devm_ variants wherever This will clean both probe exit and i2c_pxa_remove() functions - Check platform resource before parsing any other data from DT/platform - Use dev_err on failure from i2c_add_numbered_adapter() - Use pr_info instead of printk for KERN_INFO Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> [wsa: removed unneeded error prinout after devm_ioremap_resource] Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vaibhav Hiremath 提交于
Update i2c_pxa_scream_blue_murder() fn to print more information in case of error. Also, use dev_err variants instead of printk. Signed-off-by: NJett.Zhou <jtzhou@marvell.com> Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Cc: Wolfram Sang <wsa@the-dreams.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Yipeng Yao 提交于
Fix below warning message, coming from 64 bit toolchain. drivers/i2c/busses/i2c-pxa.c:1237:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: NYipeng Yao <ypyao@marvell.com> [vaibhav.hiremath@linaro.org: Updated Changelog] Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Cc: Wolfram Sang <wsa@the-dreams.de> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Shouming Wang 提交于
In case of timeout in pio mode of operation return I2C_RETRY. This behavior will be same as interrupt mode of operation. Signed-off-by: NShouming Wang <wangshm@marvell.com> [vaibhav.hiremath@linaro.org: Updated changelog] Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Vaibhav Hiremath 提交于
Normally i2c controller works as master, so slave addr is not needed, or it will impact some slave device (eg. ST NFC chip) i2c accesses, because it has the same i2c address with controller. For example, On the pxa1928 based platform, where PMIC (88pm860) is present @0x30 address on TWSI0 interface, and if we set 0x30 as a slave address in pxa1928 TWSI0 module, all the transactions towards PMIC would go for toss. Signed-off-by: NJett.Zhou <jtzhou@marvell.com> Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Acked-by: NRobert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Leilei Shang 提交于
During suspend there may still be some i2c access happening, as the interrupt is shared between multiple drivers. And if we don't keep i2c irq ON, there may be i2c access timeout if i2c is in irq mode of operation. Signed-off-by: NRaul Xiong <xjian@marvell.com> Signed-off-by: NXiaofan Tian <tianxf@marvell.com> [vaibhav.hiremath@linaro.org: updated Changelog] Signed-off-by: NVaibhav Hiremath <vaibhav.hiremath@linaro.org> Cc: Wolfram Sang <wsa@the-dreams.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
Add a basic driver for the Renesas EMEV2 SoC. Based on the driver from the BSP which was first worked on by Ian, and made ready for upstream by me. Signed-off-by: NIan Molton <ian.molton@codethink.co.uk> Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
We have a driver now for IIC, so disable reset for them. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NStephen Boyd <sboyd@codeaurora.org> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Felipe Balbi 提交于
we're about to remove the module, so we can't really schedule a PM transition in the future, we must wait for it to finish. Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Felipe Balbi 提交于
struct device pointers are usually called dev. Calling our struct omap_i2c_dev pointers also dev has caused enough confusion. This is the result of a few simple sed rules to convert all struct omap_i2c_dev pointers to be called omap instead. Signed-off-by: NFelipe Balbi <balbi@ti.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-