All of lore.kernel.org
 help / color / mirror / Atom feed
From: tdfischer@hackerbots.net (Torrie Fischer)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Building a software serial driver
Date: Tue, 24 Jun 2014 14:19:26 -0400	[thread overview]
Message-ID: <4460034.0j5T9BpkFm@leda.milkyway.hackerbots.net> (raw)
In-Reply-To: <CA+aCy1ES2HZhge_mHywfMnRbyiSOgL_pE9P6m+4XmBnpzMXOAw@mail.gmail.com>

Apparently all I had to do was set the type attribute on the uart_port 
structure to anything that isn't PORT_UNKNOWN.

Here's a functional driver that takes a GPIO pin and creates a read-only 
serial TTY:

https://github.com/tdfischer/gpio_serial/blob/master/gpiotty.c

:)

On Tuesday, June 24, 2014 21:27:46 Pranay Srivastava wrote:
> Hi Torrie,
> 
> On Tue, Jun 24, 2014 at 6:26 PM, Torrie Fischer
> 
> <tdfischer@hackerbots.net> wrote:
> > Hi, Pranay.
> > 
> > Thanks for having a look.
> > 
> > On Tuesday, June 24, 2014 13:42:35 Pranay Srivastava wrote:
> >> I looked at uart_register code, it seems there's no read callback so
> >> that's why you are getting that -EIO.
> > 
> > From what I understand, I'm supposed to set up the interrupts needed in
> > the
> > startup function which is called when the device is opened. This never
> > happens though, as adding a printk results in no output.
> 
> I think this might be causing it, if you see tty_open then it has a call to
> ,
> 
> tty_open_current_tty , this seems to be the only one which I think is
> not making the driver being looked up and hence no uport->open
> 
> so in case there's an already a tty attached to current then i think
> it isn't opening
> a new one. Maybe you need to detach this tty? Not so sure I'll look
> again what can be done.
> 
> >> I think you can put this call in your start_tx since uart_start is
> >> calling port->start_tx at the end so i guess you should be good there.
> > 
> > I suspect that start_tx is not getting called since adding a printk in my
> > start_tx function doesn't result in any output.
> > 
> >> I don't have much idea how will you read from it though.
> > 
> > I'm able to read from it by waiting for a rising edge interrupt and then
> > bit- banging the GPIO line in userspace, though at a slow baud that is
> > unusable. I need 9600 to read from my device :)
> 
> Ok good!. I don't have much idea about GPIO. While searching I found
> there's a GPIO library for Raspi. I don't know how much help that
> would be but i
> guess you don't want to use it.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140624/855dadf3/attachment.bin 

  reply	other threads:[~2014-06-24 18:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-23 18:15 Building a software serial driver Torrie Fischer
2014-06-24  8:12 ` Pranay Srivastava
2014-06-24 12:56   ` Torrie Fischer
2014-06-24 15:57     ` Pranay Srivastava
2014-06-24 18:19       ` Torrie Fischer [this message]
2014-06-25  5:56         ` Pranay Srivastava

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4460034.0j5T9BpkFm@leda.milkyway.hackerbots.net \
    --to=tdfischer@hackerbots.net \
    --cc=kernelnewbies@lists.kernelnewbies.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.