Just some cleaning up when the input devices are unregistered.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Removes duplicated code.
The only difference is that we now need to stop and start the attached hid
device, but this is a small cost.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
If wireless_work() wants to reuse parse_and_register(), we need to have
it declared after this function.
No functional changes.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Simplifies the .probe() and will allow to reuse this path in the future.
Few things are reshuffled in .probe():
- init wacom struct earlier
- then retrieve the report descriptor
- then parse it and allocate/register inputs.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Allow to reuse the code in a later series and simplifies
the reading of wacom_intuos_inout().
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Acked-by: Ping Cheng <pingc@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
INTUOSHT2 in range event is not used to indicate in proximity state.
INTUOSHT2 only has one stylus.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
stylus_in_proximity was introduced to support touch arbitration
before in range was supported. With in range event, the logic
changed. stylus_in_proximity should be set for both in prox and
in range events.
To finish a clean touch arbitration logic, we should send touch
up (if it was down) before posting any general pen events.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Move general events related data validation to wacom_intuos_general.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Move wacom_intuos_schedule_prox_event inside wacom_intuos_general
so we don't call it when general event data isn't ready.
Signed-off-by: Ping Cheng <pingc@wacom.com>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Pull HID updates from Jiri Kosina:
- appoint Benjamin Tissoires as co-maintainer / designated reviewer
- sysfs report_descriptor visibility fix for unclaimed devices, from
Andy Lutomirski
- suspend/resume fixes for Sony driver from Frank Praznik
- IRQ deadlock fix from Ioan-Adrian Ratiu
- hid-i2c fixes affecting (at least) Yoga 900 from Mika Westerberg and
Srinivas Pandruvada
- a lot of new device support (especially, but not limited to, Wacom)
and assorted small misc fixes
- almost complete G920 support; the only bit that is missing is
switching the device to HID mode automatically; Simon Wood and Michal
Maly are working on it.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (46 commits)
Revert "INPUT: xpad: switch Logitech G920 Wheel into HID mode"
HID: sensor-hub: Add quirk for Lenovo Yoga 900 with ITE Chips
HID: Add new PID for Microchip Pick16F1454
HID: wacom: Use correct report to query pen ID from INTUOSHT2 devices
HID: i2c-hid: Prevent sending reports from racing with device reset
HID: use kobj_to_dev()
HID: wiimote: use dev_to_wii()
HID: add a new helper to_hid_driver()
HID: use to_hid_device()
HID: move to_hid_device() to hid.h
HID: usbhid: use to_usb_device
HID: corsair: Convert to use module_hid_driver
HID: input: ignore the battery in OKLICK Laser BTmouse
HID: wacom: Fix pad button range for CINTIQ_COMPANION_2
HID: wacom: Fix touchring value reporting
HID: wacom: Report 'strip2' values in ABS_RY
HID: wacom: Limit touchstrip data to 13 bits
HID: wacom: bitwise vs logical ORs
HID: wacom: Apply lowres quirk to BAMBOO_TOUCH devices
HID: enable hid device to suspend/resume asynchronously
...
Highlights include:
Stable fixes:
- Fix a regression in the SunRPC socket polling code
- Fix the attribute cache revalidation code
- Fix race in __update_open_stateid()
- Fix an lo->plh_block_lgets imbalance in layoutreturn
- Fix an Oopsable typo in ff_mirror_match_fh()
Features:
- pNFS layout recall performance improvements.
- pNFS/flexfiles: Support server-supplied layoutstats sampling period
Bugfixes + cleanups:
- NFSv4: Don't perform cached access checks before we've OPENed the file
- Fix starvation issues with background flushes
- Reclaim writes should be flushed as unstable writes if there are already
entries in the commit lists
- Various bugfixes from Chuck to fix NFS/RDMA send queue ordering problems
- Ensure that we propagate fatal layoutget errors back to the application
- Fixes for sundry flexfiles layoutstats bugs
- Fix files/flexfiles to not cache invalidated layouts in the DS commit buckets
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWmAvPAAoJEGcL54qWCgDysScP/jnaRdQO+VTXTMtKcPiR7ujd
LBcx3lrI1jsLYjlrBguTh9ROGt0maX1TAu/rsLuo4j/0wQC6dsQw+vFjfkI4CzSn
4htK0f4hNjA29iOAjMaziAzsQW9eJ97Nn0HU4XD43OeK7PGh5e93Xk26Va4cO18P
PqSam+FJoXpUSEWOzNzDwjTZTt4Voo3yJDqDTa8dU0x8c1qBktslo2n0WCntBxMn
IbEDdBEIaUZmYCNhu2Sq1SLwYPatLg1Orfq3quMFJjzEeUbd0lVQno4C1fjjuACt
DNXUgZDH0uR3U3naMXrdkqQ02GHEY9G0CO4a6q0Evsbm15wQuY6GMioxR0+ll7rX
TeZGBUMq3cRFDR+/m1gTBZFjo7BUPE9LKXUazINVaoaJMYqpFunhI8V31ghx8/z8
0kiracIEPXaIGmQ5S151+IDETpw9nntipCzdnduVefB2EAfXPeDzF7uFQPm+mvgx
R4YuAFrlbcIZ/lZRYy5z6Fj3KLnytSOjzgXC5daxPQVt92QumQTQ6HC5jL25zVKb
KOeSWHrFel7M+miL96ERvcS2vi+IDzPH9YbE9YTWbLW9LMBOYQKsukf1aaV9CwC4
9OiNMYGQIGtmjbzIOlRcpVTAsXj+P6UVuwCfGTpQOm1Qa1fDbU+xSLkc62gg3WRa
3E/3RMr1iXD8u1Kiz8hb
=RBmi
-----END PGP SIGNATURE-----
Merge tag 'nfs-for-4.5-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
Pull NFS client updates from Trond Myklebust:
"Highlights include:
Stable fixes:
- Fix a regression in the SunRPC socket polling code
- Fix the attribute cache revalidation code
- Fix race in __update_open_stateid()
- Fix an lo->plh_block_lgets imbalance in layoutreturn
- Fix an Oopsable typo in ff_mirror_match_fh()
Features:
- pNFS layout recall performance improvements.
- pNFS/flexfiles: Support server-supplied layoutstats sampling period
Bugfixes + cleanups:
- NFSv4: Don't perform cached access checks before we've OPENed the
file
- Fix starvation issues with background flushes
- Reclaim writes should be flushed as unstable writes if there are
already entries in the commit lists
- Various bugfixes from Chuck to fix NFS/RDMA send queue ordering
problems
- Ensure that we propagate fatal layoutget errors back to the
application
- Fixes for sundry flexfiles layoutstats bugs
- Fix files/flexfiles to not cache invalidated layouts in the DS
commit buckets"
* tag 'nfs-for-4.5-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (68 commits)
NFS: Fix a compile warning about unused variable in nfs_generic_pg_pgios()
NFSv4: Fix a compile warning about no prototype for nfs4_ioctl()
NFS: Use wait_on_atomic_t() for unlock after readahead
SUNRPC: Fixup socket wait for memory
NFSv4.1/pNFS: Cleanup constify struct pnfs_layout_range arguments
NFSv4.1/pnfs: Cleanup copying of pnfs_layout_range structures
NFSv4.1/pNFS: Cleanup pnfs_mark_matching_lsegs_invalid()
NFSv4.1/pNFS: Fix a race in initiate_file_draining()
NFSv4.1/pNFS: pnfs_error_mark_layout_for_return() must always return layout
NFSv4.1/pNFS: pnfs_mark_matching_lsegs_return() should set the iomode
NFSv4.1/pNFS: Use nfs4_stateid_copy for copying stateids
NFSv4.1/pNFS: Don't pass stateids by value to pnfs_send_layoutreturn()
NFS: Relax requirements in nfs_flush_incompatible
NFSv4.1/pNFS: Don't queue up a new commit if the layout segment is invalid
NFS: Allow multiple commit requests in flight per file
NFS/pNFS: Fix up pNFS write reschedule layering violations and bugs
SUNRPC: Fix a missing break in rpc_anyaddr()
pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh()
NFS: Fix attribute cache revalidation
NFS: Ensure we revalidate attributes before using execute_ok()
...
Pull vfs fix from Al Viro:
"Don't put symlink bodies in pagecache into highmem"
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
Make sure that highmem pages are not added to symlink page cache
inode_nohighmem() is sufficient to make sure that page_get_link()
won't try to allocate a highmem page. Moreover, it is sufficient
to make sure that page_symlink/__page_symlink won't do the same
thing. However, any filesystem that manually preseeds the symlink's
page cache upon symlink(2) needs to make sure that the page it
inserts there won't be a highmem one.
Fortunately, only nfs and shmem have run afoul of that...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Pull x86 fixes from Ingo Molnar:
"Misc changes:
- fix lguest bug
- fix /proc/meminfo output on certain configs
- fix pvclock bug
- fix reboot on certain iMacs by adding new reboot quirk
- fix bootup crash
- fix FPU boot line option parsing
- add more x86 self-tests
- small cleanups, documentation improvements, etc"
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
x86/cpu/amd: Remove an unneeded condition in srat_detect_node()
x86/vdso/pvclock: Protect STABLE check with the seqcount
x86/mm: Improve switch_mm() barrier comments
selftests/x86: Test __kernel_sigreturn and __kernel_rt_sigreturn
x86/reboot/quirks: Add iMac10,1 to pci_reboot_dmi_table[]
lguest: Map switcher text R/O
x86/boot: Hide local labels in verify_cpu()
x86/fpu: Disable AVX when eagerfpu is off
x86/fpu: Disable MPX when eagerfpu is off
x86/fpu: Disable XGETBV1 when no XSAVE
x86/fpu: Fix early FPU command-line parsing
x86/mm: Use PAGE_ALIGNED instead of IS_ALIGNED
selftests/x86: Disable the ldt_gdt_64 test for now
x86/mm/pat: Make split_page_count() check for empty levels to fix /proc/meminfo output
x86/boot: Double BOOT_HEAP_SIZE to 64KB
x86/mm: Add barriers and document switch_mm()-vs-flush synchronization
Pull perf fixes from Ingo Molnar:
"Tooling fixes, the biggest patch is one that decouples the kernel's
list.h from tooling list.h"
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
perf tools: Fallback to srcdir/Documentation/tips.txt
perf ui/tui: Print helpline message as is
perf tools: Set and pass DOCDIR to builtin-report.c
perf tools: Add file_only config option to strlist
perf tools: Add more usage tips
perf record: Add --buildid-all option
tools subcmd: Add missing NORETURN define for parse-options.h
tools: Fix formatting of the "make -C tools" help message
tools: Make list.h self-sufficient
perf tools: Fix mmap2 event allocation in synthesize code
perf stat: Fix recort_usage typo
perf test: Reset err after using it hold errcode in hist testcases
perf test: Fix false TEST_OK result for 'perf test hist'
tools build: Add BPF feature check to test-all
perf bpf: Fix build breakage due to libbpf
tools: Move Makefile.arch from perf/config to tools/scripts
perf tools: Fix PowerPC native building
perf tools: Fix phony build target for build-test
perf tools: Add -lutil in python lib list for broken python-config
perf tools: Add missing sources to perf's MANIFEST
...
Pull i2c updates from Wolfram Sang:
"Quite some driver updates:
- piix4 can now handle multiplexed adapters
- brcmstb, xlr, eg20t, designware drivers support more SoCs
- emev2 gained i2c slave support
- img-scb and rcar got bigger refactoring to remove issues
- lots of common driver updates
i2c core changes:
- new quirk flag when an adapter does not support clock stretching,
so clients can be configured to avoid that if possible
- added a helper function to retrieve timing parameters from firmware
(with rcar being the first user)
- "multi-master" DT binding added so drivers can adapt to this
setting (like disabling PM to keep arbitration working)
- RuntimePM for the logical adapter device is now always enabled by
the core to ensure propagation from childs to the parent (the HW
device)
- new macro builtin_i2c_driver to reduce boilerplate"
* 'i2c/for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (70 commits)
i2c: create builtin_i2c_driver to avoid registration boilerplate
i2c: imx: fix i2c resource leak with dma transfer
dt-bindings: i2c: eeprom: add another EEPROM device
dt-bindings: move I2C eeprom descriptions to the proper file
i2c: designware: Do not require clock when SSCN and FFCN are provided
DT: i2c: trivial-devices: Add Epson RX8010 and MPL3115
i2c: s3c2410: remove superfluous runtime PM calls
i2c: always enable RuntimePM for the adapter device
i2c: designware: retry transfer on transient failure
i2c: ibm_iic: rename i2c_timings struct due to clash with generic version
i2c: designware: Add support for AMD Seattle I2C
i2c: imx: Remove unneeded comments
i2c: st: use to_platform_device()
i2c: designware: use to_pci_dev()
i2c: brcmstb: Adding support for CM and DSL SoCs
i2c: mediatek: fix i2c multi transfer issue in high speed mode
i2c: imx: improve code readability
i2c: imx: Improve message log when DMA is not used
i2c: imx: add runtime pm support to improve the performance
i2c: imx: init bus recovery info before adding i2c adapter
...
- Rework and export the changeset API to make it available to users
other than DT overlays
- ARM secure devices binding
- OCTEON USB binding
- Clean-up of various SRAM binding docs
- Various other binding doc updates
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWltcqAAoJEPr7XbWNvGHDDYQP/RbA05cU+CsDpknLS8LgJvpP
BfIT78AeBX38V4vWzl7lGU7cZAEhZG2oljNgPflKZ60g1XCFg6jDjHvt1oU9H+ri
I2I6p5r0k4dXc37X7xYtg02RpGsIpFzyRbM5gRtkwe+TZhFIjsZQazLNIrL6oU8y
0ZNDCheEUMq5oDadYraEWctfp3vNgSAzXlJ4I0IrXwb5hYBtBdAXKw5S3OPYl/m9
lcvoMjw8i8KY97frElZ3DTjjOd11ZTA3L6kwmTdlgmRqUZAMTXVZJiwk787YLGpd
6qjfOURa5/aefltXSS+SG3N6v9AeBgssRYtXy6s09/adqqv6ygSqgGPmxwxSgZOT
gVqZ/ARhlvDlYIqPr6IfLhRLPZQ36GbPZOksMpZH0emQicu5+Uht+bYFFugDgs9f
Zmwa59fmRIBvg10H6+SvaCSXKk3gRtovAdLOLO9HInarmCL7G1VfU1d8O/2fkPQY
drHh/yS7fP91/DvxhN8Z2AKAURqv+BVZhmwGe36+Zucaph3yI8EAQSiypuGvxdHo
e7U08hm1G1kmII38y+RyjqqXQFiXCLZ19QEcTTb1sPIwNfkuCc1rft0bGypqfIjw
KK98TyG7eBAuf53zW8xRojGeYyku/w2GRsrGWdJrgVqghsy4INbBXkzLXDj14i7O
BiPisfrIyAqViqWGI6eJ
=LW4w
-----END PGP SIGNATURE-----
Merge tag 'devicetree-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull DeviceTree updates from Rob Herring:
- Rework and export the changeset API to make it available to users
other than DT overlays
- ARM secure devices binding
- OCTEON USB binding
- Clean-up of various SRAM binding docs
- Various other binding doc updates
* tag 'devicetree-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (21 commits)
drivers/of: Export OF changeset functions
Fix documentation for adp1653 DT
ARM: psci: Fix indentation in DT bindings
of/platform: export of_default_bus_match_table
of/unittest: Show broken behaviour in the platform bus
of: fix declaration of of_io_request_and_map
of/address: replace printk(KERN_ERR ...) with pr_err(...)
of/irq: optimize device node matching loop in of_irq_init()
dt-bindings: tda998x: Document the required 'port' node.
net/macb: bindings doc: Merge cdns-emac to macb
dt-bindings: Misc fix for the ATH79 DDR controllers
dt-bindings: Misc fix for the ATH79 MISC interrupt controllers
Documentation: dt: Add bindings for Secure-only devices
dt-bindings: ARM: add arm,cortex-a72 compatible string
ASoC: Atmel: ClassD: add GCK's parent clock in DT binding
DT: add Olimex to vendor prefixes
Documentation: fsl-quadspi: Add fsl,ls1021-qspi compatible string
Documentation/devicetree: document OCTEON USB bindings
usb: misc: usb3503: Describe better how to bind clock to the hub
dt-bindings: Consolidate SRAM bindings from all vendors
...
* uncouple CONFIG_POWER_RESET from CONFIG_POWER_SUPPLY
* misc. fixes
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCgAGBQJWlubEAAoJENju1/PIO/qaMzUP/0NNd50liWeuZucqZdJ+YJZB
mvjsozTkEYO9n0k55XMLkh2/FRbhDLVkDomprKzdkoksTihKgjxqtY3aVpL1zjpY
cEwDlbip3kfTcrJ4xhFzdWgZvxY3tuxUfWx5zqwb/YysXyJ1AFHaJlEmnY241NwO
3nWUDfVKsOflzPQWmVV1wXBUwd+WWhjkEy3KQWpKG4lR7Xjc26KL7/jxtjouQqiP
gTN1cNu02clmZRnZbyizNyvmAVqSckFQ/SXQhaFDH52jgA4okbc3I6TV02JlNZ3T
UlGkmtx0le7LO3t5x/u6VCVZvvxKuvYHxwRU/hiyQaveGO7yu6HtaBD/FUsY8/fs
+rMqAbpPI7zYQZMse9blAdNQk7iGEqb8hHRWFUZqE8ye8qeqrAiS80uyuWUaztjf
QCq5IDMHEGboMdsuiv4uHBf2OjTAeS2lXqaFogUxlMgzgoOaleICyI2LdQ5I1Qyn
NFkWomPdVmnvTkdIPr61170zOGREQR8Cg7pbw74OBCu3q+1VNZiMd0/+BRm8Po4m
vP1/RIL3quaDzpziDUvnieacvEzQeiArFHk0GilxL11h1ToA8rSvaWSdznO6JLIW
JR5gWEJmLRb8daiaD/jr2+sTamkYKVA9Xyi1gpc57ISa8gpkL56Pu0zxsfQxDI08
HmgU+neqvuIwsx5MAEUp
=8+p9
-----END PGP SIGNATURE-----
Merge tag 'for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply
Pull power supply and reset updates from Sebastian Reichel:
"I have mostly fixes in the power-supply tree for the 4.5 kernel. I
should mention, that the top-most commit has not been in next, but
it's a fix changing only a single register offset.
Summary:
- uncouple CONFIG_POWER_RESET from CONFIG_POWER_SUPPLY
- misc fixes"
* tag 'for-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
power: bq27xxx_battery: Fix bq27541 AveragePower register address
power: test_power: correctly handle empty writes
power: generic-adc-battery: use to_delayed_work
power: isp1704_charger: Fix isp1704_write() definition
power: bq27xxx: fix register numbers of bq27500
power: bq27xxx: fix reading for bq27000 and bq27010
power: Fix unmet dependency on POWER_SUPPLY by POWER_RESET by uncoupling them
power: bq27xxx_battery: Reorganize I2C into a module
power: bq27xxx: don't fill system log by missing battery
power: max8903_charger: set IRQF_ONESHOT if no primary handler is specified
power/reset: at91-reset: add missing of_node_put
power: ds2782_battery: constify ds278x_battery_ops structure
power: bq2415x_charger: Delete unnecessary checks before the function call "of_node_put"
Originally we calculated ht_nodeid as "ht_nodeid = apicid -
boot_cpu_id;" so presumably it could be negative.
But after commit:
01aaea1afb ('x86: introduce initial apicid')
we use c->initial_apicid which is an unsigned short and thus always >= 0.
It causes a static checker warning to test for impossible
conditions so let's remove it.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@amd.com>
Cc: Borislav Petkov <bp@suse.de>
Cc: Hector Marco-Gisbert <hecmargi@upv.es>
Cc: Huang Rui <ray.huang@amd.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Yinghai Lu <yhlu.kernel@gmail.com>
Link: http://lkml.kernel.org/r/20160113123940.GE19993@mwanda
Signed-off-by: Ingo Molnar <mingo@kernel.org>
WARNING: Possible unnecessary 'out of memory' message
+ if (!davinci_vc) {
+ dev_dbg(&pdev->dev,
total: 0 errors, 1 warnings, 154 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
ERROR: space prohibited before that ',' (ctx:WxW)
+ da9052_free_irq(da9052, DA9052_IRQ_ADC_EOM , da9052);
total: 1 errors, 0 warnings, 290 lines checked
Cc: Support Opensource <support.opensource@diasemi.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
While we're at it, let's also match the MODULE_LICENSE with the header.
WARNING: please, no space before tabs
+ * ^IMike Rapoport <mike@compulab.co.il>$
WARNING: please, no space before tabs
+ * ^IEric Miao <eric.miao@marvell.com>$
WARNING: quoted string split across lines
+MODULE_AUTHOR("Eric Miao <eric.miao@marvell.com>"
+ "Mike Rapoport <mike@compulab.co.il>");
total: 0 errors, 3 warnings, 574 lines checked
Cc: Support Opensource <support.opensource@diasemi.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Comparisons should place the constant on the right side of the test
+ BUG_ON(EC_MSG_PREAMBLE_COUNT > ec_dev->din_size);
WARNING: Comparisons should place the constant on the right side of the test
+ BUG_ON(EC_MSG_PREAMBLE_COUNT > ec_dev->din_size);
total: 0 errors, 2 warnings, 731 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
ERROR: code indent should use tabs where possible
+ ^Iec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL);$
WARNING: please, no space before tabs
+ ^Iec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL);$
WARNING: please, no spaces at the start of a line
+ ^Iec_dev = devm_kzalloc(dev, sizeof(*ec_dev), GFP_KERNEL);$
total: 1 errors, 2 warnings, 366 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
ERROR: Macros with complex values should be enclosed in parentheses
+#define INIT_CDEX(_name, _rate) \
+ [ASIC3_CLOCK_##_name] = { \
+ .cdex = CLOCK_CDEX_##_name, \
+ .rate = _rate, \
+ }
WARNING: line over 80 characters
+ ASIC3_GPIO_INT_STATUS);
WARNING: void function return statements are not generally useful
+ return;
+}
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: line over 80 characters
+ asic->tmio_cnf = ioremap((ASIC3_SD_CONFIG_BASE >> asic->bus_shift) +
WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then p
r_err(... to printk(KERN_ERR ...
+ printk(KERN_ERR "kzalloc failed\n");
WARNING: Possible unnecessary 'out of memory' message
+ if (asic == NULL) {
+ printk(KERN_ERR "kzalloc failed\n");
WARNING: Missing a blank line after declarations
+ int retval = 0;
+ retval = platform_driver_probe(&asic3_device_driver, asic3_probe);
total: 1 errors, 13 warnings, 1081 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Possible unnecessary 'out of memory' message
+ if (!pdata) {
+ dev_err(&client->dev, "Failed to allocate pdata\n");
WARNING: Possible unnecessary 'out of memory' message
+ if (!as3711) {
+ dev_err(&client->dev, "Memory allocation failed\n");
WARNING: line over 80 characters
+ dev_err(&client->dev, "regmap initialization failed: %d\n", ret);
WARNING: line over 80 characters
+ /* We can reuse as3711_subdevs[], it will be copied in mfd_add_devices() */
WARNING: line over 80 characters
+ as3711_subdevs[AS3711_REGULATOR].platform_data = &pdata->regulator;
WARNING: line over 80 characters
+ as3711_subdevs[AS3711_REGULATOR].pdata_size = sizeof(pdata->regulator);
WARNING: line over 80 characters
+ as3711_subdevs[AS3711_BACKLIGHT].platform_data = &pdata->backlight;
WARNING: line over 80 characters
+ as3711_subdevs[AS3711_BACKLIGHT].pdata_size = sizeof(pdata->backlight);
total: 0 errors, 8 warnings, 236 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(5);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(1);
total: 0 errors, 4 warnings, 1407 lines checked
Cc: patches@opensource.wolfsonmicro.com
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: please, no space before tabs
+ * ^IMike Rapoport <mike@compulab.co.il>$
WARNING: please, no space before tabs
+ * ^IEric Miao <eric.miao@marvell.com>$
WARNING: please, no space before tabs
+^I.id_table ^I= adp5520_id,$
total: 0 errors, 3 warnings, 365 lines checked
Cc: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: line over 80 characters
+#define ADC_CH_IBAT_MIN (-6000) /* mA range measured by ADC for ib
t*/
WARNING: line over 80 characters
+#define ADC_CH_IBAT_MIN_V (-60) /* mV range measured by ADC for ibat*/
WARNING: suspect code indent for conditional statements (16, 20)
+ if (!strcmp(name, dev_name(gpadc->dev)))
+ return gpadc;
WARNING: suspect code indent for conditional statements (0, 16)
+if (ad_value < 0) {
+ dev_err(gpadc->dev, "GPADC raw value failed ch: %d\n",
WARNING: quoted string split across lines
+ dev_err(gpadc->dev, "GPADC to voltage conversion failed ch:"
+ " %d AD: 0x%x\n", channel, ad_value);
WARNING: Missing a blank line after declarations
+ int raw_data;
+ raw_data = ab8500_gpadc_double_read_raw(gpadc, channel,
WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+ msleep(10);
ERROR: else should follow close brace '}'
+ }
+ else
WARNING: line over 80 characters
+ delay_max = 10000; /* large range to optimise sleep mode */
WARNING: line over 80 characters
+ gpadc->cal_data[ADC_INPUT_IBAT].gain = V_gain * V2A_gain;
WARNING: line over 80 characters
+ gpadc = devm_kzalloc(&pdev->dev, sizeof(struct ab8500_gpadc), GFP_KERNEL);
WARNING: Possible unnecessary 'out of memory' message
+ if (!gpadc) {
+ dev_err(&pdev->dev, "Error: No memory\n");
WARNING: space prohibited before semicolon
+ return ;
WARNING: void function return statements are not generally useful
+ return ;
+}
WARNING: quoted string split across lines
+MODULE_AUTHOR("Arun R Murthy, Daniel Willerud, Johan Palsson,"
+ "M'boumba Cedric Madianga");
total: 1 errors, 14 warnings, 1089 lines checked
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Block comments use a trailing */ on a separate line
+ * not be accessed from here */
WARNING: Block comments use a trailing */ on a separate line
+ * not be accessed from here */
WARNING: Block comments use a trailing */ on a separate line
+ * the output is wanted in any case */
WARNING: Consecutive strings are generally better as a single string
+ " addr=0x%08X, mask=0x%X, shift=%d" "value=0x%X\n",
total: 0 errors, 4 warnings, 3331 lines checked
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Block comments use a trailing */ on a separate line
+ * */
WARNING: Block comments use a trailing */ on a separate line
+ * bank on higher 8 bits and reg in lower */
WARNING: Block comments use a trailing */ on a separate line
+ * bank on higher 8 bits and reg in lower */
WARNING: suspect code indent for conditional statements (8, 24)
+ if (unlikely(*offset == 17))
+ *offset = 24;
WARNING: suspect code indent for conditional statements (8, 24)
+ if (unlikely(*offset == 16))
+ *offset = 25;
WARNING: suspect code indent for conditional statements (8, 24)
+ if ((i == 3) && (*offset >= 24))
+ *offset += 2;
WARNING: ENOSYS means 'invalid syscall nr' and nothing else
+ return -ENOSYS;
WARNING: static const char * array should probably be static const char * const
+ static const char *switch_off_status[] = {
WARNING: static const char * array should probably be static const char * const
+ static const char *turn_on_status[] = {
total: 0 errors, 9 warnings, 1867 lines checked
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Missing a blank line after declarations
+ struct ab3100 *ab3100 = dev_get_drvdata(dev->parent);
+ if (!ab3100->startup_events_read)
WARNING: Possible unnecessary 'out of memory' message
+ if (!ab3100) {
+ dev_err(&client->dev, "could not allocate AB3100 device\n");
WARNING: else is not generally useful after a break or return
+ break;
+ } else {
total: 0 errors, 3 warnings, 996 lines checked
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
WARNING: Possible unnecessary 'out of memory' message
+ if (!aat2870) {
+ dev_err(&client->dev,
total: 0 errors, 1 warnings, 524 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Checkpatch output:
WARNING: Block comments use a trailing */ on a separate line
+ * - turn off */
WARNING: Missing a blank line after declarations
+ int ret;
+ ret = i2c_add_driver(&pm860x_driver);
total: 0 errors, 2 warnings, 1283 lines checked
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Specify the device tree binding for the input clocks to Arizona devices.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
The mfd/s2mpa01.txt duplicates some of the information about bindings
with old mfd/s2mps11.txt. Now common part exists entirely in
mfd/samsung,sec-core.txt so:
- add company prefix to file name (regulator/samsung,s2mpa01.txt),
- remove duplicated information,
- reorganize the contents to match style of
regulator/samsung,s2mps11.txt.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
The regulator/s5m8767-regulator.txt duplicates some of the information
about bindings with old mfd/s2mps11.txt. Now common part exists entirely
in mfd/samsung,sec-core.txt so:
- add company prefix to file name (regulator/samsung,s5m8767.txt),
- remove duplicated information,
- reorganize the contents to match style of
regulator/samsung,s2mps11.txt.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Mark Brown <broonie@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Bindings for Samsung S2M and S5M family PMICs are in mess. They are
spread over different files and subdirectories in a non-consistent way.
The devices and respective drivers for them share a lot in common so
everything could be organized in a more readable way.
Reorganize the S2MPS11/13/14/15 Device Tree bindings to match the
drivers for this family of devices:
- move mfd/s2mps11.txt to mfd/samsung,sec-core.txt for the main MFD
driver (common for entire family),
- split clock block to clock/samsung,s2mps11.txt,
- split regulator block to regulator/samsung,s2mps11.txt.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Acked-by: Michael Turquette <mturquette@baylibre.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
As we want gpio_chip .get() calls to be able to return negative
error codes and propagate to drivers, we need to go over all
drivers and make sure their return values are clamped to [0,1].
We do this by using the ret = !!(val) design pattern.
Cc: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>