summaryrefslogtreecommitdiffstats
path: root/drivers/pps
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2021-03-18 14:03:21 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-03-24 08:26:32 +0100
commit6b3bc8286529a78fa9befa329900f847ae02cc0c (patch)
tree811730b4268861a8e45300da600f3051deb4ec9b /drivers/pps
parentpps: clients: gpio: Use struct device pointer directly (diff)
downloadlinux-6b3bc8286529a78fa9befa329900f847ae02cc0c.tar.xz
linux-6b3bc8286529a78fa9befa329900f847ae02cc0c.zip
pps: clients: gpio: Rearrange optional stuff in pps_gpio_setup()
Rearrange optional stuff in pps_gpio_setup() so it will go after mandatory one and with reduced indentation. This will increase readability of the sources. Acked-by: Rodolfo Giometti <giometti@enneenne.com> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20210318130321.24227-7-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/pps')
-rw-r--r--drivers/pps/clients/pps-gpio.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/drivers/pps/clients/pps-gpio.c b/drivers/pps/clients/pps-gpio.c
index b097da5a659a..35799e6401c9 100644
--- a/drivers/pps/clients/pps-gpio.c
+++ b/drivers/pps/clients/pps-gpio.c
@@ -110,28 +110,31 @@ static int pps_gpio_setup(struct device *dev)
return dev_err_probe(dev, PTR_ERR(data->gpio_pin),
"failed to request PPS GPIO\n");
+ data->assert_falling_edge =
+ device_property_read_bool(dev, "assert-falling-edge");
+
data->echo_pin = devm_gpiod_get_optional(dev, "echo", GPIOD_OUT_LOW);
if (IS_ERR(data->echo_pin))
return dev_err_probe(dev, PTR_ERR(data->echo_pin),
"failed to request ECHO GPIO\n");
- if (data->echo_pin) {
- ret = device_property_read_u32(dev, "echo-active-ms", &value);
- if (ret) {
- dev_err(dev, "failed to get echo-active-ms from FW\n");
- return ret;
- }
- data->echo_active_ms = value;
- /* sanity check on echo_active_ms */
- if (!data->echo_active_ms || data->echo_active_ms > 999) {
- dev_err(dev, "echo-active-ms: %u - bad value from FW\n",
- data->echo_active_ms);
- return -EINVAL;
- }
+ if (!data->echo_pin)
+ return 0;
+
+ ret = device_property_read_u32(dev, "echo-active-ms", &value);
+ if (ret) {
+ dev_err(dev, "failed to get echo-active-ms from FW\n");
+ return ret;
}
- data->assert_falling_edge =
- device_property_read_bool(dev, "assert-falling-edge");
+ /* sanity check on echo_active_ms */
+ if (!value || value > 999) {
+ dev_err(dev, "echo-active-ms: %u - bad value from FW\n", value);
+ return -EINVAL;
+ }
+
+ data->echo_active_ms = value;
+
return 0;
}