Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase for-upstream to lastest master #1

Open
wants to merge 10,000 commits into
base: for-upstream
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
c2f6f3e
r8169: Get and enable optional ether_clk clock
jwrdegoede Sep 12, 2018
648e921
clk: x86: Stop marking clocks as CLK_IS_CRITICAL
jwrdegoede Sep 12, 2018
89bfd48
Merge branch 'r8169-clk-fixes'
davem330 Sep 18, 2018
922005c
qmi_wwan: set DTR for modems in forced USB2 mode
bmork Sep 17, 2018
db7c8f1
drm/i915/gvt: Init PHY related registers for BXT
coxuintel Sep 17, 2018
d817de3
drm/i915/gvt: Add GEN9_CLKGATE_DIS_4 to default BXT mmio handler
coxuintel Sep 14, 2018
a1ac5f0
drm/i915/gvt: request srcu_read_lock before checking if one gfn is valid
weinanl Sep 17, 2018
7759ca3
drm/i915/gvt: clear ggtt entries when destroy vgpu
Sep 17, 2018
30bfd93
net/ipv6: do not copy dst flags on rt init
Sep 17, 2018
5211da9
Merge gitolite.kernel.org:/pub/scm/linux/kernel/git/davem/net
gregkh Sep 18, 2018
4a3e85f
mtd: devices: m25p80: Make sure the buffer passed in op is DMA-able
Sep 17, 2018
d193d1a
Merge tag 'soundwire-4.19-fixes' of git://git.kernel.org/pub/scm/linu…
gregkh Sep 18, 2018
5707833
drm: fix drm_drv_uses_atomic_modeset on non modesetting drivers.
airlied Sep 18, 2018
cb5fb87
Merge tag 'kvm-s390-master-4.19-2' of git://git.kernel.org/pub/scm/li…
bonzini Sep 18, 2018
1795f81
Merge tag 'kvm-ppc-fixes-4.19-2' of git://git.kernel.org/pub/scm/linu…
bonzini Sep 18, 2018
6d41907
tools lib bpf: Provide wrapper for strerror_r to build in !_GNU_SOURC…
acmel Sep 14, 2018
169e366
perf Documentation: Fix out-of-tree asciidoctor man page generation
bwhacks Sep 16, 2018
e0bf2d4
serial: mvebu-uart: Fix reporting of effective CSIZE to userspace
jan-kiszka Aug 26, 2018
3216c62
tty: serial: lpuart: avoid leaking struct tty_struct
agners Aug 28, 2018
be28c1e
serial: cpm_uart: return immediately from console poll
chleroy Sep 14, 2018
fe32416
tty: Drop tty->count on tty_reopen() failure
0x7f454c46 Sep 17, 2018
e97267c
tty: vt_ioctl: fix potential Spectre v1
GustavoARSilva Aug 16, 2018
8801922
intel_th: Fix device removal logic
virtuoso Sep 18, 2018
ebe4582
intel_th: Fix resource handling for ACPI glue layer
virtuoso Sep 18, 2018
59d08d0
intel_th: pci: Add Ice Lake PCH support
virtuoso Sep 18, 2018
a530bf9
Merge tag 'gvt-fixes-2018-09-18' of https://github.com/intel/gvt-linu…
rodrigovivi Sep 18, 2018
753694a
x86/intel_rdt: Fix data type in parsing callbacks
xiaochenshen Sep 15, 2018
f968dc1
x86/intel_rdt: Fix size reporting of MBA resource
rchatre Sep 15, 2018
c793da8
x86/intel_rdt: Global closid helper to support future fixes
rchatre Sep 15, 2018
47d53b1
x86/intel_rdt: Fix invalid mode warning when multiple resources are m…
rchatre Sep 15, 2018
70479c0
x86/intel_rdt: Fix unchecked MSR access
rchatre Sep 15, 2018
32d736a
x86/intel_rdt: Do not allow pseudo-locking of MBA resource
rchatre Sep 15, 2018
f0df4e1
x86/intel_rdt: Fix incorrect loop end condition
rchatre Sep 15, 2018
939b90b
x86/intel_rdt: Fix exclusive mode handling of MBA resource
rchatre Sep 15, 2018
ffb2315
x86/intel_rdt: Fix incorrect loop end condition
rchatre Sep 15, 2018
008d2f4
Merge tag 'efi-urgent' of git://git.kernel.org/pub/scm/linux/kernel/g…
KAGA-KOKO Sep 18, 2018
8e2aac3
pinctrl: cannonlake: Fix gpio base for GPP-E
gh2k Sep 15, 2018
8fce333
net: stmmac: Rework coalesce timer and fix multi-queue races
joabreu Sep 17, 2018
0431100
net: stmmac: Fixup the tail addr setting in xmit path
joabreu Sep 17, 2018
87ebcff
Merge branch 'stmmac-Coalesce-and-tail-addr-fixes'
davem330 Sep 19, 2018
0a286af
selftests: pmtu: properly redirect stderr to /dev/null
qsn Sep 17, 2018
674d9de
NFC: Fix possible memory corruption when handling SHDLC I-Frame commands
surenbaghdasaryan Sep 17, 2018
e285d5b
NFC: Fix the number of pipes
surenbaghdasaryan Sep 17, 2018
08e3998
net: emac: fix fixed-link setup for the RTL8363SB switch
chunkeey Sep 17, 2018
6344244
Merge tag 'mlx5-fixes-2018-09-17' of git://git.kernel.org/pub/scm/lin…
davem330 Sep 19, 2018
65fac4f
net: bnxt: Fix a uninitialized variable warning.
xiongzhongjiang Sep 18, 2018
2fe397a
ravb: do not write 1 to reserved bits
KAZUMIZU Sep 18, 2018
648a5a7
net/smc: fix non-blocking connect problem
Sep 18, 2018
1ca52fc
net/smc: remove duplicate mutex_unlock
Sep 18, 2018
dd65d87
net/smc: enable fallback for connection abort in state INIT
Sep 18, 2018
71d117f
net/smc: no urgent data check for listen sockets
karstengr Sep 18, 2018
3818977
net/smc: fix sizeof to int comparison
Sep 18, 2018
81d0b75
Merge branch 'net-smc-fixes'
davem330 Sep 19, 2018
774268f
net: mvpp2: fix a txq_done race condition
atenart Sep 18, 2018
126d684
sfp: fix oops with ethtool -m
Sep 18, 2018
8675860
Revert "ipv6: fix double refcount of fib6_metrics"
tracywwnj Sep 18, 2018
ce7ea4a
ipv6: fix memory leak on dst->_metrics
tracywwnj Sep 18, 2018
69ba423
Merge branch 'ipv6-fix-issues-on-accessing-fib6_metrics'
davem330 Sep 19, 2018
eba2d6b
Merge tag 'platform-drivers-x86-v4.19-2' of git://git.infradead.org/l…
gregkh Sep 19, 2018
f21f7fa
Merge tag 'trace-v4.19-rc4' of git://git.kernel.org/pub/scm/linux/ker…
gregkh Sep 19, 2018
4ca719a
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git…
gregkh Sep 19, 2018
558a9ef
drm: sun4i: drop second PLL from A64 HDMI PHY
Icenowy Sep 16, 2018
571d056
x86/paravirt: Fix some warning messages
Sep 19, 2018
5d05dfd
Merge tag 'perf-urgent-for-mingo-4.19-20180918' of git://git.kernel.o…
Sep 19, 2018
336b080
MAINTAINERS: Add Borislav to the x86 maintainers
KAGA-KOKO Sep 19, 2018
70513d5
xen/x86/vpmu: Zero struct pt_regs before calling into sample handling…
Jul 12, 2018
d59f532
xen: issue warning message when out of grant maptrack entries
jgross1 Sep 19, 2018
6ad49fa
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…
gregkh Sep 19, 2018
eb9a29f
Merge tag 'hwmon-for-linus-v4.19-rc5' of git://git.kernel.org/pub/scm…
gregkh Sep 19, 2018
080220b
tools: bpf: fix license for a compat header file
Sep 18, 2018
d176620
x86/kvm/lapic: always disable MMIO interface in x2APIC mode
vittyvk Aug 2, 2018
d35b34a
kvm: mmu: Don't read PDPTEs when paging is not enabled
Aug 9, 2018
83b20b2
KVM: x86: don't reset root in kvm_mmu_setup()
RichardWeiYang Sep 7, 2018
6bd317d
kvm: selftests: use -pthread instead of -lpthread
Aug 29, 2018
9a98458
KVM/MMU: Fix comment in walk_shadow_page_lockless_end()
Sep 7, 2018
a101c9d
KVM: SVM: Switch to bitmap_zalloc()
andy-shev Aug 30, 2018
4c00812
KVM: VMX: immediately mark preemption timer expired only for zero value
Aug 27, 2018
f459a70
KVM: VMX: modify preemption timer bit only when arming timer
Aug 27, 2018
d264ee0
KVM: VMX: use preemption timer to force immediate VMExit
Aug 27, 2018
a1efa9b
x86/hyper-v: rename ipi_arg_{ex,non_ex} structures
vittyvk Aug 27, 2018
822f312
kvm: x86: make kvm_{load|put}_guest_fpu() static
Sep 12, 2018
5bea512
KVM: VMX: check nested state and CR4.VMXE against SMM
bonzini Sep 18, 2018
e6c67d8
KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in vi…
Sep 4, 2018
6de84e5
nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2
Aug 24, 2018
ba8e23d
nVMX x86: Check VPID value on vmentry of L2 guests
Sep 4, 2018
d84f1cf
KVM: x86: Turbo bits in MSR_PLATFORM_INFO
dasch-1 Aug 20, 2018
6fbbde9
KVM: x86: Control guest reads of MSR_PLATFORM_INFO
dasch-1 Aug 20, 2018
8b56ee9
kvm: selftests: Add platform_info_test
dasch-1 Aug 20, 2018
d5b3a31
Merge tag 'drm-misc-fixes-2018-09-19' of git://anongit.freedesktop.or…
airlied Sep 20, 2018
8ca4fff
Merge tag 'drm-intel-fixes-2018-09-19' of git://anongit.freedesktop.o…
airlied Sep 20, 2018
aa86b03
Merge tag 'batadv-net-for-davem-20180919' of git://git.open-mesh.org/…
davem330 Sep 20, 2018
30f3984
drm/amdgpu: add new polaris pci id
alexdeucher Sep 18, 2018
76c0ddd
ip6_tunnel: be careful when accessing the inner header
Sep 19, 2018
cf5cca6
net: mvneta: fix the Rx desc buffer DMA unmapping
atenart Sep 19, 2018
bfc8882
drm/vmwgfx: don't check for old_crtc_state enable status
deepak-rawat Sep 13, 2018
0c1b174
drm/vmwgfx: limit screen size to stdu_max during check_modeset
deepak-rawat Sep 13, 2018
140b4e6
drm/vmwgfx: limit mode size for all display unit to texture_max
deepak-rawat Sep 13, 2018
a4bd815
drm/vmwgfx: Don't impose STDU limits on framebuffer size
deepak-rawat Sep 13, 2018
e71cf59
drm/vmwgfx: Fix buffer object eviction
thomashvmw Sep 14, 2018
50fdf60
qed: Fix populating the invalid stag value in multi function mode.
Sep 20, 2018
0216da9
qed: Do not add VLAN 0 tag to untagged frames in multi-function mode.
Sep 20, 2018
7e3e375
qed: Add missing device config for RoCE EDPM in UFP mode.
Sep 20, 2018
bffd5e8
Merge branch 'qed-fixes'
davem330 Sep 20, 2018
d829208
Merge tag 'sound-4.19-rc5' of git://git.kernel.org/pub/scm/linux/kern…
gregkh Sep 20, 2018
4b92e7f
Merge tag 'mtd/fixes-for-4.19-rc5' of git://git.infradead.org/linux-mtd
gregkh Sep 20, 2018
783f3b4
usb: musb: dsps: do not disable CPPI41 irq in driver teardown
liubiin Sep 17, 2018
e871db8
Revert "usb: cdc-wdm: Fix a sleep-in-atomic-context bug in service_ou…
Sep 11, 2018
7a68d9f
USB: usbdevfs: sanitize flags more
oneukum Sep 5, 2018
81e0403
USB: usbdevfs: restore warning for nonsensical flags
oneukum Sep 5, 2018
c183813
USB: remove LPM management from usb_driver_claim_interface()
AlanStern Sep 10, 2018
bd729f9
USB: fix error handling in usb_driver_claim_interface()
AlanStern Sep 10, 2018
c9a4cb2
USB: handle NULL config in usb_find_alt_setting()
AlanStern Sep 10, 2018
5c54fca
usb: roles: Take care of driver module reference counting
Sep 19, 2018
16c4cb1
usb: core: safely deal with the dynamic quirk lists
Sep 14, 2018
3e3b819
usb: typec: mux: Take care of driver module reference counting
Sep 19, 2018
7e62098
serial: imx: restore handshaking irq for imx1
Sep 20, 2018
d124b44
Compiler Attributes: naked was fixed in gcc 4.6
ojeda Sep 18, 2018
ae596de
Compiler Attributes: naked can be shared
ojeda Sep 18, 2018
7ce5c8c
libata: mask swap internal and hardware tag
axboe Sep 20, 2018
f9d5b1d
mlxsw: spectrum: Bump required firmware version
pmachata Sep 20, 2018
56ce3c5
smc: generic netlink family should be __ro_after_init
jmberg-intel Sep 20, 2018
65eea8e
floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl
Sep 20, 2018
d611aaf
Merge branch 'nvme-4.19' of git://git.infradead.org/nvme into for-linus
axboe Sep 20, 2018
96147db
pinctrl: intel: Do pin translation in other GPIO operations as well
westeri Sep 18, 2018
caaa4c8
drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7
ascollard Sep 13, 2018
15426db
drm/amdkfd: Change the control stack MTYPE from UC to NC on GFX9
YongZhao12 Sep 13, 2018
44d8cc6
drm/amdkfd: Fix ATS capablity was not reported correctly on some APUs
YongZhao12 Sep 13, 2018
26b471c
KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs
Sep 16, 2018
8c6ec36
bnxt_en: don't try to offload VLAN 'modify' action
dcaratti Sep 19, 2018
d7ab5cd
sctp: update dst pmtu with the correct daddr
lxin Sep 20, 2018
37f31b6
ubifs: Check for name being NULL while mounting
richardweinberger Sep 3, 2018
d3bdc01
ubifs: drop false positive assertion
saschahauer Sep 12, 2018
f061c1c
Revert "ubifs: xattr: Don't operate on deleted inodes"
richardweinberger Sep 16, 2018
a8b3bb3
x86/intel_rdt: Add Reinette as co-maintainer for RDT
fyu1 Sep 20, 2018
9068a42
MAINTAINERS: Add X86 MM entry
KAGA-KOKO Sep 19, 2018
f83606f
fork: report pid exhaustion correctly
Sep 20, 2018
889c695
mm: disable deferred struct page for 32-bit arches
Sep 20, 2018
a1b3d2f
fs/proc/kcore.c: fix invalid memory access in multi-page read optimiz…
martinetd Sep 20, 2018
b45d71f
mm: shmem.c: Correctly annotate new inodes for lockdep
joelagnel Sep 20, 2018
3bf181b
kernel/sys.c: remove duplicated include
Sep 20, 2018
172b06c
mm: slowly shrink slabs with a relatively small number of objects
rgushchin Sep 20, 2018
234b69e
ocfs2: fix ocfs2 read block panic
biger410 Sep 20, 2018
05ab1d8
x86/mm: Expand static page table for fixmap space
ftang1 Sep 20, 2018
618cc15
Merge branch 'vmwgfx-fixes-4.19' of git://people.freedesktop.org/~tho…
airlied Sep 20, 2018
4fcb7f8
Merge branch 'drm-fixes-4.19' of git://people.freedesktop.org/~agd5f/…
airlied Sep 20, 2018
d87161b
scsi: ufs: Disable blk-mq for now
ahunter6 Sep 13, 2018
9e21017
scsi: lpfc: Synchronize access to remoteport via rport
jsmart-gh Sep 13, 2018
10bc6a6
r8169: fix autoneg issue on resume with RTL8168E
hkallweit Sep 20, 2018
a38fd7d
Merge tag 'drm-fixes-2018-09-21' of git://anongit.freedesktop.org/drm…
gregkh Sep 21, 2018
211b100
Merge tag 'for-linus-20180920' of git://git.kernel.dk/linux-block
gregkh Sep 21, 2018
0eba869
Merge tag 'upstream-4.19-rc4' of git://git.infradead.org/linux-ubifs
gregkh Sep 21, 2018
a27fb6d
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
gregkh Sep 21, 2018
652ef42
net: mscc: fix the frame extraction into the skb
atenart Sep 20, 2018
1816494
scsi: target: iscsi: Use hex2bin instead of a re-implementation
vpelletier Sep 9, 2018
8c39e26
scsi: target: iscsi: Use bin2hex instead of a re-implementation
vpelletier Sep 9, 2018
318ddb3
scsi: ipr: System hung while dlpar adding primary ipr adapter back
wxiong38 Sep 21, 2018
f1f1fad
scsi: sd: don't crash the host on invalid commands
Sep 21, 2018
10dc890
Merge tag 'pinctrl-v4.19-3' of git://git.kernel.org/pub/scm/linux/ker…
gregkh Sep 21, 2018
5607fff
bpf: sockmap only allow ESTABLISHED sock state
jrfastab Sep 18, 2018
b05545e
bpf: sockmap, fix transition through disconnect without close
jrfastab Sep 18, 2018
5028027
bpf: test_maps, only support ESTABLISHED socks
jrfastab Sep 18, 2018
fad0c40
Merge branch 'bpf-sockmap-estab-fixes'
borkmann Sep 22, 2018
f88b4c0
netlabel: check for IPV4MASK in addrinfo_get
Sep 20, 2018
86f9bd1
net/ipv6: Display all addresses in output of /proc/net/if_inet6
Sep 21, 2018
54be5b8
PCI: hv: Fix return value check in hv_pci_assign_slots()
Sep 21, 2018
72b4627
net: seeq: fix return type of ndo_start_xmit function
Sep 21, 2018
f3bf939
net: cirrus: fix return type of ndo_start_xmit function
Sep 21, 2018
28d304e
net: sgi: fix return type of ndo_start_xmit function
Sep 21, 2018
f0f2551
net: wiznet: fix return type of ndo_start_xmit function
Sep 21, 2018
648c361
net: i825xx: fix return type of ndo_start_xmit function
Sep 21, 2018
e6ce382
net: apple: fix return type of ndo_start_xmit function
Sep 21, 2018
83fe9a9
devlink: double free in devlink_resource_fill()
Sep 21, 2018
8ac1ee6
net/mlx4: Use cpumask_available for eq->affinity_mask
nathanchance Sep 21, 2018
b57e99b
block: use nanosecond resolution for iostat
osandov Sep 21, 2018
8360ed6
RDS: IB: Use DEFINE_PER_CPU_SHARED_ALIGNED for rds_ib_stats
nathanchance Sep 21, 2018
41c9b1b
device-dax: Add missing address_space_operations
davejiang Sep 10, 2018
474ff26
net-ethtool: ETHTOOL_GUFO did not and should not require CAP_NET_ADMIN
zenczykowski Sep 22, 2018
ea09267
Merge branch 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/l…
gregkh Sep 23, 2018
52890d2
Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…
gregkh Sep 23, 2018
328c633
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/l…
gregkh Sep 23, 2018
a83f87c
Merge tag 'for-linus-20180922' of git://git.kernel.dk/linux-block
gregkh Sep 23, 2018
18d49ec
Merge tag 'for-linus-4.19d-rc5-tag' of git://git.kernel.org/pub/scm/l…
gregkh Sep 23, 2018
d02771f
Merge tag 'mfd-fixes-4.19' of git://git.kernel.org/pub/scm/linux/kern…
gregkh Sep 23, 2018
6bf4ca7
Linux 4.19-rc5
gregkh Sep 23, 2018
16fdf8b
rds: Fix build regression.
davem330 Sep 23, 2018
ac3d9dd
netpoll: make ndo_poll_controller() optional
Sep 21, 2018
93f62ad
bonding: use netpoll_poll_dev() helper
Sep 21, 2018
b80e71a
ixgbe: remove ndo_poll_controller
Sep 21, 2018
6f5d941
ixgbevf: remove ndo_poll_controller
Sep 21, 2018
dda9d57
fm10k: remove ndo_poll_controller
Sep 21, 2018
2753166
ixgb: remove ndo_poll_controller
Sep 21, 2018
0542997
igb: remove ndo_poll_controller
Sep 21, 2018
158a08a
ice: remove ndo_poll_controller
Sep 21, 2018
1aa28fb
i40evf: remove ndo_poll_controller
Sep 21, 2018
a24b66c
mlx4: remove ndo_poll_controller
Sep 21, 2018
9c29bcd
mlx5: remove ndo_poll_controller
Sep 21, 2018
d8ea6a9
bnx2x: remove ndo_poll_controller
Sep 21, 2018
58e0e22
bnxt: remove ndo_poll_controller
Sep 21, 2018
0825ce7
nfp: remove ndo_poll_controller
Sep 21, 2018
765cdc2
tun: remove ndo_poll_controller
Sep 21, 2018
841dfa4
Merge branch 'netpoll-avoid-capture-effects-for-NAPI-drivers'
davem330 Sep 24, 2018
d26ed6b
net: aquantia: memory corruption on jumbo frames
Sep 15, 2018
02214bf
Merge tag 'media/v4.19-2' of git://git.kernel.org/pub/scm/linux/kerne…
gregkh Sep 24, 2018
d2f85c9
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
davem330 Sep 24, 2018
d8e2262
mpls: allow routes on ip6gre devices
saifhhasan Sep 21, 2018
ccfec9e
ip_tunnel: be careful when accessing the inner header
Sep 24, 2018
f4a5187
net: mvneta: fix the remaining Rx descriptor unmapping issues
atenart Sep 24, 2018
74bc2ab
iommu/rockchip: Free irqs in shutdown handler
mmind Aug 27, 2018
2dd68cc
Merge gitolite.kernel.org:/pub/scm/linux/kernel/git/davem/net
gregkh Sep 25, 2018
8c0f9f5
Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a stru…
lkundrak Sep 24, 2018
be9e659
iommu/vt-d: Handle memory shortage on pasid table allocation
LuBaolu Sep 8, 2018
fc0c814
Merge tag 'char-misc-4.19-rc6' of git://git.kernel.org/pub/scm/linux/…
gregkh Sep 25, 2018
ccf791e
Merge tag 'tty-4.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel…
gregkh Sep 25, 2018
bfb0e9b
Merge tag 'usb-4.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel…
gregkh Sep 25, 2018
846e8dd
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…
gregkh Sep 25, 2018
a385231
erge tag 'libnvdimm-fixes-4.19-rc6' of git://git.kernel.org/pub/scm/l…
gregkh Sep 25, 2018
5ebb1bc
iommu/amd: Return devid as alias for ACPI HID devices
amd-anath Sep 18, 2018
c307aaf
Merge tag 'iommu-fixes-v4.19-rc5' of git://git.kernel.org/pub/scm/lin…
gregkh Sep 26, 2018
e5a693c
Input: atmel_mxt_ts - tool type is ignored when slot is closed
ndyer Jul 20, 2018
b15c96a
Input: atmel_mxt_ts - rework sysfs init/remove
ndyer Sep 10, 2014
2dd09a3
Input: atmel_mxt_ts - only read messages in mxt_acquire_irq() when ne…
ndyer Dec 10, 2012
1953ee3
Input: atmel_mxt_ts - split large i2c transfers into blocks
ndyer Mar 10, 2016
8242b57
Input: atmel_mxt_ts - output status from T48 Noise Supression
ndyer Aug 1, 2012
65e02fb
Input: atmel_mxt_ts - output status from T42 Touch Suppression
ndyer Aug 1, 2012
8ac1692
Input: atmel_mxt_ts - implement T9 vector/orientation support
ndyer Jun 2, 2012
10f55ba
Input: atmel_mxt_ts - implement T15 Key Array support
ndyer Aug 9, 2012
82e5fd7
Input: atmel_mxt_ts - handle reports from T47 Stylus object
ndyer Dec 10, 2012
750381c
Input: atmel_mxt_ts - implement support for T107 active stylus
ndyer Nov 28, 2014
51f2118
Input: atmel_mxt_ts - add debug for T92 gesture and T93 touch seq msgs
Jan 21, 2015
40a99e9
Input: atmel_mxt_ts - release touch state during suspend
ndyer Dec 10, 2012
a4e2677
Input: atmel_mxt_ts - add regulator control support
ndyer Jan 16, 2013
fb5a770
Input: atmel_mxt_ts - report failures in suspend/resume
ndyer Mar 10, 2016
dab9eb0
Input: atmel_mxt_ts - allow specification of firmware file name
ndyer Mar 5, 2013
644ee28
Input: atmel_mxt_ts - handle cfg filename via pdata/sysfs
ndyer Mar 5, 2013
3b39a46
Input: atmel_mxt_ts - allow input name to be specified in platform data
ndyer Oct 1, 2013
8c24281
Input: atmel_mxt_ts - add config checksum attribute to sysfs
May 26, 2014
ec11036
Input: atmel_mxt_ts - check data->input_dev is not null in mxt_input_…
drxaero Sep 2, 2014
6a7b2f4
Input: atmel_mxt_ts - refactor firmware flash to extract context into…
ndyer Dec 23, 2014
e75b74f
Input: atmel_mxt_ts - refactor code to enter bootloader into separate…
ndyer Dec 23, 2014
22a6dcb
Input: atmel_mxt_ts - combine bootloader version query with probe
ndyer Dec 24, 2014
ea1958b
Input: atmel_mxt_ts - improve bootloader state machine handling
ndyer Dec 24, 2014
139ba0e
Input: atmel_mxt_ts - check firmware format before entering bootloader
ndyer Jan 6, 2015
54db9ae
Input: atmel_mxt_ts - rename bl_completion to chg_completion
ndyer Mar 19, 2015
31c827b
Input: atmel_mxt_ts - make bootloader interrupt driven
ndyer Mar 19, 2015
3de1e53
Input: atmel_mxt_ts - delay enabling IRQ when not using regulators
ndyer Apr 30, 2015
2a0162c
Input: atmel_mxt_ts - implement I2C retries
ndyer Aug 8, 2012
542b256
Input: atmel_mxt_ts - orientation is not present in hover
ndyer Jul 30, 2015
06f7221
Input: atmel_mxt_ts - implement debug output for messages
ndyer Aug 23, 2011
bac03a4
Input: atmel_mxt_ts - add memory access interface via sysfs
ndyer Aug 23, 2011
27e3b10
Input: atmel_mxt_ts - implement improved debug message interface
ndyer May 31, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Input: atmel_mxt_ts - implement improved debug message interface
Signed-off-by: Nick Dyer <nick.dyer@itdev.co.uk>
(cherry picked from ndyer/linux/for-upstream commit 078569c)
[gdavis: Resolve forward port conflicts due to v4.14.51 commit
	 960fe00 ("Input: atmel_mxt_ts - fix the firmware
	 update") and squash ADIT v3.14 commit a6a343f8139b ("Input:
	 atmel_mxt_ts - call mxt_debug_msg_remove() in error path") into
	 this commit as part of forward port rework.]
Signed-off-by: George G. Davis <george_davis@mentor.com>
ndyer authored and George G. Davis committed Sep 26, 2018
commit 27e3b10b0a504b69b0356f069575316242ad1644
186 changes: 184 additions & 2 deletions drivers/input/touchscreen/atmel_mxt_ts.c
Original file line number Diff line number Diff line change
@@ -248,6 +248,8 @@ enum t100_type {

#define MXT_PIXELS_PER_MM 20

#define DEBUG_MSG_MAX 200

struct mxt_info {
u8 family_id;
u8 variant_id;
@@ -353,6 +355,11 @@ struct mxt_data {
u8 t100_aux_vect;
struct bin_attribute mem_access_attr;
bool debug_enabled;
bool debug_v2_enabled;
u8 *debug_msg_data;
u16 debug_msg_count;
struct bin_attribute debug_msg_attr;
struct mutex debug_msg_lock;
u8 max_reportid;
u32 config_crc;
u32 info_crc;
@@ -482,6 +489,136 @@ static void mxt_dump_message(struct mxt_data *data, u8 *message)
data->T5_msg_size, message);
}

static void mxt_debug_msg_enable(struct mxt_data *data)
{
struct device *dev = &data->client->dev;

if (data->debug_v2_enabled)
return;

mutex_lock(&data->debug_msg_lock);

data->debug_msg_data = kcalloc(DEBUG_MSG_MAX,
data->T5_msg_size, GFP_KERNEL);
if (!data->debug_msg_data)
return;

data->debug_v2_enabled = true;
mutex_unlock(&data->debug_msg_lock);

dev_dbg(dev, "Enabled message output\n");
}

static void mxt_debug_msg_disable(struct mxt_data *data)
{
struct device *dev = &data->client->dev;

if (!data->debug_v2_enabled)
return;

data->debug_v2_enabled = false;

mutex_lock(&data->debug_msg_lock);
kfree(data->debug_msg_data);
data->debug_msg_data = NULL;
data->debug_msg_count = 0;
mutex_unlock(&data->debug_msg_lock);
dev_dbg(dev, "Disabled message output\n");
}

static void mxt_debug_msg_add(struct mxt_data *data, u8 *msg)
{
struct device *dev = &data->client->dev;

mutex_lock(&data->debug_msg_lock);

if (!data->debug_msg_data) {
dev_err(dev, "No buffer!\n");
return;
}

if (data->debug_msg_count < DEBUG_MSG_MAX) {
memcpy(data->debug_msg_data +
data->debug_msg_count * data->T5_msg_size,
msg,
data->T5_msg_size);
data->debug_msg_count++;
} else {
dev_dbg(dev, "Discarding %u messages\n", data->debug_msg_count);
data->debug_msg_count = 0;
}

mutex_unlock(&data->debug_msg_lock);

sysfs_notify(&data->client->dev.kobj, NULL, "debug_notify");
}

static ssize_t mxt_debug_msg_write(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, char *buf, loff_t off,
size_t count)
{
return -EIO;
}

static ssize_t mxt_debug_msg_read(struct file *filp, struct kobject *kobj,
struct bin_attribute *bin_attr, char *buf, loff_t off, size_t bytes)
{
struct device *dev = container_of(kobj, struct device, kobj);
struct mxt_data *data = dev_get_drvdata(dev);
int count;
size_t bytes_read;

if (!data->debug_msg_data) {
dev_err(dev, "No buffer!\n");
return 0;
}

count = bytes / data->T5_msg_size;

if (count > DEBUG_MSG_MAX)
count = DEBUG_MSG_MAX;

mutex_lock(&data->debug_msg_lock);

if (count > data->debug_msg_count)
count = data->debug_msg_count;

bytes_read = count * data->T5_msg_size;

memcpy(buf, data->debug_msg_data, bytes_read);
data->debug_msg_count = 0;

mutex_unlock(&data->debug_msg_lock);

return bytes_read;
}

static int mxt_debug_msg_init(struct mxt_data *data)
{
sysfs_bin_attr_init(&data->debug_msg_attr);
data->debug_msg_attr.attr.name = "debug_msg";
data->debug_msg_attr.attr.mode = 0666;
data->debug_msg_attr.read = mxt_debug_msg_read;
data->debug_msg_attr.write = mxt_debug_msg_write;
data->debug_msg_attr.size = data->T5_msg_size * DEBUG_MSG_MAX;

if (sysfs_create_bin_file(&data->client->dev.kobj,
&data->debug_msg_attr) < 0) {
dev_err(&data->client->dev, "Failed to create %s\n",
data->debug_msg_attr.attr.name);
return -EINVAL;
}

return 0;
}

static void mxt_debug_msg_remove(struct mxt_data *data)
{
if (data->debug_msg_attr.attr.name)
sysfs_remove_bin_file(&data->client->dev.kobj,
&data->debug_msg_attr);
}

static int mxt_wait_for_completion(struct mxt_data *data,
struct completion *comp,
unsigned int timeout_ms)
@@ -1272,6 +1409,9 @@ static int mxt_proc_message(struct mxt_data *data, u8 *message)
if (dump)
mxt_dump_message(data, message);

if (data->debug_v2_enabled)
mxt_debug_msg_add(data, message);

return 1;
}

@@ -2682,6 +2822,10 @@ static int mxt_initialize(struct mxt_data *data)
if (error)
return error;

error = mxt_debug_msg_init(data);
if (error)
goto err_free_sysfs;

if (data->cfg_name) {
error = request_firmware_nowait(THIS_MODULE, true,
data->cfg_name,
@@ -2691,16 +2835,18 @@ static int mxt_initialize(struct mxt_data *data)
if (error) {
dev_err(&client->dev, "Failed to invoke firmware loader: %d\n",
error);
goto err_free_sysfs;
goto err_free_dbg_msg;
}
} else {
error = mxt_configure_objects(data, NULL);
if (error)
goto err_free_sysfs;
goto err_free_dbg_msg;
}

return 0;

err_free_dbg_msg:
mxt_debug_msg_remove(data);
err_free_sysfs:
mxt_sysfs_remove(data);
return error;
@@ -3350,6 +3496,7 @@ static int mxt_enter_bootloader(struct mxt_data *data)
return ret;

data->in_bootloader = true;
mxt_debug_msg_remove(data);
mxt_sysfs_remove(data);
mxt_free_input_device(data);
mxt_free_object_table(data);
@@ -3535,6 +3682,34 @@ static ssize_t mxt_debug_enable_show(struct device *dev,
return scnprintf(buf, PAGE_SIZE, "%c\n", c);
}

static ssize_t mxt_debug_notify_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
return sprintf(buf, "0\n");
}

static ssize_t mxt_debug_v2_enable_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
struct mxt_data *data = dev_get_drvdata(dev);
u8 i;
ssize_t ret;

if (kstrtou8(buf, 0, &i) == 0 && i < 2) {
if (i == 1)
mxt_debug_msg_enable(data);
else
mxt_debug_msg_disable(data);

ret = count;
} else {
dev_dbg(dev, "debug_enabled write error\n");
ret = -EINVAL;
}

return ret;
}

static ssize_t mxt_debug_enable_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
@@ -3623,6 +3798,9 @@ static DEVICE_ATTR(update_cfg, S_IWUSR, NULL, mxt_update_cfg_store);
static DEVICE_ATTR(config_crc, S_IRUGO, mxt_config_crc_show, NULL);
static DEVICE_ATTR(debug_enable, S_IWUSR | S_IRUSR, mxt_debug_enable_show,
mxt_debug_enable_store);
static DEVICE_ATTR(debug_v2_enable, S_IWUSR | S_IRUSR, NULL,
mxt_debug_v2_enable_store);
static DEVICE_ATTR(debug_notify, S_IRUGO, mxt_debug_notify_show, NULL);

static struct attribute *mxt_attrs[] = {
&dev_attr_fw_version.attr,
@@ -3631,6 +3809,8 @@ static struct attribute *mxt_attrs[] = {
&dev_attr_update_cfg.attr,
&dev_attr_config_crc.attr,
&dev_attr_debug_enable.attr,
&dev_attr_debug_v2_enable.attr,
&dev_attr_debug_notify.attr,
NULL
};

@@ -3915,6 +4095,7 @@ static int mxt_probe(struct i2c_client *client, const struct i2c_device_id *id)
init_completion(&data->chg_completion);
init_completion(&data->reset_completion);
init_completion(&data->crc_completion);
mutex_init(&data->debug_msg_lock);

data->suspend_mode = dmi_check_system(chromebook_T9_suspend_dmi) ?
MXT_SUSPEND_T9_CTRL : MXT_SUSPEND_DEEP_SLEEP;
@@ -3977,6 +4158,7 @@ static int mxt_remove(struct i2c_client *client)

disable_irq(data->irq);
sysfs_remove_group(&client->dev.kobj, &mxt_fw_attr_group);
mxt_debug_msg_remove(data);
mxt_sysfs_remove(data);
regulator_put(data->reg_avdd);
regulator_put(data->reg_vdd);