Merge branch 'for-6.1/core' into for-linus

- move from strlcpy with unused retval to strscpy (Wolfram Sang)
- Kconfig fixes (Randy Dunlap)
- HID-BPF preparatory patches, convert blank defines as enums (Benjamin
  Tissoires)
This commit is contained in:
Benjamin Tissoires 2022-10-05 10:19:06 +01:00
commit 7d8fe4cfc5
10 changed files with 58 additions and 117 deletions

View File

@ -28,7 +28,6 @@ if HID
config HID_BATTERY_STRENGTH config HID_BATTERY_STRENGTH
bool "Battery level reporting for HID devices" bool "Battery level reporting for HID devices"
depends on HID
select POWER_SUPPLY select POWER_SUPPLY
default n default n
help help
@ -38,7 +37,6 @@ config HID_BATTERY_STRENGTH
config HIDRAW config HIDRAW
bool "/dev/hidraw raw HID device support" bool "/dev/hidraw raw HID device support"
depends on HID
help help
Say Y here if you want to support HID devices (from the USB Say Y here if you want to support HID devices (from the USB
specification standpoint) that aren't strictly user interface specification standpoint) that aren't strictly user interface
@ -57,7 +55,6 @@ config HIDRAW
config UHID config UHID
tristate "User-space I/O driver support for HID subsystem" tristate "User-space I/O driver support for HID subsystem"
depends on HID
default n default n
help help
Say Y here if you want to provide HID I/O Drivers from user-space. Say Y here if you want to provide HID I/O Drivers from user-space.
@ -78,7 +75,6 @@ config UHID
config HID_GENERIC config HID_GENERIC
tristate "Generic HID driver" tristate "Generic HID driver"
depends on HID
default HID default HID
help help
Support for generic devices on the HID bus. This includes most Support for generic devices on the HID bus. This includes most
@ -90,11 +86,9 @@ config HID_GENERIC
If unsure, say Y. If unsure, say Y.
menu "Special HID drivers" menu "Special HID drivers"
depends on HID
config HID_A4TECH config HID_A4TECH
tristate "A4TECH mice" tristate "A4TECH mice"
depends on HID
default !EXPERT default !EXPERT
help help
Support for some A4TECH mice with two scroll wheels. Support for some A4TECH mice with two scroll wheels.
@ -113,7 +107,6 @@ config HID_ACCUTOUCH
config HID_ACRUX config HID_ACRUX
tristate "ACRUX game controller support" tristate "ACRUX game controller support"
depends on HID
help help
Say Y here if you want to enable support for ACRUX game controllers. Say Y here if you want to enable support for ACRUX game controllers.
@ -127,7 +120,6 @@ config HID_ACRUX_FF
config HID_APPLE config HID_APPLE
tristate "Apple {i,Power,Mac}Books" tristate "Apple {i,Power,Mac}Books"
depends on HID
depends on LEDS_CLASS depends on LEDS_CLASS
depends on NEW_LEDS depends on NEW_LEDS
default !EXPERT default !EXPERT
@ -167,13 +159,11 @@ config HID_ASUS
config HID_AUREAL config HID_AUREAL
tristate "Aureal" tristate "Aureal"
depends on HID
help help
Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes. Support for Aureal Cy se W-01RN Remote Controller and other Aureal derived remotes.
config HID_BELKIN config HID_BELKIN
tristate "Belkin Flip KVM and Wireless keyboard" tristate "Belkin Flip KVM and Wireless keyboard"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Belkin Flip KVM and Wireless keyboard. Support for Belkin Flip KVM and Wireless keyboard.
@ -202,7 +192,6 @@ config HID_BIGBEN_FF
config HID_CHERRY config HID_CHERRY
tristate "Cherry Cymotion keyboard" tristate "Cherry Cymotion keyboard"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Cherry Cymotion keyboard. Support for Cherry Cymotion keyboard.
@ -227,7 +216,6 @@ config HID_CORSAIR
config HID_COUGAR config HID_COUGAR
tristate "Cougar devices" tristate "Cougar devices"
depends on HID
help help
Support for Cougar devices that are not fully compliant with the Support for Cougar devices that are not fully compliant with the
HID standard. HID standard.
@ -237,7 +225,6 @@ config HID_COUGAR
config HID_MACALLY config HID_MACALLY
tristate "Macally devices" tristate "Macally devices"
depends on HID
help help
Support for Macally devices that are not fully compliant with the Support for Macally devices that are not fully compliant with the
HID standard. HID standard.
@ -262,7 +249,6 @@ config HID_PRODIKEYS
config HID_CMEDIA config HID_CMEDIA
tristate "CMedia audio chips" tristate "CMedia audio chips"
depends on HID
help help
Support for CMedia CM6533 HID audio jack controls Support for CMedia CM6533 HID audio jack controls
and HS100B mute buttons. and HS100B mute buttons.
@ -288,14 +274,12 @@ config HID_CREATIVE_SB0540
config HID_CYPRESS config HID_CYPRESS
tristate "Cypress mouse and barcode readers" tristate "Cypress mouse and barcode readers"
depends on HID
default !EXPERT default !EXPERT
help help
Support for cypress mouse and barcode readers. Support for cypress mouse and barcode readers.
config HID_DRAGONRISE config HID_DRAGONRISE
tristate "DragonRise Inc. game controller" tristate "DragonRise Inc. game controller"
depends on HID
help help
Say Y here if you have DragonRise Inc. game controllers. Say Y here if you have DragonRise Inc. game controllers.
These might be branded as: These might be branded as:
@ -314,7 +298,6 @@ config DRAGONRISE_FF
config HID_EMS_FF config HID_EMS_FF
tristate "EMS Production Inc. force feedback support" tristate "EMS Production Inc. force feedback support"
depends on HID
select INPUT_FF_MEMLESS select INPUT_FF_MEMLESS
help help
Say Y here if you want to enable force feedback support for devices by Say Y here if you want to enable force feedback support for devices by
@ -332,7 +315,6 @@ config HID_ELAN
config HID_ELECOM config HID_ELECOM
tristate "ELECOM HID devices" tristate "ELECOM HID devices"
depends on HID
help help
Support for ELECOM devices: Support for ELECOM devices:
- BM084 Bluetooth Mouse - BM084 Bluetooth Mouse
@ -349,7 +331,6 @@ config HID_ELO
config HID_EZKEY config HID_EZKEY
tristate "Ezkey BTC 8193 keyboard" tristate "Ezkey BTC 8193 keyboard"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Ezkey BTC 8193 keyboard. Support for Ezkey BTC 8193 keyboard.
@ -367,19 +348,16 @@ config HID_FT260
config HID_GEMBIRD config HID_GEMBIRD
tristate "Gembird Joypad" tristate "Gembird Joypad"
depends on HID
help help
Support for Gembird JPD-DualForce 2. Support for Gembird JPD-DualForce 2.
config HID_GFRM config HID_GFRM
tristate "Google Fiber TV Box remote control support" tristate "Google Fiber TV Box remote control support"
depends on HID
help help
Support for Google Fiber TV Box remote controls Support for Google Fiber TV Box remote controls
config HID_GLORIOUS config HID_GLORIOUS
tristate "Glorious PC Gaming Race mice" tristate "Glorious PC Gaming Race mice"
depends on HID
help help
Support for Glorious PC Gaming Race mice such as Support for Glorious PC Gaming Race mice such as
the Glorious Model O, O- and D. the Glorious Model O, O- and D.
@ -424,7 +402,6 @@ config HID_VIVALDI
tristate "Vivaldi Keyboard" tristate "Vivaldi Keyboard"
select HID_VIVALDI_COMMON select HID_VIVALDI_COMMON
select INPUT_VIVALDIFMAP select INPUT_VIVALDIFMAP
depends on HID
help help
Say Y here if you want to enable support for Vivaldi keyboards. Say Y here if you want to enable support for Vivaldi keyboards.
@ -447,7 +424,6 @@ config HID_GT683R
config HID_KEYTOUCH config HID_KEYTOUCH
tristate "Keytouch HID devices" tristate "Keytouch HID devices"
depends on HID
help help
Support for Keytouch HID devices not fully compliant with Support for Keytouch HID devices not fully compliant with
the specification. Currently supported: the specification. Currently supported:
@ -455,7 +431,6 @@ config HID_KEYTOUCH
config HID_KYE config HID_KYE
tristate "KYE/Genius devices" tristate "KYE/Genius devices"
depends on HID
help help
Support for KYE/Genius devices not fully compliant with HID standard: Support for KYE/Genius devices not fully compliant with HID standard:
- Ergo Mouse - Ergo Mouse
@ -471,32 +446,27 @@ config HID_UCLOGIC
config HID_WALTOP config HID_WALTOP
tristate "Waltop" tristate "Waltop"
depends on HID
help help
Support for Waltop tablets. Support for Waltop tablets.
config HID_VIEWSONIC config HID_VIEWSONIC
tristate "ViewSonic/Signotec" tristate "ViewSonic/Signotec"
depends on HID
help help
Support for ViewSonic/Signotec PD1011 signature pad. Support for ViewSonic/Signotec PD1011 signature pad.
config HID_XIAOMI config HID_XIAOMI
tristate "Xiaomi" tristate "Xiaomi"
depends on HID
help help
Adds support for side buttons of Xiaomi Mi Dual Mode Wireless Adds support for side buttons of Xiaomi Mi Dual Mode Wireless
Mouse Silent Edition. Mouse Silent Edition.
config HID_GYRATION config HID_GYRATION
tristate "Gyration remote control" tristate "Gyration remote control"
depends on HID
help help
Support for Gyration remote control. Support for Gyration remote control.
config HID_ICADE config HID_ICADE
tristate "ION iCade arcade controller" tristate "ION iCade arcade controller"
depends on HID
help help
Support for the ION iCade arcade controller to work as a joystick. Support for the ION iCade arcade controller to work as a joystick.
@ -505,14 +475,12 @@ config HID_ICADE
config HID_ITE config HID_ITE
tristate "ITE devices" tristate "ITE devices"
depends on HID
default !EXPERT default !EXPERT
help help
Support for ITE devices not fully compliant with HID standard. Support for ITE devices not fully compliant with HID standard.
config HID_JABRA config HID_JABRA
tristate "Jabra USB HID Driver" tristate "Jabra USB HID Driver"
depends on HID
help help
Support for Jabra USB HID devices. Support for Jabra USB HID devices.
@ -523,26 +491,22 @@ config HID_JABRA
config HID_TWINHAN config HID_TWINHAN
tristate "Twinhan IR remote control" tristate "Twinhan IR remote control"
depends on HID
help help
Support for Twinhan IR remote control. Support for Twinhan IR remote control.
config HID_KENSINGTON config HID_KENSINGTON
tristate "Kensington Slimblade Trackball" tristate "Kensington Slimblade Trackball"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Kensington Slimblade Trackball. Support for Kensington Slimblade Trackball.
config HID_LCPOWER config HID_LCPOWER
tristate "LC-Power" tristate "LC-Power"
depends on HID
help help
Support for LC-Power RC1000MCE RF remote control. Support for LC-Power RC1000MCE RF remote control.
config HID_LED config HID_LED
tristate "Simple RGB LED support" tristate "Simple RGB LED support"
depends on HID
depends on LEDS_CLASS depends on LEDS_CLASS
help help
Support for simple RGB LED devices. Currently supported are: Support for simple RGB LED devices. Currently supported are:
@ -557,7 +521,6 @@ config HID_LED
config HID_LENOVO config HID_LENOVO
tristate "Lenovo / Thinkpad devices" tristate "Lenovo / Thinkpad devices"
depends on HID
select NEW_LEDS select NEW_LEDS
select LEDS_CLASS select LEDS_CLASS
help help
@ -675,7 +638,6 @@ config LOGIWHEELS_FF
config HID_MAGICMOUSE config HID_MAGICMOUSE
tristate "Apple Magic Mouse/Trackpad multi-touch support" tristate "Apple Magic Mouse/Trackpad multi-touch support"
depends on HID
help help
Support for the Apple Magic Mouse/Trackpad multi-touch. Support for the Apple Magic Mouse/Trackpad multi-touch.
@ -684,14 +646,12 @@ config HID_MAGICMOUSE
config HID_MALTRON config HID_MALTRON
tristate "Maltron L90 keyboard" tristate "Maltron L90 keyboard"
depends on HID
help help
Adds support for the volume up, volume down, mute, and play/pause buttons Adds support for the volume up, volume down, mute, and play/pause buttons
of the Maltron L90 keyboard. of the Maltron L90 keyboard.
config HID_MAYFLASH config HID_MAYFLASH
tristate "Mayflash game controller adapter force feedback" tristate "Mayflash game controller adapter force feedback"
depends on HID
select INPUT_FF_MEMLESS select INPUT_FF_MEMLESS
help help
Say Y here if you have HJZ Mayflash PS3 game controller adapters Say Y here if you have HJZ Mayflash PS3 game controller adapters
@ -707,14 +667,12 @@ config HID_MEGAWORLD_FF
config HID_REDRAGON config HID_REDRAGON
tristate "Redragon keyboards" tristate "Redragon keyboards"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Redragon keyboards that need fix-ups to work properly. Support for Redragon keyboards that need fix-ups to work properly.
config HID_MICROSOFT config HID_MICROSOFT
tristate "Microsoft non-fully HID-compliant devices" tristate "Microsoft non-fully HID-compliant devices"
depends on HID
default !EXPERT default !EXPERT
select INPUT_FF_MEMLESS select INPUT_FF_MEMLESS
help help
@ -722,14 +680,12 @@ config HID_MICROSOFT
config HID_MONTEREY config HID_MONTEREY
tristate "Monterey Genius KB29E keyboard" tristate "Monterey Genius KB29E keyboard"
depends on HID
default !EXPERT default !EXPERT
help help
Support for Monterey Genius KB29E. Support for Monterey Genius KB29E.
config HID_MULTITOUCH config HID_MULTITOUCH
tristate "HID Multitouch panels" tristate "HID Multitouch panels"
depends on HID
help help
Generic support for HID multitouch panels. Generic support for HID multitouch panels.
@ -775,7 +731,6 @@ config HID_MULTITOUCH
config HID_NINTENDO config HID_NINTENDO
tristate "Nintendo Joy-Con and Pro Controller support" tristate "Nintendo Joy-Con and Pro Controller support"
depends on HID
depends on NEW_LEDS depends on NEW_LEDS
depends on LEDS_CLASS depends on LEDS_CLASS
select POWER_SUPPLY select POWER_SUPPLY
@ -811,7 +766,6 @@ config HID_NTRIG
config HID_ORTEK config HID_ORTEK
tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad" tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
depends on HID
help help
There are certain devices which have LogicalMaximum wrong in the keyboard There are certain devices which have LogicalMaximum wrong in the keyboard
usage page of their report descriptor. The most prevailing ones so far usage page of their report descriptor. The most prevailing ones so far
@ -824,7 +778,6 @@ config HID_ORTEK
config HID_PANTHERLORD config HID_PANTHERLORD
tristate "Pantherlord/GreenAsia game controller" tristate "Pantherlord/GreenAsia game controller"
depends on HID
help help
Say Y here if you have a PantherLord/GreenAsia based game controller Say Y here if you have a PantherLord/GreenAsia based game controller
or adapter. or adapter.
@ -850,13 +803,11 @@ config HID_PENMOUNT
config HID_PETALYNX config HID_PETALYNX
tristate "Petalynx Maxter remote control" tristate "Petalynx Maxter remote control"
depends on HID
help help
Support for Petalynx Maxter remote control. Support for Petalynx Maxter remote control.
config HID_PICOLCD config HID_PICOLCD
tristate "PicoLCD (graphic version)" tristate "PicoLCD (graphic version)"
depends on HID
help help
This provides support for Minibox PicoLCD devices, currently This provides support for Minibox PicoLCD devices, currently
only the graphical ones are supported. only the graphical ones are supported.
@ -922,7 +873,6 @@ config HID_PICOLCD_CIR
config HID_PLANTRONICS config HID_PLANTRONICS
tristate "Plantronics USB HID Driver" tristate "Plantronics USB HID Driver"
depends on HID
help help
Provides HID support for Plantronics USB audio devices. Provides HID support for Plantronics USB audio devices.
Correctly maps vendor unique volume up/down HID usages to Correctly maps vendor unique volume up/down HID usages to
@ -933,7 +883,6 @@ config HID_PLANTRONICS
config HID_PLAYSTATION config HID_PLAYSTATION
tristate "PlayStation HID Driver" tristate "PlayStation HID Driver"
depends on HID
depends on LEDS_CLASS_MULTICOLOR depends on LEDS_CLASS_MULTICOLOR
select CRC32 select CRC32
select POWER_SUPPLY select POWER_SUPPLY
@ -952,14 +901,12 @@ config PLAYSTATION_FF
config HID_RAZER config HID_RAZER
tristate "Razer non-fully HID-compliant devices" tristate "Razer non-fully HID-compliant devices"
depends on HID
help help
Support for Razer devices that are not fully compliant with the Support for Razer devices that are not fully compliant with the
HID standard. HID standard.
config HID_PRIMAX config HID_PRIMAX
tristate "Primax non-fully HID-compliant devices" tristate "Primax non-fully HID-compliant devices"
depends on HID
help help
Support for Primax devices that are not fully compliant with the Support for Primax devices that are not fully compliant with the
HID standard. HID standard.
@ -981,7 +928,6 @@ config HID_ROCCAT
config HID_SAITEK config HID_SAITEK
tristate "Saitek (Mad Catz) non-fully HID-compliant devices" tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
depends on HID
help help
Support for Saitek devices that are not fully compliant with the Support for Saitek devices that are not fully compliant with the
HID standard. HID standard.
@ -999,7 +945,6 @@ config HID_SAMSUNG
config HID_SEMITEK config HID_SEMITEK
tristate "Semitek USB keyboards" tristate "Semitek USB keyboards"
depends on HID
help help
Support for Semitek USB keyboards that are not fully compliant Support for Semitek USB keyboards that are not fully compliant
with the HID standard. with the HID standard.
@ -1050,13 +995,11 @@ config SONY_FF
config HID_SPEEDLINK config HID_SPEEDLINK
tristate "Speedlink VAD Cezanne mouse support" tristate "Speedlink VAD Cezanne mouse support"
depends on HID
help help
Support for Speedlink Vicious and Divine Cezanne mouse. Support for Speedlink Vicious and Divine Cezanne mouse.
config HID_STEAM config HID_STEAM
tristate "Steam Controller support" tristate "Steam Controller support"
depends on HID
select POWER_SUPPLY select POWER_SUPPLY
help help
Say Y here if you have a Steam Controller if you want to use it Say Y here if you have a Steam Controller if you want to use it
@ -1065,19 +1008,16 @@ config HID_STEAM
config HID_STEELSERIES config HID_STEELSERIES
tristate "Steelseries SRW-S1 steering wheel support" tristate "Steelseries SRW-S1 steering wheel support"
depends on HID
help help
Support for Steelseries SRW-S1 steering wheel Support for Steelseries SRW-S1 steering wheel
config HID_SUNPLUS config HID_SUNPLUS
tristate "Sunplus wireless desktop" tristate "Sunplus wireless desktop"
depends on HID
help help
Support for Sunplus wireless desktop. Support for Sunplus wireless desktop.
config HID_RMI config HID_RMI
tristate "Synaptics RMI4 device support" tristate "Synaptics RMI4 device support"
depends on HID
select RMI4_CORE select RMI4_CORE
select RMI4_F03 select RMI4_F03
select RMI4_F11 select RMI4_F11
@ -1090,7 +1030,6 @@ config HID_RMI
config HID_GREENASIA config HID_GREENASIA
tristate "GreenAsia (Product ID 0x12) game controller support" tristate "GreenAsia (Product ID 0x12) game controller support"
depends on HID
help help
Say Y here if you have a GreenAsia (Product ID 0x12) based game Say Y here if you have a GreenAsia (Product ID 0x12) based game
controller or adapter. controller or adapter.
@ -1112,7 +1051,6 @@ config HID_HYPERV_MOUSE
config HID_SMARTJOYPLUS config HID_SMARTJOYPLUS
tristate "SmartJoy PLUS PS2/USB adapter support" tristate "SmartJoy PLUS PS2/USB adapter support"
depends on HID
help help
Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box, Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro. Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
@ -1130,20 +1068,17 @@ config SMARTJOYPLUS_FF
config HID_TIVO config HID_TIVO
tristate "TiVo Slide Bluetooth remote control support" tristate "TiVo Slide Bluetooth remote control support"
depends on HID
help help
Say Y if you have a TiVo Slide Bluetooth remote control. Say Y if you have a TiVo Slide Bluetooth remote control.
config HID_TOPSEED config HID_TOPSEED
tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support" tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
depends on HID
help help
Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
CLLRCMCE remote control. CLLRCMCE remote control.
config HID_THINGM config HID_THINGM
tristate "ThingM blink(1) USB RGB LED" tristate "ThingM blink(1) USB RGB LED"
depends on HID
depends on LEDS_CLASS depends on LEDS_CLASS
select HID_LED select HID_LED
help help
@ -1170,7 +1105,6 @@ config THRUSTMASTER_FF
config HID_UDRAW_PS3 config HID_UDRAW_PS3
tristate "THQ PS3 uDraw tablet" tristate "THQ PS3 uDraw tablet"
depends on HID
help help
Say Y here if you want to use the THQ uDraw gaming tablet for Say Y here if you want to use the THQ uDraw gaming tablet for
the PS3. the PS3.
@ -1207,7 +1141,6 @@ config HID_WACOM
config HID_WIIMOTE config HID_WIIMOTE
tristate "Nintendo Wii / Wii U peripherals" tristate "Nintendo Wii / Wii U peripherals"
depends on HID
depends on LEDS_CLASS depends on LEDS_CLASS
select POWER_SUPPLY select POWER_SUPPLY
select INPUT_FF_MEMLESS select INPUT_FF_MEMLESS
@ -1232,7 +1165,6 @@ config HID_WIIMOTE
config HID_XINMO config HID_XINMO
tristate "Xin-Mo non-fully compliant devices" tristate "Xin-Mo non-fully compliant devices"
depends on HID
help help
Support for Xin-Mo devices that are not fully compliant with the HID Support for Xin-Mo devices that are not fully compliant with the HID
standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here standard. Currently only supports the Xin-Mo Dual Arcade. Say Y here
@ -1240,7 +1172,6 @@ config HID_XINMO
config HID_ZEROPLUS config HID_ZEROPLUS
tristate "Zeroplus based game controller support" tristate "Zeroplus based game controller support"
depends on HID
help help
Say Y here if you have a Zeroplus based game controller. Say Y here if you have a Zeroplus based game controller.
@ -1254,13 +1185,12 @@ config ZEROPLUS_FF
config HID_ZYDACRON config HID_ZYDACRON
tristate "Zydacron remote control support" tristate "Zydacron remote control support"
depends on HID
help help
Support for Zydacron remote control. Support for Zydacron remote control.
config HID_SENSOR_HUB config HID_SENSOR_HUB
tristate "HID Sensors framework support" tristate "HID Sensors framework support"
depends on HID && HAS_IOMEM depends on HAS_IOMEM
select MFD_CORE select MFD_CORE
default n default n
help help
@ -1289,7 +1219,6 @@ config HID_SENSOR_CUSTOM_SENSOR
config HID_ALPS config HID_ALPS
tristate "Alps HID device support" tristate "Alps HID device support"
depends on HID
help help
Support for Alps I2C HID touchpads and StickPointer. Support for Alps I2C HID touchpads and StickPointer.
Say Y here if you have a Alps touchpads over i2c-hid or usbhid Say Y here if you have a Alps touchpads over i2c-hid or usbhid

View File

@ -55,7 +55,7 @@ MODULE_PARM_DESC(ignore_special_drivers, "Ignore any special drivers and handle
*/ */
struct hid_report *hid_register_report(struct hid_device *device, struct hid_report *hid_register_report(struct hid_device *device,
unsigned int type, unsigned int id, enum hid_report_type type, unsigned int id,
unsigned int application) unsigned int application)
{ {
struct hid_report_enum *report_enum = device->report_enum + type; struct hid_report_enum *report_enum = device->report_enum + type;
@ -967,7 +967,7 @@ static const char * const hid_report_names[] = {
* parsing. * parsing.
*/ */
struct hid_report *hid_validate_values(struct hid_device *hid, struct hid_report *hid_validate_values(struct hid_device *hid,
unsigned int type, unsigned int id, enum hid_report_type type, unsigned int id,
unsigned int field_index, unsigned int field_index,
unsigned int report_counts) unsigned int report_counts)
{ {
@ -1921,7 +1921,7 @@ static struct hid_report *hid_get_report(struct hid_report_enum *report_enum,
* DO NOT USE in hid drivers directly, but through hid_hw_request instead. * DO NOT USE in hid drivers directly, but through hid_hw_request instead.
*/ */
int __hid_request(struct hid_device *hid, struct hid_report *report, int __hid_request(struct hid_device *hid, struct hid_report *report,
int reqtype) enum hid_class_request reqtype)
{ {
char *buf; char *buf;
int ret; int ret;
@ -1954,8 +1954,8 @@ out:
} }
EXPORT_SYMBOL_GPL(__hid_request); EXPORT_SYMBOL_GPL(__hid_request);
int hid_report_raw_event(struct hid_device *hid, int type, u8 *data, u32 size, int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *data, u32 size,
int interrupt) int interrupt)
{ {
struct hid_report_enum *report_enum = hid->report_enum + type; struct hid_report_enum *report_enum = hid->report_enum + type;
struct hid_report *report; struct hid_report *report;
@ -2019,7 +2019,8 @@ EXPORT_SYMBOL_GPL(hid_report_raw_event);
* *
* This is data entry for lower layers. * This is data entry for lower layers.
*/ */
int hid_input_report(struct hid_device *hid, int type, u8 *data, u32 size, int interrupt) int hid_input_report(struct hid_device *hid, enum hid_report_type type, u8 *data, u32 size,
int interrupt)
{ {
struct hid_report_enum *report_enum; struct hid_report_enum *report_enum;
struct hid_driver *hdrv; struct hid_driver *hdrv;
@ -2352,7 +2353,7 @@ EXPORT_SYMBOL_GPL(hid_hw_close);
* @reqtype: hid request type * @reqtype: hid request type
*/ */
void hid_hw_request(struct hid_device *hdev, void hid_hw_request(struct hid_device *hdev,
struct hid_report *report, int reqtype) struct hid_report *report, enum hid_class_request reqtype)
{ {
if (hdev->ll_driver->request) if (hdev->ll_driver->request)
return hdev->ll_driver->request(hdev, report, reqtype); return hdev->ll_driver->request(hdev, report, reqtype);
@ -2377,7 +2378,7 @@ EXPORT_SYMBOL_GPL(hid_hw_request);
*/ */
int hid_hw_raw_request(struct hid_device *hdev, int hid_hw_raw_request(struct hid_device *hdev,
unsigned char reportnum, __u8 *buf, unsigned char reportnum, __u8 *buf,
size_t len, unsigned char rtype, int reqtype) size_t len, enum hid_report_type rtype, enum hid_class_request reqtype)
{ {
if (len < 1 || len > HID_MAX_BUFFER_SIZE || !buf) if (len < 1 || len > HID_MAX_BUFFER_SIZE || !buf)
return -EINVAL; return -EINVAL;
@ -2739,10 +2740,12 @@ int hid_add_device(struct hid_device *hdev)
hid_warn(hdev, "bad device descriptor (%d)\n", ret); hid_warn(hdev, "bad device descriptor (%d)\n", ret);
} }
hdev->id = atomic_inc_return(&id);
/* XXX hack, any other cleaner solution after the driver core /* XXX hack, any other cleaner solution after the driver core
* is converted to allow more than 20 bytes as the device name? */ * is converted to allow more than 20 bytes as the device name? */
dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus, dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
hdev->vendor, hdev->product, atomic_inc_return(&id)); hdev->vendor, hdev->product, hdev->id);
hid_debug_register(hdev, dev_name(&hdev->dev)); hid_debug_register(hdev, dev_name(&hdev->dev));
ret = device_add(&hdev->dev); ret = device_add(&hdev->dev);

View File

@ -256,7 +256,7 @@ static int steam_get_serial(struct steam_device *steam)
if (reply[0] != 0xae || reply[1] != 0x15 || reply[2] != 0x01) if (reply[0] != 0xae || reply[1] != 0x15 || reply[2] != 0x01)
return -EIO; return -EIO;
reply[3 + STEAM_SERIAL_LEN] = 0; reply[3 + STEAM_SERIAL_LEN] = 0;
strlcpy(steam->serial_no, reply + 3, sizeof(steam->serial_no)); strscpy(steam->serial_no, reply + 3, sizeof(steam->serial_no));
return 0; return 0;
} }
@ -524,7 +524,7 @@ static int steam_register(struct steam_device *steam)
*/ */
mutex_lock(&steam->mutex); mutex_lock(&steam->mutex);
if (steam_get_serial(steam) < 0) if (steam_get_serial(steam) < 0)
strlcpy(steam->serial_no, "XXXXXXXXXX", strscpy(steam->serial_no, "XXXXXXXXXX",
sizeof(steam->serial_no)); sizeof(steam->serial_no));
mutex_unlock(&steam->mutex); mutex_unlock(&steam->mutex);
@ -699,9 +699,9 @@ static struct hid_device *steam_create_client_hid(struct hid_device *hdev)
client_hdev->version = hdev->version; client_hdev->version = hdev->version;
client_hdev->type = hdev->type; client_hdev->type = hdev->type;
client_hdev->country = hdev->country; client_hdev->country = hdev->country;
strlcpy(client_hdev->name, hdev->name, strscpy(client_hdev->name, hdev->name,
sizeof(client_hdev->name)); sizeof(client_hdev->name));
strlcpy(client_hdev->phys, hdev->phys, strscpy(client_hdev->phys, hdev->phys,
sizeof(client_hdev->phys)); sizeof(client_hdev->phys));
/* /*
* Since we use the same device info than the real interface to * Since we use the same device info than the real interface to

View File

@ -1036,7 +1036,7 @@ int i2c_hid_core_probe(struct i2c_client *client, struct i2chid_ops *ops,
snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X",
client->name, (u16)hid->vendor, (u16)hid->product); client->name, (u16)hid->vendor, (u16)hid->product);
strlcpy(hid->phys, dev_name(&client->dev), sizeof(hid->phys)); strscpy(hid->phys, dev_name(&client->dev), sizeof(hid->phys));
ihid->quirks = i2c_hid_lookup_quirk(hid->vendor, hid->product); ihid->quirks = i2c_hid_lookup_quirk(hid->vendor, hid->product);

View File

@ -1381,7 +1381,7 @@ static int usbhid_probe(struct usb_interface *intf, const struct usb_device_id *
hid->type = HID_TYPE_USBNONE; hid->type = HID_TYPE_USBNONE;
if (dev->manufacturer) if (dev->manufacturer)
strlcpy(hid->name, dev->manufacturer, sizeof(hid->name)); strscpy(hid->name, dev->manufacturer, sizeof(hid->name));
if (dev->product) { if (dev->product) {
if (dev->manufacturer) if (dev->manufacturer)

View File

@ -294,7 +294,7 @@ static int usb_kbd_probe(struct usb_interface *iface,
spin_lock_init(&kbd->leds_lock); spin_lock_init(&kbd->leds_lock);
if (dev->manufacturer) if (dev->manufacturer)
strlcpy(kbd->name, dev->manufacturer, sizeof(kbd->name)); strscpy(kbd->name, dev->manufacturer, sizeof(kbd->name));
if (dev->product) { if (dev->product) {
if (dev->manufacturer) if (dev->manufacturer)

View File

@ -142,7 +142,7 @@ static int usb_mouse_probe(struct usb_interface *intf, const struct usb_device_i
mouse->dev = input_dev; mouse->dev = input_dev;
if (dev->manufacturer) if (dev->manufacturer)
strlcpy(mouse->name, dev->manufacturer, sizeof(mouse->name)); strscpy(mouse->name, dev->manufacturer, sizeof(mouse->name));
if (dev->product) { if (dev->product) {
if (dev->manufacturer) if (dev->manufacturer)

View File

@ -2226,7 +2226,7 @@ static void wacom_update_name(struct wacom *wacom, const char *suffix)
} else if (strstr(product_name, "Wacom") || } else if (strstr(product_name, "Wacom") ||
strstr(product_name, "wacom") || strstr(product_name, "wacom") ||
strstr(product_name, "WACOM")) { strstr(product_name, "WACOM")) {
strlcpy(name, product_name, sizeof(name)); strscpy(name, product_name, sizeof(name));
} else { } else {
snprintf(name, sizeof(name), "Wacom %s", product_name); snprintf(name, sizeof(name), "Wacom %s", product_name);
} }
@ -2244,7 +2244,7 @@ static void wacom_update_name(struct wacom *wacom, const char *suffix)
if (name[strlen(name)-1] == ' ') if (name[strlen(name)-1] == ' ')
name[strlen(name)-1] = '\0'; name[strlen(name)-1] = '\0';
} else { } else {
strlcpy(name, features->name, sizeof(name)); strscpy(name, features->name, sizeof(name));
} }
snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s", snprintf(wacom_wac->name, sizeof(wacom_wac->name), "%s%s",
@ -2509,7 +2509,7 @@ static void wacom_wireless_work(struct work_struct *work)
goto fail; goto fail;
} }
strlcpy(wacom_wac->name, wacom_wac1->name, strscpy(wacom_wac->name, wacom_wac1->name,
sizeof(wacom_wac->name)); sizeof(wacom_wac->name));
error = wacom_initialize_battery(wacom); error = wacom_initialize_battery(wacom);
if (error) if (error)

View File

@ -314,15 +314,6 @@ struct hid_item {
#define HID_BAT_ABSOLUTESTATEOFCHARGE 0x00850065 #define HID_BAT_ABSOLUTESTATEOFCHARGE 0x00850065
#define HID_VD_ASUS_CUSTOM_MEDIA_KEYS 0xff310076 #define HID_VD_ASUS_CUSTOM_MEDIA_KEYS 0xff310076
/*
* HID report types --- Ouch! HID spec says 1 2 3!
*/
#define HID_INPUT_REPORT 0
#define HID_OUTPUT_REPORT 1
#define HID_FEATURE_REPORT 2
#define HID_REPORT_TYPES 3
/* /*
* HID connect requests * HID connect requests
@ -509,7 +500,7 @@ struct hid_report {
struct list_head hidinput_list; struct list_head hidinput_list;
struct list_head field_entry_list; /* ordered list of input fields */ struct list_head field_entry_list; /* ordered list of input fields */
unsigned int id; /* id of this report */ unsigned int id; /* id of this report */
unsigned int type; /* report type */ enum hid_report_type type; /* report type */
unsigned int application; /* application usage for this report */ unsigned int application; /* application usage for this report */
struct hid_field *field[HID_MAX_FIELDS]; /* fields of the report */ struct hid_field *field[HID_MAX_FIELDS]; /* fields of the report */
struct hid_field_entry *field_entries; /* allocated memory of input field_entry */ struct hid_field_entry *field_entries; /* allocated memory of input field_entry */
@ -658,6 +649,8 @@ struct hid_device { /* device report descriptor */
struct list_head debug_list; struct list_head debug_list;
spinlock_t debug_list_lock; spinlock_t debug_list_lock;
wait_queue_head_t debug_wait; wait_queue_head_t debug_wait;
unsigned int id; /* system unique id */
}; };
#define to_hid_device(pdev) \ #define to_hid_device(pdev) \
@ -924,20 +917,21 @@ extern int hidinput_connect(struct hid_device *hid, unsigned int force);
extern void hidinput_disconnect(struct hid_device *); extern void hidinput_disconnect(struct hid_device *);
int hid_set_field(struct hid_field *, unsigned, __s32); int hid_set_field(struct hid_field *, unsigned, __s32);
int hid_input_report(struct hid_device *, int type, u8 *, u32, int); int hid_input_report(struct hid_device *hid, enum hid_report_type type, u8 *data, u32 size,
int interrupt);
struct hid_field *hidinput_get_led_field(struct hid_device *hid); struct hid_field *hidinput_get_led_field(struct hid_device *hid);
unsigned int hidinput_count_leds(struct hid_device *hid); unsigned int hidinput_count_leds(struct hid_device *hid);
__s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code); __s32 hidinput_calc_abs_res(const struct hid_field *field, __u16 code);
void hid_output_report(struct hid_report *report, __u8 *data); void hid_output_report(struct hid_report *report, __u8 *data);
int __hid_request(struct hid_device *hid, struct hid_report *rep, int reqtype); int __hid_request(struct hid_device *hid, struct hid_report *rep, enum hid_class_request reqtype);
u8 *hid_alloc_report_buf(struct hid_report *report, gfp_t flags); u8 *hid_alloc_report_buf(struct hid_report *report, gfp_t flags);
struct hid_device *hid_allocate_device(void); struct hid_device *hid_allocate_device(void);
struct hid_report *hid_register_report(struct hid_device *device, struct hid_report *hid_register_report(struct hid_device *device,
unsigned int type, unsigned int id, enum hid_report_type type, unsigned int id,
unsigned int application); unsigned int application);
int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size); int hid_parse_report(struct hid_device *hid, __u8 *start, unsigned size);
struct hid_report *hid_validate_values(struct hid_device *hid, struct hid_report *hid_validate_values(struct hid_device *hid,
unsigned int type, unsigned int id, enum hid_report_type type, unsigned int id,
unsigned int field_index, unsigned int field_index,
unsigned int report_counts); unsigned int report_counts);
@ -1106,10 +1100,11 @@ void hid_hw_stop(struct hid_device *hdev);
int __must_check hid_hw_open(struct hid_device *hdev); int __must_check hid_hw_open(struct hid_device *hdev);
void hid_hw_close(struct hid_device *hdev); void hid_hw_close(struct hid_device *hdev);
void hid_hw_request(struct hid_device *hdev, void hid_hw_request(struct hid_device *hdev,
struct hid_report *report, int reqtype); struct hid_report *report, enum hid_class_request reqtype);
int hid_hw_raw_request(struct hid_device *hdev, int hid_hw_raw_request(struct hid_device *hdev,
unsigned char reportnum, __u8 *buf, unsigned char reportnum, __u8 *buf,
size_t len, unsigned char rtype, int reqtype); size_t len, enum hid_report_type rtype,
enum hid_class_request reqtype);
int hid_hw_output_report(struct hid_device *hdev, __u8 *buf, size_t len); int hid_hw_output_report(struct hid_device *hdev, __u8 *buf, size_t len);
/** /**
@ -1137,7 +1132,7 @@ static inline int hid_hw_power(struct hid_device *hdev, int level)
* @reqtype: hid request type * @reqtype: hid request type
*/ */
static inline int hid_hw_idle(struct hid_device *hdev, int report, int idle, static inline int hid_hw_idle(struct hid_device *hdev, int report, int idle,
int reqtype) enum hid_class_request reqtype)
{ {
if (hdev->ll_driver->idle) if (hdev->ll_driver->idle)
return hdev->ll_driver->idle(hdev, report, idle, reqtype); return hdev->ll_driver->idle(hdev, report, idle, reqtype);
@ -1182,8 +1177,8 @@ static inline u32 hid_report_len(struct hid_report *report)
return DIV_ROUND_UP(report->size, 8) + (report->id > 0); return DIV_ROUND_UP(report->size, 8) + (report->id > 0);
} }
int hid_report_raw_event(struct hid_device *hid, int type, u8 *data, u32 size, int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *data, u32 size,
int interrupt); int interrupt);
/* HID quirks API */ /* HID quirks API */
unsigned long hid_lookup_quirk(const struct hid_device *hdev); unsigned long hid_lookup_quirk(const struct hid_device *hdev);

View File

@ -42,16 +42,30 @@
#define USB_INTERFACE_PROTOCOL_KEYBOARD 1 #define USB_INTERFACE_PROTOCOL_KEYBOARD 1
#define USB_INTERFACE_PROTOCOL_MOUSE 2 #define USB_INTERFACE_PROTOCOL_MOUSE 2
/*
* HID report types --- Ouch! HID spec says 1 2 3!
*/
enum hid_report_type {
HID_INPUT_REPORT = 0,
HID_OUTPUT_REPORT = 1,
HID_FEATURE_REPORT = 2,
HID_REPORT_TYPES,
};
/* /*
* HID class requests * HID class requests
*/ */
#define HID_REQ_GET_REPORT 0x01 enum hid_class_request {
#define HID_REQ_GET_IDLE 0x02 HID_REQ_GET_REPORT = 0x01,
#define HID_REQ_GET_PROTOCOL 0x03 HID_REQ_GET_IDLE = 0x02,
#define HID_REQ_SET_REPORT 0x09 HID_REQ_GET_PROTOCOL = 0x03,
#define HID_REQ_SET_IDLE 0x0A HID_REQ_SET_REPORT = 0x09,
#define HID_REQ_SET_PROTOCOL 0x0B HID_REQ_SET_IDLE = 0x0A,
HID_REQ_SET_PROTOCOL = 0x0B,
};
/* /*
* HID class descriptor types * HID class descriptor types