aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc
AgeCommit message (Collapse)AuthorFilesLines
2018-03-28Merge branch 'fixes' into nextMichael Ellerman1-0/+27
Merge our fixes branch from the 4.16 cycle. There were a number of important fixes merged, in particular some Power9 workarounds that we want in next for testing purposes. There's also been some conflicting changes in the CPU features code which are best merged and tested before going upstream.
2018-03-28Merge 4.16-rc7 into char-misc-nextGreg Kroah-Hartman1-0/+27
We want the hyperv fix in here for merging and testing. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-27GenWQE: Fix a typo in two commentsMarkus Elfring1-2/+2
Add a missing character in two words of these descriptions. Signed-off-by: Markus Elfring <[email protected]> Acked-by: Frank Haverkamp <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2018-03-26misc: Remove Blackfin DSP echo supportAaron Wu2-123/+0
Remove Blackfin DSP echo support Signed-off-by: Aaron Wu <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]>
2018-03-23eeprom: at24: use SPDX identifier instead of GPL boiler-plateBartosz Golaszewski1-5/+2
Replace the GPL (or later) header with the SPDX identifier for GPL-2.0+. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: simplify the i2c functionality checkingBartosz Golaszewski1-5/+7
Save one call and make code prettier by checking the i2c functionality in the beginning of at24_probe(), saving the relevant values and reusing them later. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: fix a line breakBartosz Golaszewski1-2/+2
Align the broken line with the opening parenthesis to stay consistent with the rest of the driver code. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: tweak newlinesBartosz Golaszewski1-1/+1
Remove the newline between the nvmem registration and its return value check. This is consistent with the rest of the driver code. Add a missing newline between two pdata checks to stay consistent with all the others. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: refactor at24_probe()Bartosz Golaszewski1-16/+18
The code in at24_probe() is pretty mangled. It can be cleaned up a bit by doing things one by one. Let's group the code by logic: parse and verify pdata, initialize the regmap, allocate and fill the fields of at24_data, allocate dummy i2c devices, initialize pm & register with nvmem. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: remove at24_platform_data from at24_dataBartosz Golaszewski1-9/+13
Not all fields from at24_platform_data are needed in at24_data. Let's keep just the ones we need and not carry the whole platform_data structure all the time. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: move platform data processing into a separate routineBartosz Golaszewski1-30/+40
This driver can receive its device data from different sources depending on the system. Move the entire code processing platform data, device tree and acpi into a separate function. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: switch to using probe_new() from the i2c frameworkBartosz Golaszewski1-2/+5
Use the new probe() style for i2c drivers. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: provide and use at24_base_client_dev()Bartosz Golaszewski1-2/+7
Use a helper function for accessing the device struct of the base i2c client. This routine is named in a way that reflects its purpose unlike the previously hand-coded dereferencing. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: readability tweak in at24_probe()Bartosz Golaszewski1-2/+3
Use a helper variable for the size we want to allocate with devm_kzalloc() and save an ugly line break. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: use a helper variable for devBartosz Golaszewski1-25/+23
We use the &client->dev construct all over in at24_probe(). Use a helper variable which is more readable and allows to avoid a couple unnecessary line breaks. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: rename chip to pdata in at24_probe()Bartosz Golaszewski1-21/+21
Reflect the purpose of this variable: it contains platform data so name it such. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: rename at24_get_pdata()Bartosz Golaszewski1-2/+3
As preparation for at24_probe() refactoring: rename at24_get_pdata() to at24_properties_to_pdata(). We're doing it because we'll move the pdata parsing code into a separate function which will be called at24_get_pdata(). Current routine with that name actually parses the device properties so change its name to reflect its purpose. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: don't check if byte_len is a power of 2Bartosz Golaszewski1-3/+0
We support certain models the size of which is not a power of 2. This is not a reason to emit a warning. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: make struct initialization uniform in at24_probe()Bartosz Golaszewski1-1/+1
When zeroing structs, use "{ }" everywhere. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: drop redundant variable in at24_write()Bartosz Golaszewski1-8/+6
We can reuse ret instead of defining a loop-local status variable. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: drop redundant variable in at24_read()Bartosz Golaszewski1-8/+6
We can reuse ret instead of defining a loop-local status variable. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: remove code separatorsBartosz Golaszewski1-4/+0
These are just two left-overs from times when this driver was bigger. They are not really useful anymore. Remove them. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: arrange local variablesBartosz Golaszewski1-10/+16
Arrange declarations of local variables by line length as visually it's easier to read. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: remove nvmem_config from at24_dataBartosz Golaszewski1-16/+16
This structure only needs to exist during the call to nvmem_register(). Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at24: disable regmap lockingBartosz Golaszewski1-0/+1
We use our own mutex for locking. Disable the regmap-specific locking. Signed-off-by: Bartosz Golaszewski <[email protected]> Tested-by: Andy Shevchenko <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-23eeprom: at25: sizeof t should be sizeof(t)Devang Panchal1-1/+1
Resolved checkpatch warning "sizeof t should be sizeof(t)" issue found by checkpatch. Signed-off-by: Devang Panchal <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: aspeed-lpc-ctrl: Enable FWH and A2H bridge cyclesJoel Stanley1-2/+16
To date this driver has relied on prevous state from out of tree hacks and vendor u-boot trees in order to have the host be able to access data over the LPC bus. Now we explicitly enable the AHB to LPC bridge and FWH cycles from when the user first configures the address to map. We chose to do this then as before that time there is no way for the kernel to know where it is safe to point the LPC window. Tested-by: Lei YU <[email protected]> Reviewed-by: Andrew Jeffery <[email protected]> Signed-off-by: Joel Stanley <[email protected]> Reviewed-by: Cyril Bur <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: aspeed-lpc: Request and enable LPC clockJoel Stanley1-3/+23
The LPC device needs to ensure it's clock is enabled before it can do anything. In the past the clock was enabled and left running by u-boot, however Linux now has an upstream clock driver that disables unused clocks. Tested-by: Lei YU <[email protected]> Reviewed-by: Andrew Jeffery <[email protected]> Signed-off-by: Joel Stanley <[email protected]> Reviewed-by: Cyril Bur <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: ocxl: use put_device() instead of device_unregister()Arvind Yadav1-1/+1
if device_register() returned an error! Always use put_device() to give up the reference initialized. Signed-off-by: Arvind Yadav <[email protected]> Reviewed-by: Uwe Kleine-König <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: mic: Release reference count and memory for VOP deviceArvind Yadav1-2/+4
Never directly free @dev after calling device_register(), even if it returned an error! Always use put_device() to give up the reference initialized. Release allocated memory for vop device in vop_release_dev(). Signed-off-by: Arvind Yadav <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: rtsx: make various functions staticColin Ian King1-6/+6
The functions rts5260_get_ocpstat, rts5260_get_ocpstat2, rts5260_clear_ocpstat, rts5260_process_ocp, rts5260_init_hw and rts5260_set_aspm are local to the source and do not need to be in global scope, so make them static. Cleans up sparse warnings: symbol 'rts5260_get_ocpstat' was not declared. Should it be static? symbol 'rts5260_get_ocpstat2' was not declared. Should it be static? symbol 'rts5260_clear_ocpstat' was not declared. Should it be static? symbol 'rts5260_process_ocp' was not declared. Should it be static? symbol 'rts5260_init_hw' was not declared. Should it be static? symbol 'rts5260_set_aspm' was not declared. Should it be static? Signed-off-by: Colin Ian King <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-15misc: atmel: Remove CPU_AT32AP700X (AVR32) referenceUlf Magnusson1-1/+0
The CPU_AT32AP700X symbol symbol went away when when AVR32 was removed in commit 26202873bb51 ("avr32: remove support for AVR32 architecture") Remove the prompt from ATMEL_TCB_CLKSRC_BLOCK. The prompt condition could never be satisfied now. Discovered with the https://github.com/ulfalizer/Kconfiglib/blob/master/examples/list_undefined.py script. Signed-off-by: Ulf Magnusson <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-14mei: remove dev_err message on an unsupported ioctlColin Ian King1-1/+0
Currently the driver spams the kernel log on unsupported ioctls which is unnecessary as the ioctl returns -ENOIOCTLCMD to indicate this anyway. I suspect this was originally for debugging purposes but it really is not required so remove it. Signed-off-by: Colin Ian King <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-14mei: limit the number of queued writesAlexander Usyskin6-35/+145
Limit the number of queued writes per client. Writes above this threshold are blocked till place in the transmit queue is available. The limit is configurable via sysfs and defaults to 50. The implementation should provide blocking I/O behavior. Prior to this change one would end up in the hands of OOM. Signed-off-by: Alexander Usyskin <[email protected]> Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-14mei: make module referencing local to the bus.cTomas Winkler3-39/+34
Module reference counting is relevant only to the mei client devices. Make the implementation clean and move it to bus.c Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-14cxl: Fix timebase synchronization status on P9Christophe Lombard2-17/+12
The PSL Timebase register is updated by the PSL to maintain the timebase. On P9, the Timebase value is only provided by the CAPP as received the last time a timebase request was performed. The timebase requests are initiated through the adapter configuration or application registers. The specific sysfs entry "/sys/class/cxl/cardxx/psl_timebase_synced" is now dynamically updated according the content of the PSL Timebase register. Fixes: f24be42aab37 ("cxl: Add psl9 specific code") Signed-off-by: Christophe Lombard <[email protected]> Reviewed-by: Vaibhav Jain <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Acked-by: Frederic Barrat <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-13cxl: read PHB indications from the device treePhilippe Bergheaud3-7/+45
Configure the P9 XSL_DSNCTL register with PHB indications found in the device tree, or else use legacy hard-coded values. Signed-off-by: Philippe Bergheaud <[email protected]> Reviewed-by: Frederic Barrat <[email protected]> Reviewed-by: Christophe Lombard <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-13cxl: Check if PSL data-cache is available before issue flush requestVaibhav Jain3-7/+27
PSL9D doesn't have a data-cache that needs to be flushed before resetting the card. However when cxl tries to flush data-cache on such a card, it times-out as PSL_Control register never indicates flush operation complete due to missing data-cache. This is usually indicated in the kernel logs with this message: "WARNING: cache flush timed out" To fix this the patch checks PSL_Debug register CDC-Field(BIT:27) which indicates the absence of a data-cache and sets a flag 'no_data_cache' in 'struct cxl_native' to indicate this. When cxl_data_cache_flush() is called it checks the flag and if set bails out early without requesting a data-cache flush operation to the PSL. Signed-off-by: Vaibhav Jain <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Acked-by: Frederic Barrat <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-13cxl: Remove function write_timebase_ctrl_psl9() for PSL9Vaibhav Jain1-8/+2
For PSL9 the contents of PSL_TB_CTLSTAT register have changed in PSL9 and all of the register is now readonly. Hence we don't need an sl_ops implementation for 'write_timebase_ctrl' for to populate this register for PSL9. Hence this patch removes function write_timebase_ctrl_psl9() and its references from the code. Signed-off-by: Vaibhav Jain <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Acked-by: Frederic Barrat <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-13cxl: Enable NORST bit in PSL_DEBUG register for PSL9Vaibhav Jain1-2/+6
We enable the NORST bit by default for debug afu images to prevent reset of AFU trace-data on a PCI link drop. For production AFU images this bit is always ignored and PSL gets reconfigured anyways thereby resetting the trace data. So setting this bit for non-debug images doesn't have any impact. Signed-off-by: Vaibhav Jain <[email protected]> Reviewed-by: Christophe Lombard <[email protected]> Acked-by: Frederic Barrat <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-09Merge tag 'powerpc-4.16-5' of ↵Linus Torvalds1-0/+27
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: "One notable fix to properly advertise our support for a new firmware feature, caused by two series conflicting semantically but not textually. There's a new ioctl for the new ocxl driver, which is not a fix, but needed to complete the userspace API and good to have before the driver is in a released kernel. Finally three minor selftest fixes, and a fix for intermittent build failures for some obscure platforms, caused by a missing make dependency. Thanks to: Alastair D'Silva, Bharata B Rao, Guenter Roeck" * tag 'powerpc-4.16-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/pseries: Fix vector5 in ibm architecture vector table ocxl: Document the OCXL_IOCTL_GET_METADATA IOCTL ocxl: Add get_metadata IOCTL to share OCXL information to userspace selftests/powerpc: Skip the subpage_prot tests if the syscall is unavailable selftests/powerpc: Fix missing clean of pmu/lib.o powerpc/boot: Fix random libfdt related build errors selftests/powerpc: Skip tm-trap if transactional memory is not enabled
2018-03-06lkdtm: Add missing SPDX-License-Identifier lineKees Cook1-0/+1
The refcount.c file missed the mass-addition of the SPDX lines. Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-06lkdtm: Relocate code to subdirectoryKees Cook10-19/+21
The LKDTM modules keep expanding, and it's getting weird to have each file get a prefix. Instead, move to a subdirectory for cleaner handling. Signed-off-by: Kees Cook <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-03-02ocxl: Add get_metadata IOCTL to share OCXL information to userspaceAlastair D'Silva1-0/+27
Some required information is not exposed to userspace currently (eg. the PASID), pass this information back, along with other information which is currently communicated via sysfs, which saves some parsing effort in userspace. Signed-off-by: Alastair D'Silva <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Acked-by: Frederic Barrat <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-03-01misc: rtsx: rename SG_END macroArnd Bergmann1-2/+2
A change to the generic scatterlist code caused a conflict with the rtsx card reader driver: In file included from drivers/misc/cardreader/rtsx_pcr.c:32: include/linux/rtsx_pci.h:40: error: "SG_END" redefined [-Werror] This changes one instance of the driver to prefix SG_END and related constants. Fixes: 723fbf563a6a ("lib/scatterlist: Add SG_CHAIN and SG_END macros for LSB encodings") Cc: Anshuman Khandual <[email protected]> Signed-off-by: Arnd Bergmann <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
2018-02-24Merge tag 'powerpc-4.16-4' of ↵Linus Torvalds1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: - Add handling for a missing instruction in our 32-bit BPF JIT so that it can be used for seccomp filtering. - Add a missing NULL pointer check before a function call in new EEH code. - Fix an error path in the new ocxl driver to correctly return EFAULT. - The support for the new ibm,drc-info device tree property turns out to need several fixes, so for now we just stop advertising to firmware that we support it until the bugs can be ironed out. - One fix for the new drmem code which was incorrectly modifying the device tree in place. - Finally two fixes for the RFI flush support, so that firmware can advertise to us that it should be disabled entirely so as not to affect performance. Thanks to: Bharata B Rao, Frederic Barrat, Juan J. Alvarez, Mark Lord, Michael Bringmann. * tag 'powerpc-4.16-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/powernv: Support firmware disable of RFI flush powerpc/pseries: Support firmware disable of RFI flush powerpc/mm/drmem: Fix unexpected flag value in ibm,dynamic-memory-v2 powerpc/bpf/jit: Fix 32-bit JIT for seccomp_data access powerpc/pseries: Revert support for ibm,drc-info devtree property powerpc/pseries: Fix duplicate firmware feature for DRC_INFO ocxl: Fix potential bad errno on irq allocation powerpc/eeh: Fix crashes in eeh_report_resume()
2018-02-22Merge tag 'char-misc-4.16-rc3' of ↵Linus Torvalds4-6/+16
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver fixes from Greg KH: "Here are a handful of char/misc driver fixes for 4.16-rc3. There are some binder driver fixes to resolve reported issues in stress testing the recent binder changes, some extcon driver fixes, and a few mei driver fixes and new device ids. All of these, with the exception of the mei driver id additions, have been in linux-next for a while. I forgot to push out the mei driver id additions to kernel.org until today, but all build tests pass with them enabled" * tag 'char-misc-4.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: mei: me: add cannon point device ids for 4th device mei: me: add cannon point device ids mei: set device client to the disconnected state upon suspend. ANDROID: binder: synchronize_rcu() when using POLLFREE. binder: replace "%p" with "%pK" ANDROID: binder: remove WARN() for redundant txn error binder: check for binder_thread allocation failure in binder_poll() extcon: int3496: process id-pin first so that we start with the right status Revert "extcon: axp288: Redo charger type detection a couple of seconds after probe()" extcon: axp288: Constify the axp288_pwr_up_down_info array
2018-02-21ocxl: Fix potential bad errno on irq allocationFrederic Barrat1-2/+4
Fix some issues found by a static checker: When allocating an AFU interrupt, if the driver cannot copy the output parameters to userland, the errno value was not set to EFAULT Remove a (now) useless cast. Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Frederic Barrat <[email protected]> Acked-by: Andrew Donnellan <[email protected]> Signed-off-by: Michael Ellerman <[email protected]>
2018-02-20mei: me: add cannon point device ids for 4th deviceTomas Winkler2-0/+4
Add cannon point device ids for 4th (itouch) device. Cc: <[email protected]> 4.14+ Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-02-20mei: me: add cannon point device idsAlexander Usyskin2-0/+6
Add CNP LP and CNP H device ids for cannon lake and coffee lake platforms. Cc: <[email protected]> 4.14+ Signed-off-by: Alexander Usyskin <[email protected]> Signed-off-by: Tomas Winkler <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>