- 21 4月, 2017 7 次提交
-
-
由 Wolfram Sang 提交于
PM handling is correct but might be a bit subtle. Add some comments for clarification. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Wolfram Sang 提交于
Resume failed because of uninitialized registers. Instead of adding a resume callback, we simply initialize registers before every transfer. This lightweight change is more robust and will keep us safe if we ever need support for power domains or dynamic frequency changes. Signed-off-by: NWolfram Sang <wsa+renesas@sang-engineering.com> Acked-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Colin Ian King 提交于
trivial fix to spelling mistake in MODULE_DESCRIPTION text Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Andrzej Hajda 提交于
Driver core provides of_device_get_match_data which can be used to get driver data instead of custom helper. Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com> Tested-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Andrzej Hajda 提交于
In case of clock setup error it is enough to log it once. Moreover patch simplifies clock setup routines. Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com> Tested-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Andrzej Hajda 提交于
There is no need to keep separate settings for high and fast speed clock. Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Reviewed-by: NJavier Martinez Canillas <javier@osg.samsung.com> Tested-by: NJavier Martinez Canillas <javier@osg.samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Andrzej Hajda 提交于
Instead of using cryptic loop direct calculation of timings can be used. Signed-off-by: NAndrzej Hajda <a.hajda@samsung.com> Tested-by: NJavier Martinez Canillas <javier@osg.samsung.com> Reviewed-by: NAndi Shyti <andi.shyti@samsung.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 20 4月, 2017 3 次提交
-
-
由 Colin Ian King 提交于
The assignment to addr requires a call to get_sem_addr that dereferences dev, however, this dereference occurs before a null pointer check on dev. Move this assignment after the null check on dev to avoid a potential null pointer dereference. Detected by CoverityScan, CID#1419700 ("Dereference before null check") Fixes: fd476fa2 ("i2c: designware-baytrail: Add support for cherrytrail") Signed-off-by: NColin Ian King <colin.king@canonical.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 chin.yew.tan@intel.com 提交于
Sda-hold-time is an important parameter for tuning i2c to meet the electrical specification especially for high speed. I2C with incorrect sda-hold-time may cause lost arbitration error. Instead of loading all speed mode settings, only selected speed mode settings are loaded. Signed-off-by: NTan Chin Yew <chin.yew.tan@intel.com> Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Acked-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
https://github.com/peda-r/i2c-mux由 Wolfram Sang 提交于
Pull in trivial change from the i2c-mux subsubsystem: "I thought Mauro would take this patch, but then he just added a tag. So, here's a late incremental pull request for v4.12-rc1..."
-
- 19 4月, 2017 1 次提交
-
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Reviewed-by: NMauro Carvalho Chehab <mchehab@s-opensource.com> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
- 17 4月, 2017 7 次提交
-
-
由 Wolfram Sang 提交于
Pull in the immutable branch with I2C ACPI core extensions to support the INT33FE driver.
-
由 Hans de Goede 提交于
By default the i2c-core will try to get an irq with index 0 on ACPI / of instantiated devices. This is troublesome on some ACPI systems where the irq info at index 0 in the CRS table may contain nonsense and/or point to an irqchip for which there is no Linux driver. If this happens then before this commit the driver's probe method would never get called because i2c_device_probe will try to get an irq by calling acpi_dev_gpio_irq_get which will always return -EPROBE in this case, as it waits for a matching irqchip driver to load. Thus causing the driver to not get a chance to bind. This commit adds a new disable_i2c_core_irq_mapping flag to struct i2c_driver which a driver can set to tell the core to skip irq mapping. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Hans de Goede 提交于
By default the i2c subsys creates an i2c-client for the first I2cSerialBus resource of an acpi_device, but some acpi_devices have multiple I2cSerialBus resources and we may want to instantiate i2c-clients for the others. This commit adds a new i2c_acpi_new_device function which can be used to create an i2c-client for any I2cSerialBus resource of an acpi_device. Note that the other resources may even be on a different i2c bus, so just retrieving the client address is not enough. Here is an example DSDT excerpt from such a device: Device (WIDR) { Name (_HID, "INT33FE" /* XPOWER Battery Device */) Name (_CID, "INT33FE" /* XPOWER Battery Device */) Name (_DDN, "WC PMIC Battery Device") <snip> Name (RBUF, ResourceTemplate () { I2cSerialBusV2 (0x005E, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.PCI0.I2C7", 0x00, ResourceConsumer, , Exclusive, ) I2cSerialBusV2 (0x0036, ControllerInitiated, 0x000186A0, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , Exclusive, ) I2cSerialBusV2 (0x0022, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , Exclusive, ) I2cSerialBusV2 (0x0054, ControllerInitiated, 0x00061A80, AddressingMode7Bit, "\\_SB.PCI0.I2C1", 0x00, ResourceConsumer, , Exclusive, ) GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, , ) { // Pin list 0x0012 } GpioInt (Edge, ActiveLow, ExclusiveAndWake, PullNone, 0x0000, "\\_SB.GPO1", 0x00, ResourceConsumer, , ) { // Pin list 0x0005 } GpioInt (Level, ActiveLow, Exclusive, PullNone, 0x0000, "\\_SB.PCI0.I2C7.PMI5", 0x00, ResourceConsumer, , ) { // Pin list 0x0013 } }) Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings { Return (RBUF) /* \_SB_.PCI0.I2C7.WIDR.RBUF */ } <snip> } Signed-off-by: NHans de Goede <hdegoede@redhat.com> Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Hans de Goede 提交于
Modify struct i2c_acpi_lookup and i2c_acpi_fill_info() to allow using them to get the info from a certain index in the ACPI-resource list rather then taking the first I2cSerialBus resource. Signed-off-by: NHans de Goede <hdegoede@redhat.com> Reviewed-by: NAndy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Geliang Tang 提交于
Use setup_timer() instead of init_timer() to simplify the code. Signed-off-by: NGeliang Tang <geliangtang@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Edgar Cherkasov 提交于
Description of the problem: - i2c-scmi driver contains only two identifiers "SMBUS01" and "SMBUSIBM"; - the fist HID (SMBUS01) is clearly defined in "SMBus Control Method Interface Specification, version 1.0": "Each device must specify 'SMBUS01' as its _HID and use a unique _UID value"; - unfortunately, BIOS vendors (like AMI) seem to ignore this requirement and implement "SMB0001" HID instead of "SMBUS01"; - I speculate that they do this because only "SMB0001" is hard coded in Windows SMBus driver produced by Microsoft. This leads to following situation: - SMBus works out of box in Windows but not in Linux; - board vendors are forced to add correct "SMBUS01" HID to BIOS to make SMBus work in Linux. Moreover the same board vendors complain that tools (3-rd party ASL compiler) do not like the "SMBUS01" identifier and produce errors. So they need to constantly patch the compiler for each new version of BIOS. As it is very unlikely that BIOS vendors implement a correct HID in future, I would propose to consider whether it is possible to work around the problem by adding MS HID to the Linux i2c-scmi driver. v2: move the definition of the new HID to the driver itself. Signed-off-by: NEdgar Cherkasov <echerkasov@dev.rtsoft.ru> Signed-off-by: NMichael Brunner <Michael.Brunner@kontron.com> Acked-by: NViktor Krasnov <vkrasnov@dev.rtsoft.ru> Reviewed-by: NJean Delvare <jdelvare@suse.de> Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
https://github.com/peda-r/i2c-mux由 Wolfram Sang 提交于
Pull in changes from the i2c-mux subsubsystem: "Here are a new LTC4306/5 driver, a fix needed by the RT kernel and some error message cleanup."
-
- 12 4月, 2017 2 次提交
-
-
由 Michael Hennerich 提交于
This patch adds support for the Analog Devices / Linear Technology LTC4306 and LTC4305 4/2 Channel I2C Bus Multiplexer/Switches. The LTC4306 optionally provides two general purpose input/output pins (GPIOs) that can be configured as logic inputs, opendrain outputs or push-pull outputs via the generic GPIOLIB framework. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Reviewed-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Michael Hennerich 提交于
This patch adds support for the Analog Devices / Linear Technology LTC4306 and LTC4305 4/2 Channel I2C Bus Multiplexer/Switches. The LTC4306 optionally provides two general purpose input/output pins (GPIOs) that can be configured as logic inputs, opendrain outputs or push-pull outputs via the generic GPIOLIB framework. Signed-off-by: NMichael Hennerich <michael.hennerich@analog.com> Acked-by: NRob Herring <robh@kernel.org> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
- 03 4月, 2017 7 次提交
-
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
i2c_mux_add_adapter already logs a message on failure. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
由 Peter Rosin 提交于
No callers then need to report any further info, thus reducing both the amount of code and the log noise. Reviewed-by: NWolfram Sang <wsa@the-dreams.de> Signed-off-by: NPeter Rosin <peda@axentia.se>
-
- 30 3月, 2017 10 次提交
-
-
由 Heiner Kallweit 提交于
The preceding changes in this patch series now allow to simplify the interrupt handler significantly. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
meson_i2c_write_tokens is always called directly after meson_i2c_prepare_xfer (and only then). So we can simplify the code by removing meson_i2c_write_tokens and moving the two statements of meson_i2c_write_tokens to the end of meson_i2c_prepare_xfer. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
We can directly add the stop token to the token chain including the last transfer chunk. This is more efficient than creating a separate token chain just for the stop command. And it allows us to get rid of state STATE_STOP completely. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
If state is STATE_IDLE no interrupt should occur. Return IRQ_NONE if such a spurious interrupt is detected. Not having to take care of STATE_IDLE later in the interrupt handler allows to further simplify the interrupt handler in subsequent patches of this series. In addition move resetting REG_CTRL_START bit to the start of the interrupt handler to ensure that the start bit is always reset. Currently the start bit is not reset for STATE_STOP because i2c->state is set to STATE_IDLE. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
Variable count has always the same value as i, so we don't need it. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
The clock divider has 12 bits, splitted into a 10 bit field and a 2 bit field. The extra 2 bits aren't used currently. Change this to use the full 12 bits and warn if the requested frequency is too low. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Acked-by: NJerome Brunet <jbrunet@baylibre.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
We don't have to parse the DT manually to retrieve the bus frequency and we don't have to maintain an own default for the bus frequency. Let the i2c core do this for us. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Reviewed-by: NJerome Brunet <jbrunet@baylibre.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
The bus frequency is fixed to what is set DT, therefore we can set the clock divider in probe already and we don't have to set it for each transfer. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
Member irq can be replaced with a local variable in probe because it's nowhere else accessed. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Reviewed-by: NJerome Brunet <jbrunet@baylibre.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Heiner Kallweit 提交于
Use min instead of min_t where min_t isn't needed. Signed-off-by: NHeiner Kallweit <hkallweit1@gmail.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
- 24 3月, 2017 3 次提交
-
-
由 Jan Glauber 提交于
Add support for reading the system clock and the TWSI clock frequency from ACPI DSDT. TWSI clock was already covered by using device_property_read(). Signed-off-by: NJan Glauber <jglauber@cavium.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Jayachandran C 提交于
ARCH_VULCAN arm64 platform (for Broadcom Vulcan ARM64 processors) has been discontinued. Cavium's ThunderX2 CN99XX (ARCH_THUNDER2) will be the next revision of the platform. Update compile dependencies and ACPI ID to reflect this change. There is not need to retain ARCH_VULCAN since the Vulcan processor was never in production and the config option will be removed soon. Signed-off-by: NJayachandran C <jnair@caviumnetworks.com> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-
由 Philipp Zabel 提交于
As of commit bb475230 ("reset: make optional functions really optional"), the reset framework API calls use NULL pointers to describe optional, non-present reset controls. This allows to return errors from devm_reset_control_get_optional and to call reset_control_(de)assert unconditionally. Signed-off-by: NPhilipp Zabel <p.zabel@pengutronix.de> Signed-off-by: NWolfram Sang <wsa@the-dreams.de>
-