linux-sg2042/drivers/platform/x86
Vadim Pasternak 0b78b1c2f4 platform/x86: mlx-platform: Add IO access verification callbacks
Add definitions for hotplug device masks and events offsets, in order to
specify explicitly all hardware registers allowed for IO operations for
all the drivers sharing register map with mlx-platform.

Extend register map configuration with the sets of writable, readable and
volatile registers to allow verification prior to the access. It prevents
unexpected access to hardware registers by the drivers, sharing register
map with mlx-platform.

Extend register map configuration with cache type field in order to have
ability to cache hardware register value, where possible. Use simple flat
array type for register lookups, which is most suitable in case when the
number of the registers is not too large.

Add at the end of probing routine calls to regcache_mark_dirty and
regcache_sync in order to sync register cache with hardware values. The
first routine indicate that hardware registers value required sync, the
second performs sync.

Signed-off-by: Vadim Pasternak <vadimp@mellanox.com>
Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
2018-01-31 10:36:50 -08:00
..
Kconfig platform/x86: mlx-platform: Allow compilation for 32 bit arch 2018-01-31 10:36:50 -08:00
Makefile platform/x86: Move Mellanox platform hotplug driver to platform/mellanox 2018-01-31 10:36:48 -08:00
acer-wireless.c platform/x86: Add Acer Wireless Radio Control driver 2017-11-27 13:39:11 +02:00
acer-wmi.c platform/x86: acer-wmi: Using zero as first WMI instance number 2017-06-20 20:23:17 +03:00
acerhdf.c platform/x86: acerhdf: Add const to thermal_cooling_device_ops structure 2017-06-21 14:12:46 -07:00
alienware-wmi.c platform/x86: alienware-wmi: lightbar LED support for Dell Inspiron 5675 2017-11-27 13:39:11 +02:00
amilo-rfkill.c
apple-gmux.c Revert "apple-gmux: lock iGP IO to protect from vgaarb changes" 2018-01-31 10:35:35 -08:00
asus-laptop.c platform/x86: asus-laptop: remove sparse_keymap_free() calls 2017-03-14 22:58:02 -07:00
asus-nb-wmi.c platform/x86: asus-nb-wmi: Support ALS on the Zenbook UX430UQ 2017-11-27 13:39:11 +02:00
asus-wireless.c platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes 2017-12-11 16:31:07 -08:00
asus-wmi.c platform/x86: asus-wmi: Add lightbar led support 2017-09-27 00:26:54 -07:00
asus-wmi.h platform/x86: asus-wmi: try to set als by default 2017-04-28 21:52:24 +03:00
classmate-laptop.c classmate-laptop: Fix sparse warning (0 as NULL) 2015-02-07 12:12:00 -08:00
compal-laptop.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
dell-laptop.c platform/x86: dell-laptop: Add 2-in-1 devices to the DMI whitelist 2018-01-26 15:41:58 -08:00
dell-rbtn.c platform/x86: dell-rbtn: constify rfkill_ops structures 2017-06-13 11:00:21 -07:00
dell-rbtn.h dell-rbtn: Export notifier for other kernel modules 2015-06-10 22:04:11 -07:00
dell-smbios-smm.c platform/x86: dell-smbios-smm: test for WSMT 2017-11-03 16:33:59 -07:00
dell-smbios-wmi.c platform/x86: dell-smbios-wmi: Disable userspace interface if missing hotfix 2017-11-20 12:38:43 -08:00
dell-smbios.c platform/x86: dell-smbios: Correct notation for filtering 2018-01-29 20:44:15 +02:00
dell-smbios.h platform/x86: dell-smbios-wmi: introduce userspace interface 2017-11-03 16:34:00 -07:00
dell-smo8800.c platform/x86: dell-smo8800: remove redundant assignments to byte_data 2017-11-05 13:53:14 +02:00
dell-wmi-aio.c platform/x86: dell-wmi-aio: remove sparse_keymap_free() calls 2017-03-14 22:58:04 -07:00
dell-wmi-descriptor.c platform/x86: dell-smbios-wmi: Disable userspace interface if missing hotfix 2017-11-20 12:38:43 -08:00
dell-wmi-descriptor.h platform/x86: dell-smbios-wmi: Disable userspace interface if missing hotfix 2017-11-20 12:38:43 -08:00
dell-wmi-led.c platform/x86: dell-wmi-led: Adjust instance of wmi_evaluate_method calls to 0 2017-06-28 09:01:36 -07:00
dell-wmi.c platform/x86: dell-wmi: Add an event created by Dell Latitude 5495 2017-12-21 14:56:27 +02:00
eeepc-laptop.c platform/x86: eeepc-laptop: constify platform_attribute_group 2017-06-30 20:13:01 -07:00
eeepc-wmi.c eeepc-wmi: Use acpi_dev_found() 2016-04-09 03:12:58 +02:00
fujitsu-laptop.c platform/x86: fujitsu-laptop: Fix radio LED detection 2017-10-30 13:20:11 +02:00
fujitsu-tablet.c Input: use more descriptive KEY_ROTATE_DISPLAY instead of KEY_DIRECTION 2015-03-06 17:18:16 -08:00
gpd-pocket-fan.c platform/x86: GPD pocket fan: Stop work on suspend 2018-01-29 20:44:16 +02:00
hdaps.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
hp-wireless.c platform/x86: hp-wireless: reuse module_acpi_driver 2017-04-28 21:51:25 +03:00
hp-wmi.c platform/x86: hp-wmi: Fix tablet mode detection for convertibles 2017-11-05 13:53:14 +02:00
hp_accel.c platform/x86: hp_accel: Add quirk for HP ProBook 440 G4 2017-10-27 20:54:01 +03:00
ibm_rtl.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
ideapad-laptop.c platform/x86: ideapad-laptop: Add Y720-15IKB to no_hw_rfkill 2018-01-08 12:56:29 +02:00
intel-hid.c intel-hid: add a DMI quirk to support Wacom MobileStudio Pro 2017-12-11 16:43:38 -08:00
intel-rst.c
intel-smartconnect.c platform/x86: Use ACPI_FAILURE at appropriate places 2016-12-13 09:29:01 -08:00
intel-vbtn.c platform/x86: intel-vbtn: Simplify autorelease logic 2017-12-11 16:30:51 -08:00
intel-wmi-thunderbolt.c platform/x86: intel-wmi-thunderbolt: Silence error cases 2017-09-22 15:08:19 -07:00
intel_bxtwc_tmu.c platform/x86: intel_bxtwc_tmu: Remove first level IRQ unmask 2017-06-19 15:45:30 +01:00
intel_cht_int33fe.c platform/x86: intel_cht_int33fe: Update fusb302 type string, add properties 2017-11-03 13:52:28 +02:00
intel_chtdc_ti_pwrbtn.c platform/x86: Add support for Dollar Cove TI power button 2017-11-27 13:39:11 +02:00
intel_int0002_vgpio.c platform/x86: intel_int0002_vgpio: Remove IRQF_NO_THREAD irq flag 2017-11-27 13:39:11 +02:00
intel_ips.c platform/x86: intel_ips: Convert timers to use timer_setup() 2017-11-05 13:53:14 +02:00
intel_ips.h platform/x86: intel_ips: Remove FSF address from GPL notice 2017-10-08 21:07:15 +03:00
intel_menlow.c platform/x86: intel_menlow: Add const to thermal_cooling_device_ops structure 2017-06-21 14:13:10 -07:00
intel_mid_powerbtn.c platform/x86: intel_mid_powerbtn: make mid_pb_ddata const 2017-08-13 15:27:10 +03:00
intel_mid_thermal.c platform/x86: intel_mid_thermal: Fix module autoload 2017-02-03 14:04:53 +02:00
intel_oaktrail.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
intel_pmc_core.c platform/x86: intel_pmc_core: Convert to ICPU macro 2018-01-29 20:44:15 +02:00
intel_pmc_core.h platform/x86: intel_pmc_core: Substitute PCI with CPUID enumeration 2018-01-29 20:44:15 +02:00
intel_pmc_ipc.c platform/x86: intel_pmc_ipc: Add read64 API 2017-11-27 13:39:11 +02:00
intel_punit_ipc.c platform/x86: intel_punit_ipc: Fix resource ioremap warning 2017-11-05 13:53:14 +02:00
intel_scu_ipc.c platform/x86: intel_scu_ipc: make intel_scu_ipc_pdata_t const 2017-08-13 15:27:10 +03:00
intel_scu_ipcutil.c intel_scu_ipcutil: underflow in scu_reg_access() 2016-01-30 09:40:35 -08:00
intel_telemetry_core.c platform/x86: intel_telemetry: cleanup redundant headers 2017-10-23 20:01:52 +03:00
intel_telemetry_debugfs.c platform/x86: intel_telemetry: Remove redundancies 2017-11-27 13:39:11 +02:00
intel_telemetry_pltdrv.c platform/x86: intel_telemetry: Add needed inclusion 2017-10-27 19:18:43 +03:00
intel_turbo_max_3.c platform/x86: intel_turbo_max_3: Add Skylake platform 2017-10-27 20:54:01 +03:00
mlx-platform.c platform/x86: mlx-platform: Add IO access verification callbacks 2018-01-31 10:36:50 -08:00
msi-laptop.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
msi-wmi.c platform/x86: msi-wmi: remove unnecessary static in msi_wmi_notify() 2017-07-25 09:56:38 -07:00
mxm-wmi.c platform/x86: mxm-wmi: Evaluate wmi method with instance number 0x0 2017-08-13 15:55:05 +03:00
panasonic-laptop.c platform/x86: panasonic-laptop: constify attribute_group structures. 2017-07-11 09:22:53 -07:00
peaq-wmi.c platform/x86: peaq-wmi: Remove unnecessary checks from peaq_wmi_exit 2017-11-03 13:32:09 +02:00
pmc_atom.c platform/x86: pmc_atom: introduce DEFINE_SHOW_ATTRIBUTE() macro 2017-12-21 14:56:26 +02:00
pvpanic.c pvpanic: handle missing _STA correctly 2015-06-07 21:30:12 -07:00
samsung-laptop.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
samsung-q10.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
silead_dmi.c platform/x86: silead_dmi: Add Teclast X3 Plus tablet support 2018-01-25 14:29:58 -08:00
sony-laptop.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
surface3-wmi.c platform/x86: surface3-wmi: fix uninitialized symbol 2017-01-21 01:43:42 +02:00
surface3_button.c platform/x86: surface3_button: Propagate error from gpiod_count() 2017-03-16 21:52:12 +01:00
surfacepro3_button.c surfacepro3_button: Add a warning when switching to tablet mode 2016-05-27 11:47:53 -07:00
tc1100-wmi.c tc1100-wmi: fix build warning when CONFIG_PM not enabled 2016-01-19 17:35:47 -08:00
thinkpad_acpi.c platform/x86: thinkpad_acpi: suppress warning about palm detection 2018-01-24 08:39:06 +02:00
topstar-laptop.c platform/x86: topstar-laptop: Add new device id 2017-05-15 16:15:50 -07:00
toshiba-wmi.c dmi: Mark all struct dmi_system_id instances const 2017-09-14 11:59:30 +02:00
toshiba_acpi.c platform/x86: toshiba_acpi: drop assignment of iio_info.driver_module 2017-08-22 22:14:59 +01:00
toshiba_bluetooth.c platform/x86: toshiba_bluetooth: Decouple an error checking status code 2016-09-23 16:21:06 -07:00
toshiba_haps.c platform/x86: toshiba_haps: constify haps_attr_group 2017-06-28 09:01:37 -07:00
wmi-bmof.c platform/x86: wmi*: Add recent copyright statements 2017-06-13 11:00:18 -07:00
wmi.c platform/x86: wmi: Call acpi_wmi_init() later 2018-01-05 17:35:27 -08:00
xo1-rfkill.c
xo15-ebook.c