From: Pavan Savoy <pavan_savoy@ti.com>
To: alan@lxorguk.ukuu.org.uk, pavan_savoy@ti.com, gregkh@suse.de,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/6] drivers:misc: sources for ST core
Date: Tue, 23 Mar 2010 10:42:16 -0500 [thread overview]
Message-ID: <4BA8E158.6040102@ti.com> (raw)
comments inline...
> +/* all debug macros go in here */
> +#define ST_DRV_ERR(fmt, arg...) printk(KERN_ERR "(stc):"fmt"\n" ,
## arg)
> +#if defined(DEBUG) /* limited debug messages */
> +#define ST_DRV_DBG(fmt, arg...) printk(KERN_INFO "(stc):"fmt"\n" ,
## arg)
> +#define ST_DRV_VER(fmt, arg...)
> +#elif defined(VERBOSE) /* very verbose */
> +#define ST_DRV_DBG(fmt, arg...) printk(KERN_INFO "(stc):"fmt"\n" ,
## arg)
> +#define ST_DRV_VER(fmt, arg...) printk(KERN_INFO "(stc):"fmt"\n" ,
## arg)
> +#else /* error msgs only */
> +#define ST_DRV_DBG(fmt, arg...)
> +#define ST_DRV_VER(fmt, arg...)
> +#endif
>Use the existing debug macros
[pavan]
Wanted a module level debugging code - and hence the usage of these
debug macros. Like printing out of all UART data, etc..
Apparently most UART problems surfaced during firmware download in
st_kim.c so the module level debug macros.
All printk's also do have their own KERN_ level already.
Will change it if you want it.
> +/* function pointer pointing to either,
> + * st_kim_recv during registration to receive fw download responses
> + * st_int_recv after registration to receive proto stack responses
> + */
> +void (*st_recv) (const unsigned char *data, long count);
[alan]
>What if you have multiple devices at once one in each state ?
>Why is this global ?
[pavan]
st_gdata required in non-tty calls as well.
[pavan]
Can't happen, The chip on doing a UART write will either write whole of
BT data or whole of FM, so it can't be in multiple states.
> + if (unlikely(st_gdata == NULL || st_gdata->tty == NULL)) {
[alan]
>Again shouldn't be using globals and needs to support multiple devices.
>See the tty_struct - there is a field for an ldisc pointer, stuff
>st_gdata in there at open time and pass tty around ?
[pavan]
st_gdata not in tty priv data or ldisc_data because there are entry
points like st_register/unregister which are EXPORTed requires it.
> + ST_DRV_ERR("tty unavailable to perform write");
> + return ST_ERR_FAILURE;
> + }
> + tty = st_gdata->tty;
[alan]
>Explain the locking on this NULL test - what stops it becoming NULL
>between the if and the assignment ?
[pavan]
Calls to int_write in itself are safe, locked before being called.
Will recheck.
Up until now the same code has worked fine on UP and SMP.
[alan]
>I think this code needs a fair bit of work at this point - locking,
>supporting multiple devices at once etc.
>Staging perhaps ?
[pavan]
If the rest seems fine, please consider it for staging,
Will keep reworking on it.
On Mon, 22 Mar 2010 14:35:30 -0700
Greg KH <gregkh@suse.de> wrote:
> On Mon, Mar 22, 2010 at 04:19:12PM -0500, pavan_savoy@ti.com wrote:
> > From: Pavan Savoy <pavan_savoy@ti.com>
> >
> > This change adds the Kconfig and Make file for TI's
> > ST line discipline driver and the BlueZ driver for BT
> > core of the TI BT/FM/GPS combo chip.
> >
> > Signed-off-by: Pavan Savoy <pavan_savoy@ti.com>
> > ---
> > drivers/misc/Kconfig | 1 +
>
> Why 'misc'? Why not 'char' like all the other ldiscs?
>
> Or 'drivers/ldisc' to be more specific?
We've discussed having /tty or drivers/tty for a while. The ldiscs are
currently everywhere - drivers/net, isdn, char ....
I am not sure an ldisc directory helps though - slip and ppp are in
drivers/net for example and clearly belong there.
> #define N_V253 19 /* Codec control over voice
modem */
> +#define N_TI_SHARED 20 /* for TI's WL7 connectivity chips */
Be more specific or some future TI shared bus protocol might cause
confusion N_TI_WL7 sounds fine.
Alan
next reply other threads:[~2010-03-23 15:42 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-23 15:42 Pavan Savoy [this message]
2010-03-23 19:59 ` [PATCH 3/6] drivers:misc: sources for ST core Pavan Savoy
2010-03-23 20:28 ` Alan Cox
-- strict thread matches above, loose matches on Subject: below --
2010-03-23 16:44 Pavan Savoy
2010-03-22 21:19 [re-worked] New ldisc for WiLink7.0 pavan_savoy
2010-03-22 21:19 ` [PATCH 1/6] serial: TTY: new ldisc for TI BT/FM/GPS chips pavan_savoy
2010-03-22 21:19 ` [PATCH 2/6] drivers:misc: Kconfig, Makefile for TI's ST ldisc pavan_savoy
2010-03-22 21:19 ` [PATCH 3/6] drivers:misc: sources for ST core pavan_savoy
2010-03-22 21:34 ` Greg KH
2010-03-23 15:24 ` Alan Cox
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=4BA8E158.6040102@ti.com \
--to=pavan_savoy@ti.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.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.