Thread (9 messages) 9 messages, 4 authors, 2020-03-06

Re: [PATCH 2/4] mfd: motmdm: Add Motorola TS 27.010 serdev modem driver for droid4

From: Tony Lindgren <tony@atomide.com>
Date: 2020-02-26 14:43:15
Also in: linux-omap, linux-serial, lkml

* Lee Jones [off-list ref] [200226 11:56]:
On Thu, 20 Feb 2020, Tony Lindgren wrote:
quoted
Many Motorola phones are controlling the modem using a custom variant
of TS 27.010 serial line discipline. Devices on these modems have a
dedicated TS 27.010 channel for features like audio mixer, GNSS, voice
modem, SIM card reader and so on.

This driver allows using various devices on the modem. In order to do
that, we need to take care of the following three things:

1. Provide /dev/motmdm* character devices for apps to use for talking
   to the various devices on the modem

2. Handle Motorola custom protocol over TS 27.010 to make the channels
   usable for userspace

3. Coordinate PM runtime with the USB PHY because of shared GPIO pins
   with the USB PHY
...
quoted
---
 drivers/mfd/Kconfig        |    9 +
 drivers/mfd/Makefile       |    1 +
 drivers/mfd/motorola-mdm.c | 1200 ++++++++++++++++++++++++++++++++++++
I'm not even going to start reviewing this as I can see, without even
looking at the code, that this has too much functionality (stuff that
does stuff) contained.

Please move as much functionality out into the subsystems as
possible.  Ideally, MFDs should be responsible for obtaining and
registering shared resources and registering child devices.  Anything
else should be shifted out to an appropriate subsystem.

MFD is not Misc.
OK good point. So this is a serdev consumer driver that eventually will
also provide serdev style access to few device drivers too for the
device within the modem after decoding the Motorola specific protocol.
No special need for this driver to be under drivers/mfd though.

How about we add drivers/tty/serdev/protocol or similar directory for
drivers like this?

Naturally the all consumer device drivers should be in their subsystems
like ALSA ASoC, GNSS and so on.

Regards,

Tony
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help