Граф коммитов

310703 Коммитов

Автор SHA1 Сообщение Дата
Lars-Peter Clausen 1875ffd218 iio:inkern: Use iio_device_{get,put}
Use iio_device_get and iio_device_put instead of open-coding it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:21:29 -07:00
Lars-Peter Clausen e4e8b77658 iio: Add iio_device_get()
This patch add the iio_device_get() function, which increases the reference
count of a iio device. The matching function to decrease the reference count -
iio_device_put() - already exists.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:21:29 -07:00
Sachin Kamat 44dd5b0253 staging: iio: Remove version.h header file inclusion
version.h header file is no longer required.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:19:42 -07:00
Michael Hennerich e31166f0fd iio: frequency: New driver for Analog Devices ADF4350/ADF4351 Wideband Synthesizers
Changes since V1:
Apply Jonathan's review feedback:
    Introduce and use IIO_ALTVOLTAGE.
    Fix up comments and documentation.
    Remove dead code.
    Reorder some code fragments.
    Add missing iio_device_free.

Convert to new API.
Fix-up out of staging includes.
Removed pll_locked attribute.

Changes since V2:
Use module_spi_driver.
adf4350_remove: move gpio_free after regulator.
target patch to drivers/iio

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:19:40 -07:00
Michael Hennerich cd1678f963 iio: frequency: New driver for AD9523 SPI Low Jitter Clock Generator
Changes since V1:

Apply Jonathan's review feedback:
Revise device status attribute names, and split documentation into two sections.
Add additional comments, and fix indention issues.
Remove pointless zero initializations.
Revise return value handling.
Simplify some code sections.
Split store_eeprom and sync handling into separate functions.
Use strtobool where applicable.
Document platform data structures using kernel-doc style.

Use dev_to_iio_dev
write_raw IIO_CHAN_INFO_FREQUENCY: Reject values <= 0
Make patch target drivers/iio

Changes since V2:

Use for_each_clear_bit() and __set_bit() where applicable.
Add descriptive comment.
Avoid temporary for struct regulator.
spi_device_id name use ad9523-1, ad9523 will be added later.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:19:05 -07:00
Lars-Peter Clausen e407fd655b iio: Fix potential use after free
There is no guarantee that the last reference to the iio device has already been
dropped when iio_device_free is called. This means that we can up calling
iio_dev_release after iio_device_free which will lead to a use after free. As
the general rule the struct containing the device should always be freed in the
release callback.

This is what this patch does, it moves freeing the iio device struct as well as
releasing the idr reference to the release callback. To ensure that the device
is not freed before calling iio_device_free the device_unregister call in
iio_device_unregister is broken apart. iio_device_unregister will now only call
device_del to remove the device from the system and iio_device_free will call
put_device to drop the reference we obtained in iio_devce_alloc.

We also have to take care that calling iio_device_free without having called
iio_device_register still works (i.e. this can happen if something failed during
device initialization). For this to work properly two minor changes were
necessary: channel_attr_list needs to be initialized in iio_device_alloc and we
have to check whether the chrdev has been registered before releasing it in
iio_device_release.

This change also brings iio_device_unregister and iio_device_free more in sync
with iio_device_register and iio_device_alloc which call device_add and
device_initialize respectively.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:15:31 -07:00
Johan Hovold 04723de09d staging:iio: remove num_interrupt_lines from documentation
Commit 5aa9618896 ("staging:iio: remove broken support for
multiple event interfaces.") removed the num_interrupt_lines field from
struct iio_info but the documentation was never updated.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:15:31 -07:00
Michael Hennerich d802bf6f09 iio: documentation: Add out_altvoltage and friends
Continuous frequency/clock generating devices, such as DDSs or PLLs
should use out_altvoltage.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:15:31 -07:00
Johan Hovold 9c8ea1b29b iio: add LM3533 ambient-light-sensor driver
Add sub-driver for the ambient-light-sensor interface on National
Semiconductor / TI LM3533 lighting power chips.

The sensor interface can be used to control the LEDs and backlights of
the chip through defining five light zones and three sets of
corresponding output-current values.

The driver provides raw and mean adc readings along with the current
light zone through sysfs. A threshold event can be generated on zone
changes. The ALS-control output values can be set per zone for the three
current output channels.

Signed-off-by: Johan Hovold <jhovold@gmail.com>
Acked-by: Jonathan Cameron <jic23@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:12:29 -07:00
Kevin McKinney 2979460d7a Staging: bcm: Remove typedef for _MINI_ADAPTER and call directly.
This patch removes typedef for _MINI_ADAPTER, changes the
name of the struct from _MINI_ADAPTER to bcm_mini_adapter.
In addition, any calls to the following typedefs
"MINI_ADAPTER, *PMINI_ADAPTER" are changed to call
the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:09:22 -07:00
Kevin McKinney ff352042eb Staging: bcm: Remove typedef for _LEADER and call directly.
This patch removes typedef for _LEADER, changes the
name of the struct from _LEADER to bcm_leader.
In addition, any calls to the following typedefs
"LEADER, *PLEADER" are changed to call
the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:09:22 -07:00
Kevin McKinney a869993f8f Staging: bcm: Remove typedef for _PACKETTOSEND and call directly.
This patch removes typedef for _PACKETTOSEND, changes the
name of the struct from _PACKETTOSEND to bcm_packettosend.
In addition, any calls to the following typedefs
"PACKETTOSEND, *PPACKETTOSEND" are changed to call
the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:09:21 -07:00
Kevin McKinney c1975eda98 Staging: bcm: Remove typedef for _CONTROL_PACKET and call directly.
This patch removes typedef for _CONTROL_PACKET,
changes the name of the struct from _CONTROL_PACKET
to bcm_control_packet. In addition, any calls to the
following typedefs "CONTROL_PACKET, *PCONTROL_PACKET"
are changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:09:21 -07:00
Kevin McKinney 2610c7a889 Staging: bcm: Remove typedef for link_request and call directly.
This patch removes typedef for link_request, changes the
name of the struct from link_request to bcm_link_request.
In addition, any calls to the following typedefs
"LINK_REQUEST, *PLINK_REQUEST, *CONTROL_MESSAGE"
are changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:09:21 -07:00
Kevin McKinney 845bd532cd Staging: bcm: Remove typedef for _ADD_CONNECTION.
This patch removes typedef for _ADD_CONNECTION,
because it is not being used.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:11 -07:00
Kevin McKinney fa64354ff3 Staging: bcm: Remove typedef for _CLASSIFICATION_RULE.
This patch removes typedef for _CLASSIFICATION_RULE,
because it is not being used.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:11 -07:00
Kevin McKinney 0e000c2ee3 Staging: bcm: Remove typedef for _CLASSIFICATION_ONLY.
This patch removes typedef for _CLASSIFICATION_ONLY,
because it is not being used.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:11 -07:00
Kevin McKinney f428450a5d Staging: bcm: Remove typedef for _S_HDR_SUPRESSION_CONTEXTINFO and call directly.
This patch removes typedef for
_S_HDR_SUPRESSION_CONTEXTINFO, changes the name
of the struct from _S_HDR_SUPRESSION_CONTEXTINFO
to bcm_hdr_supression_contextinfo. In addition,
any calls to the following typedefs
"S_HDR_SUPRESSION_CONTEXTINFO" are changed to call the
struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:10 -07:00
Kevin McKinney 92562aeec4 Staging: bcm: Remove typedef for _S_CLASSIFIER_RULE and call directly.
This patch removes typedef for _S_CLASSIFIER_RULE,
changes the name of the struct from
_S_CLASSIFIER_RULE to bcm_classifier_rule.
In addition, any calls to the following typedefs
"S_CLASSIFIER_RULE" are changed to call the
struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:10 -07:00
Kevin McKinney 7f22485def Staging: bcm: Remove typedef for _S_FRAGMENTED_PACKET_INFO and call directly.
This patch removes typedef for _S_FRAGMENTED_PACKET_INFO,
changes the name of the struct from
_S_FRAGMENTED_PACKET_INFO to bcm_fragmented_packet_info.
In addition, any calls to the following typedefs
"S_FRAGMENTED_PACKET_INFO, *PS_FRAGMENTED_PACKET_INFO"
are changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:10 -07:00
Kevin McKinney 0b3edf760a Staging: bcm: Remove typedef for _packet_info and call directly.
This patch removes typedef for _packet_info,
changes the name of the struct from
_packet_info to bcm_packet_info.
In addition, any calls to the following typedefs
"PacketInfo, _packet_info" are changed to call the
struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:10 -07:00
Kevin McKinney 774bea8314 Staging: bcm: Remove typedef for _PER_TARANG_DATA and call directly.
This patch removes typedef for _PER_TARANG_DATA,
changes the name of the struct from
_PER_TARANG_DATA to bcm_per_tarang_data.
In addition, any calls to the following typedefs
"PER_TARANG_DATA, *PPER_TARANG_DATA" are
changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:08:09 -07:00
Kevin McKinney d0830f6c44 Staging: bcm: Remove condition check on macro REL_4_1 because it is not used.
This patch removes the conditional check on
macro REL_4_1, and the corresponding controlled
text because it is not used.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:36 -07:00
Kevin McKinney 3753164384 Staging: bcm: Remove typedef for _STTARGETDSXBUFFER and call directly.
This patch removes typedef for _STTARGETDSXBUFFER,
changes the name of the struct from
_STTARGETDSXBUFFER to bcm_targetdsx_buffer.
In addition, any calls to the following typedefs
"STTARGETDSXBUFFER, *PSTTARGETDSXBUFFER" are
changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:35 -07:00
Kevin McKinney 406a50826f Staging: bcm: Remove typedef for _ETH_HEADER_STRUC and call directly.
This patch removes typedef for _ETH_HEADER_STRUC,
changes the name of the struct from
_ETH_HEADER_STRUC to bcm_eth_header.
In addition, any calls to the following typedefs
"ETH_HEADER_STRUC, *PETH_HEADER_STRUC" are
changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:35 -07:00
Kevin McKinney 7a27a2ccf8 Staging: bcm: Remove typedef for FirmwareInfo and call directly.
This patch removes typedef for FirmwareInfo,
changes the name from Firmwareinfo to
bcm_firmware_info. In addition, any calls to
the following typedefs "PFIRMWARE_INFO,
FIRMWARE_INFO" are changed to call the struct
directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:35 -07:00
Kevin McKinney 7905c78816 Staging: bcm: Remove typedef for _cntl_pkt in Adapter.h
This patch removes typedef for _cntl_pkt because
it is not used.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:35 -07:00
Kevin McKinney be3099957c Staging: bcm: Remove typedef for _DDR_SETTING and call directly.
This patch removes the typedef for _DDR_SETTING,
changes the name of the struct from _DDR_SETTING,
to bcm_ddr_setting. In addition, any calls to the
following typedefs "DDR_SET_NODE and *PDDR_SET_NODE"
are changed to call the struct directly.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:34 -07:00
Kevin McKinney 76cc6f9203 Staging: bcm: Remove typedef from "eInterface_setting" in Adapter.h
This patch removes the typedef from
eInterface_setting, and renames the enum
to bcm_einterface_setting.

Signed-off-by: Kevin McKinney <klmckinney1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:06:34 -07:00
Justin P. Mattock 3fe192d8e0 staging "rts_pstor" fix some typos while reading through rts_pstor
Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:04:32 -07:00
Joe Perches 8a7245ea2c Staging: android: alarm: Rename pr_alarm to alarm_dbg
Rename a macro to make it explicit it's for debugging.

Use %s: __func__ instead of embedding function names.
Coalesce formats, align arguments.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 21:04:32 -07:00
Ian Abbott 5d3b0d1859 staging: comedi: amplc_pci230: Remove forward declarations 4
Move these functions and remove their forward declarations:
pci230_ai_stop(), pci230_handle_ai().  Also move pci230_ai_cancel() for
aesthetic reasons.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:50 -07:00
Ian Abbott bd4447e597 staging: comedi: amplc_pci230: Remove forward declarations 3
Move these functions and remove their forward declarations:
pci230_ao_stop(), pci230_handle_ao_nofifo(), pci230_handle_ao_fifo().
Also move pci230_ao_cancel() for aesthetic reasons.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:50 -07:00
Ian Abbott 091e8d8ff4 staging: comedi: amplc_pci230: Remove forward declarations 2
Remove some forward function declarations: pci230_ct_setup_ns_mode(),
pci230_ns_to_single_timer(), pci230_cancel_ct().  Also need to move:
divide_ns().

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:50 -07:00
Ian Abbott 027ee06835 staging: comedi: amplc_pci230: Remove forward declarations 1
Remove the redundant forward function declarations.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:50 -07:00
Ian Abbott ba54fa6893 staging: comedi: amplc_pci230: Add attach_pci() hook
Implement the attach_pci() hook as function pci230_attach_pci().  This
is called by comedi_pci_auto_config() in preference to the old attach()
hook (implemented by pci230_attach() and still required for "manual"
configuration of comedi devices).  The advantage of the attach_pci()
hook is that it avoids searching for the PCI device.

Refactor pci230_attach() and factor out code common to pci230_attach()
and pci230_attach_pci() into new functions pci230_match_pci_board(),
pci230_find_pci_board(), pci230_find_pci(), pci230_alloc_private() and
pci230_attach_common().

Finally, move pci230_attach() and pci230_detach() along with all the new
functions towards the bottom of the file as it makes the patch much
cleaner (though longer) and I plan to move things around soon to get
rid of the remaining forward references.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:49 -07:00
Ian Abbott 967bfbc2c9 staging: comedi: amplc_pci230: Remove thisboard and devpriv macros
The 'thisboard' and 'devpriv' macros rely on a local variable having a
specific name and yield pointers derived from that local variable.
Replace the macros with local variables wherever they occur.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:49 -07:00
Ian Abbott 4b05d17d8d staging: comedi: amplc_pci230: Replace printk calls
Replace the printk calls with dev_info, dev_err, etc.

A load of DPRINTK() macro calls which may result in printk() calls
have been left alone to be tackled en masse at a later date.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:49 -07:00
Ian Abbott 9dc5a822ea staging: comedi: amplc_pci224: Remove thisboard and devpriv macros
The 'thisboard' and 'devpriv' macros rely on a local variable having a
specific name and yield pointers derived from that local variable.
Replace the macros with local variables wherever they occur.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:06 -07:00
Ian Abbott 01ea83bce2 staging: comedi: amplc_pci224: Change return type of pci224_find_pci()
pci224_find_pci() finds a supported PCI device, returning 0 on success
or -EIO on failure and returning the pointer to the PCI device via a
struct pci_dev ** parameter.  Change it to return the struct pci_dev *
on success or NULL on failure.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:06 -07:00
Ian Abbott eedc1b7be2 staging: comedi: amplc_pci224: Replace printk calls
Replace the printk calls with dev_info, dev_err, etc.  There were some
consecutive printk calls without newlines which now scnprintf into a
temporary buffer and this bit of code has been factored out into new
function pci224_report_attach().

A couple of DPRINTK() macro calls which may result in printk() calls
have been left alone to be tackled en masse at a later date.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:06 -07:00
Ian Abbott 52954abcee staging: comedi: amplc_pci224: __devinit pci224_attach_pci()
pci224_attach_pci() is only called during PCI probe, indirectly via
comedi_pci_auto_config(), so it can be marked __devinit.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:50:06 -07:00
Ian Abbott c894ec8da0 staging: comedi: amplc_dio200: Add attach_pci() hook
Implement the attach_pci() hook as function dio200_attach_pci().  This
is called by comedi_pci_auto_config() in preference to the old attach()
hook (implemented by dio200_attach()) and avoids searching for the
probed PCI device.

Factor out code common to dio200_find_pci() and dio200_attach_pci() into
new function dio200_find_pci_board().  Factor out most code common to
dio200_attach() and dio200_attach_pci() into new functions
dio200_pci_common_attach() and dio200_common_attach().

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:20 -07:00
Ian Abbott adb4601a82 staging: comedi: amplc_dio200: Remove thisboard, thislayout and devpriv macros
The 'thisboard', 'thislayout' and 'devpriv' macros rely on a local
variable having a specific name and yield pointers derived from that
local variable.  Replace the macros with local variables wherever they
occur.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:20 -07:00
Ian Abbott 181ad5edbf staging: comedi: amplc_dio200: Change return type of dio200_find_pci()
dio200_find_pci() finds a supported PCI device, returning 0 on success
or -EIO on failure and returning the pointer to the PCI device via a
struct pci_dev ** parameter.  Change it to return the struct pci_dev *
on success or NULL on failure.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:20 -07:00
Ian Abbott 485455d01b staging: comedi: amplc_dio200: Replace printk calls
Replace the printk calls with dev_info, dev_err, etc.  There were some
consecutive printk calls without newlines which now scnprintf into a
temporary buffer and this bit of code has been factored out into new
function dio200_report_attach().

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:19 -07:00
Ian Abbott fd97962b41 staging: comedi: amplc_dio200: Remove forward function declarations
Moved some functions and variables to avoid forward declarations.  Moved
PCI table closer to the struct pci_driver that refers to it.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:19 -07:00
Ian Abbott d22e9306c3 staging: comedi: amplc_dio200: Use module_comedi_{pci,}_driver()
If PCI boards are supported, use the module_comedi_pci_driver() macro to
register the module as a comedi driver and a PCI driver.  Otherwise,
only ISA boards are supported so use the module_comedi_driver() macro to
register the module as a comedi driver.

Renamed 'driver_amplc_dio200' to 'amplc_dio200_driver' and removed
'driver_' prefix from PCI related functions and variables, purely for
aesthetic reasons.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:19 -07:00
Ian Abbott a6e11e3b9f staging: comedi: amplc_dio200: Use IS_ENABLED()
Change conditional compilation on kernel options to use the IS_ENABLED()
macro.  Remove most of the #ifdef lines and add extra if
(IS_ENABLED(xxx)) tests so the compiler can remove unreachable code.
The pci_driver stuff and device table and some of the static const data
is still conditionally compiled.

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:49:19 -07:00
Ian Abbott d8967b6ed6 staging: comedi: amplc_pc263: Add attach_pci() hook
Implement the attach_pci() hook as function pc263_attach_pci().  This is
called bu comedi_pci_auto_config() in preference to the old attach()
hook (implemented by pc263_attach()) and avoids searching for the probed
PCI device.

Factor out code common to pc263_find_pci() and pc263_attach_pci() into
new function pc263_find_pci_board().  Factor out most code common to
pc263_attach() and pc263_attach_pci() into new functions
pc263_pci_common_attach() and pc263_common_attach().

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-06-04 20:48:08 -07:00