[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-omap
Subject:    Re: [PATCH 1/3] serial: mctrl_gpio: restrict MCTRL initialization
From:       Yegor Yefremov <yegorslists () googlemail ! com>
Date:       2017-07-28 8:42:22
Message-ID: CAGm1_ktkN6_7jD_mdcC=No=pNTW_aGrKE7D+U8av5b2R7BFqSA () mail ! gmail ! com
[Download RAW message or body]

On Thu, Jul 27, 2017 at 4:01 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Thu, 2017-07-27 at 15:17 +0200, yegorslists@googlemail.com wrote:
>> From: Yegor Yefremov <yegorslists@googlemail.com>
>>
>> GPIOs specified for serial port can be used either as GPIO driven
>> MCTRL
>> or as a wakeup-source. Use the latter property to abort the MCTRL
>> initialization.
>
> Please, elaborate on a choice of error code for this (-ENOSYS).

Something like this:

Return -ENOSYS as this would just skip mctrl initialization in the
case of wakeup source usage and not disable the port completely due to
failed serial8250_register_8250_port().

Yegor

>>
>> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
>
> Suggested-by: I suppose.
>
> I dunno about documentation part for this property, I leave it for DT
> people to decide. Below part looks good to me.
>
>> Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
>> ---
>>  drivers/tty/serial/serial_mctrl_gpio.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/tty/serial/serial_mctrl_gpio.c
>> b/drivers/tty/serial/serial_mctrl_gpio.c
>> index d2da6aa..dce661c 100644
>> --- a/drivers/tty/serial/serial_mctrl_gpio.c
>> +++ b/drivers/tty/serial/serial_mctrl_gpio.c
>> @@ -19,6 +19,7 @@
>>  #include <linux/irq.h>
>>  #include <linux/gpio/consumer.h>
>>  #include <linux/termios.h>
>> +#include <linux/property.h>
>>  #include <linux/serial_core.h>
>>  #include <linux/module.h>
>>
>> @@ -118,6 +119,9 @@ struct mctrl_gpios *mctrl_gpio_init_noauto(struct
>> device *dev, unsigned int idx)
>>       struct mctrl_gpios *gpios;
>>       enum mctrl_gpio_idx i;
>>
>> +     if (device_property_present(dev, "wakeup-source"))
>> +             return ERR_PTR(-ENOSYS);
>> +
>>       gpios = devm_kzalloc(dev, sizeof(*gpios), GFP_KERNEL);
>>       if (!gpios)
>>               return ERR_PTR(-ENOMEM);
>
> --
> Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Intel Finland Oy
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic