Re: [PATCH v10 2/5] serdev: Introduce devm_serdev_device_open()

From: Andrey Smirnov
Date: Sun Nov 05 2017 - 17:20:31 EST


On Sun, Nov 5, 2017 at 7:38 AM, Johan Hovold <johan@xxxxxxxxxx> wrote:
> On Tue, Oct 31, 2017 at 09:36:53AM -0700, Andrey Smirnov wrote:
>> Add code implementing managed version of serdev_device_open() for
>> serdev device drivers that "open" the device during driver's lifecycle
>> only once (e.g. opened in .probe() and closed in .remove()).
>>
>> Cc: linux-kernel@xxxxxxxxxxxxxxx
>> Cc: linux-serial@xxxxxxxxxxxxxxx
>> Cc: Rob Herring <robh@xxxxxxxxxx>
>> Cc: cphealy@xxxxxxxxx
>> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
>> Cc: Lucas Stach <l.stach@xxxxxxxxxxxxxx>
>> Cc: Nikita Yushchenko <nikita.yoush@xxxxxxxxxxxxxxxxxx>
>> Cc: Lee Jones <lee.jones@xxxxxxxxxx>
>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>> Cc: Pavel Machek <pavel@xxxxxx>
>> Cc: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
>> Cc: Johan Hovold <johan@xxxxxxxxxx>
>> Cc: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx>
>> Reviewed-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxxxx>
>> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>
>> Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx>
>> ---
>> Documentation/driver-model/devres.txt | 3 +++
>> drivers/tty/serdev/core.c | 27 +++++++++++++++++++++++++++
>> include/linux/serdev.h | 1 +
>> 3 files changed, 31 insertions(+)
>
>> +int devm_serdev_device_open(struct device *dev, struct serdev_device *serdev)
>> +{
>> + struct serdev_device **dr;
>> + int ret;
>> +
>> + dr = devres_alloc(devm_serdev_device_release, sizeof(*dr), GFP_KERNEL);
>> + if (!dr)
>> + return -ENOMEM;
>> +
>> + ret = serdev_device_open(serdev);
>> + if (ret) {
>> + devres_free(dr);
>> + return ret;
>> + }
>> +
>> + *dr = serdev;
>> + devres_add(dev, dr);
>> +
>> + return ret;
>
> This would be more readable as return 0.

Sure, I'll change that in v11.

Thanks,
Andrey Smrinov