Commit Graph

196 Commits

Author SHA1 Message Date
Daeseok Youn
4c0e01496b staging: dgap: remove redundant NULL check in dgap_tty_init()
The brd is already checked by earlier function in dgap_init_one().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:02:16 -07:00
Daeseok Youn
039879e8c1 staging: dgap: use kzalloc instead of kmalloc/memset
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:02:16 -07:00
Daeseok Youn
32af5ae73c staging: dgap: remove unused waitqueues
dgap_dl_wait and kme_wait are not used in dgap.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:02:16 -07:00
Daeseok Youn
77343eb973 staging: dgap: remove unneccessary dgap_init_pci() function
The dgap_init_pci() calls only pci_register_driver().
It doesn't need to make a function for that.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:02:16 -07:00
Daeseok Youn
96045db8a4 staging: dgap: Adds a blank line after declaration
clean up checkpatch.pl warning:
WARNING: Missing a blank line after declarations

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:00:30 -07:00
Daeseok Youn
c10fccf82a staging: dgap: remove "return" statement in void function
clean up checkpatch warning:
WARNING: void function return statements are not generally useful

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:00:30 -07:00
Daeseok Youn
1b804e2b12 staging: dgap: fixed "foo* bar should be foo * bar" in dgap.c
clean up checkpatch.pl error:
ERROR: "foo* bar" should be "foo *bar"

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-07-09 12:00:30 -07:00
Daeseok Youn
7bc26a68ed staging: dgap: make dgap_found_board() return a brd pointer
Make dgap_found_board() return a brd pointer and that brd pointer
assign to dgap_board[] in the end of the dgap_init_one().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-20 08:28:02 -07:00
Daeseok Youn
91177d53a3 staging: dgap: unwind on error in dgap_init_one()
The dgap_init_one() needs to handle error properly
if one of functions in dgap_init_one() is failed.

Introduce some functions for handling error in dgap_init_one()
 - dgap_tty_unregister() : unregister tty driver
 - dgap_free_flipbuf() : free flip buffer
 - dgap_release_remap() : release memory region and unmapped memory.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:32 -07:00
Daeseok Youn
3c3befef8f staging: dgap: move unrelated functions in dgap_firmware_load()
The dgap_firmware_load() has a lot of stuff which are
unrelated with loading firmware.
So just moved to dgap_init_one().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:32 -07:00
Daeseok Youn
3f7fa94b68 staging: dgap: rename dgap_after_config_loaded() to dgap_alloc_flipbuf()
dgap_after_config_loaded() as function name doesn't tell
what it does.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:32 -07:00
Daeseok Youn
78a7966ec8 staging: dgap: introduce dgap_free_irq()
dgap_free_irq() will free the irq which is requested in
dgap_request_irq().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:32 -07:00
Daeseok Youn
08f53f61af staging: dgap: introduce dgap_tty_free() for freeing channels.
It should be called after dgap_tty_register_ports() is failed.
So channels which are allocated in dgap_tty_init() will be freed.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:31 -07:00
Daeseok Youn
219a40d099 staging: dgap: get rid of brd->firstminor because it is 0
firstminor in struct borad_t is always zero, so it
can be removed.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:31 -07:00
Daeseok Youn
c7873665bb staging: dgap: remove unused paramter in dgap_parsefile()
"remove" parameter is not used in dgap_parsefile().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:23:31 -07:00
Daeseok Youn
7bf0a4ccdc staging: dgap: rename dgap_tty_uninit() to dgap_cleanup_tty()
- dgap_tty_uninit() doesn't match dgap_tty_init() at all.
so rename it. It is just used for cleanup when this module is
exited or failed to initialize by dgap_init_module.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:22:25 -07:00
Daeseok Youn
f19eda73ea staging: dgap: rename dgap_finalize_board_init() to dgap_request_irq()
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:22:25 -07:00
Daeseok Youn
8148f37b33 staging: dgap: pass "brd" as a paramter to dgap_after_config_loaded()
Pass "brd" to dgap_after_config_loaded() instead of passing
"dgap_numboards" and looking up brd again.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:22:25 -07:00
Daeseok Youn
efd9618939 staging: dgap: pass "dgap_numboards" as a paramter to dgap_found_board()
- Pass "dgap_numboards" to dgap_found_board() instead of
using a global variable.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:22:25 -07:00
Daeseok Youn
67987aeb44 staging: dgap: make dgap_config_buf a local buffer
The dgap_config_buf is only used in dgap_firmware_load().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:21:47 -07:00
Daeseok Youn
72d0f6fc63 staging: dgap: unwind on error in dgap_tty_register_ports()
- The dgap_tty_register_ports() needs to handle if the
tty_port_register_device() fails.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:21:47 -07:00
Daeseok Youn
551a9d7394 staging: dgap: unwind on error in dgap_tty_init()
If the kzalloc() fails for channels, it need to handle
that error. It should free channels which were already
allocated.

And also removes the call to dgap_tty_uninit() in
dgap_firmware_load().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:21:47 -07:00
Daeseok Youn
e74c2ddcbb staging: dgap: remove bogus null test in dgap_tty_init()
- The channels array were set to NULL in dgap_found_board().
- Removes redundant null check for channels array in for loop,
if one of the channel cannot be allocated, dgap_tty_init() just returns
an error.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:21:47 -07:00
Daeseok Youn
f86c55c965 staging: dgap: unwind on error in dgap_found_board()
Adds a label for "kfree(brd)". And also remove
a state value as BOARD_FAILED in brd when dgap_do_remap() is failed.
Because "brd" will free after failure.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:19:06 -07:00
Daeseok Youn
836bf241d8 staging: dgap: remove useless dgap_probe1() function
The dgap_probe1() function is just calling dgap_found_board().
So it is removed and dgap_found_board() is called directly.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-19 15:19:06 -07:00
Greg Kroah-Hartman
aec46bbdea Revert "staging: dgap: remove unneeded kfree() in dgap_tty_register_ports()"
This reverts commit 0ade4a34fd as it was
wrong.

Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-29 13:59:03 -07:00
Mark Hounschell
6d488a0c78 staging: dgap: Use EIO instead of ENXIO
Replaces ENXIO with EIO errno

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 14:35:09 -07:00
Mark Hounschell
0be048cbc6 staging: dgap: Simplify dgap_find_config
Simplify ugly dgap_find_config function

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 14:35:09 -07:00
Mark Hounschell
9a133a9039 staging: dgap: misc cleanup of NULL conditionals
refactors NULL conditionals

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-28 14:35:09 -07:00
Daeseok Youn
a66369a590 staging: dgap: move tty_port_init() for serial_ports.
If printer_ports which is allocated after serial_ports is failed
to allocate, tty_port_init for serial_ports doesn't need anymore.
So move this after allocating memory for printer_ports.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-26 10:35:25 -07:00
Daeseok Youn
0ade4a34fd staging: dgap: remove unneeded kfree() in dgap_tty_register_ports()
When it failed to allocate for printer_ports, serial_ports
can be freed in dgap_tty_uninit().

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-26 10:35:24 -07:00
Daeseok Youn
462310f3f3 staging: dgap: remove unneeded kfree() for ttys in tty_driver
In destruct_tty_driver() from put_tty_driver() will free the
ttys in tty_driver.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-26 10:35:24 -07:00
Pascal COMBES
77870a1b85 Staging: dgap: Fixed iomem accesses in dgap.c
I changed dereferences from iomem into the adequate ioread function.

Signed-off-by: Pascal COMBES <pascom@orange.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-25 11:09:14 -07:00
Mark Hounschell
244a0341d2 staging: dgap: Change GFP_ATOMICs to GFP_KERNEL
We don't need to use GFP_ATOMIC at driver load time
so use GFP_KERNEL instead.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 04:40:53 +09:00
Mark Hounschell
0c24b23255 staging: dgap: Simplify get_altpin and get_useintr functions
Simplify dgap_config_get_useintr and dgap_config_get_altpin
changing the case statement to an if statement.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 04:40:52 +09:00
Mark Hounschell
ee487100ce staging: dgap: Replace double negative conditionals
This patch replaces double negativeconditionals

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 04:40:52 +09:00
Mark Hounschell
174efc1fe4 staging: dgap: Remove more extra white space and tabs
Removes more extra white space and tabs

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 04:39:32 +09:00
Mark Hounschell
7dfa383108 staging: dgap: Remove unnecessary initialization of variables in declarations
Removes unnecessary initialization of variables in declarations

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 04:39:31 +09:00
Mark Hounschell
6081443758 staging: dgap: replace dgap_savestring function with kstrdup
Removes dgap_savestring function to use kstrdup instead.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:10:50 +09:00
Mark Hounschell
490de248d6 staging: dgap: Remove unnecessary test on count
This patch removes an unnecessary test. We've already
tested it by the time we get here with no possiblity
of it being changed.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:10:50 +09:00
Mark Hounschell
5512d3971b staging: dgap: Remove erroneous comment
This patch removes a false comment

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:10:50 +09:00
Mark Hounschell
d78acae3d1 staging: dgap: Remove dead sniff buffer code
The sniff buffer was a /proc filesystem file. This
module no longer uses /proc. This patch removes
the deaed code associated with the sniff buffer.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:10:49 +09:00
Mark Hounschell
e54766c08a staging: dgap: fix smatch warn: unsigned var is never less than zero
This patch fixes a smatch warning about an unsigned
integer being tested for less than zero.

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:10:49 +09:00
Daeseok Youn
9140fcd655 staging: dgap: implement error handling in dgap_tty_register()
- alloc_tty_driver() is deprecated so it is changed to
tty_alloc_driver()
- Pointers which are allocated by alloc_tty_driver() and kzalloc()
can be NULL so it need to check NULL for them.
- If one of those is failed, it need to add proper handler for
avoiding memory leak.
- If both of drivers are registered normally, and
then set TRUE to dgap_major_serial{print}_registered. If one
of drivers is failed to register, leave a default value as
FALSE.

Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-24 02:09:06 +09:00
Mark Hounschell
fea0683ebe staging: dgap: Get rid of CamelCase
This patch gets rid of the obvious CamelCases
from both dgap.c and dgap.h

Signed-off-by: Mark Hounschell <markh@compro.net>
Tested-by: Mark Hounschell <markh@compro.net>
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 16:07:03 -07:00
Mark Hounschell
6a82524167 staging: dgap: refactor ugly dgap_init_one function
This patch just cleans up the ugly dgap_init_one function

Signed-off-by: Mark Hounschell <markh@compro.net>
Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Tested-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 16:07:03 -07:00
Mark Hounschell
acfd4aae9e staging: dgap: Add check for MAXBOARDS in .probe (dgap_init_one)
Insure we don't allow configuring more than MAXBOARDS (32).

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 12:18:24 -07:00
Mark Hounschell
5c3b48d9b9 staging: dgap: remove two unnecessary conditionals
Remove 2 unnessessary conditionals. They are always
false in this code path.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 12:18:24 -07:00
Mark Hounschell
7496e05386 staging: dgap: check unchecked return values
Check the return values of dgap_tty_register and
dgap_finalize_board_init. If they fail for a
particular board we should not be able to try
to use that board. IE. no device entries shall
be created for that board.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 12:18:24 -07:00
Mark Hounschell
cacaf1045c staging: dgap: fix a few more sparse warnings
This patch fixes a few more sparse warnings related to __iomem
version 2 excludes a change that actually caused a new sparse
warning.

Signed-off-by: Mark Hounschell <markh@compro.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-05-16 12:17:48 -07:00