The ad7798 and ad7799 are similar to the ad7792 and ad7793 but are missing some
features like the temperature sensor, being able to use an external clocksource
and a few other things. This patch adds a new 'flags' fields to the chip_info
struct which allows to specify which features a certain chip variant supports.
The setup code will then ignore any platform data fields which are related to
non supported features.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
The driver does not expose any custom API to userspace and none of the standard
static code checker tools report any issues, so move it out of staging.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
staging:iio:ad7793: Implement stricter id checking
Instead of checking whether the id of the current device matches the id of any
device supported by the driver, check whether it matches the id of the device
which the driver was instantiated for. This makes sure that the driver is not
accidentally instantiated for the wrong device.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
staging:iio:ad7793: Move register definitions from header to source
The only user of the register definitions is the driver itself, so move them
from the header file to the driver source file. The header file now only
contains the platform data struct.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Rework the regulator handling of the driver to match more closely what we do in
other drivers. Make the regulator non-optional if a external reference is used.
Also dispose the option of specifying the reference voltage via platform data.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Currently the platform data for the ad7793 consist just out of the raw default
register settings. This has some downsides, for one we actually don't want to
make all bits configurable and secondly not all register settings are actually
valid. This patch exposes all the options which should be configurable via
platform data as induvidual platform data struct fields. This also allows us to
document the different settings via proper kernel doc.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Dan Carpenter [Thu, 29 Nov 2012 14:38:35 +0000 (17:38 +0300)]
staging: panel: pass correct lengths to keypad_send_key()
We changed the sizeof() statements in 429ccf058b "staging:panel: Fixed
coding conventions." so that they could fit inside the 80 character
line limit. Unfortunately, the new sizeof() statements are a smaller
size. This reverts it.
There isn't a nice way to stay within the 80 character limit without
a re-work so I've gone over.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: fix the watchdog timer subdevice
The watchdog timer on this board functions exactly like the one on
the apci_1516 board. Fix the i_APCI2032_StartStopWriteWatchdog and
i_APCI2032_ConfigWatchdo functions so that the watchdog follows the
comedi API.
Rename the CamelCase function i_APCI2032_StartStopWriteWatchdog to
apci2032_wdog_insn_writ. This function is used to "ping" the watchdog.
Rename the CamelCase function i_APCI2032_ConfigWatchdog to
apci2032_wdog_insn_config. This function is used to enable/disable
the watchdog and set the timeout.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: remove use of struct addi_private
The only data in addi_private used in this driver is:
tsk_Current - used with send_sig to signal userspace when an interrupt
has occurred. Interrupt support in this driver does not follow the
standard comedi API so this functionality is currently broken. This
will be addressed.
b_OutputMemoryStatus - used in the addi-data "common" code to enable
reading of the eeprom. Eeprom support is not needed by this driver
and has been removed.
Since this data is not needed, remove the use of struct addi_private.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This function is used by the watchdog subdevice to read the status of
the watchdog. Rename the CamelCase function to apci2032_wdog_insn_read
and fix the function to return the status value insn->n times like
the comedi core expects.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: cleanup the s->subdev_flags
The flags SDF_GROUND and SDF_COMMON only have meaning for analog
input/output subdevices. Remove these flags from the digital
output and timer subdevices in this driver.
The digital output subdevice does not need the SDF_READABLE flag.
Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: remove use of devpriv->s_EeParameters
This driver no longer reads the eeprom to find the board specific data,
all the necessary data is in the boardinfo. Use the boardinfo directly
instead of passing through devpriv->s_EeParameters.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: remove unnecessary info from boardinfo
The i_IorangeBase[012], i_PCIEeprom, and pc_EepromChip data in the
boardinfo was only needed to work out the usage of the PCI bars.
This is no longer needed so remove the data.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: simplify the PCI bar reading
The board supported by this driver has a 93c76 eeprom. Knowing this
information allows simplifying the code that reads the PCI bars to
get the iobase address.
Also, since the 'dw_AiBase' is not ioremap'ed we can remove the iounmap
in the detach.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
staging: comedi: addi_apci_2032: separate from addi_common.c
This driver is for a simple 32 channel digital output board. Using the
addi-data "common" code introduces a lot of bloat.
Copy the code in addi_common.c to this driver and remove the #include
that caused addi_common.c to be compiled with this driver. This will
allow removing the bloat.
Rename the attach_pci and detach functions so they have namespace
associated with this driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Tue, 27 Nov 2012 18:08:44 +0000 (12:08 -0600)]
staging: r8712u: Fix possible buffer overrun
In routine r8712_report_sec_ie(), the code could set the length
of the buffer to 256; however, that value is one larger than the
corresponding memory allocation.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Shan Wei [Wed, 28 Nov 2012 02:54:31 +0000 (10:54 +0800)]
staging: gdm72xx: use %pI4 format to print IPv4 address and remove last usage of NIP6
commit cf4ca4874fc45 removed the definition of NIPQUAD and NIPQUAD_FMT,
and NIP6 also is out of date.
commit 2874762b31d8d replace deprecated NIPQUAD marco to C code, but we can use %pI4 to
print IPv4 address more simply. And remove constant condition judge.
Because DEBUG_SDU is not defined in gdm_wimax.h, no error message when compiling.
YAMANE Toshiaki [Wed, 28 Nov 2012 13:20:40 +0000 (22:20 +0900)]
staging/rtl8187se: Use netdev_ printks in ieee80211/ieee80211_rx.c
The following warnings fixed.
- WARNING: Prefer netdev_dbg(netdev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ...
- WARNING: Prefer netdev_warn(netdev, ... then dev_warn(dev, ... then pr_warn(... to printk(KERN_WARNING ...
- WARNING: Prefer netdev_info(netdev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ...
YAMANE Toshiaki [Wed, 28 Nov 2012 13:20:13 +0000 (22:20 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_rx.c
The following warnings fixed.
- ERROR: space required before the open parenthesis '('
- ERROR: that open brace { should be on the previous line
- ERROR: space required before the open brace '{'
- ERROR: else should follow close brace '}'
- ERROR: space prohibited before that close parenthesis ')'
YAMANE Toshiaki [Wed, 28 Nov 2012 13:19:59 +0000 (22:19 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_rx.c
The following warnings fixed.
-- ERROR: space required after that ',' (ctx:VxV)
-- ERROR: spaces required around that '&&' (ctx:VxV)
-- ERROR: space prohibited before that '++' (ctx:WxO)
-- ERROR: spaces required around that '?' (ctx:VxV)
-- ERROR: spaces required around that ':' (ctx:VxV)
-- ERROR: spaces required around that '!=' (ctx:VxW)
-- ERROR: need consistent spacing around '-' (ctx:WxV)
-- ERROR: spaces required around that '=' (ctx:VxW)
-- ERROR: spaces required around that '||' (ctx:ExV)
YAMANE Toshiaki [Tue, 27 Nov 2012 12:08:47 +0000 (21:08 +0900)]
staging/rtl8187se: Fix spacing coding style in ieee80211/ieee80211_softmac_wx.c
The following errors fixed.
- ERROR: space required before the open brace '{'
- ERROR: space required before the open parenthesis '('
- ERROR: space prohibited before that close parenthesis ')'
- ERROR: space required after that close brace '}'
Ben Chan [Tue, 27 Nov 2012 04:18:45 +0000 (20:18 -0800)]
staging: gdm72xx: fix unused variable warning in gdm_usb_send
This patch fixes an unused variable warning in gdm_usb_send
(when CONFIG_WIMAX_GDM72XX_K_MODE=n), which was introduced in
commit 1a276b80466bbd195cf94ec7178f68f2ab351467 (staging:
gdm72xx: protect access of rx / tx structs).
Reported-by: kbuild test robot <fengguang.wu@intel.com> Signed-off-by: Ben Chan <benchan@chromium.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ben Chan [Sun, 25 Nov 2012 03:35:36 +0000 (19:35 -0800)]
staging: gdm72xx: protect access of rx / tx structs
This patch applies spinlock to protect access to rx / tx structs in
certain call sites, which fixes the following crash in gdm_suspend.
It also fixes usb_set_intfdata() in gdm_usb_probe to avoid setting an
already freed phy_dev.
<5>[ 4996.815018] [<7f0074b0>] (gdm_suspend+0x1c/0x2b4 [gdmwm]) from [<803020a4>] (usb_suspend_both+0x80/0x1a0)
<5>[ 4996.815055] [<803020a4>] (usb_suspend_both+0x80/0x1a0) from [<80302c84>] (usb_runtime_suspend+0x38/0x64)
<5>[ 4996.815089] [<80302c84>] (usb_runtime_suspend+0x38/0x64) from [<802becc0>] (__rpm_callback+0x48/0x78)
<5>[ 4996.815118] [<802becc0>] (__rpm_callback+0x48/0x78) from [<802bf8dc>] (rpm_suspend+0x394/0x5ec)
<5>[ 4996.815145] [<802bf8dc>] (rpm_suspend+0x394/0x5ec) from [<802c0550>] (pm_runtime_work+0x8c/0xa4)
<5>[ 4996.815177] [<802c0550>] (pm_runtime_work+0x8c/0xa4) from [<800456cc>] (process_one_work+0x264/0x438)
<5>[ 4996.815209] [<800456cc>] (process_one_work+0x264/0x438) from [<80045acc>] (worker_thread+0x22c/0x3b8)
<5>[ 4996.815239] [<80045acc>] (worker_thread+0x22c/0x3b8) from [<8004a43c>] (kthread+0x9c/0xa8)
<5>[ 4996.815270] [<8004a43c>] (kthread+0x9c/0xa8) from [<8000f160>] (kernel_thread_exit+0x0/0x8)
<0>[ 4996.815295] Code: e92d4000e8bd4000e2800020eb4ab9a1 (e5905000)
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:24 +0000 (20:49 +0100)]
staging: line6: drop dump requests from pod startup
The pod startup procedure dumps model data. This is no longer useful
since the sysfs attrs which expose this information to userspace have
been removed. The dump request wasn't been processed anymore.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:23 +0000 (20:49 +0100)]
staging: line6: drop dump requests from variax startup
The variax startup procedure dumps model data. This is no longer useful
since the sysfs attrs which expose this information to userspace have
been removed. The dump request wasn't been processed anymore.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:22 +0000 (20:49 +0100)]
staging: line6: drop variax model_data field
The sysfs attrs to access the model dump have been removed so it's safe
to drop the model_data field. The next step will be to simplify the
startup process since we no longer need to fetch this data via dump
requests, but that will be done in a later patch.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:20 +0000 (20:49 +0100)]
staging: line6: drop pod prog_data buffers
The driver no longer keeps state of MIDI-accessible device parameters.
Drop the buffers but be careful to keep the device startup procedure
working even though we no longer store the contents of the dump request.
The startup procedure will be simplified in a later patch.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:19 +0000 (20:49 +0100)]
staging: line6: drop MIDI parameter sysfs attrs
Both pod.c and variax.c expose the device's MIDI parameters as sysfs
attrs. Knowledge of MIDI constants should be in userspace, not in the
driver. Drop the sysfs attrs and let userspace interpret parameters it
cares about instead.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:18 +0000 (20:49 +0100)]
staging: line6: drop amp/effects dump request triggers
Since the driver no longer needs to keep state of device parameters it
is no longer necessary to refresh state when messages that affect other
parameters are sent. Drop the code to trigger a dump when amp/effects
are changed.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:17 +0000 (20:49 +0100)]
staging: line6: drop CONFIG_LINE6_USB_RAW
Now that both pod.c and variax.c have removed their raw sysfs attrs, the
CONFIG_LINE6_USB_RAW config option can be dropped. The drivers are
being stripped down to just PCM and MIDI I/O so there is less state and
filtering. Therefore it's no longer necessary to have a special sysfs
attr to bypass the filtering ("raw").
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:07 +0000 (20:49 +0100)]
staging: line6: drop tuner param filtering
The pod_set_system_param_int() helper function is only used to set the
monitor level. Previously it was also used to control the tuner and has
special checks. These checks can now be dropped, along with the tuner
constants.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:06 +0000 (20:49 +0100)]
staging: line6: drop pod.c raw sysfs attr
The raw sysfs attr transmits MIDI messages with less filtering. This
was a useful debugging tool while the staging driver still had a lot of
state and filtering. It is not useful anymore since the filtering is
being dropped.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:04 +0000 (20:49 +0100)]
staging: line6: drop midi_mask_transmit
The midi_mask_transmit sysfs attribute selects the MIDI channels on
which to transmit messages. If ALSA wants to transmit a message that
does not match an allowed channel, the message will be dropped. This
driver feature is not really used and applications don't know how to
take advantage of it. Therefore we drop it and rely on applications or
MIDI sequencers to select the channels used for communication.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:03 +0000 (20:49 +0100)]
staging: line6: drop midi_mask_receive
The midi_mask_receive sysfs attribute selects the MIDI channels on which
to receive messages. There is no need to do this at the driver level,
instead the MIDI application endpoints decide which channels to use.
Other drivers don't implement midi_mask_receive so applications cannot
make use of this feature. Therefore we drop it as part of the effort to
clean up the staging driver.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Stefan Hajnoczi [Thu, 22 Nov 2012 19:49:00 +0000 (20:49 +0100)]
staging: line6: drop tuner_pitch sysfs attr
Dropping this final tuner sysfs attr also leaves the
POD_GET_SYSTEM_PARAM() macro, pod_get_system_param_string(), and
pod_get_system_param_int() unused. Remove them immediately to avoid
compiler warnings.
POD_monitor_level is now the only SYSEX value that needs to be watched
by the driver since the ALSA volume control should reflect the current
monitor volume level used by the device. Therefore, drop the switch
statement entirely and just check for POD_monitor_level, ignoring
unknown system parameter changes.
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>