serial: mctrl-gpio: don't check for struct mctrl_gpios * to be invalid
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 12 Feb 2015 14:24:41 +0000 (15:24 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Mar 2015 02:15:04 +0000 (03:15 +0100)
Drivers using mctrl-gpio must not pass invalid values for struct
mctrl_gpios *. All drivers were fixed in this regard and so some checks
can go away or be simplified.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/serial_mctrl_gpio.c

index a38596c5194e4b6f6a1feb26183e4b9cd8366f2f..c0381a09f12db0b95e01395211576b1864dd4ba1 100644 (file)
@@ -48,9 +48,6 @@ void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl)
        int value_array[UART_GPIO_MAX];
        unsigned int count = 0;
 
-       if (IS_ERR_OR_NULL(gpios))
-               return;
-
        for (i = 0; i < UART_GPIO_MAX; i++)
                if (!IS_ERR_OR_NULL(gpios->gpio[i]) &&
                    mctrl_gpios_desc[i].dir_out) {
@@ -65,10 +62,7 @@ EXPORT_SYMBOL_GPL(mctrl_gpio_set);
 struct gpio_desc *mctrl_gpio_to_gpiod(struct mctrl_gpios *gpios,
                                      enum mctrl_gpio_idx gidx)
 {
-       if (!IS_ERR_OR_NULL(gpios) && !IS_ERR_OR_NULL(gpios->gpio[gidx]))
-               return gpios->gpio[gidx];
-       else
-               return NULL;
+       return gpios->gpio[gidx];
 }
 EXPORT_SYMBOL_GPL(mctrl_gpio_to_gpiod);
 
@@ -76,15 +70,8 @@ unsigned int mctrl_gpio_get(struct mctrl_gpios *gpios, unsigned int *mctrl)
 {
        enum mctrl_gpio_idx i;
 
-       /*
-        * return it unchanged if the structure is not allocated
-        */
-       if (IS_ERR_OR_NULL(gpios))
-               return *mctrl;
-
        for (i = 0; i < UART_GPIO_MAX; i++) {
-               if (!IS_ERR_OR_NULL(gpios->gpio[i]) &&
-                   !mctrl_gpios_desc[i].dir_out) {
+               if (gpios->gpio[i] && !mctrl_gpios_desc[i].dir_out) {
                        if (gpiod_get_value(gpios->gpio[i]))
                                *mctrl |= mctrl_gpios_desc[i].mctrl;
                        else
@@ -138,9 +125,6 @@ void mctrl_gpio_free(struct device *dev, struct mctrl_gpios *gpios)
 {
        enum mctrl_gpio_idx i;
 
-       if (IS_ERR_OR_NULL(gpios))
-               return;
-
        for (i = 0; i < UART_GPIO_MAX; i++)
                if (!IS_ERR_OR_NULL(gpios->gpio[i]))
                        devm_gpiod_put(dev, gpios->gpio[i]);