nozomi driver update

Minor cleanups and removal of in-file changelog:

- Correction of misspellings and wrong encoded Name
- changed 'unsigned' to 'unsigned int' for better readability
- use of generic devicefile access macro
- fixed/added explanatory comment to ntty_put_char

Signed-off-by: Frank Seidel <fseidel@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Frank Seidel 2008-01-25 21:13:24 +01:00 committed by Greg Kroah-Hartman
parent 996a3eb87f
commit e9ed537a3a
1 changed files with 36 additions and 86 deletions

View File

@ -2,7 +2,7 @@
* nozomi.c -- HSDPA driver Broadband Wireless Data Card - Globe Trotter
*
* Written by: Ulf Jakobsson,
* Jan <EFBFBD>erfeldt,
* Jan Åkerfeldt,
* Stefan Thomasson,
*
* Maintained by: Paul Hardwick (p.hardwick@option.com)
@ -38,60 +38,6 @@
* --------------------------------------------------------------------------
*/
/*
* CHANGELOG
* Version 2.1d
* 11-November-2007 Jiri Slaby, Frank Seidel
* - Big rework of multicard support by Jiri
* - Major cleanups (semaphore to mutex, endianess, no major reservation)
* - Optimizations
*
* Version 2.1c
* 30-October-2007 Frank Seidel
* - Completed multicard support
* - Minor cleanups
*
* Version 2.1b
* 07-August-2007 Frank Seidel
* - Minor cleanups
* - theoretical multicard support
*
* Version 2.1
* 03-July-2006 Paul Hardwick
*
* - Stability Improvements. Incorporated spinlock wraps patch.
* - Updated for newer 2.6.14+ kernels (tty_buffer_request_room)
* - using __devexit macro for tty
*
*
* Version 2.0
* 08-feb-2006 15:34:10:Ulf
*
* -Fixed issue when not waking up line disipine layer, could probably result
* in better uplink performance for 2.4.
*
* -Fixed issue with big endian during initalization, now proper toggle flags
* are handled between preloader and maincode.
*
* -Fixed flow control issue.
*
* -Added support for setting DTR.
*
* -For 2.4 kernels, removing temporary buffer that's not needed.
*
* -Reading CTS only for modem port (only port that supports it).
*
* -Return 0 in write_room instead of netative value, it's not handled in
* upper layer.
*
* --------------------------------------------------------------------------
* Version 1.0
*
* First version of driver, only tested with card of type F32_2.
* Works fine with 2.4 and 2.6 kernels.
* Driver also support big endian architecture.
*/
/* Enable this to have a lot of debug printouts */
#define DEBUG
@ -143,8 +89,9 @@ do { \
/* Do we need this settable at runtime? */
static int debug = NOZOMI_DEBUG_LEVEL;
#define D(lvl, args...) do {if (lvl & debug) NFO(KERN_DEBUG, ##args); } \
while (0)
#define D(lvl, args...) do \
{if (lvl & debug) NFO(KERN_DEBUG, ##args); } \
while (0)
#define D_(lvl, args...) D(lvl, ##args)
/* These printouts are always printed */
@ -273,13 +220,13 @@ enum port_type {
/* Big endian */
struct toggles {
unsigned enabled:5; /*
unsigned int enabled:5; /*
* Toggle fields are valid if enabled is 0,
* else A-channels must always be used.
*/
unsigned diag_dl:1;
unsigned mdm_dl:1;
unsigned mdm_ul:1;
unsigned int diag_dl:1;
unsigned int mdm_dl:1;
unsigned int mdm_ul:1;
} __attribute__ ((packed));
/* Configuration table to read at startup of card */
@ -320,19 +267,19 @@ struct config_table {
/* This stores all control downlink flags */
struct ctrl_dl {
u8 port;
unsigned reserved:4;
unsigned CTS:1;
unsigned RI:1;
unsigned DCD:1;
unsigned DSR:1;
unsigned int reserved:4;
unsigned int CTS:1;
unsigned int RI:1;
unsigned int DCD:1;
unsigned int DSR:1;
} __attribute__ ((packed));
/* This stores all control uplink flags */
struct ctrl_ul {
u8 port;
unsigned reserved:6;
unsigned RTS:1;
unsigned DTR:1;
unsigned int reserved:6;
unsigned int RTS:1;
unsigned int DTR:1;
} __attribute__ ((packed));
#else
@ -340,10 +287,10 @@ struct ctrl_ul {
/* This represents the toggle information */
struct toggles {
unsigned mdm_ul:1;
unsigned mdm_dl:1;
unsigned diag_dl:1;
unsigned enabled:5; /*
unsigned int mdm_ul:1;
unsigned int mdm_dl:1;
unsigned int diag_dl:1;
unsigned int enabled:5; /*
* Toggle fields are valid if enabled is 0,
* else A-channels must always be used.
*/
@ -379,19 +326,19 @@ struct config_table {
/* This stores all control downlink flags */
struct ctrl_dl {
unsigned DSR:1;
unsigned DCD:1;
unsigned RI:1;
unsigned CTS:1;
unsigned reserverd:4;
unsigned int DSR:1;
unsigned int DCD:1;
unsigned int RI:1;
unsigned int CTS:1;
unsigned int reserverd:4;
u8 port;
} __attribute__ ((packed));
/* This stores all control uplink flags */
struct ctrl_ul {
unsigned DTR:1;
unsigned RTS:1;
unsigned reserved:6;
unsigned int DTR:1;
unsigned int RTS:1;
unsigned int reserved:6;
u8 port;
} __attribute__ ((packed));
#endif
@ -694,7 +641,7 @@ static void dump_table(const struct nozomi *dc)
dc->config_table.ul_ctrl_len);
}
#else
static __inline__ void dump_table(const struct nozomi *dc) { }
static inline void dump_table(const struct nozomi *dc) { }
#endif
/*
@ -1102,7 +1049,7 @@ static int send_flow_control(struct nozomi *dc)
}
/*
* Handle donlink data, ports that are handled are modem and diagnostics
* Handle downlink data, ports that are handled are modem and diagnostics
* Return 1 - ok
* Return 0 - toggle fields are out of sync
*/
@ -1363,7 +1310,7 @@ static ssize_t card_type_show(struct device *dev, struct device_attribute *attr,
return sprintf(buf, "%d\n", dc->card_type);
}
static DEVICE_ATTR(card_type, 0444, card_type_show, NULL);
static DEVICE_ATTR(card_type, S_IRUGO, card_type_show, NULL);
static ssize_t open_ttys_show(struct device *dev, struct device_attribute *attr,
char *buf)
@ -1372,7 +1319,7 @@ static ssize_t open_ttys_show(struct device *dev, struct device_attribute *attr,
return sprintf(buf, "%u\n", dc->open_ttys);
}
static DEVICE_ATTR(open_ttys, 0444, open_ttys_show, NULL);
static DEVICE_ATTR(open_ttys, S_IRUGO, open_ttys_show, NULL);
static void make_sysfs_files(struct nozomi *dc)
{
@ -1882,7 +1829,10 @@ static void ntty_throttle(struct tty_struct *tty)
/* just to discard single character writes */
static void ntty_put_char(struct tty_struct *tty, unsigned char c)
{
/* FIXME !!! */
/*
* card does not react correct when we write single chars
* to the card, so we discard them
*/
DBG2("PUT CHAR Function: %c", c);
}