- Jul 09, 2012
-
-
Fabio Estevam authored
With the new i.mx clock framework the i2c clock is registered as: clk_register_clkdev(clk[i2c1_ipg_gate], NULL, "imx-i2c.0") So we do not need to pass "i2c_clk" string and can use NULL instead. Signed-off-by:
Fabio Estevam <fabio.estevam@freescale.com> Acked-by:
Sascha Hauer <s.hauer@pengutronix.de> [wsa: rebased on top of the devm-conversion] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Linus Walleij authored
Make sure we prepare/unprepare the clock for the ST U300 I2C driver as is required by the clk API especially if you use common clock. Signed-off-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Marc Kleine-Budde authored
This patch mutes the false positive compiler warning: drivers/i2c/busses/i2c-mxs.c: In function 'mxs_i2c_xfer_msg': drivers/i2c/busses/i2c-mxs.c:206:8: warning: 'data' may be used uninitialized in this function [-Wuninitialized] drivers/i2c/busses/i2c-mxs.c:196:6: note: 'data' was declared here Signed-off-by:
Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Virupax Sadashivpetimath authored
Signed-off-by:
Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Signed-off-by:
Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Alessandro Rubini authored
The gateware device has been used outside of the Nomadik world, using the pci-amba bridge driver, so loosen the dependencies. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Giancarlo Asnaghi <giancarlo.asnaghi@st.com> Tested-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Alessandro Rubini authored
The i2c-nomadik gateware is really a PrimeCell APB device. By hosting the driver under the amba bus we can access it more easily, for example using the generic pci-amba driver. The patch also fixes the mach-ux500 users, so they register an amba device instead than a platform device. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Giancarlo Asnaghi <giancarlo.asnaghi@st.com> Tested-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Alessandro Rubini authored
The header and driver are only used by arm/mach-u8500 (and potentially arm/mach-nomadik), but the STA2X11 I/O Hub exports on PCIe a number of devices, including i2c-nomadik. This patch allows compilation of the driver under x86. Signed-off-by:
Alessandro Rubini <rubini@gnudd.com> Acked-by:
Giancarlo Asnaghi <giancarlo.asnaghi@st.com> Tested-by:
Linus Walleij <linus.walleij@linaro.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- Jul 08, 2012
-
-
Richard Zhao authored
- convert to use devm_request_and_ioremap, devm_kzalloc, devm_clk_get, devm_request_irq. - clean up unused variables. Signed-off-by:
Richard Zhao <richard.zhao@freescale.com> Reviewed-by:
Shubhrajyoti D <Shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
Use the devm_* for the memory region allocation, interrupt request, clock handler request. By doing this, it does not require to explicitly free it and hence saving some code. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
Adding support for functionality I2C_M_NOSTART. When multiple message transfer request made through i2c and if any message is flagged with I2C_M_NOSTART then it will not send the start/repeat-start and address of that message i.e. sends data directly. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
The Tegra i2c driver supports the I2C_M_IGNORE_NAK and hence returning I2C_FUNC_PROTOCOL_MANGLING as supported functionality. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
The Tegra PPSB (an peripheral bus) queues writes transactions. In order to guarantee that writes have completed before a certain time, a read transaction to a register on the same bus must be executed. This is necessary in situations such as when clearing an interrupt status or enable, so that when returning from an interrupt handler, the HW has already de-asserted its interrupt status output, which will avoid spurious interrupts. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Neil Brown authored
On a board with OMAP3 processor and TWL4030 Power management, we need to talk to the TWL4030 during late suspend but cannot because the I2C interrupt is disabled (as late suspend disables interrupt). e.g. I get messages like: [ 62.161102] musb-omap2430 musb-omap2430: LATE power domain suspend [ 63.167205] omap_i2c omap_i2c.1: controller timed out [ 63.183044] twl: i2c_read failed to transfer all messages [ 64.182861] omap_i2c omap_i2c.1: controller timed out [ 64.198455] twl: i2c_write failed to transfer all messages [ 65.198455] omap_i2c omap_i2c.1: controller timed out [ 65.203765] twl: i2c_write failed to transfer all messages The stack shows omap2430_runtime_suspend calling twl4030_set_suspend which tries to power-down the USB PHY (twl4030_phy_suspend -> twl4030_phy_power -> __twl4030_phy_power which as a nice WARN_ON that helps). Then we get the same in resume: [ 69.603912] musb-omap2430 musb-omap2430: EARLY power domain resume [ 70.610473] omap_i2c omap_i2c.1: controller timed out [ 70.626129] twl: i2c_write failed to transfer all messages etc. So don't disable interrupts for I2C. Acked-by:
Kevin Hilman <khilman@ti.com> Tested-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
NeilBrown <neilb@suse.de> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
The section number in the recent errata document has changed. Rename the erratum 1p153 to the unique id i462 instead, so that it is easier to reference. Also change the function name and comments to reflect the same. Cc: Jon Hunter <jon-hunter@ti.com> Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
Currently in the 1.153 errata handling, while waiting for transmitter underflow, if NACK is got the XUDF(Transmit underflow) flag is also set. Fix this by setting the XUDF(Transmit underflow) flag after wait for the condition is over. Cc: Alexander Shishkin <virtuoso@slind.org> Acked-by:
Moiz Sonasath <m-sonasath@ti.com> Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Tasslehoff Kjappfot authored
i2c_probe set the dev->errata flag, but omap_i2c_init cleared the flag again. Prevent the overwrite of the errata flags.Move the errata handling to a unified place in probe to prevent such errors. Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Tasslehoff Kjappfot <tasskjapp@gmail.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
If PM runtime get_sync fails return with the error so that no further reads/writes goes through the interface. This will avoid possible abort. Add a error message in case of failure with the cause of the failure. Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
In omap_i2c_remove we are accessing the I2C_CON register without enabling the clocks. Fix the same by ensure device is accessible by calling pm_runtime_get_sync before accessing the registers and calling pm_runtime_put after accessing. This fixes the following crash. [ 154.723022] ------------[ cut here ]------------ [ 154.725677] WARNING: at arch/arm/mach-omap2/omap_l3_noc.c:112 l3_interrupt_handler+0x1b4/0x1c4() [ 154.725677] L3 custom error: MASTER:MPU TARGET:L4 PER2 [ 154.742614] Modules linked in: i2c_omap(-) [ 154.746948] Backtrace: [ 154.746948] [<c0013078>] (dump_backtrace+0x0/0x110) from [<c026c158>] (dump_stack+0x18/0x1c) [ 154.752716] r6:00000070 r5:c002c43c r4:df9b9e98 r3:df9b8000 [ 154.764465] [<c026c140>] (dump_stack+0x0/0x1c) from [<c0041a2c>] (warn_slowpath_common+0x5c/0x6c) [ 154.768341] [<c00419d0>] (warn_slowpath_common+0x0/0x6c) from [<c0041ae0>] (warn_slowpath_fmt+0x38/0x40) [ 154.776153] r8:00000180 r7:c0361594 r6:c0379b48 r5:00080003 r4:e0838b00 [ 154.790771] r3:00000009 [ 154.791778] [<c0041aa8>] (warn_slowpath_fmt+0x0/0x40) from [<c002c43c>] (l3_interrupt_handler+0x1b4/0x1c4) [ 154.803710] r3:c0361598 r2:c02ef74c [ 154.807403] [<c002c288>] (l3_interrupt_handler+0x0/0x1c4) from [<c0085f44>] (handle_irq_event_percpu+0x58/0 [ 154.818237] r8:0000002a r7:00000000 r6:00000000 r5:df808054 r4:df8893c0 [ 154.825378] [<c0085eec>] (handle_irq_event_percpu+0x0/0x188) from [<c00860b8>] (handle_irq_event+0x44/0x64) [ 154.835662] [<c0086074>] (handle_irq_event+0x0/0x64) from [<c0088ec0>] (handle_fasteoi_irq+0xa4/0x10c) [ 154.845458] r6:0000002a r5:df808054 r4:df808000 r3:c034a150 [ 154.846466] [<c0088e1c>] (handle_fasteoi_irq+0x0/0x10c) from [<c0085ed0>] (generic_handle_irq+0x30/0x38) [ 154.854278] r5:c034aa48 r4:0000002a [ 154.862091] [<c0085ea0>] (generic_handle_irq+0x0/0x38) from [<c000fd38>] (handle_IRQ+0x60/0xc0) [ 154.874450] r4:c034ea70 r3:000001f8 [ 154.878234] [<c000fcd8>] (handle_IRQ+0x0/0xc0) from [<c0008478>] (gic_handle_irq+0x20/0x5c) [ 154.887023] r7:ffffff40 r6:df9b9fb0 r5:c034e2b4 r4:0000001a [ 154.887054] [<c0008458>] (gic_handle_irq+0x0/0x5c) from [<c000ea80>] (__irq_usr+0x40/0x60) [ 154.901153] Exception stack(0xdf9b9fb0 to 0xdf9b9ff8) [ 154.907104] 9fa0: beaf1f04 4006be00 0000000f 0000000c [ 154.915710] 9fc0: 4006c000 00000000 00008034 ffffff40 00000007 00000000 00000000 0007b8d7 [ 154.916778] 9fe0: 00000000 beaf1b68 0000d23c 4005baf0 80000010 ffffffff [ 154.931335] r6:ffffffff r5:80000010 r4:4005baf0 r3:beaf1f04 [ 154.937316] ---[ end trace 1b75b31a2719ed21 ]-- Cc: Rajendra Nayak <rnayak@ti.com> Cc: Linux PM list <linux-pm@vger.kernel.org> Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
By definition, wait_for_completion_timeout() returns an unsigned value and therefore, it is not necessary to check if the return value is less than zero as this is not possible. This is based on a patch from Jon Hunter <jon-hunter@ti.com> Changes from his patch - Declare a long as the wait_for_completion_timeout returns long. Original patch is http://git.omapzoom.org/?p=kernel/omap.git;a=commitdiff;h=ea02cece7b0000bc736e60c4188a11aaa74bc6e6 Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Jon Hunter <jon-hunter@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
Currently in probe pm_runtime_put(dev->dev); ... /* i2c device drivers may be active on return from add_adapter() */ adap->nr = pdev->id; r = i2c_add_numbered_adapter(adap); if (r) { dev_err(dev->dev, "failure adding adapter\n"); goto err_free_irq; } ... return 0; err_free_irq: free_irq(dev->irq, dev); err_unuse_clocks: omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, 0); pm_runtime_put(dev->dev); This may access the i2c registers without the clocks in the error cases. Fix the same by moving the pm_runtime_put after the error check. Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
On OMAP4 we were writing 1 to IRQENABLE_CLR which cleared only the arbitration lost interrupt. The patch intends to fix the same by writing 0 to the IE register clearing all interrupts. This is based on the work done by Vikram Pandita <vikram.pandita@ti.com>. The changes from the original patch ... - Does not use the IRQENABLE_CLR register to clear as it is not mentioned to be legacy register IRQENABLE_CLR helps in atomically setting/clearing specific interrupts, instead use the OMAP_I2C_IE_REG as we are clearing all interrupts. Cc: Vikram Pandita <vikram.pandita@ti.com> Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
Currently the i2c driver calls the pm_runtime_enable and never the disable. This may cause a warning when pm_runtime_enable checks for the count match.Fix the same by calling pm_runtime_disable in the error and the remove path. Cc: Rajendra Nayak <rnayak@ti.com> Acked-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Shubhrajyoti D authored
The functions omap_i2c_unidle/idle are called from omap_i2c_runtime_resume and omap_i2c_runtime_suspend which is compiled for CONFIG_PM_RUNTIME. This patch removes the omap_i2c_unidle/idle functions and folds them into the runtime callbacks. This fixes the below warn when CONFIG_PM_RUNTIME is not defined CC arch/arm/mach-omap2/board-ti8168evm.o drivers/i2c/busses/i2c-omap.c:272: warning: 'omap_i2c_unidle' defined but not used drivers/i2c/busses/i2c-omap.c:293: warning: 'omap_i2c_idle' defined but not used CC net/ipv4/ip_forward.o Reviewed-by:
Kevin Hilman <khilman@ti.com> Signed-off-by:
Shubhrajyoti D <shubhrajyoti@ti.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- Jun 04, 2012
-
-
Stephen Warren authored
This is useful for SoCs whose I2C module's signals can be routed to different sets of pins at run-time, using the pinctrl API. +-----+ +-----+ | dev | | dev | +------------------------+ +-----+ +-----+ | SoC | | | | /----|------+--------+ | +---+ +------+ | child bus A, on first set of pins | |I2C|---|Pinmux| | | +---+ +------+ | child bus B, on second set of pins | \----|------+--------+--------+ | | | | | +------------------------+ +-----+ +-----+ +-----+ | dev | | dev | | dev | +-----+ +-----+ +-----+ Signed-off-by:
Stephen Warren <swarren@nvidia.com> Acked-by:
Linus Walleij <linus.walleij@linaro.org> Acked-by:
Rob Herring <rob.herring@calxeda.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- May 30, 2012
-
-
Mark Brown authored
Since there are uses for I2C_M_NOSTART which are much more sensible and standard than most of the protocol mangling functionality (the main one being gather writes to devices where something like a register address needs to be inserted before a block of data) create a new I2C_FUNC_NOSTART for this feature and update all the users to use it. Also strengthen the disrecommendation of the protocol mangling while we're at it. In the case of regmap-i2c we remove the requirement for mangling as I2C_M_NOSTART is the only mangling feature which is being used. Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Wolfram Sang <w.sang@pengutronix.de> Signed-off-by:
Jean Delvare <khali@linux-fr.org>
-
Jean Delvare authored
As the bus driver side implementation of I2C_M_RECV_LEN is heavily tied to SMBus, we can't support received length over 32 bytes, but let's at least support that. In practice, the caller will have to setup a buffer large enough to cover the case where received length byte has value 32, so minimum 32 + 1 = 33 bytes, possibly more if there is a fixed number of bytes added for the specific slave (for example a checksum.) Signed-off-by:
Jean Delvare <khali@linux-fr.org> Tested-by:
Douglas Gilbert <dgilbert@interlog.com>
-
- May 17, 2012
-
-
Oskar Schirmer authored
That old mail address doesnt exist any more. This changes all occurences to my new address. Signed-off-by:
Oskar Schirmer <oskar@scara.com> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- May 13, 2012
-
-
Shawn Guo authored
Add device tree probe support for i2c-mxs driver. So far, it's only been tested on imx28. Signed-off-by:
Shawn Guo <shawn.guo@linaro.org> Acked-by:
Wolfram Sang <w.sang@pengutronix.de>
-
- May 12, 2012
-
-
Marcus Folkesson authored
The freed IRQ is not necessary the one requested in probe. Even if it was, with two or more i2c-controllers it will fails anyway. Signed-off-by:
Marcus Folkesson <marcus.folkesson@gmail.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Cc: stable@kernel.org
-
Ganesan Ramalingam authored
Call of_i2c_register_devices() in probe function to register i2c devices specified in the device tree or OF. Signed-off-by:
Ganesan Ramalingam <ganesanr@broadcom.com> Signed-off-by:
Jayachandran C <jayachandranc@netlogicmicro.com> [wsa: add proper braces] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
The notification of the transfer complete by calling complete() should be done after clearing all interrupt status. This avoids the race condition of misconfigure the i2c controller in multi-core environment. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Acked-by:
Stephen Warren <swarren@wwwdotorg.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Cc: stable@kernel.org
-
Lars-Peter Clausen authored
Signed-off-by:
Lars-Peter Clausen <lars@metafoo.de> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Jean Delvare authored
Update the MAINTAINERS entry and all other references accordingly. Based on an original patch by Wolfram Sang. Signed-off-by:
Jean Delvare <khali@linux-fr.org> Acked-by:
Peter Korsgaard <peter.korsgaard@barco.com> [wsa: fixed merge conflict due to rework in i2c_add_mux_adapter()] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Laxman Dewangan authored
The slave address of device to be configured in packet header as follows: 7 bit address: PacketHeader3[7:1] 10 bit address: PacketHeader3[9:0] Fixing the code to make packet header3 properly. Signed-off-by:
Laxman Dewangan <ldewangan@nvidia.com> Acked-by:
Jean Delvare <khali@linux-fr.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Wolfram Sang authored
Apply a naming pattern like in the rest of the subsystem to a first set of mux drivers. Those drivers are the low-hanging fruit; we want to pick them to motivate upcoming drivers to follow the new pattern. The missing GPIO driver will be converted in a later patch. Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by: Guenter Roeck <guenter.roeck@ericsson.com> (pca9541) Acked-by:
Jean Delvare <khali@linux-fr.org>
-
Stephen Warren authored
This converts a struct device * to a struct i2c_adapter * while verifying that the device really is an I2C adapter. Just like i2c_verify_client. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Acked-by:
Jean Delvare <khali@linux-fr.org> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Karol Lewandowski authored
This patch adds support for s3c2440 I2C bus controller dedicated HDMIPHY device on Exynos4 platform. Some quirks are introduced due to differences between HDMIPHY and other I2C controllers on Exynos4. These differences are: - no GPIOs, HDMIPHY is inside the SoC and the controller is connected internally - due to unknown reason (probably HW bug in HDMIPHY and/or the controller) a transfer fails to finish. The controller hangs after sending the last byte, the workaround for this bug is resetting the controller after each transfer Signed-off-by:
Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by:
Karol Lewandowski <k.lewandowsk@samsung.com> Tested-by:
Tomasz Stanislawski <t.stanislaws@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Karol Lewandowski authored
Reorganize driver a bit to better handle device tree-based systems: - move machine type to driver's private structure instead of quering platform device variants in runtime - replace s3c24xx_i2c_type enum with unsigned int that holds bitmask with revision-specific quirks Signed-off-by:
Karol Lewandowski <k.lewandowsk@samsung.com> Signed-off-by:
Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-
Wolfram Sang authored
We got multiple patches to add mux support to device tree, so people are using it happily already and build up on it. I also used it in a project without encountering problems. 20 months of EXPERIMENTAL should do for this. Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Peter Korsgaard <jacmet@sunsite.dk> Acked-by:
Guenter Roeck <guenter.roeck@ericsson.com> Acked-by:
Jean Delvare <khali@linux-fr.org> Acked-by:
Stephen Warren <swarren@wwwdotorg.org> Acked-by:
Michael Lawnick <ml.lawnick@gmx.de> Cc: Lars-Peter Clausen <lars@metafoo.de> Cc: David Daney <ddaney.cavm@gmail.com>
-
David Daney authored
For 'normal' i2c bus drivers, we can call of_i2c_register_devices() and have the device tree framework automatically populate the bus with the devices specified in the device tree. This patch adds a common code to the i2c mux framework to have the mux sub-busses be populated by the of_i2c_register_devices() too. If the mux device has an of_node, we populate the sub-bus' of_node so that the subsequent call to of_i2c_register_devices() will find the corresponding devices. It seemed better to put this logic in i2c_add_mux_adapter() rather than the individual mux drivers, as they will all probably want to do the same thing. Signed-off-by:
David Daney <david.daney@cavium.com> Acked-by:
Stephen Warren <swarren@wwwdotorg.org> Tested-by:
Lars-Peter Clausen <lars@metafoo.de> [wsa: removed superfluous ret-variable and fixed a typo in a comment] Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de>
-