From patchwork Mon Aug 30 17:20:54 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chase Douglas X-Patchwork-Id: 142891 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id o7UHL5Eo022858 for ; Mon, 30 Aug 2010 17:21:05 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756022Ab0H3RVE (ORCPT ); Mon, 30 Aug 2010 13:21:04 -0400 Received: from adelie.canonical.com ([91.189.90.139]:57676 "EHLO adelie.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755536Ab0H3RVD (ORCPT ); Mon, 30 Aug 2010 13:21:03 -0400 Received: from hutte.canonical.com ([91.189.90.181]) by adelie.canonical.com with esmtp (Exim 4.69 #1 (Debian)) id 1Oq82Y-000730-1p for ; Mon, 30 Aug 2010 18:21:02 +0100 Received: from cpe-75-180-27-10.columbus.res.rr.com ([75.180.27.10] helo=canonical.com) by hutte.canonical.com with esmtpsa (TLS-1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.69) (envelope-from ) id 1Oq82X-0006Dh-LQ for linux-input@vger.kernel.org; Mon, 30 Aug 2010 18:21:02 +0100 From: Chase Douglas To: linux-input@vger.kernel.org Subject: [PATCH 2/6] HID: magicmouse: move features reports to static array Date: Mon, 30 Aug 2010 13:20:54 -0400 Message-Id: <1283188858-4839-2-git-send-email-chase.douglas@canonical.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1283188858-4839-1-git-send-email-chase.douglas@canonical.com> References: <1283188858-4839-1-git-send-email-chase.douglas@canonical.com> Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Mon, 30 Aug 2010 17:21:05 +0000 (UTC) diff --git a/drivers/hid/hid-magicmouse.c b/drivers/hid/hid-magicmouse.c index 2d8532d..d758061 100644 --- a/drivers/hid/hid-magicmouse.c +++ b/drivers/hid/hid-magicmouse.c @@ -377,14 +377,23 @@ static void magicmouse_setup_input(struct input_dev *input, struct hid_device *h } } +struct feature { + __u8 data[3]; + __u8 length; +}; + +static struct feature mouse_features[] = { + { { 0xd7, 0x01 }, 2 }, + { { 0xf8, 0x01, 0x32 }, 3 } +}; + static int magicmouse_probe(struct hid_device *hdev, const struct hid_device_id *id) { - __u8 feature_1[] = { 0xd7, 0x01 }; - __u8 feature_2[] = { 0xf8, 0x01, 0x32 }; struct input_dev *input; struct magicmouse_sc *msc; struct hid_report *report; + int i; int ret; msc = kzalloc(sizeof(*msc), GFP_KERNEL); @@ -419,19 +428,15 @@ static int magicmouse_probe(struct hid_device *hdev, } report->size = 6; - ret = hdev->hid_output_raw_report(hdev, feature_1, sizeof(feature_1), - HID_FEATURE_REPORT); - if (ret != sizeof(feature_1)) { - dev_err(&hdev->dev, "unable to request touch data (1:%d)\n", - ret); - goto err_stop_hw; - } - ret = hdev->hid_output_raw_report(hdev, feature_2, - sizeof(feature_2), HID_FEATURE_REPORT); - if (ret != sizeof(feature_2)) { - dev_err(&hdev->dev, "unable to request touch data (2:%d)\n", - ret); - goto err_stop_hw; + for (i = 0; i < ARRAY_SIZE(mouse_features); i++) { + ret = hdev->hid_output_raw_report(hdev, mouse_features[i].data, + mouse_features[i].length, HID_FEATURE_REPORT); + if (ret != mouse_features[i].length) { + dev_err(&hdev->dev, + "unable to request touch data (%d:%d)\n", + i, ret); + goto err_stop_hw; + } } input = input_allocate_device();