Re: char interface to sdio, chdio.c

From: Greg KH
Date: Wed Jul 16 2014 - 14:39:42 EST


On Wed, Jul 16, 2014 at 11:21:57AM -0700, Stephen Boyd wrote:
> On 07/15/14 20:26, Greg KH wrote:
> > Hi Stephen.
> >
> > I had some people ask me about a sdio userspace interface, and ran
> > across the chdio.c file as found in the MSM android kernel trees:
>
> You mean csdio.c right?

Ick, yes, sorry about that.

> >
> > https://android.googlesource.com/kernel/msm/+/57b74303d6f033ab04be039379f6661337fb9279
>
> As you can see in the commit text there, the commit I authored is
> actually a squash of three patches from some previous android kernel
> that we did (looks like it was android-msm-2.6.35) and it's been almost
> 4 years since those patches were written. The three original commits
> weren't authored by me so I really don't know the intimate details of
> this driver.

Yes, I know you didn't write this version, but you did the "mushing
together", which was nice of you, and presumably you did it for a good
reason :)

> > Any reason why this hasn't been submitted upstream? Or has it, and was
> > it rejected?
>
> I don't believe we ever submitted this upstream.

Why not?

> > Also, what userspace code uses this? Is there some android-specific
> > code somewhere that does a weird mix of sysfs and char control of the
> > hardware? And what type of SDIO devices are controlled with this?
>
> If I recall correctly this driver is for communicating with an external
> modem (in this case it was the Gobi 9k). We used the sdio interface to
> do some IPC stuff with the modem over sdio, mainly because back then the
> SoC didn't have an LTE capable modem, but the Gobi modem was LTE
> capable. Slap the two chips together and you have an LTE phone while you
> wait for us to deliver the first SoC with an integrated LTE modem (msm8960).
>
> The userspace component is the same proprietary software that's used to
> make phone calls on android phones. I'd have to go dig around to find
> that code and confirm if it's using sysfs and char control. I'd rather
> not spend the time digging so let's assume it's doing that unless you
> have a more specific question in mind?

My specific question is why 2 different interfaces?

Some people are looking at a way to do SDIO from userspace, if needed,
and I was pointed at this driver, and wanted to figure out why it never
was merged. If it's useful, and people are using it in phones today,
that's a good reason to merge it in, right?

So, any objection for me taking it as-is, as long as my audit of the
code passes?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/