From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753684AbdFPNWt (ORCPT ); Fri, 16 Jun 2017 09:22:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49726 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752812AbdFPNWs (ORCPT ); Fri, 16 Jun 2017 09:22:48 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 8484580465 Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx04.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=hdegoede@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 8484580465 Subject: Re: [PATCH 1/2] platform/x86: silead_dmi: Add touchscreen info for PoV mobii wintab p800w To: Andy Shevchenko , Darren Hart Cc: Andy Shevchenko , Platform Driver , "linux-kernel@vger.kernel.org" References: <20170615064832.4148-1-hdegoede@redhat.com> <20170615165311.GF22450@fury> From: Hans de Goede Message-ID: <7ea77786-beed-2bc5-9b93-4d2ee05a2d9c@redhat.com> Date: Fri, 16 Jun 2017 15:22:45 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 16 Jun 2017 13:22:47 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 16-06-17 14:44, Andy Shevchenko wrote: > On Thu, Jun 15, 2017 at 7:53 PM, Darren Hart wrote: >> On Thu, Jun 15, 2017 at 08:48:31AM +0200, Hans de Goede wrote: > >>> + /* Point of View mobii wintab p800w */ >>> + .driver_data = (void *)&pov_mobii_wintab_p800w_data, >>> + .matches = { >>> + DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), >>> + DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"), >>> + DMI_MATCH(DMI_BIOS_VERSION, "3BAIR1013"), >>> + /* Above matches are too generic, add bios-date match */ >>> + DMI_MATCH(DMI_BIOS_DATE, "08/22/2014"), >> >> This is the first time I've seen a BIOS date match used to determine hardware >> features. DMI matching is a (necessary) hack to begin with (the vendors should >> be providing this data via ACPI _DSD anyway) but a date match means we would >> need a kernel patch every time one of these tablets gets a BIOS update... >> >> With words like "Aptio CRB" it's clear the vendor isn't doing their job and just >> using unmodified reference code. The problem with this of course is that the >> vendor is not providing a way to identify this hardware. >> >> Andy, I'd appreciate your thoughts on this... I'm leaning towards not accepting >> bios date (or indeed, BIOS version) as a way to identify a platform. > > The question is what is the anticipated amount of affected devices > with BIOS date included and otherwise? I expect there to be collisions (false positive matches) without the BIOS_DATE check, a quick web-search finds other devices with a 3BAIR1013 bios version. Those don't necessarily also use a Silead touchscreen (which is needed for a collision to happen), but given the popularity of Silead touchscreens on cheap devices a collision is not unlikely. With the bios-date check added, I expect this match to be unique, for it to not be unique we would need to be really unlucky. > If Hans believes that there will be no update for some devices, Yeah I'm pretty sure this specific device will not see any BIOS updates ever. > while there are devices with the same DMI strings, but different date and > _fixed_ issue, I think we have no other choice for now. > Also can we use some other strings to distinguish group of devices > which are affected? bios_date: 08/22/2014 bios_vendor: American Megatrends Inc. bios_version: 3BAIR1013 board_asset_tag: To be filled by O.E.M. board_name: Aptio CRB board_serial: T80091A4C11B0848 board_vendor: AMI Corporation board_version: To be filled by O.E.M. chassis_asset_tag: To Be Filled By O.E.M. chassis_serial: To Be Filled By O.E.M. chassis_type: 3 chassis_vendor: To Be Filled By O.E.M. chassis_version: To Be Filled By O.E.M. product_name: To be filled by O.E.M. product_serial: To be filled by O.E.M. product_uuid: 03000200-0400-0500-0006-000700080009 product_version: To be filled by O.E.M. sys_vendor: To be filled by O.E.M. The product-uuid is a known example uuid, so is no good. The board_serial might be useful, but only if it is unique for the model and not per tablet. Unfortunately I only have 1 of these tablets, so I cannot tell. Regards, Hans