- 07 11月, 2016 16 次提交
-
-
由 David Binder 提交于
Adjusts the formatting of a variable assignment to use fewer line breaks, making it follow the convention used elsewhere in the s-Par driver set. Signed-off-by: NDavid Binder <david.binder@unisys.com> Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
The function my_device_destroy should call chipset_device_destroy directly instead of calling device_epilog. Since this was the last function to use device_epilog that function was removed as well. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Function my_device_changestate should call chipset_device_changestate directly instead of calling device_epilog. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
The function my_device_changestate was not sending a response if there was an error with the CONTROLVM message. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Don't have my_device_create call device_epilog, have it call chipset_device_create directly instead. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Remove the function bus_epilog since no one is calling it. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Add error handling to bus_create function. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Do proper error handling and return error codes instead of just ignoring them. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Have bus_destroy call chipset_bus_destroy directly instead of going through bus_epilog. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
Have bus_create call chipset_bus_create directly instead of going through the function bus_epilog. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 David Kershner 提交于
This patch addresses the problem that we were sending double responses back to the s-Par Firmware when processing CONTROLVM Messages. Every message responds individually and the epilog functions would send a response as well. Since a message could delay the response, it was decided to remove the extra response from the epilog function. Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reviewed-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Sameer Wadgaonkar 提交于
Removed intializations from visorchipset_open(), visorchipset_init() and moved the memset in initialize_controlvm_payload_info() down in case of early returns from the function. Signed-off-by: NSameer Wadgaonkar <sameer.wadgaonkar@unisys.com> Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Tim Sell 提交于
Previously, the sysfs entry (assuming traditional sysfs mountpoint): /sys/bus/visorbus/devices/visorbus<n>/client_bus_info violated kernel conventions by printing more than one item. This along with the fact that the data emitted was diagnostic data (intended to shadow the client driver info provided via s-Par livedumps) made it a logical candidate for debugfs. So this patch moves this sysfs entry to debugfs as (assuming traditional debugfs mountpoint): /sys/kernel/debug/visorbus/visorbus<n>/client_bus_info Data for this debugfs is emitted using the preferred seq_file interface, which allowed a vastly-simplified version of vbuschannel_print_devinfo() to format the individual output components. Functionality was verified as follows: [root@sparguest visorbus]# mount | grep debug debugfs on /sys/kernel/debug type debugfs (rw) [root@sparguest visorbus]# pwd /sys/kernel/debug/visorbus [root@sparguest visorbus]# l visorbus1/ total 0 drwxr-xr-x 2 root root 0 Sep 28 16:36 . drwxr-xr-x 4 root root 0 Sep 28 16:36 .. -r--r----- 1 root root 0 Sep 28 16:36 client_bus_info [root@sparguest visorbus]# l visorbus2 total 0 drwxr-xr-x 2 root root 0 Sep 28 16:36 . drwxr-xr-x 4 root root 0 Sep 28 16:36 .. -r--r----- 1 root root 0 Sep 28 16:36 client_bus_info [root@sparguest visorbus]# cat visorbus1/client_bus_info Client device / client driver info for s-Par Console partition (vbus #1): chipset visorchipset kernel ver. 4.8.0-rc6-ARCH+ clientbus visorbus kernel ver. 4.8.0-rc6-ARCH+ [2]keyboard visorinput kernel ver. 4.8.0-rc6-ARCH+ [3]mouse visorinput kernel ver. 4.8.0-rc6-ARCH+ [root@sparguest visorbus]# cat visorbus2/client_bus_info Client device / client driver info for s-Par IOVM partition (vbus #2): chipset visorchipset kernel ver. 4.8.0-rc6-ARCH+ clientbus visorbus kernel ver. 4.8.0-rc6-ARCH+ [0]ultravnic visornic kernel ver. 4.8.0-rc6-ARCH+ [1]ultravnic visornic kernel ver. 4.8.0-rc6-ARCH+ [2]sparvhba visorhba kernel ver. 4.8.0-rc6-ARCH+ Signed-off-by: NTim Sell <Timothy.Sell@unisys.com> Reported-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Tim Sell 提交于
The kernel convention is for DEVICE_ATTR_RO(<attr>) definitions to occur immediately after the functions that implement the attribute behaviors. DEVICE_ATTR_RO definitions in visorbus_main.c have been moved to comply with this convention. Signed-off-by: NTim Sell <Timothy.Sell@unisys.com> Signed-off-by: NDavid Kershner <david.kershner@unisys.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Shiva Kerdel 提交于
The affected files have been modified to remove redundant spaces after casts to solve checkpatch.pl checks. Signed-off-by: NShiva Kerdel <shiva@exdev.nl> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Greg Kroah-Hartman 提交于
Merge tag 'iio-for-4.10b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-testing Jonathan writes: Second round of new device support, cleanups and fixes for IIO in the 4.10 cycle This includes two branch merges for elements that may also go via MFD. New device support * cros_ec - new driver to support these Chrome OS contiguous sensors which are behind the Chrome OS embedded controller. Requires a few minor MFD and chrome platform changes. One follow up fix deals with some dependency issues in Kconfig. * mpu-3050 - new driver and device tree bindings for this venerable device. * st_accel - support for the lng2dm an Driver features * ad7192 - Add DVdd regulator handling * ad9832 - Add DVDD regulator handling * at91 - Suspend and resume support * si7020 - Device tree bindings * ti-am335x - DMA support - uses dma to accelerate short bursts of read back rather than full blown DMA buffer support. Greatly improved performance. Includes an MFD addition to give access to the address needed for DMA. * tsl2583 - Device tree bindings Cleanups and minor fixes * ad7192 - Fix regulator naming to match datasheet - Handle regulator errors correctly (so as to not break deferred probing) - Rename reg variable to reflect which regulator it is * ad5933 - Fix regulator naming to match datasheet - Handle regulator errors correctly (so as to not break deferred probing) * ad7746 - Fix a missing return value (fallout from previous patch set) * ad7780 - Fix regulator naming to match datasheet - Handle regulator errors correctly (so as to not break deferred probing) * ad9832 - Fix regulator naming to match datasheet - Handle regulator errors correctly (so as to not break deferred probing) - Rename reg regulator to reflect which one it is * ad9834 - Fix regulator naming to match datasheet - Handle regulator errors correctly (so as to not break deferred probing) * hts221 - Remove a duplicated include * maxim thermocouple - Handle a wrong storage side in read function. Prevent any problems that might be introduced by additions to this driver in future. * tsl2583 - big set from Brian Masney to drive this towards a staging graduation. - Convert to iio_chan_spec and read_raw / write_raw (in a couple of steps) - Improved error handling in various functions - Drop redundant power_state custom sysfs attribute. - Use IIO_*_ATTR* macros for remaining attributes. - Return an error code to userspace on invalid parameters being writen to sysfs files. - Add locking to various attribute accesses to remove possible races. - Add defines for various magic numbers. - Use smbus_read_byte_data instead of a write_byte followed by read_byte. - Query only relevant registers in probe. - Tidy up ordering of code comments. - Remove a pointless power off sequence in taos_chip_on. - Don't bother shutting down the chip when updating the lux table. The table is held entirely in the driver and doesn't effect the chip at all. - Drop a redundant i2c call in taos_als_calibrate where the same register is read twice in a row.
-
- 06 11月, 2016 17 次提交
-
-
由 Brian Masney 提交于
taos_als_calibrate() queries the control register to determine if the unit is powered on and has the ADC enabled. It then queries the same register a second time to determine if the ADC reading is valid. This patch removes the redundant i2c_smbus_read_byte_data() call. Verified that the driver still functions correctly using a TSL2581 hooked up to a Raspberry Pi 2. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
in_illuminance_lux_table_store() shuts down the chip, updates the contents of the lux table, and then turns the chip back on. The values in lux table are not used by the chip and are only used internally by the driver. It is not necessary to change the power state on the chip. This patch removes the calls to taos_chip_off() and taos_chip_on() in in_illuminance_lux_table_store(). Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
taos_chip_on() explicitly turns the sensor power on and then writes the 8 registers that are stored in taos_config. The first register in taos_config is the CONTROL register and the configuration is set to turn the power off. The existing state sequence in taos_chip_on() is: - Turn device power on - Turn device power off (via taos_config) - Configure other 7 registers (via taos_config) - Turn device power on, enable ADC This patch changes the code so that the device is not powered off via taos_config. Verified that the driver still functions correctly using a TSL2581 hooked up to a Raspberry Pi 2. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
in taos_defaults() The comments in taos_defaults() appear after the line of code that they apply to. This patch moves the comments so that they appear before the code. Some of the comments were updated to be more informative. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
taos_probe() queries the all of the sensor's registers and loads all of the values into a buffer stored on the stack. Only the chip ID register was actually used. Change the probe function to just query the chip ID register on the device. Verified that the driver still functions correctly using a TSL2581 hooked up to a Raspberry Pi 2. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
There were several places where the driver would first call i2c_smbus_write_byte() to select the register on the device, and then call i2c_smbus_read_byte() to get the contents of that register. The code would look roughly like: /* Select register */ i2c_smbus_write_byte(client, REGISTER); /* Read the the last register that was written to */ int data = i2c_smbus_read_byte(client); Rewrite this to use i2c_smbus_read_byte_data() to combine the two calls into one: int data = i2c_smbus_read_byte_data(chip->client, REGISTER); Verified that the driver still functions correctly using a TSL2581 hooked up to a Raspberry Pi 2. This fixes the following warnings that were found by the kbuild test robot that were introduced by commit 8ba355cce3c6 ("staging: iio: tsl2583: check for error code from i2c_smbus_read_byte()"). drivers/staging/iio/light/tsl2583.c:365:5-12: WARNING: Unsigned expression compared with zero: reg_val < 0 drivers/staging/iio/light/tsl2583.c:388:5-12: WARNING: Unsigned expression compared with zero: reg_val < 0 This also removes the need for the taos_i2c_read() function since all callers were only calling the function with a length of 1. Signed-off-by: NBrian Masney <masneyb@onstation.org> Cc: Julia Lawall <julia.lawall@lip6.fr> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Jonathan Cameron 提交于
A local branch created as Lee requested these two patches were applied in a fashion that would later let him merge the same branch into MFD if needed.
-
由 Mugunthan V N 提交于
This patch adds the required pieces to ti_am335x_adc driver for DMA support Signed-off-by: NMugunthan V N <mugunthanvnm@ti.com> Reviewed-by: NPeter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Mugunthan V N 提交于
store the physical address of the device in its priv to use it for DMA addressing in the client drivers. Signed-off-by: NMugunthan V N <mugunthanvnm@ti.com> Acked-for-MFD-by: NLee Jones <lee.jones@linaro.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Wenyou Yang 提交于
Add suspend/resume callback, support the pinctrl sleep state when the system suspend as well. Signed-off-by: NWenyou Yang <wenyou.yang@atmel.com> Acked-by: NLudovic Desroches <ludovic.desroches@atmel.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Song Hongyan 提交于
Neither sample frequency value nor hysteresis value can be set to be a negative number, check and return "Invalid argument" if they are negative. If not do this change, sample_frequency will be set into some unknown value, read hysteresis value after write negative number will return "Invalid argument". Signed-off-by: NSong Hongyan <hongyan.song@intel.com> Acked-by: NSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
Rename regulator 'reg' to 'avdd' so as to be clear what regulator it stands for specifically. Additionally, get rid of local variable 'reg' and use direct assignment instead. Update also the goto label pertaining to the avdd regulator during disable. Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
The AD9832/AD9835 is supplied with two power sources: AVDD as analog supply voltage and DVDD as digital supply voltage. Attempt to fetch and enable the regulator 'dvdd'. Bail out if any error occurs. Suggested-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
Rename regulator 'reg' to 'avdd' so as to be clear what regulator it stands for specifically. Also, update the goto label accordingly. Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
The AD7190/AD7192/AD7193/AD7195 is supplied with two power sources: AVdd as analog supply voltage and DVdd as digital supply voltage. Attempt to fetch and enable the regulator 'dvdd'. Bail out if any error occurs. Suggested-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
Currently, the affected drivers ignore all errors from regulator_get(). The way it is now, it also breaks probe deferral (EPROBE_DEFER). The correct behavior is to propagate the error to the upper layers so they can handle it accordingly. Rework the regulator handling so that it matches the standard behavior. If the specific design uses a static always-on regulator and does not explicitly specify it, regulator_get() will return the dummy regulator. The following semantic patch was used to apply the change: @r1@ expression reg, dev, en, volt; @@ reg = \(devm_regulator_get\|regulator_get\)(dev, ...); if ( - ! IS_ERR(reg)) + return PTR_ERR(reg); ( - { en = regulator_enable(reg); - if (en) return en; } + + en = regulator_enable(reg); + if (en) { + dev_err(dev, "Failed to enable specified supply\n"); + return en; } | + - { en = regulator_enable(reg); - if (en) return en; - volt = regulator_get_voltage(reg); } + en = regulator_enable(reg); + if (en) { + dev_err(dev, "Failed to enable specified supply\n"); + return en; + } + volt = regulator_get_voltage(reg); ) @r2@ expression arg; @@ - if (!IS_ERR(arg)) regulator_disable(arg); + regulator_disable(arg); Hand-edit the debugging prints with the supply name to become more specific. Suggested-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Eva Rachel Retuya 提交于
The name passed to devm_regulator_get() should match the name of the supply as specified in the device datasheet. This makes it clear what power supply is being referred to in case of presence of other regulators. Currently, the supply name specified on the affected devices is 'vcc'. Use lowercase version of the datasheet name to specify the supply voltage. Suggested-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
- 02 11月, 2016 7 次提交
-
-
由 Jonathan Cameron 提交于
Immutable branch to allow mfd changes to also be available in Lee's MFD tree.
-
由 Eva Rachel Retuya 提交于
Introduce defines for shifting and mask under the config register for better readability. Also, introduce helper variables for index calculation. Signed-off-by: NEva Rachel Retuya <eraretuya@gmail.com> Acked-by: NLars-Peter Clausen <lars@metafoo.de> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
in_illuminance_input_target_show(), in_illuminance_input_target_store(), in_illuminance_calibrate_store(), and in_illuminance_lux_table_store() accesses data from the tsl2583_chip struct. Some of these fields can be modified by other parts of the driver concurrently. This patch adds the mutex locking to these sysfs attributes. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
in_illuminance_input_target_store() and in_illuminance_calibrate_store() validated the data from userspace, however it would not return an error code to userspace if an invalid value was passed in. This patch changes these functions so that they return -EINVAL if invalid data is passed in. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
Use the IIO_CONST_ATTR, IIO_DEVICE_ATTR_RW, and IIO_DEVICE_ATTR_WO macros for creating the in_illuminance_calibscale_available, in_illuminance_integration_time_available, in_illuminance_input_target, in_illuminance_calibrate, and in_illuminance_lux_table sysfs entries. Previously these sysfs entries were prefixed with illuminance0_, however they are now prefixed with in_illuminance_ to make these sysfs entries consistent with how the IIO core is creating the other sysfs entries. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
The illuminance0_calibscale sysfs attribute is not currently created by the IIO core. This patch adds the appropriate mask to iio_chan_spec, along with the appropriate data handling in the read_raw() and write_raw() functions, so that the sysfs attribute is created by the IIO core. With this change, this sysfs entry will have its prefix changed from illuminance0_ to in_illuminance_. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-
由 Brian Masney 提交于
The tsl2583 driver directly creates sysfs attributes that should instead be created by the IIO core on behalf of the driver. This patch adds the iio_chan_spec array, the relevant info_mask elements and the read_raw() and write_raw() functions to take advantage of features provided by the IIO core. These sysfs attributes were migrated with this patch: illuminance0_input, illuminance0_calibbias, illuminance0_integration_time. This also exposes the raw values read from the two channels on the sensor. With this change, these four sysfs entries have their prefix changed from illuminance0_ to in_illuminance_. This is deemed to be acceptable since none of the IIO light drivers in mainline use the illuminance0_ prefix, however 8 of the IIO light drivers in mainline use the in_illuminance_ prefix. Also fix the units of integration_time to meet with the ABI. Signed-off-by: NBrian Masney <masneyb@onstation.org> Signed-off-by: NJonathan Cameron <jic23@kernel.org>
-