summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Walleij <linusw@kernel.org>2026-06-08 10:57:34 +0200
committerLee Jones <lee@kernel.org>2026-07-30 14:32:34 +0100
commitb87549a9bbda8736b7cf98d51bdc1d148e6cd09b (patch)
tree7138dc6892a17b47f68328f191ace548a7ea98b8 /include/linux
parent90d9f2988d007ec25706022533a03dc52678f58b (diff)
mfd: si476x: Modernize GPIO handling
The SI476X driver depends on the legacy GPIO API. As it only really use a single GPIO for reset, and this can be easily converted to use a GPIO descriptor, modernize the driver. The "reset" GPIO is obtained from a device property, such as a device tree ("reset-gpios", which is standard, but this hardware has no DT bindings as of now) or a software node for static platforms. Out-of-tree users can easily adopt to providing a GPIO descriptor this way. Signed-off-by: Linus Walleij <linusw@kernel.org> Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Link: https://patch.msgid.link/20260608-mfd-si476x-v2-1-da5f779c1888@kernel.org Signed-off-by: Lee Jones <lee@kernel.org>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mfd/si476x-core.h5
-rw-r--r--include/linux/mfd/si476x-platform.h2
2 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/mfd/si476x-core.h b/include/linux/mfd/si476x-core.h
index e913b2cdf77d..d9e3a322134c 100644
--- a/include/linux/mfd/si476x-core.h
+++ b/include/linux/mfd/si476x-core.h
@@ -14,6 +14,7 @@
#include <linux/kfifo.h>
#include <linux/atomic.h>
+#include <linux/gpio/consumer.h>
#include <linux/i2c.h>
#include <linux/regmap.h>
#include <linux/mutex.h>
@@ -104,7 +105,7 @@ enum si476x_power_state {
* @power_state: Current power state of the device.
* @supplies: Structure containing handles to all power supplies used
* by the device (NULL ones are ignored).
- * @gpio_reset: GPIO pin connectet to the RSTB pin of the chip.
+ * @reset: GPIO connected to the RSTB pin of the chip.
* @pinmux: Chip's configurable pins configuration.
* @diversity_mode: Chips role when functioning in diversity mode.
* @is_alive: Chip is initialized and active.
@@ -142,7 +143,7 @@ struct si476x_core {
struct regulator_bulk_data supplies[4];
- int gpio_reset;
+ struct gpio_desc *reset;
struct si476x_pinmux pinmux;
enum si476x_phase_diversity_mode diversity_mode;
diff --git a/include/linux/mfd/si476x-platform.h b/include/linux/mfd/si476x-platform.h
index cb99e16ca947..f9e1f6b27277 100644
--- a/include/linux/mfd/si476x-platform.h
+++ b/include/linux/mfd/si476x-platform.h
@@ -246,8 +246,6 @@ enum si476x_phase_diversity_mode {
* Platform dependent definition
*/
struct si476x_platform_data {
- int gpio_reset; /* < 0 if not used */
-
struct si476x_power_up_args power_up_parameters;
enum si476x_phase_diversity_mode diversity_mode;