aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
AgeCommit message (Expand)AuthorFilesLines
2019-09-16Merge tag 'platform-drivers-x86-v5.4-1' of git://git.infradead.org/linux-plat...HEADmasterLinus Torvalds20-298/+572
2019-09-16Merge branch 'x86-vmware-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds3-31/+31
2019-09-16Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-4/+4
2019-09-16Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds9-61/+61
2019-09-16Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds5-36/+179
2019-09-16Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds4-7/+27
2019-09-16Merge tag 'armsoc-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds28-1303/+3298
2019-09-16Merge tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/s...Linus Torvalds90-4674/+4629
2019-09-16Merge tag 'armsoc-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/socLinus Torvalds16-91/+982
2019-09-16Merge branch 'parisc-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/...Linus Torvalds3-14/+37
2019-09-16Merge tag 'please-pull-ia64_for_5.4' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds47-14813/+40
2019-09-16Merge tag 'riscv/for-v5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds2-15/+14
2019-09-16Merge tag 'm68k-for-v5.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-21/+21
2019-09-16Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/a...Linus Torvalds20-215/+786
2019-09-16Merge tag 'iommu-updates-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds39-1377/+3323
2019-09-16Merge tag 'gpio-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linu...Linus Torvalds59-1600/+2100
2019-09-16Merge tag 'i3c/for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/...Linus Torvalds4-73/+81
2019-09-16Merge tag 'spi-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...Linus Torvalds66-893/+1884
2019-09-16Merge tag 'regulator-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/b...Linus Torvalds24-73/+1480
2019-09-16Merge tag 'regmap-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broo...Linus Torvalds2-18/+1
2019-09-16Merge tag 'hwmon-for-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/g...Linus Torvalds30-904/+1665
2019-09-16Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds3-1/+5
2019-09-16Merge tag 'edac_for_5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ras...Linus Torvalds13-219/+790
2019-09-16Merge tag 'tpmdd-next-20190902' of git://git.infradead.org/users/jjs/linux-tpmddLinus Torvalds7-12/+401
2019-09-15Merge branch 'spi-5.4' into spi-nextMark Brown66-890/+1854
2019-09-15Merge branch 'spi-5.3' into spi-linusMark Brown6-6/+33
2019-09-14Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds1-4/+2
2019-09-14Revert "vhost: block speculation of translated descriptors"Michael S. Tsirkin1-4/+2
2019-09-14Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/netLinus Torvalds28-137/+246
2019-09-14Merge tag 'mmc-v5.3-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/ulf...Linus Torvalds7-29/+17
2019-09-14Merge tag 'drm-fixes-2019-09-13' of git://anongit.freedesktop.org/drm/drmLinus Torvalds4-8/+11
2019-09-13cdc_ether: fix rndis support for Mediatek based smartphonesBjørn Mork1-1/+9
2019-09-13ixgbevf: Fix secpath usage for IPsec Tx offloadJeff Kirsher1-1/+2
2019-09-13mmc: tmio: Fixup runtime PM management during removeUlf Hansson1-3/+4
2019-09-13mmc: tmio: Fixup runtime PM management during probeUlf Hansson2-1/+9
2019-09-13Revert "mmc: tmio: move runtime PM enablement to the driver implementations"Ulf Hansson4-23/+2
2019-09-13spi: mediatek: support large PAluhua.xu1-5/+39
2019-09-13spi: mediatek: add spi support for mt6765 ICluhua.xu1-0/+9
2019-09-12hwmon: (nct7904) Fix incorrect SMI status register setting of LTD temperature...amy.shih1-2/+9
2019-09-12Revert "drm/i915/userptr: Acquire the page lock around set_page_dirty()"Chris Wilson1-9/+1
2019-09-12Merge tag 'drm-misc-fixes-2019-09-12' of git://anongit.freedesktop.org/drm/dr...Dave Airlie2-2/+2
2019-09-12Merge tag 'qcom-drivers-for-5.4' of git://git.kernel.org/pub/scm/linux/kernel...Arnd Bergmann7-24/+661
2019-09-12ixgbe: Fix secpath usage for IPsec TX offload.Steffen Klassert1-1/+2
2019-09-12tun: fix use-after-free when register netdev failedYang Yingliang1-5/+11
2019-09-12Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds2-6/+12
2019-09-12Merge tag 'pinctrl-v5.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/l...Linus Torvalds3-6/+38
2019-09-12gpiolib: of: add a fallback for wlf,reset GPIO nameDmitry Torokhov1-0/+16
2019-09-12gpio: htc-egpio: Remove unused exported htc_egpio_get_wakeup_irq()Geert Uytterhoeven1-14/+0
2019-09-12Merge tag 'gpio-v5.3-6' of git://git.kernel.org/pub/scm/linux/kernel/git/linu...Linus Torvalds4-27/+59
2019-09-12pinctrl: aspeed: Fix spurious mux failures on the AST2500Andrew Jeffery3-6/+38
2019-09-12gpio: remove explicit comparison with 0Saiyam Doshi1-1/+1
2019-09-11vhost: make sure log_num < in_numyongduan1-2/+2
2019-09-11vhost: block speculation of translated descriptorsMichael S. Tsirkin1-2/+4
2019-09-11ixgbe: fix double clean of Tx descriptors with xdpIlya Maximets1-18/+11
2019-09-11ixgbe: Prevent u8 wrapping of ITR value to something less than 10usAlexander Duyck1-1/+3
2019-09-11Merge branch 'regulator-5.4' into regulator-nextMark Brown24-73/+1480
2019-09-11Merge branch 'regulator-5.3' into regulator-linusMark Brown3-9/+26
2019-09-11spi: bcm2835: Speed up RX-only DMA transfers by zero-filling TX FIFOLukas Wunner1-11/+82
2019-09-11spi: bcm2835: Speed up TX-only DMA transfers by clearing RX FIFOLukas Wunner1-23/+218
2019-09-11dmaengine: bcm2835: Avoid accessing memory when copying zeroesLukas Wunner1-0/+19
2019-09-11spi: bcm2835: Cache CS register value for ->prepare_message()Lukas Wunner1-20/+26
2019-09-11dmaengine: bcm2835: Document struct bcm2835_dmadevLukas Wunner1-0/+6
2019-09-11spi: Guarantee cacheline alignment of driver-private dataLukas Wunner1-4/+7
2019-09-11dmaengine: bcm2835: Allow reusable descriptorsLukas Wunner1-0/+1
2019-09-11dmaengine: bcm2835: Allow cyclic transactions without interruptLukas Wunner1-2/+10
2019-09-11spi: bcm2835: Drop dma_pending flagLukas Wunner1-15/+8
2019-09-11mlx4: fix spelling mistake "veify" -> "verify"Colin Ian King1-1/+1
2019-09-11net: hns3: fix spelling mistake "undeflow" -> "underflow"Colin Ian King1-1/+1
2019-09-11net: lmc: fix spelling mistake "runnin" -> "running"Colin Ian King1-1/+1
2019-09-11NFC: st95hf: fix spelling mistake "receieve" -> "receive"Colin Ian King1-1/+1
2019-09-11Revert "mmc: sdhci: Remove unneeded quirk2 flag of O2 SD host controller"Daniel Drake1-1/+1
2019-09-11Revert "mmc: bcm2835: Terminate timeout work synchronously"Stefan Wahren1-1/+1
2019-09-11gpio: creg-snps: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-11gpio: devres: Switch to EXPORT_SYMBOL_GPL()Geert Uytterhoeven1-14/+14
2019-09-11gpio: of: Switch to EXPORT_SYMBOL_GPL()Geert Uytterhoeven1-4/+4
2019-09-11gpio: of: Make of_gpio_simple_xlate() privateGeert Uytterhoeven1-3/+3
2019-09-11gpio: of: Make of_get_named_gpiod_flags() privateGeert Uytterhoeven2-8/+1
2019-09-11Merge branches 'arm/omap', 'arm/exynos', 'arm/smmu', 'arm/mediatek', 'arm/qco...Joerg Roedel39-1377/+3323
2019-09-11iommu/vt-d: Declare Broadwell igfx dmar support snafuChris Wilson1-9/+35
2019-09-11iommu/vt-d: Add Scalable Mode fault informationKyung Min Park1-4/+73
2019-09-11iommu/vt-d: Use bounce buffer for untrusted devicesLu Baolu1-0/+258
2019-09-11iommu/vt-d: Add trace events for device dma map/unmapLu Baolu3-3/+25
2019-09-11iommu/vt-d: Don't switch off swiotlb if bounce page is usedLu Baolu2-15/+18
2019-09-11iommu/vt-d: Check whether device requires bounce bufferLu Baolu1-0/+7
2019-09-11swiotlb: Split size parameter to map/unmap APIsLu Baolu1-4/+4
2019-09-11regulator: core: Fix error return for /sys accessH. Nikolaus Schaller1-3/+5
2019-09-11regulator: da9211: fix obtaining "enable" GPIODmitry Torokhov1-1/+1
2019-09-11regulator: max77686: fix obtaining "maxim,ena" GPIODmitry Torokhov1-1/+1
2019-09-11gpio: aspeed: Add in ast2600 details to Aspeed driverRashmica Gupta1-2/+20
2019-09-11gpio: aspeed: Use ngpio property from device tree if availableRashmica Gupta1-7/+11
2019-09-11gpio: aspeed: Setup irqchip dynamicallyRashmica Gupta1-9/+7
2019-09-11gpio/aspeed: Fix incorrect number of banksRashmica Gupta1-1/+1
2019-09-11gpiolib: acpi: Add gpiolib_acpi_run_edge_events_on_boot option and blacklistHans de Goede1-4/+38
2019-09-11net: sonic: replace dev_kfree_skb in sonic_send_packetMao Wenan1-1/+1
2019-09-11wimax: i2400: fix memory leakNavid Emamdoost1-0/+1
2019-09-11gpio: Initialize the irqchip valid_mask with a callbackLinus Walleij7-50/+101
2019-09-10hwmon: (shtc1) add support for the SHTC3 sensorDan Robertson2-16/+45
2019-09-10hwmon: (shtc1) fix shtc1 and shtw1 id maskDan Robertson1-1/+1
2019-09-10platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking APIKristian Klausen1-49/+99
2019-09-10gpiolib: acpi: make acpi_can_fallback_to_crs() staticDmitry Torokhov2-17/+10
2019-09-10gpiolib: of: fix fallback quirks handlingDmitry Torokhov1-18/+9
2019-09-10spi: bcm2835: Work around DONE bit erratumLukas Wunner1-2/+12
2019-09-10Merge tag 'intel-gpio-v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/gi...Linus Walleij4-49/+55
2019-09-10regulator: uniphier: Add Pro5 USB3 VBUS supportKunihiko Hayashi1-0/+4
2019-09-10regulator: fixed: add possibility to enable by clockPhilippe Schenker1-3/+80
2019-09-10regulator: s2mps11: Consistently use local variableKrzysztof Kozlowski1-1/+1
2019-09-10net/ibmvnic: Fix missing { in __ibmvnic_resetMichal Suchanek1-1/+1
2019-09-10drm/lima: fix lima_gem_wait() return valueVasily Khoruzhick1-1/+1
2019-09-09platform/x86: asus-wmi: Rename CHARGE_THRESHOLD to RSOCKristian Klausen1-3/+3
2019-09-09Merge tag 'regulator-fix-v5.3-rc8' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds3-9/+26
2019-09-09virtio_ring: fix unmap of indirect descriptorsMatthias Lange1-2/+6
2019-09-09drm/i915: Restore relaxed padding (OCL_OOB_SUPPRES_ENABLE) for skl+Chris Wilson1-5/+0
2019-09-09drm/i915: Limit MST to <= 8bpc once againVille Syrjälä1-1/+9
2019-09-09regulator: lp87565: Simplify lp87565_buck_set_ramp_delayAxel Lin1-3/+2
2019-09-09platform/x86: ISST: Allow additional TRL MSRsSrinivas Pandruvada1-0/+2
2019-09-09spi-gpio: Use PTR_ERR_OR_ZERO() in spi_gpio_request()Markus Elfring1-4/+1
2019-09-09regulator: slg51000: use devm_gpiod_get_optional() in probeDmitry Torokhov1-7/+8
2019-09-09Merge branch 'regulator-5.3' into regulator-5.4Mark Brown6-19/+38
2019-09-09regulator: lp8788-ldo: make array en_mask static const, makes object smallerColin Ian King1-1/+1
2019-09-09gpio: fix line flag validation in lineevent_createKent Gibson1-5/+3
2019-09-09gpio: fix line flag validation in linehandle_createKent Gibson1-0/+8
2019-09-09gpio: mockup: add missing single_release()Wei Yongjun1-0/+1
2019-09-08Merge tag 'gpio-v5.3-5' of git://git.kernel.org/pub/scm/linux/kernel/git/linu...Linus Torvalds1-9/+6
2019-09-08parisc: Disable HP HSC-PCI Cards to prevent kernel crashHelge Deller1-0/+24
2019-09-07platform/x86: intel_int0002_vgpio: Use device_init_wakeupHans de Goede1-1/+9
2019-09-07platform/x86: intel_int0002_vgpio: Fix wakeups not working on Cherry TrailHans de Goede1-0/+1
2019-09-07platform/x86: compal-laptop: Initialize "value" in ec_read_u8()Yizhuo1-1/+1
2019-09-07platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11B 2-in-1Hans de Goede1-0/+8
2019-09-07platform/x86: thinkpad_acpi: Add ThinkPad PrivacyGuardAlexander Schremmer1-0/+105
2019-09-07platform/x86: pmc_atom: Add Siemens SIMATIC IPC227E to critclk_systems DMI tableJan Kiszka1-0/+7
2019-09-07Merge tag 'dmaengine-fix-5.3' of git://git.infradead.org/users/vkoul/slave-dmaLinus Torvalds4-13/+33
2019-09-07platform/x86: intel_pmc_core_pltdrv: Module removal warning fixM. Vefa Bicakci1-0/+8
2019-09-07platform/x86: intel_pmc_core: Do not ioremap RAMM. Vefa Bicakci1-2/+6
2019-09-07platform/x86: asus-wmi: Fix condition in charge_threshold_store()Dan Carpenter1-1/+1
2019-09-07nfp: flower: cmsg rtnl locks can timeout reify messagesFred Lotter1-5/+5
2019-09-07isdn/capi: check message length in capi_write()Eric Biggers1-1/+9
2019-09-07net/ibmvnic: free reset work of removed device from queueJuliet Kim1-2/+5
2019-09-07net: phylink: Fix flow control resolutionStefan Chulski1-3/+3
2019-09-07net/hamradio/6pack: Fix the size of a sk_buff used in 'sp_bump()'Christophe JAILLET1-2/+2
2019-09-07EDAC/amd64: Add PCI device IDs for family 17h, model 70hIsaac Vaughn2-0/+16
2019-09-06Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/...Linus Torvalds2-2/+2
2019-09-06Merge tag 'libnvdimm-fix-5.3-rc8' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+4
2019-09-06Merge tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/soc...Linus Torvalds1-0/+6
2019-09-06Merge tag 'iommu-fixes-v5.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel...Linus Torvalds3-28/+103
2019-09-06Merge tag 'mmc-v5.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/ulf...Linus Torvalds1-1/+1
2019-09-06Merge tag 'drm-fixes-2019-09-06' of git://anongit.freedesktop.org/drm/drmLinus Torvalds6-14/+202
2019-09-06drm/modes: Make the whitelist more constMaxime Ripard1-1/+1
2019-09-06iommu/omap: Mark pm functions __maybe_unusedArnd Bergmann1-2/+2
2019-09-06Merge tag 'wireless-drivers-for-davem-2019-09-05' of git://git.kernel.org/pub...David S. Miller7-34/+60
2019-09-06forcedeth: use per cpu to collect xmit/recv statisticsZhu Yanjun1-44/+99
2019-09-06net: sonic: return NETDEV_TX_OK if failed to map bufferMao Wenan1-2/+2
2019-09-06gpio: Fix further merge errorsLinus Walleij1-4/+4
2019-09-06soc: qcom: geni: Provide parameter error checkingLee Jones1-0/+6
2019-09-06iommu/amd: Fix race in increase_address_space()Joerg Roedel1-5/+11
2019-09-06iommu/amd: Flush old domains in kdump kernelStuart Hayes1-0/+24
2019-09-06Merge tag 'drm-misc-fixes-2019-09-05' of git://anongit.freedesktop.org/drm/dr...Dave Airlie4-9/+187
2019-09-06Merge branch 'vmwgfx-fixes-5.3' of git://people.freedesktop.org/~thomash/linu...Dave Airlie1-5/+3
2019-09-06parisc: Save some bytes in dino driverHelge Deller1-3/+3
2019-09-05regulator: tps65132: Stop parsing DT when gpio is not foundGuido Günther1-2/+2
2019-09-05spi: Use an abbreviated pointer to ctlr->cur_msg in __spi_pump_messagesVladimir Oltean1-11/+12
2019-09-05spi: npcm-fiu: remove set but not used variable 'retlen'YueHaibing1-3/+0
2019-09-05bus: uniphier-system-bus: use devm_platform_ioremap_resource()Masahiro Yamada1-3/+1
2019-09-05parisc: Convert eisa_enumerator to use pr_cont()Helge Deller1-5/+5
2019-09-05parisc: Avoid warning when loading hppb driverHelge Deller1-6/+5
2019-09-05drm/vmwgfx: Fix double free in vmw_recv_msg()Dan Carpenter1-5/+3
2019-09-05iommu/ipmmu-vmsa: Disable cache snoop transactions on R-Car Gen3Hai Nguyen Pham1-33/+38
2019-09-05iommu/ipmmu-vmsa: Move IMTTBCR_SL0_TWOBIT_* to restore sort orderGeert Uytterhoeven1-4/+3
2019-09-05Merge tag 'v5.3-rc7' into develLinus Walleij800-5099/+7886
2019-09-05irqchip/sifive-plic: set max threshold for ignored handlersChristoph Hellwig1-2/+10
2019-09-05riscv: don't use the rdtime(h) pseudo-instructionsChristoph Hellwig1-13/+4
2019-09-05Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/...David S. Miller3-10/+10
2019-09-04Merge tag 'samsung-drivers-5.4-2' of git://git.kernel.org/pub/scm/linux/kerne...Arnd Bergmann2-7/+12
2019-09-04soc: ti: ti_sci_pm_domains: Add support for exclusive and shared accessLokesh Vutla1-2/+21
2019-09-04firmware: ti_sci: Allow for device shared and exclusive requestsLokesh Vutla1-2/+43
2019-09-04hwmon: (lm75) Aproximate sample times to data-sheet valuesIker Perez del Palomar Sustatxa1-22/+22
2019-09-04spi: fsl-spi: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-4/+2
2019-09-04spi: zynq-qspi: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: zynqmp: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: xlp: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: uniphier: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: tegra: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: sun6i: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: sun4i: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: st-ssc4: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: sirf: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: sifive: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: s3c24xx: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: rb4xx: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: spi-qcom-qspi: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: pic32-sqi: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: oc-tiny: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: nuc900: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: npcm: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: mxs: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: mt7621: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: spi-meson-spifc: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: meson-spicc: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: lp-8841: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: spi-geni-qcom: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1
2019-09-04spi: dw-mmio: use devm_platform_ioremap_resource() to simplify codeYueHaibing1-3/+1