From patchwork Fri Jun 20 11:26:39 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Herrmann X-Patchwork-Id: 4388421 Return-Path: X-Original-To: patchwork-linux-input@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 50A929F314 for ; Fri, 20 Jun 2014 11:27:02 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 72BF8203B5 for ; Fri, 20 Jun 2014 11:27:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9403220397 for ; Fri, 20 Jun 2014 11:27:00 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966803AbaFTL07 (ORCPT ); Fri, 20 Jun 2014 07:26:59 -0400 Received: from mail-wg0-f45.google.com ([74.125.82.45]:33878 "EHLO mail-wg0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966744AbaFTL07 (ORCPT ); Fri, 20 Jun 2014 07:26:59 -0400 Received: by mail-wg0-f45.google.com with SMTP id l18so3642387wgh.16 for ; Fri, 20 Jun 2014 04:26:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=iw0w4vqMHNcXIHjhAFeFurrH0vmTd1vaM/+I9g98tiU=; b=IyFnr2hkL97gKVXGofD6xkYjTRgIPvXuaRW6I0uKNkk0pgs83aqHgwNW+W/gDaWjcC 6ZcviN+NputCm2ZUqXde7XTKa6X47UOhXmai/jdCwgVx2ss8Ns9OSq6Py+AZvqbop93/ CE98jM+vNnHSHG2JJQCc2L31ds1p8JUvocvFNg9j0FhVuZgrf97ubcipIkCvD+Z4gmq8 ez+py0f3+HtEWigxoMjVsaHYClFCxJp9xmX7BNKQbyjMWwRopn3sOMX0nI0OCKll7D5Z 8k+nTXyUvE2f0EtFrGWhBxipj3qA9jDtECodLz1FVfUkI979ZTEtGpWXC8N0U2H0ZTkq L6tw== X-Received: by 10.180.81.134 with SMTP id a6mr3459225wiy.19.1403263618186; Fri, 20 Jun 2014 04:26:58 -0700 (PDT) Received: from david-tp.localdomain (stgt-5f71a0b1.pool.mediaWays.net. [95.113.160.177]) by mx.google.com with ESMTPSA id m3sm3914370wik.7.2014.06.20.04.26.56 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 20 Jun 2014 04:26:57 -0700 (PDT) From: David Herrmann To: linux-input@vger.kernel.org Cc: Dmitry Torokhov , Peter Hutterer , Benjamin Tissoires , David Herrmann Subject: [PATCH v2 1/2] Input: uinput - add UI_GET_VERSION ioctl Date: Fri, 20 Jun 2014 13:26:39 +0200 Message-Id: <1403263600-24736-1-git-send-email-dh.herrmann@gmail.com> X-Mailer: git-send-email 2.0.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This ioctl is the counterpart to EVIOCGVERSION and returns the uinput-version the kernel was compiled with. Signed-off-by: David Herrmann --- drivers/input/misc/uinput.c | 6 ++++++ include/uapi/linux/uinput.h | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/drivers/input/misc/uinput.c b/drivers/input/misc/uinput.c index 615324c..a2a3895 100644 --- a/drivers/input/misc/uinput.c +++ b/drivers/input/misc/uinput.c @@ -722,6 +722,12 @@ static long uinput_ioctl_handler(struct file *file, unsigned int cmd, } switch (cmd) { + case UI_GET_VERSION: + if (put_user(UINPUT_VERSION, + (unsigned int __user*)p)) + retval = -EFAULT; + goto out; + case UI_DEV_CREATE: retval = uinput_create_device(udev); goto out; diff --git a/include/uapi/linux/uinput.h b/include/uapi/linux/uinput.h index 0389b48..19339cf 100644 --- a/include/uapi/linux/uinput.h +++ b/include/uapi/linux/uinput.h @@ -84,6 +84,15 @@ struct uinput_ff_erase { */ #define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 300, len) +/** + * UI_GET_VERSION - Return uinput version of the kernel + * + * This writes the kernel's uinput version into the integer pointed to by the + * ioctl argument. The uinput-version is hard-coded in the kernel and + * independent of the uinput device. + */ +#define UI_GET_VERSION _IOR(UINPUT_IOCTL_BASE, 301, unsigned int) + /* * To write a force-feedback-capable driver, the upload_effect * and erase_effect callbacks in input_dev must be implemented.