Liao Chang
7a34bab2da
i2c: synquacer: Use dev_err_probe in probe function
...
Use the dev_err_probe function instead of dev_err in the probe function
so that the printed message includes the return value and also handles
-EPROBE_DEFER nicely.
Signed-off-by: Liao Chang <liaochang1@huawei.com >
Reviewed-by: Andi Shyti <andi.shyti@kernel.org >
Link: https://lore.kernel.org/r/20230808012954.1643834-10-liaochang1@huawei.com
Signed-off-by: Andi Shyti <andi.shyti@kernel.org >
2023-08-10 10:13:57 +02:00
Uwe Kleine-König
e190a0c389
i2c: Convert to platform remove callback returning void
...
The .remove() callback for a platform driver returns an int which makes
many driver authors wrongly assume it's possible to do error handling by
returning an error code. However the value returned is (mostly) ignored
and this typically results in resource leaks. To improve here there is a
quest to make the remove callback return void. In the first step of this
quest all drivers are converted to .remove_new() which already returns
void.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de >
Acked-by: Alain Volmat <alain.volmat@foss.st.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Acked-by: Baruch Siach <baruch@tkos.co.il >
Acked-by: Florian Fainelli <f.fainelli@gmail.com >
Acked-by: Heiko Stuebner <heiko@sntech.de >
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com >
Acked-by: Jochen Friedrich <jochen@scram.de >
Acked-by: Peter Rosin <peda@axentia.se >
Acked-by: Vadim Pasternak <vadimp@nvidia.com >
Reviewed-by: Asmaa Mnebhi <asnaa@nvidia.com >
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org >
Reviewed-by: Chris Packham <chris.packham@alliedtelesis.co.nz >
Reviewed-by: Chris Pringle <chris.pringle@phabrix.com >
Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com >
Reviewed-by: Conor Dooley <conor.dooley@microchip.com >
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be >
Reviewed-by: Hans de Goede <hdegoede@redhat.com >
Reviewed-by: Jean Delvare <jdelvare@suse.de >
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org >
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com >
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com >
Reviewed-by: Tali Perry <tali.perry@nuvoton.com >
Reviewed-by: Vignesh Raghavendra <vigneshr@ti.com >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2023-06-05 09:47:37 +02:00
Krzysztof Kozlowski
79a1725028
i2c: synquacer: mark OF related data as maybe unused
...
The driver can be compile tested with !CONFIG_OF making certain data
unused:
drivers/i2c/busses/i2c-synquacer.c:632:34: error: ‘synquacer_i2c_dt_ids’ defined but not used [-Werror=unused-const-variable=]
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org >
Reviewed-by: Guenter Roeck <groeck@chromium.org >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2023-03-29 20:54:28 +02:00
Sergey Shtylyov
8d744da241
i2c: synquacer: fix deferred probing
...
The driver overrides the error codes returned by platform_get_irq() to
-ENODEV, so if it returns -EPROBE_DEFER, the driver will fail the probe
permanently instead of the deferred probing. Switch to propagating the
error codes upstream.
Fixes: 0d676a6c43 ("i2c: add support for Socionext SynQuacer I2C controller")
Signed-off-by: Sergey Shtylyov <s.shtylyov@omprussia.ru >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2021-08-17 21:41:32 +02:00
Gustavo A. R. Silva
4db7e1786d
i2c: busses: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1].
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Acked-by: Baruch Siach <baruch@tkos.co.il >
Reviewed-by: Jean Delvare <jdelvare@suse.de >
Reviewed-by: Brendan Higgins <brendanhiggins@google.com >
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Wolfram Sang <wsa@kernel.org >
2020-07-23 22:04:08 +02:00
Dejin Zheng
e42688ed5c
i2c: busses: remove duplicate dev_err()
...
it will print an error message by itself when platform_get_irq()
goes wrong. so don't need dev_err() in here again.
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Suggested-by: Markus Elfring <Markus.Elfring@web.de >
Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2020-04-18 23:42:14 +02:00
Dejin Zheng
e0442d7621
i2c: busses: convert to devm_platform_ioremap_resource
...
use devm_platform_ioremap_resource() to simplify code, it
contains platform_get_resource and devm_ioremap_resource.
Reviewed-by: Barry Song <baohua@kernel.org >
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com >
Acked-by: Robert Richter <rrichter@marvell.com >
Acked-by: Thor Thayer <thor.thayer@linux.intel.com >
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2020-04-15 12:09:09 +02:00
Andy Shevchenko
90224e6468
i2c: drivers: Use generic definitions for bus frequencies
...
Since we have generic definitions for bus frequencies, let's use them.
Reviewed-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de >
Acked-by: Robert Richter <rrichter@marvell.com >
Reviewed-by: Thor Thayer <thor.thayer@linux.intel.com >
Acked-by: Elie Morisse <syniurge@gmail.com >
Acked-by: Nehal Shah <nehal-bakulchandra.shah@amd.com >
Reviewed-by: Brendan Higgins <brendanhiggins@google.com >
Acked-by: Scott Branden <scott.branden@broadcom.com >
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com >
Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com >
Acked-by: Baruch Siach <baruch@tkos.co.il >
Reviewed-by: Guenter Roeck <linux@roeck-us.net >
Acked-by: Oleksij Rempel <o.rempel@pengutronix.de >
Acked-by: Vladimir Zapolskiy <vz@mleia.com >
Acked-by: Gregory CLEMENT <gregory.clement@bootlin.com >
Reviewed-by: Linus Walleij <linus.walleij@linaro.org >
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org >
Reviewed-by: Chris Brandt <chris.brandt@renesas.com >
Reviewed-by: Baolin Wang <baolin.wang7@gmail.com >
Reviewed-by: Pierre-Yves MORDRET <pierre-yves.mordret@st.com >
Acked-by: Patrice Chotard <patrice.chotard@st.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Dmitry Osipenko <digetx@gmail.com >
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com >
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2020-03-24 22:36:59 +01:00
Masahiro Yamada
45586c7078
treewide: remove redundant IS_ERR() before error code check
...
'PTR_ERR(p) == -E*' is a stronger condition than IS_ERR(p).
Hence, IS_ERR(p) is unneeded.
The semantic patch that generates this commit is as follows:
// <smpl>
@@
expression ptr;
constant error_code;
@@
-IS_ERR(ptr) && (PTR_ERR(ptr) == - error_code)
+PTR_ERR(ptr) == - error_code
// </smpl>
Link: http://lkml.kernel.org/r/20200106045833.1725-1-masahiroy@kernel.org
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org >
Cc: Julia Lawall <julia.lawall@lip6.fr >
Acked-by: Stephen Boyd <sboyd@kernel.org > [drivers/clk/clk.c]
Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com > [GPIO]
Acked-by: Wolfram Sang <wsa@the-dreams.de > [drivers/i2c]
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com > [acpi/scan.c]
Acked-by: Rob Herring <robh@kernel.org >
Cc: Eric Biggers <ebiggers@kernel.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2020-02-04 03:05:27 +00:00
Nishka Dasgupta
7077ad2ee3
i2c: synquacer: Make synquacer_i2c_ops constant
...
Static structure synquacer_i2c_ops, of type i2c_adapter, is only used
when it is copied into a field of another structure. It is not itself
modified. Hence make it const to protect it from unintended
modification.
Issue found with Coccinelle.
Signed-off-by: Nishka Dasgupta <nishkadg.linux@gmail.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2019-09-03 20:17:27 +02:00
Masahisa Kojima
ff9378904d
i2c: synquacer: fix synquacer_i2c_doxfer() return value
...
master_xfer should return the number of messages successfully
processed.
Fixes: 0d676a6c43 ("i2c: add support for Socionext SynQuacer I2C controller")
Cc: <stable@vger.kernel.org > # v4.19+
Signed-off-by: Okamoto Satoru <okamoto.satoru@socionext.com >
Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2019-05-27 21:29:04 +02:00
Ard Biesheuvel
95e0cf3cae
i2c: synquacer: fix enumeration of slave devices
...
The I2C host driver for SynQuacer fails to populate the of_node and
ACPI companion fields of the struct i2c_adapter it instantiates,
resulting in enumeration of the subordinate I2C bus to fail.
Fixes: 0d676a6c43 ("i2c: add support for Socionext SynQuacer I2C controller")
Cc: <stable@vger.kernel.org > # v4.19+
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2019-05-02 18:38:53 +02:00
Wolfram Sang
1adcc83e21
i2c: synquacer: remove unused is_suspended flag
...
This flag was defined and checked but never set a value. Remove it.
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2019-01-08 21:02:48 +01:00
Gustavo A. R. Silva
4310834412
i2c: synquacer: fix fall-through annotation
...
Replace "fallthru" with a proper "fall through" annotation.
This fix is part of the ongoing efforts to enabling
-Wimplicit-fallthrough
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2018-09-25 00:06:02 +02:00
Peter Rosin
5e87270bec
i2c: synquacer: fix fence-post error in retry loop
...
There is a difference between attempts and retries.
Signed-off-by: Peter Rosin <peda@axentia.se >
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2018-05-17 15:40:33 +02:00
Ard Biesheuvel
0d676a6c43
i2c: add support for Socionext SynQuacer I2C controller
...
This is a cleaned up version of the I2C controller driver for
the Fujitsu F_I2C IP, which was never supported upstream, and
has now been incorporated into the Socionext SynQuacer SoC.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org >
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com >
[wsa: updated MAINTAINERS entry and removed two empty lines]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de >
2018-04-04 20:33:03 +02:00