linux-stable/include/linux/platform_data
Yurii Pavlovskyi e0668f2888 platform/x86: asus-wmi: Improve DSTS WMI method ID detection
The DSTS method detection mistakenly selects DCTS instead of DSTS if
nothing is returned when the method ID is not defined in WMNB. As a result,
the control of keyboard backlight is not functional for TUF Gaming series
laptops. Implement detection based on _UID of the WMI device instead.

There is evidence that DCTS is handled by ACPI WMI devices that have _UID
ASUSWMI, whereas none of the devices without ASUSWMI respond to DCTS and
DSTS is used instead [1].

DSDT examples:

FX505GM (_UID ATK):
Method (WMNB, 3, Serialized)
{ ...
    If ((Local0 == 0x53545344))
    {
        ...
        Return (Zero)
    }
    ...
    // No return
}

K54C (_UID ATK):
Method (WMNB, 3, Serialized)
{ ...
    If ((Local0 == 0x53545344))
    {
        ...
        Return (0x02)
    }
    ...
    Return (0xFFFFFFFE)
}

[1] Link: https://lkml.org/lkml/2019/4/11/322

Signed-off-by: Yurii Pavlovskyi <yurii.pavlovskyi@gmail.com>
Suggested-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
2019-06-17 15:22:47 +03:00
..
gpio gpio: amd-fch: Fix bogus SPDX identifier 2019-03-22 16:48:47 +01:00
jz4740
media media: include: fix several typos 2019-03-01 09:45:52 -05:00
txx9
x86 platform/x86: asus-wmi: Improve DSTS WMI method ID detection 2019-06-17 15:22:47 +03:00
ad5449.h
ad5755.h
ad5761.h
ad7266.h
ad7291.h
ad7298.h
ad7303.h
ad7791.h
ad7793.h
ad7887.h
adau17x1.h
adau1977.h
adp5588.h
adp8860.h
adp8870.h
ads1015.h
ads7828.h docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
ams-delta-fiq.h
apds990x.h
arm-ux500-pm.h
asoc-imx-ssi.h
asoc-kirkwood.h
asoc-mx27vis.h
asoc-palm27x.h
asoc-s3c.h
asoc-s3c24xx_simtec.h
asoc-ti-mcbsp.h
asoc-ux500-msp.h
at91_adc.h
ata-pxa.h
ata-samsung_cf.h
atmel.h
b53.h net: dsa: Include platform_data header file 2019-01-17 11:31:24 -08:00
bcmgenet.h
bd6107.h
bh1770glc.h
brcmfmac.h
clk-da8xx-cfgchip.h
clk-davinci-pll.h
clk-integrator.h
clk-st.h
clk-u300.h
cpuidle-exynos.h
crypto-atmel.h
crypto-ux500.h
cyttsp4.h
davinci-cpufreq.h cpufreq: davinci: move configuration to include/linux/platform_data 2019-02-18 11:58:08 +05:30
davinci_asp.h ASoC: davinci-mcasp: Implement configurable dismod handling 2018-11-28 12:41:31 +00:00
db8500_thermal.h
dma-atmel.h
dma-coh901318.h
dma-dw.h dmaengine: dw: convert to SPDX identifiers 2019-01-07 17:57:13 +05:30
dma-ep93xx.h dmaengine: ep93xx: Return proper enum in ep93xx_dma_chan_direction 2018-10-02 20:11:00 +05:30
dma-hsu.h
dma-imx-sdma.h
dma-imx.h dmaengine: imx-sdma: add a test for imx8mq multi sdma devices 2019-02-25 23:25:51 +05:30
dma-mcf-edma.h dmaengine: fsl-edma: add ColdFire mcf5441x edma support 2018-09-11 12:06:39 +05:30
dma-mmp_tdma.h
dma-mv_xor.h
dma-s3c24xx.h
dma-ste-dma40.h
dmtimer-omap.h
ds620.h docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
dsa.h net: dsa: Split platform data to header file 2019-01-17 11:31:24 -08:00
dwc3-omap.h
edma.h
efm32-spi.h
efm32-uart.h
ehci-sh.h usb: ehci-sh: convert to SPDX identifiers 2018-09-10 19:58:49 +02:00
elm.h mtd: nand: omap: Fix comment in platform data using wrong Kconfig symbol 2019-04-08 10:21:17 +02:00
emif_plat.h
eth-ep93xx.h ARM: ep93xx: move network platform data to separate header 2019-04-28 23:08:15 -07:00
eth-netx.h
fsa9480.h
g762.h
gpio-ath79.h
gpio-davinci.h gpio: davinci: restore a way to manually specify the GPIO base 2018-11-26 16:45:10 +05:30
gpio-dwapb.h
gpio-htc-egpio.h
gpio-omap.h gpio: gpio-omap: configure edge detection for level IRQs for idle wakeup 2019-04-11 15:13:33 +02:00
gpio_backlight.h
gpmc-omap.h
hsmmc-omap.h mmc: omap_hsmmc: Delete platform data GPIO CD and WP 2018-10-08 11:40:43 +02:00
hwmon-s3c.h
i2c-davinci.h
i2c-designware.h
i2c-gpio.h
i2c-hid.h
i2c-imx.h
i2c-mux-gpio.h
i2c-mux-reg.h
i2c-ocores.h i2c: ocores: Add support for bus clock via platform data 2019-02-14 17:58:23 +01:00
i2c-omap.h
i2c-pca-platform.h
i2c-pxa.h
i2c-s3c2410.h
i2c-xiic.h
ina2xx.h docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
intel-mid_wdt.h
intel-spi.h
invensense_mpu6050.h
iommu-omap.h
irda-pxaficp.h
irda-sa11x0.h
isl9305.h
itco_wdt.h
keyboard-pxa930_rotary.h
keyboard-spear.h
keypad-ep93xx.h ARM: ep93xx: keypad: stop using mach/platform.h 2019-04-28 23:08:35 -07:00
keypad-nomadik-ske.h
keypad-omap.h
keypad-pxa27x.h
keypad-w90p910.h
keyscan-davinci.h
lcd-mipid.h
leds-kirkwood-netxbig.h
leds-kirkwood-ns2.h
leds-lm355x.h
leds-lm3642.h
leds-lp55xx.h
leds-omap.h
leds-pca963x.h
leds-s3c24xx.h
lm3630a_bl.h backlight: lm3630a: Add firmware node support 2019-05-14 08:16:01 +01:00
lm3639_bl.h
lm8323.h
lp855x.h
lp8727.h
lp8755.h
ltc4245.h
lv5207lp.h
macb.h net: macb: shrink macb_platform_data structure 2019-05-03 10:26:15 -04:00
max197.h docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
max732x.h
max3421-hcd.h
max6639.h
max6697.h
mcs.h
mdio-bcm-unimac.h
mdio-gpio.h net: phy: mdio-gpio: Add phy_ignore_ta_mask to platform data 2018-12-08 21:33:30 -08:00
mfd-mcp-sa11x0.h
microchip-ksz.h
mlxreg.h linux-watchdog 5.1-rc1 tag 2019-03-11 11:22:15 -07:00
mmc-davinci.h
mmc-esdhc-imx.h mmc: sdhci: imx: Use the slot GPIO descriptor 2018-12-17 08:26:24 +01:00
mmc-mxcmmc.h
mmc-omap.h
mmc-pxamci.h mmc: pxa: Use GPIO descriptor for power 2018-12-17 08:26:24 +01:00
mmc-s3cmci.h mmc: s3cmci: Use the slot GPIO descriptor 2018-12-17 08:26:24 +01:00
mmc-sdhci-s3c.h
mmp_audio.h
mmp_dma.h
mouse-pxa930_trkball.h
mtd-davinci-aemif.h
mtd-davinci.h
mtd-mxc_nand.h
mtd-nand-omap2.h
mtd-nand-pxa3xx.h
mtd-nand-s3c2410.h
mtd-orion_nand.h
mv88e6xxx.h net: dsa: mv88e6xxx: Pass interrupt number in platform data 2019-05-03 23:55:47 -04:00
mv_usb.h USB: EHCI: ehci-mv: remove private_init 2018-09-20 13:07:55 +02:00
net-cw1200.h
nfcmrvl.h
ntc_thermistor.h docs: hwmon: Add an index file and rename docs to *.rst 2019-04-17 10:37:23 -07:00
nxp-nci.h
omap-twl4030.h
omap-wd-timer.h
omap1_bl.h
omapdss.h
pca953x.h
pcf857x.h
pcmcia-pxa2xx_viper.h
phy-da8xx-usb.h
pinctrl-single.h
pixcir_i2c_ts.h
pm33xx.h ARM: OMAP2+: pm33xx: Add support for rtc+ddr in self refresh mode 2019-04-08 10:39:01 -07:00
pwm_omap_dmtimer.h
pxa2xx_udc.h
pxa_sdhci.h mmc: sdhci: pxav3: Delete GPIO handling 2018-10-08 11:40:43 +02:00
regulator-haptic.h
remoteproc-omap.h
rtc-ds2404.h
rtc-v3020.h
s3c-hsotg.h
s3c-hsudc.h
sa11x0-serial.h
sc18is602.h
sdhci-pic32.h
serial-imx.h
serial-omap.h
serial-sccnxp.h
shmob_drm.h drm: shmobile: convert to SPDX identifiers 2018-09-14 13:54:02 +03:00
sht3x.h
shtc1.h
si5351.h
simplefb.h
sky81452-backlight.h
spi-ath79.h spi: ath79: Enable support for compile test 2019-01-17 12:34:47 +00:00
spi-clps711x.h
spi-davinci.h spi: davinci: Remove chip select GPIO pdata 2018-09-11 17:37:15 +01:00
spi-ep93xx.h spi: ep93xx: Convert to use CS GPIO descriptors 2019-05-02 10:37:59 +09:00
spi-imx.h
spi-mt65xx.h
spi-nuc900.h
spi-omap2-mcspi.h
spi-s3c64xx.h
ssm2518.h
st33zp24.h
st_sensors_pdata.h iio: imu: st_lsm6dsx: add i2c embedded controller support 2018-11-16 18:32:33 +00:00
syscon.h
tc35876x.h
tda9950.h
ti-aemif.h
ti-sysc.h bus: ti-sysc: Handle swsup idle mode quirks 2019-04-05 15:10:36 -07:00
timer-ixp4xx.h clocksource/drivers/ixp4xx: Add driver 2019-04-23 16:02:13 +02:00
touchscreen-s3c2410.h
tsc2007.h
tsl2563.h
tsl2772.h
uio_dmem_genirq.h
uio_pruss.h
usb-davinci.h usb: ohci-da8xx: remove unused callbacks from platform data 2019-02-12 13:48:59 +05:30
usb-ehci-mxc.h
usb-ehci-orion.h
usb-musb-ux500.h
usb-mx2.h
usb-ohci-pxa27x.h
usb-ohci-s3c2410.h
usb-omap.h
usb-omap1.h
usb-pxa3xx-ulpi.h
usb-s3c2410_udc.h
usb3503.h
ux500_wdt.h
video-clcd-versatile.h
video-ep93xx.h
video-imxfb.h
video-mx3fb.h
video-nuc900fb.h
video-pxafb.h
video_s3c.h
voltage-omap.h
wilco-ec.h platform/chrome: wilco_ec: Standardize mailbox interface 2019-04-15 16:07:42 +02:00
wiznet.h
wkup_m3.h
xilinx-ll-temac.h net: ll_temac: Allow configuration of IRQ coalescing 2019-05-01 14:33:30 -04:00
xtalk-bridge.h MIPS: SGI-IP27: use generic PCI driver 2019-05-09 16:39:27 -07:00
zforce_ts.h