ramips: adjusted pinctrl-aw9523 for kernel 6.6
authorMieczyslaw Nalewaj <namiltd@yahoo.com>
Fri, 15 Mar 2024 08:08:09 +0000 (09:08 +0100)
committerNick Hainke <vincent@systemli.org>
Fri, 5 Apr 2024 05:58:15 +0000 (07:58 +0200)
Compatiblity with kernel 6.6 for Awinic AW9523B i2c pin controller driver.
It follows the kernel patch: i2c: Drop legacy callback .probe_new() (https://github.com/torvalds/linux/commit/5eb1e6e459cfa025f79c43014f66ff62a55542f1)
and kernel patch: gpiolib: Get rid of not used of_node member (https://github.com/torvalds/linux/commit/70d0fc4288dabd65025fde7774b4f9262afa9034)

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
target/linux/ramips/files/drivers/pinctrl/pinctrl-aw9523.c

index 65babf994625ea3205d7c3a823de73361db7dd39..a429bb82a3a08121e187ad05e8f50f335d40eb30 100644 (file)
@@ -810,7 +810,11 @@ static int aw9523_init_gpiochip(struct aw9523 *awi, unsigned int npins)
        gpiochip->set_multiple = aw9523_gpio_set_multiple;
        gpiochip->set_config = gpiochip_generic_config;
        gpiochip->parent = dev;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 6, 0)
+       gpiochip->fwnode = dev->fwnode;
+#else
        gpiochip->of_node = dev->of_node;
+#endif
        gpiochip->owner = THIS_MODULE;
        gpiochip->can_sleep = true;
 
@@ -984,8 +988,12 @@ static int aw9523_hw_init(struct aw9523 *awi)
        return regmap_reinit_cache(awi->regmap, &aw9523_regmap);
 }
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 6, 0)
+static int aw9523_probe(struct i2c_client *client)
+#else
 static int aw9523_probe(struct i2c_client *client,
                        const struct i2c_device_id *id)
+#endif
 {
        struct device *dev = &client->dev;
        struct pinctrl_desc *pdesc;