Commit Graph
79 Commits
Author SHA1 Message Date
Kostiantyn Kostiuk 4c4d1812a8 Add Windows 11 target
Update build scripts to use EWDK 11 21H2 for Win10 target
and EWDK 11 22H2 for Win11 target

Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-12-19 15:55:31 +02:00
Kostiantyn Kostiuk c165bd5498 Remove Win8.1 targets and build scripts
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-07 13:11:11 +01:00
Kostiantyn Kostiuk d39a39ca74 Remove Win8 targets and build scripts
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-07 13:11:11 +01:00
Kostiantyn Kostiuk f83561e272 Update installation notes part of INF
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-11-01 16:47:16 +01:00
Kostiantyn Kostiuk 6f35450f0a Add vioinput package to fix DVL build
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-04-30 11:42:01 +03:00
Kostiantyn Kostiuk bd200339ab vioinput: Fix targets
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2023-04-30 11:42:01 +03:00
Kostiantyn Kostiuk fcfa76ebce vioinput: Remove code for legacy OSes
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2022-01-08 21:51:18 +02:00
Kostiantyn Kostiuk 921db0c485 vioinput: Remove Windows 7 target
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-11-25 11:03:17 +02:00
Kostiantyn Kostiuk 71d00be480 vioinput: Fix arithmetic overflow (C26451) warnings
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-09-09 09:45:32 +03:00
Kostiantyn Kostiuk 34c5f63373 build: Copy DVL to solution install dir
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Kostiantyn Kostiuk 30bb639769 build: Copy DVL to install dir
Signed-off-by: Kostiantyn Kostiuk <[email protected]>
2021-08-30 17:10:24 +03:00
Viktor Prutyanov c3d2657def vioinput: replace ExAllocatePoolWithTag by ExAllocatePoolUninitialized
Signed-off-by: Viktor Prutyanov <[email protected]>
2021-08-30 17:10:24 +03:00
Ilya Rudakov e4da18e6bb build: Using a common driver cleanup script
Signed-off-by: Ilya Rudakov <[email protected]>
2021-08-30 17:10:24 +03:00
Colin Xu 661d827edb vioinput: Add touch contact width/height to HID tablet.
Expand the HID tablet report descriptor with touch contact width/height.
For those touch device doesn't report TOUCH_MAJOR/TOUCH_MINOR, report
the the minimum size with proper resolution.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu abf74b9afd vioinput: Add scan time to tablet report descriptor
If back end supports MSC_TIMESTAMP, add Scan Time (0x56) to tablet
report descriptor and covnert the time unit from us to 100 us.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu ca0caa22df vioinput: Add anonymous multi-touch support for HID tablet
Anonymous MT can re-use the common framework introduced by previous
identifiable MT support. The difference in anonymous MT and identifiable
MT is anonymous MT don't use ABS_MT_SLOT/ABS_MT_TRACKING_ID to indicate
new contact, instead SYN_MT_REPORT is used.

Similar issue as identifiable MT that receiving less position update
indicates some contact up, and the up status should be reported on the
source contact ID. Otherwise that contact remains down.

Since the anonymous MT doesn't differentiate each contact by ID, we
assign a fixed contact ID on report memory initialization and always use
the same slot by sequence received on SYN_MT_REPORT. To reduce the date
delivery overhead, the default max contact is set to
MT_DEFAULT_MAXCONTACT(10). Increase it if not enough but in most cases
ten fingers are enough for a touch screen in real world.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu 06a4c1abfc vioinput: Add identifiable multi-touch support for HID tablet
With the HID tablet report descriptor upgraded to multi-touch hybrid
mode, this patch add the identifiable multi-touch (MT) support.

There are two types of MT device: type A MT (anonymous contacts) and
type B MT (identifiable contacts). This patch implements the common
framework for both types and enables type B first. Type A will be
enabled later.

There are several cases that ST implementation doesn't cover:
- Press-n-hold which may trigger a right-click on Windows as a general
  usage. Current stylus only report contact status update on seeing
  EV_KEY/BTN_TOUCH. A press-n-hold won't send BTN_TOUCH on every frame
  thus it can't simulate press-n-hold behavior.
- Identifiable MT wont' use EV_KEY/BTN_TOUCH to notify status of each
  contact. Instead, a new ABS_MT_SLOT indicates the following data are
  for a new contact, and a non-negative ABS_MT_TRACKING_ID indicates a
  contact down while -1 denotes the contact up. Thus all contact data
  need to be cached first then check each for the correct down/up status
  before the actual reporting. If some contact up, the up status with
  exact same contact ID should also be reported. Otherwise the contact
  identified by that ID remains touch on screen without lifting.
- First touch may not first lift. Consider the case that contact 0,1,2
  down, then 1 up. The contact data are first saved in slot 0,1,2 on
  MT_SLOT, and the 3 slots are reported. At 1 up, only 2 slots need to
  be reported, 0 and 2. However they are not adjacent. This also
  requires saving all contact data somewhere and re-organize before the
  actual reporting.

To resolve above cases, introduce INPUT_CLASS_TABLET_TRACKING_ID to
track contact status and INPUT_CLASS_TABLET_SLOT for contact data
re-organize.

Seeing ABS_MT_SLOT or other ABS_MT events indicates we have a MT device,
and HID tablet will report the device as HID_USAGE_TOUCH_SCREEN /
HID_USAGE_DIGITIZER_FINGER. Otherwise fallback to ST devie as
HID_USAGE_DIGITIZER/HID_USAGE_DIGITIZER_STYLUS.

The other changes include adding and handling ABS_MT events.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu 77361aa288 vioinput: Add EventToCollectFunc() before delivering the actual report
On processing input event, vioinput will first check any pending dirty
queued event to report if receiving EV_SYN, then parsing all the events.
In some case like multi-touch, contact status in each report can only be
determined on seeing EV_SYN. However there is no place to do such check
in current implemenation.
Thus adding EventToCollectFunc() before completing the HID queue request
for tablet. HIDTabletEventToCollect() is empty until MT is enabled later.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu 679f9e8e23 vioinput: Handle IOCTL_HID_GET_FEATURE for tablet to report max contacts
Update tablet report descriptor by adding Contact Count Maximum (0x55)
in Digitizers Page (0x0D), so that multi-touch can report the actual
contact count once enabled. For current usage HID_USAGE_DIGITIZER, HID
subsystem won't query via HID_USAGE_DIGITIZER.
The GetFeatureFunc() can be also used for other class for feature report.
Currently only tablet will use it to report the maximum contacts.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Colin Xu 8f6554df08 vioinput: Change tablet report descriptor to hybrid mode
Use hybrid packet reporting mode so that HID tablet can deliver
either single touch or multiple touch data with less overhead.

The new HID tablet report layout:
+---------------+-+-+-+-+-+---------------+----------+------------+
| Byte Offset   |7|6|5|4|3|     2         |    1     |     0      |
+---------------+-+-+-+-+-+---------------+----------+------------+
| 0             |                    Report ID                    |
| i*7+1         |   Pad   | Barrel Switch | In-range | Tip Switch |
| i*7+[2,3]     |                    Contact ID                   |
| i*7+[4,5]     |                      x-axis                     |
| i*7+[6,7]     |                      y-axis                     |
| (i+1)*7+[1,7] |                   Contact i+1                   |
| (i+2)*7+[1,7] |                   Contact i+2                   |
| ...           |                                                 |
| (n-1)*7+[1,7] |                   Contact n-1                   |
| n*7+1         |                  Contact Count                  |
+---------------+-+-+-+-+-+------------+----------+---------------+
Total size in bytes: 1 + 7 * numContacts + 1

Also define INPUT_CLASS_TABLET_SLOT which casted from report memory,
so that expanding data of each contact or from single touch to
multi-touch is easier. Struct INPUT_CLASS_TABLET_SLOT{} should match
the HID layout defined.

Signed-off-by: Colin Xu <[email protected]>
2021-02-16 16:26:02 +02:00
Yuri Benditovich 13788aef60 vioinput: fix VirtIO printouts
They did not appear with ETW. Fixed.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:55:04 +01:00
Yuri Benditovich e6ca4eb543 wdf drivers: set common features in WDF VirtIO library
Before this commit each WDF driver called VirtIOWdfSetDriverFeatures
from its PrepareHardware WDF callback. Many drivers do not have any
specific needs for features but needed to make this call in order
just to set VIRTIO_F_VERSION_1 and VIRTIO_F_ANY_LAYOUT properly.
So, even when the  call VirtIOWdfSetDriverFeatures is optional in
general, it is mandatory to handle V1 devices.
Current commit moves ack for VIRTIO_F_VERSION_1 and VIRTIO_F_ANY_LAYOUT
features to WDF VirtIO library. If the driver does not call
VirtIOWdfSetDriverFeatures, these features are set properly at time of
queues' initialization. So, drivers need to make this call only if
they need to enable some type-spefific features or if they need to
disable some common features which WDF library handles automatically
(currently VIRTIO_F_VERSION_1, VIRTIO_F_ANY_LAYOUT).

Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:55:04 +01:00
Yuri Benditovich f10f740e04 vioinput: output also VirtIO logs as ETW events
Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:55:04 +01:00
Yuri Benditovich 80a41e2665 vioinput: use VirtIO WDF DMA API
Allocate 2 blocks of 4K. One will be sliced for input events
(8 bytes each, i.e. 512 events, when the queue size is usually 64).
Another one for sporadic output of keyboard reports, 16 bytes
allocated for each.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:55:04 +01:00
Yuri Benditovich 29ee1861bf vioinput: some absolute devices do not function at all
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/413

When logical limits of an absolute device are not default (0..0x7fff),
the device, redirected over input-host, does not function at all
in Windows. Addition of physical limits definition makes it function.
Note that this does not solve completely the problem of touchpads
especially ones that report absolute coordinates like mice do:
they require more effort to function correctly.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:30:04 +01:00
Yuri Benditovich 0102e5bf8d vioinput: fix problem with high resolution mouse
https://github.com/virtio-win/kvm-guest-drivers-windows/issues/385

High resultion mouse often provides values out of range (-127,+127).
Unfortunately the interface of vioinput does not provide any
information about logical limits of relative pointer.
So, let's keep the value inside the range.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-12-11 13:30:04 +01:00
Yuri Benditovich be2529d928 vioinput: Fix mistakes in commit 4c99427549
https://bugzilla.redhat.com/show_bug.cgi?id=1588425
The mentioned commit fixes the problem it was intended to fix
but contains 2 mistakes. The purpose of said commit was to allow
some relative non-XY axes (expecially REL_WHEEL) to be used with
absolute pointing devices (i.e. ABS_XY+REL_WHEEL).
Problem1: in case of combined device (ABS_XY+REL_XY+REL_WHEEL)
the change in the code causes absolute and relative axes to be
exposed in the same mouse device.
Windows HID stack rejects such devices, so the rule is to expose
absolute ABS_XY only if REL_XY are not present (as described in
commit 52e521d2e9). The mistake was in use of InputCfgDataHasBit
after DecodeNextBit on the same structure (DecodeNextBit clears
bits of interest in the bitmap and later InputCfgDataHasBit returns
unexpected result).
Problem2: for example in case of (REL_X+ABS_XY), the driver will
expose REL_X which is not planned (see also commit 52e521d2e9).
Current commit fixes both problems and still allows exposing
relative wheel with absolute axes.

Signed-off-by: Yuri Benditovich <[email protected]>
2019-06-04 13:56:06 +03:00
Yuri Benditovich 5d544898ab build: prepare vioinput for ARM64 build
Signed-off-by: Yuri Benditovich <[email protected]>
2019-04-23 16:40:12 +03:00
Gal Hammer cb822e36bf Fix LICENSE and source files license inconsistency.
virtio-win is released under the 3-clause BSD License. Make sure
both LICENSE and source files state that.

Reported-by: Darren Kenny
2019-01-31 15:06:33 +02:00
Yuri Benditovich 563cedc052 netkvm: solve problem building projects when higher WDK was installed
This commit is preparation for build with VS2017, which requires
WDK higher than 15063 to be installed.
When VS2015 and VS2017 coexist and VS2015 is used for drivers
build, but higher WDK(s) are also installed, the files under
"Windows Kits\10\build" are modified causing failure when build runs.
Current commit fixes it by importing Driver.Initial.props prior
to any other imported project. In order to ensure proper order of
importing projects, we remove direct importing of Visual studio
.props files and now each driver package project includes
only its own .props file and Tools\Driver.Common.props file,
which includes Visual Studio .props files and Driver.Initial.props
file in proper order.

Signed-off-by: Yuri Benditovich <[email protected]>
2018-11-09 23:23:31 +02:00
Sameeh Jubran 1efbe2ade9 Vioinput: Enable WPP tracing
Signed-off-by: Sameeh Jubran <[email protected]>
2018-03-24 22:47:57 +03:00
Sameeh Jubran 397649f1f2 Vioinput: WPP: Fix compilation errors
Signed-off-by: Sameeh Jubran <[email protected]>
2018-03-24 22:47:57 +03:00
Justin Gatzen 4c99427549 vioinput: Allow mouse wheels and other relative axes on tablets
All relative axes including mouse wheels are ignored whenever REL_X and
REL_Y inputs are missing, such as for virtio-tablet-pci devices. This
patch restores support for all relative axes in tablet mode.

Signed-off-by: Justin Gatzen <[email protected]>
2018-03-15 09:36:44 +02:00
Ilya Rudakov 02838d72da install: Add compatible id to .infs
When vendor uses its own subvendor id, the resulting driver
package will not formally be compatible with devices of RedHat and other
vendors, because of hardware ID changing in the .inf file. Using
Compatible ID provides compatibility between drivers of different vendors.
If several versions of the driver packages were found during installation,
configuration manager will select a package with a exactly matching
Hardware ID, it is important especially when driver was obtained
automatically from Windows Update.

Signed-off-by: Ilya Rudakov <[email protected]>
2018-01-22 13:41:32 +02:00
Ladi Prosek 143b5c3638 vioinput: Static analysis: driver tweaks and fixes
Static analysis was failing with:

hidpassthrough\hidpassthrough.c(109): warning C28169: The dispatch function 'HidPassthroughDispatchIoctl' does not have any _Dispatch_type_ annotations:  This can be corrected by adding appropriate _Dispatch_type_ annotations to the function. Unnecessary casts can cause this warning.

sys\device.c(271): warning C28170: The function 'VIOInputCreateChildPdo' has been declared to be in a paged segment, but neither PAGED_CODE nor PAGED_CODE_LOCKED was found:  This warning is not emitted for functions that are __forceinline.
sys\driver.c(88): warning C28208: Function VIOInputEvtDriverContextCleanup was previously defined with a different parameter list at c:\kvm-guest-drivers-windows\vioinput\sys\driver.c(38). Some analysis tools will yield incorrect results.
sys\driver.c(91): warning C28118: The current function is permitted to run at an IRQ level above the maximum permitted for '__PREfastPagedCode' (1). Prior function calls or annotation are inconsistent with use of that function:  The current function may need _IRQL_requires_max_, or it may be that the limit is set by some prior call. Maximum legal IRQL was last set to 2 at line 90.
sys\hidkeyboard.c(162): warning C28625: Function call used to clear sensitive data will be optimized away.
sys\keymap.c(660): warning C6385: Reading invalid data from 'ReportCodeToUsageCodeTable':  the readable size is '2456' bytes, but 'uEventCode' bytes may be read.

Signed-off-by: Ladi Prosek <[email protected]>
2017-12-16 21:38:14 +02:00
Ladi Prosek 99caebe0d0 vioinput: Reset device before detaching unused buffers
The virtio-input driver has the same bug as virtio-serial, see
https://bugzilla.redhat.com/show_bug.cgi?id=1520352.

It's much harder to hit it with virtio-input because of its much lower
data rate and, to a smaller extend, also a smaller number of "receive"
buffers that can be pushed on the event queue (64 vs. 128 in virtio-
serial).

The fix here is simply to reset the device before touching the event
queue with virtqueue_detach_unused_buf() so it doesn't race with the
device processing it. With virtio 1.0, the reset is synchronous (the
driver waits for the reset to be acknowledged by the device) and
virtio-input is exposed as a virtio 1.0-only device.

Long-term it may be nicer to eliminate the virtqueue_detach_unused_buf()
API altogether and have the drivers track what's been pushed with a
simple linked list or similar.

Signed-off-by: Ladi Prosek <[email protected]>
2017-12-04 16:54:08 +01:00
Ladi Prosek fe860fc3bf vioinput: Remove all uses of bEnableInterruptSuppression
The field has no effect and will be removed.

Signed-off-by: Ladi Prosek <[email protected]>
2017-12-04 09:56:59 +01:00
Ladi Prosek 7c5c36a96b Introduce SUBSYSTEM_VENDOR_ID
It is important that all parties shipping virtio-win drivers use their
own vendor-specific HW ID to avoid driving somebody else's device.
This is especially critical for WHQL'ed drivers distributed with Windows
Update, as these could be installed without any explicit user action.

This commit introduces a new build-time variable SUBSYSTEM_VENDOR_ID
to be set by vendors in their respective Driver.$(_VENDOR_).props file.
The default value is 1AF4, exposed by VirtIO devices in upstream QEMU
and reserved by Red Hat.

Signed-off-by: Ladi Prosek <[email protected]>
2017-11-08 15:51:26 +02:00
Ladi Prosek 2ddc0c3481 build: Eliminate vendor.check.h
Now that the build system has proven stable, the check header is
no longer needed. Also lowering the importance of "Adding {0}=>{1}"
messages produced by the SubstituteFileContent task to Low to cut
down on verbosity.

Signed-off-by: Ladi Prosek <[email protected]>
2017-09-17 13:22:34 +02:00
Yan Vugenfirer b8f8cc073c BZ#1480139 - Switch to BSD license
The project is switching from GPL to BSD.

Signed-off-by: Yan Vugenfirer <[email protected]>
2017-08-14 10:59:48 +03:00
Ladi Prosek 3853cf804a vioinput: Switch to BSD license
The project is switching from GPL to BSD.

Signed-off-by: Ladi Prosek <[email protected]>
2017-08-08 11:28:16 +03:00
xuxi0513 a582ed09aa Fix incorrect condition for send led status
uPendingLedCode initial value is 0xFF, which means invalid code, and uShortPendingLedValue initial value is 0.
Using "uShortPendingLedValue != 0xFF" as condition to send kbd led status, it will send invalid code 0xFF and value 0 to backend.

Signed-off-by: xuxi0513 <[email protected]>
Signed-off-by: Yi Wang <[email protected]>
2017-07-17 10:54:34 +02:00
Ladi Prosek 52e521d2e9 vioinput: Mouse HID fixes
This commit contains fixes to the mouse HID report descriptor
building code to make the resulting descriptor compatible with
Windows.

* Axes, both relative and absolute, are exposed only if at
  least X and Y are present.

* Absolute axes are exposed only if relative ones are not.
  Windows does not seem to like the rel+abs combination.

* Unknown absolute axes are ignored. Previously they were
  exposed as the catch-all HID_USAGE_GENERIC_SLIDER usage but
  Windows does not seem to like it.

Signed-off-by: Ladi Prosek <[email protected]>
2017-05-09 11:38:30 +02:00
Ladi Prosek e36be0711e vioinput: Don't fail driver init if no input device was found
Before this commit the driver failed to load if it didn't create
a HID report descriptor for at least one device. The host evdev
device connected to the VM may be arbitrarily obscure and not being
able to drive it should not be an error condition.

In general, virtio-input is a best-effort driver. It ignores what
it doesn't understand, which includes ignoring everything if the
evdev device description doesn't make sense.

Signed-off-by: Ladi Prosek <[email protected]>
2017-05-09 11:38:30 +02:00
Ladi Prosek e69266f9cc vioinput: Fix build break with WDK 10.0.15063.0
The latest Win10 WDK added some more HID usage codes to hidusage.h
which broke the build.

  vioinput\sys\Hid.h(52): error C2220: warning treated as error - no 'object' file generated
  vioinput\sys\Hid.h(52): warning C4005: 'HID_USAGE_LED_SYSTEM_SUSPEND': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared\hidusage.h(440): note: see previous definition of 'HID_USAGE_LED_SYSTEM_SUSPEND'

  vioinput\sys\Hid.h(59): warning C4005: 'HID_USAGE_DIGITIZER_STYLUS': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared\hidusage.h(571): note: see previous definition of 'HID_USAGE_DIGITIZER_STYLUS'

  vioinput\sys\Hid.h(63): warning C4005: 'HID_USAGE_SIMULATION_BRAKE': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared\hidusage.h(184): note: see previous definition of 'HID_USAGE_SIMULATION_BRAKE'

  vioinput\sys\Hid.h(64): warning C4005: 'HID_USAGE_SIMULATION_STEERING': macro redefinition
  C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared\hidusage.h(187): note: see previous definition of 'HID_USAGE_SIMULATION_STEERING'
  Build FAILED.

This commit fixes it by surrounding the affected macros with ifdefs.

Signed-off-by: Ladi Prosek <[email protected]>
2017-05-02 06:35:55 +02:00
Ladi Prosek 2d16d1cf5b vioinput: Fix INF verification errors
The INF verification test in Win10 HLK 1703 started treating some
of the verification warnings as errors:

  Section [sourcedisksfiles] is defined multiple times.
  Empty DDInstall section will not install any drivers.

This commit fixes it by merging [sourcedisksfiles] sections into
one and adding a [CopyFiles_Child] section.

Signed-off-by: Ladi Prosek <[email protected]>
2017-05-02 06:35:55 +02:00
Sameeh Jubran ad7f6562c9 Add missing invokes to va_end macro
According to documentation the va_end macro should be invoked before
the function returns whenever va_start has been invoked from that
function.

This commit fixes errors reported by cppcheck tool.

Error sample:
[kvm-guest-drivers-windows/Balloon/sys/utils.c:60]: (error) va_list 'list'
was opened but not closed by va_end().

Signed-off-by: Sameeh Jubran <[email protected]>
2017-03-27 16:20:25 +03:00
Vadim Rozenfeld 87ef07e2fb Bug 1303510 - Change the copyright on all the Windows drivers to "2017" in virtio-win-prewhql build
(cherry-picked from commit a3a92176c31bb5e297f7919e02a652d1580f8b8d)
Signed-off-by: Ladi Prosek <[email protected]>
2017-03-23 10:04:55 +01:00
Ladi Prosek 5b139549fb Move {RHEL,VZ}_COPYRIGHT_STARTING_YEAR out of driver props files
Defines a new CopyrightStrings property which is then used in
vendor specific files to compose copyright strings. This way
a new vendor FOO will define their copyright string policy in
Driver.FOO.props
foo.ver
etc.

without touching driver props files.

Keeping vendor specific properties in their separate files makes
introducing a new vendor a purely additive process, without the
need to edit existing files. The vendor may even keep their files
"downstream only" if they choose so.

Signed-off-by: Ladi Prosek <[email protected]>
2017-03-16 15:33:10 +01:00
Alexey V. Kostyushko 4cd8cddf7f all: added support for multiple vendors (c) years
this patch sets COPYRIGHT_STARTING_YEAR in all .props

Signed-off-by: Alexey V. Kostyushko <[email protected]>
Signed-off-by: Denis V. Lunev <[email protected]>
2017-03-16 15:25:21 +01:00