Received: by 10.213.65.16 with SMTP id m16csp74594imf; Sun, 11 Mar 2018 16:13:45 -0700 (PDT) X-Google-Smtp-Source: AG47ELurOs7DLDPgt0JJ420Xza4lubWrwuEvZ9xR1/6uV/twVzrjDzi3aErtPUMr7KHdKznRXS0g X-Received: by 2002:a17:902:bc84:: with SMTP id bb4-v6mr6187437plb.317.1520810025200; Sun, 11 Mar 2018 16:13:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520810025; cv=none; d=google.com; s=arc-20160816; b=0mqRcgaUqBFwzCP14ltP6WtXD+NHIXj+rMRF7Nbwovkb5yHLMJRjIPbDokNOgiDoT6 /mlUTI31ABYof5vczJfCQvIJojBHWE5J/1wo88YsaD/gMtyJJ6XyvMXQhGI/j1frPoda DFzL0hBNDrGbMeUZVNR+S1KdHmCQE0GOjQ3OLTqbkuszxX7Kft3VEndA4bWAAEhzkk0t Ikkbur7aT1dvnTJi79VSbXkqMVpZ0HprJnHrc9OH0ujE3TSgOXYGJ7BK9kEfEqWl9Zir GiB7uDBeUTT8pF5f8x0dsuNtG3xHQUZWzuB3BYMEyP2LiPYA4AwfDALu+ClgzpGHl1gq +Bgg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature :arc-authentication-results; bh=KgXKqslSAerKlmla3v/prTpmfYtct3kQZY98rX0cV9k=; b=O8+bKOk/D20LNg/5BlUO4tPufQN9v+6dZl7GaX9T7Kzjtsc+UtdDn2yuD08ref4dx6 uNreAZeP+o3MBcZEixOQc8r55GcrAkRNANWvTAePpKQkH2t6aqI7AnJ0fRukCABBzvtn o7HLCFSkYH87YeGNSfAQi0+gzEX4Yk3PpE0wtCAvKAvUg6PEj2gkT6W/43s7Lw+oBv+E uXZkXiQ6DP3/h6xSvsm+BSz+kWd4lfUCRp6IAiHkFWH/l8WxhyiAMoYP5hFIPASGVyMN F4ti9vYeGQ7B9fkY8bP0tEadbG7sB7O9M4y5fysfeuMJBrrhiXlqKnOB+6rWA57ChR+d z8ug== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@valvesoftware.com header.s=mc20150811 header.b=GfxwHSc2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s10si4116121pgp.162.2018.03.11.16.13.30; Sun, 11 Mar 2018 16:13:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@valvesoftware.com header.s=mc20150811 header.b=GfxwHSc2; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932430AbeCKXMi (ORCPT + 99 others); Sun, 11 Mar 2018 19:12:38 -0400 Received: from us-smtp-delivery-172.mimecast.com ([216.205.24.172]:22593 "EHLO us-smtp-delivery-172.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932290AbeCKXMg (ORCPT ); Sun, 11 Mar 2018 19:12:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=valvesoftware.com; s=mc20150811; t=1520809954; h=from:subject:date:message-id:to:mime-version:content-type:content-transfer-encoding:in-reply-to:references; bh=KgXKqslSAerKlmla3v/prTpmfYtct3kQZY98rX0cV9k=; b=GfxwHSc2Lz4F423jnuouGVCJl8Wwx4teJ3ronh6WI9N1PGvG71x1KLetQDhP+yx0ujorjBZrsoJa6tXbduK7YJpx70mdMmz8Nh39Pjz3jWUMHsQz1VEGrrGMpbk7OfkGr3Umdgu7TXPLnESMnpBOoLghP/2JldSdDMnfjOTB9jE= Received: from smtp01.valvesoftware.com (smtp01.valvesoftware.com [208.64.203.181]) (Using TLS) by us-smtp-1.mimecast.com with ESMTP id us-mta-27-aE8x7ms4OGGzjFiPcT07zQ-1; Sun, 11 Mar 2018 19:12:33 -0400 Received: from [172.16.1.107] (helo=antispam.valvesoftware.com) by smtp01.valvesoftware.com with esmtp (Exim 4.86_2) (envelope-from ) id 1evAAA-00014a-NW; Sun, 11 Mar 2018 16:13:58 -0700 Received: from antispam.valvesoftware.com (127.0.0.1) id hkmru00171sd; Sun, 11 Mar 2018 16:12:32 -0700 (envelope-from ) Received: from exchange17.valvemail.org ([172.16.144.21]) by antispam.valvesoftware.com ([172.16.1.107]) (SonicWALL 8.3.2.6535 UNLICENSED) with ESMTP id 201803112312320020041; Sun, 11 Mar 2018 16:12:32 -0700 Received: from [172.18.9.62] (172.18.9.62) by exchange17.valvemail.org (172.16.144.21) with Microsoft SMTP Server (TLS) id 14.3.361.1; Sun, 11 Mar 2018 16:12:32 -0700 Subject: Re: [PATCH v5 0/4] new driver for Valve Steam Controller To: Rodrigo Rivas Costa , Jiri Kosina , Benjamin Tissoires , Cameron Gutman , =?UTF-8?Q?Cl=c3=a9ment_VUCHENER?= , , References: <20180311195842.5551-1-rodrigorivascosta@gmail.com> From: "Pierre-Loup A. Griffais" Message-ID: <99cb195e-589c-b3fc-1237-e1c8f557c51e@valvesoftware.com> Date: Sun, 11 Mar 2018 16:12:41 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180311195842.5551-1-rodrigorivascosta@gmail.com> Content-Language: en-US X-EXCLAIMER-MD-CONFIG: fe5cb8ea-1338-4c54-81e0-ad323678e037 X-Mlf-Version: 8.3.2.6535 X-Mlf-UniqueId: o201803112312320020041 X-MC-Unique: aE8x7ms4OGGzjFiPcT07zQ-1 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/11/2018 12:58 PM, Rodrigo Rivas Costa wrote: > This patchset implements a driver for Valve Steam Controller, based on a > reverse analysis by myself. >=20 > Sorry, I've been out of town for a few weeks and couldn't keep up with th= is... >=20 > @Pierre-Loup and @Cl=C3=A9ment, could you please have another look at thi= s and > check if it is worthy? Benjamin will not commit it without an express ACK= from > Valve. Of course he is right to be cautious, but I checked this driver wi= th > the Steam Client and all seems to go just fine. I think that there is a l= ot of > Linux out of the desktop that could use this driver and cannot use the St= eam > Client. Worst case scenario, this driver can now be blacklisted, but I ho= pe > that will not be needed. Hi Rodrigo, I think the approach you outlined earlier of only sending configuration=20 commands to the device when something is actively using the driver is=20 sane. I won't have the cycles to thoroughly check all the possible=20 interactions with the client in the near future, so in the interest of=20 not blocking development I'd say go for it. I'll try to get someone to=20 take the patchset for a spin soon. Thanks, - Pierre-Loup >=20 > For full reference, I'm adding a full changelog of this patchset. >=20 > Changes in v5: > * Fix license SPDX to GPL-2.0+. > * Minor stylistic changes (BIT(3) instead 0x08 and so on). >=20 > Changes in v4: > * Add command to check the wireless connection status on probe, without > waiting for a message (thanks to Cl=C3=A9ment Vuchener for the tip). > * Removed the error code on redundant connection/disconnection messages= . That > was harmless but polluted dmesg. > * Added buttons for touching the left-pad and right-pad. > * Fixed a misplaced #include from 2/4 to 1/4. >=20 > Changes in v3: > * Use RCU to do the dynamic connec/disconnect of wireless devices. > * Remove entries in hid-quirks.c as they are no longer needed. This all= ows > this module to be blacklisted without side effects. > * Do not bypass the virtual keyboard/mouse HID devices to avoid breakin= g > existing use cases (lizard mode). A user-space tool to do that is > linked. > * Fully separated axes for joystick and left-pad. As it happens. > * Add fuzz values for left/right pad axes, they are a little wiggly. >=20 > Changes in v2: > * Remove references to USB. Now the interesting interfaces are selected= by > looking for the ones with feature reports. > * Feature reports buffers are allocated with hid_alloc_report_buf(). > * Feature report length is checked, to avoid overflows in case of > corrupt/malicius USB devices. > * Resolution added to the ABS axes. > * A lot of minor cleanups. >=20 > Rodrigo Rivas Costa (4): > HID: add driver for Valve Steam Controller > HID: steam: add serial number information. > HID: steam: command to check wireless connection > HID: steam: add battery device. >=20 > drivers/hid/Kconfig | 8 + > drivers/hid/Makefile | 1 + > drivers/hid/hid-ids.h | 4 + > drivers/hid/hid-steam.c | 794 +++++++++++++++++++++++++++++++++++++++++= +++++++ > 4 files changed, 807 insertions(+) > create mode 100644 drivers/hid/hid-steam.c >=20