From patchwork Fri Jan 22 00:04:57 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mario Limonciello X-Patchwork-Id: 8085841 Return-Path: X-Original-To: patchwork-platform-driver-x86@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 2E7129FC36 for ; Fri, 22 Jan 2016 00:08:54 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 580AC20456 for ; Fri, 22 Jan 2016 00:08:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 1744E20459 for ; Fri, 22 Jan 2016 00:08:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751544AbcAVAIu (ORCPT ); Thu, 21 Jan 2016 19:08:50 -0500 Received: from ausxippc101.us.dell.com ([143.166.85.207]:49376 "EHLO ausxippc101.us.dell.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750878AbcAVAIp (ORCPT ); Thu, 21 Jan 2016 19:08:45 -0500 DomainKey-Signature: s=smtpout; d=dell.com; c=nofws; q=dns; h=X-LoopCount0:X-IronPort-AV:From:To:Cc:Subject:Date: Message-Id:X-Mailer:In-Reply-To:References; b=FZOFGc37K58ZirB04dQv4n/ZK6M/FwrTdINrGknKWO3Rx+VJe8VVoQxc THDhXbCGVeFodgcV5IGaAS4PxTJM1begLNoRPwNCziWm2jmoy21ErZpQA 6Zjw7RflvlqPhZ18aamdaN3uA3oFIEDZ4kMJOXnACQnWiW8iEtVXoiYC0 o=; DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=dell.com; i=@dell.com; q=dns/txt; s=smtpout; t=1453421325; x=1484957325; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=mkbSNExGPH/DCGqZbqVaWkRXDIxiVt9OlpSutGAueHA=; b=zGiTpqbPNkuTHckDp5UpMzhOZj3wG3CA7ByE7lge6UAb4LJKlAGUqFEz 3acXszBvIdS+EGN9XIkIRSKRggwToalmBZv5H07GAlVADhPILyzhsdWI7 igzfLF5Rdlohy5k6oYNOu39k8e7GYF/KDd3cdLo654PxB7er8CR+wdmmE U=; X-LoopCount0: from 10.209.151.17 X-IronPort-AV: E=Sophos;i="5.22,327,1449554400"; d="scan'208";a="756921060" From: Mario Limonciello To: dvhart@infradead.org Cc: LKML , platform-driver-x86@vger.kernel.org, Mario Limonciello Subject: [PATCH 1/4] Add support for new platform, X51-R3 Date: Thu, 21 Jan 2016 18:04:57 -0600 Message-Id: <1453421100-12984-2-git-send-email-mario_limonciello@dell.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1453421100-12984-1-git-send-email-mario_limonciello@dell.com> References: <1453421100-12984-1-git-send-email-mario_limonciello@dell.com> Sender: platform-driver-x86-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: platform-driver-x86@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,T_DKIM_INVALID,UNPARSEABLE_RELAY autolearn=unavailable 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 Signed-off-by: Mario Limonciello --- drivers/platform/x86/alienware-wmi.c | 44 ++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/drivers/platform/x86/alienware-wmi.c b/drivers/platform/x86/alienware-wmi.c index 1e1e594..dcd4f81 100644 --- a/drivers/platform/x86/alienware-wmi.c +++ b/drivers/platform/x86/alienware-wmi.c @@ -69,11 +69,16 @@ static struct quirk_entry quirk_unknown = { .hdmi_mux = 0, }; -static struct quirk_entry quirk_x51_family = { +static struct quirk_entry quirk_x51_r1_r2 = { .num_zones = 3, .hdmi_mux = 0. }; +static struct quirk_entry quirk_x51_r3 = { + .num_zones = 4, + .hdmi_mux = 0, +}; + static struct quirk_entry quirk_asm100 = { .num_zones = 2, .hdmi_mux = 1, @@ -88,12 +93,12 @@ static int __init dmi_matched(const struct dmi_system_id *dmi) static const struct dmi_system_id alienware_quirks[] __initconst = { { .callback = dmi_matched, - .ident = "Alienware X51 R1", + .ident = "Alienware X51 R3", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), - DMI_MATCH(DMI_PRODUCT_NAME, "Alienware X51"), + DMI_MATCH(DMI_PRODUCT_NAME, "Alienware X51 R3"), }, - .driver_data = &quirk_x51_family, + .driver_data = &quirk_x51_r3, }, { .callback = dmi_matched, @@ -102,17 +107,26 @@ static const struct dmi_system_id alienware_quirks[] __initconst = { DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), DMI_MATCH(DMI_PRODUCT_NAME, "Alienware X51 R2"), }, - .driver_data = &quirk_x51_family, + .driver_data = &quirk_x51_r1_r2, + }, + { + .callback = dmi_matched, + .ident = "Alienware X51 R1", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), + DMI_MATCH(DMI_PRODUCT_NAME, "Alienware X51"), + }, + .driver_data = &quirk_x51_r1_r2, }, { - .callback = dmi_matched, - .ident = "Alienware ASM100", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), - DMI_MATCH(DMI_PRODUCT_NAME, "ASM100"), - }, - .driver_data = &quirk_asm100, - }, + .callback = dmi_matched, + .ident = "Alienware ASM100", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Alienware"), + DMI_MATCH(DMI_PRODUCT_NAME, "ASM100"), + }, + .driver_data = &quirk_asm100, + }, {} }; @@ -477,7 +491,7 @@ static ssize_t show_hdmi_cable(struct device *dev, }; status = alienware_hdmi_command(&in_args, WMAX_METHOD_HDMI_CABLE, - (u32 *) &out_data); + (u32 *) & out_data); if (ACPI_SUCCESS(status)) { if (out_data == 0) return scnprintf(buf, PAGE_SIZE, @@ -500,7 +514,7 @@ static ssize_t show_hdmi_source(struct device *dev, }; status = alienware_hdmi_command(&in_args, WMAX_METHOD_HDMI_STATUS, - (u32 *) &out_data); + (u32 *) & out_data); if (ACPI_SUCCESS(status)) { if (out_data == 1)