mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-05-05 09:56:12 +02:00
realtek: i2c: fix i2c-shared-gpio range check
The i2c-shared-gpio driver is designed to emulate up to four
i2c busses with distinct sda lines and a a shared scl line.
For some reason the check for the number of allowed busses
is one off and the driver can only allocate three busses.
Fix that.
Fixes: acd7ecc9ed8 ("realtek: add new i2c-gpio-shared driver")
Signed-off-by: Markus Stockhausen <markus.stockhausen@gmx.de>
Link: https://github.com/openwrt/openwrt/pull/22543
Signed-off-by: Robert Marko <robimarko@gmail.com>
This commit is contained in:
parent
28165ed3d4
commit
323b75002b
@ -10,6 +10,8 @@
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#define GPIO_SHARED_MAX_BUS 4
|
||||
|
||||
struct gpio_shared_ctx;
|
||||
|
||||
struct gpio_shared_bus {
|
||||
@ -20,8 +22,6 @@ struct gpio_shared_bus {
|
||||
struct gpio_shared_ctx *ctx;
|
||||
};
|
||||
|
||||
#define GPIO_SHARED_MAX_BUS 4
|
||||
|
||||
struct gpio_shared_ctx {
|
||||
struct device *dev;
|
||||
struct gpio_desc *scl;
|
||||
@ -97,7 +97,7 @@ static int gpio_shared_probe(struct platform_device *pdev)
|
||||
if (IS_ERR(ctx->scl))
|
||||
return dev_err_probe(dev, PTR_ERR(ctx->scl), "shared SCL node not found\n");
|
||||
|
||||
if (device_get_child_node_count(dev) >= GPIO_SHARED_MAX_BUS)
|
||||
if (device_get_child_node_count(dev) > GPIO_SHARED_MAX_BUS)
|
||||
return dev_err_probe(dev, -EINVAL, "Too many channels\n");
|
||||
|
||||
device_for_each_child_node(dev, child) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user