Re: [RFC v2 1/9] serdev: implement parity configuration
From: Martin Blumenstingl <hidden>
Date: 2018-01-02 21:16:12
Also in:
linux-amlogic, linux-bluetooth, linux-serial
Hi Marcel, Hi Rob, On Tue, Jan 2, 2018 at 12:16 PM, Marcel Holtmann [off-list ref] wrote:
Hi Martin,quoted
Some Bluetooth modules (for example the ones found in Realtek RTL8723BS and RTL8723DS) want to communicate with the host with even parity enabled. Add a new function and the corresponding internal callbacks so parity can be configured. This supports enabling and disabling parity as well as setting the type to odd or even. Signed-off-by: Martin Blumenstingl <martin.blumenstingl-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> --- drivers/tty/serdev/core.c | 12 ++++++++++++ drivers/tty/serdev/serdev-ttyport.c | 21 +++++++++++++++++++++ include/linux/serdev.h | 5 +++++ 3 files changed, 38 insertions(+)diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c index 1bef39828ca7..d327b02980f5 100644 --- a/drivers/tty/serdev/core.c +++ b/drivers/tty/serdev/core.c@@ -225,6 +225,18 @@ void serdev_device_set_flow_control(struct serdev_device *serdev, bool enable)} EXPORT_SYMBOL_GPL(serdev_device_set_flow_control); +void serdev_device_set_parity(struct serdev_device *serdev, bool enable, + bool odd) +{ + struct serdev_controller *ctrl = serdev->ctrl; + + if (!ctrl || !ctrl->ops->set_parity) + return; + + ctrl->ops->set_parity(ctrl, enable, odd); +} +EXPORT_SYMBOL_GPL(serdev_device_set_parity); +this really needs Rob’s ACK before I take the patch.
sure I could even live with a NACK in case these two bool parameters are considered to be ugly in that case I would propose an enum with three values: DISABLED, EVEN, ODD so the arguments would look like this: void serdev_device_set_parity(struct serdev_device *serdev, enum parity) Regards Martin -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html