From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753760AbdDDJzY (ORCPT ); Tue, 4 Apr 2017 05:55:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53566 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753163AbdDDJyo (ORCPT ); Tue, 4 Apr 2017 05:54:44 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 9788F80460 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 9788F80460 Subject: Re: [PATCH 2/2] platform/x86: silead_dmi - abort early if DMI does not match To: Dmitry Torokhov References: <20170404032514.31832-1-dmitry.torokhov@gmail.com> <20170404032514.31832-2-dmitry.torokhov@gmail.com> Cc: Darren Hart , Andy Shevchenko , platform-driver-x86@vger.kernel.org, linux-kernel@vger.kernel.org From: Hans de Goede Message-ID: <2290de15-f841-6815-969c-b80ffc77b01c@redhat.com> Date: Tue, 4 Apr 2017 11:54:41 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <20170404032514.31832-2-dmitry.torokhov@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Tue, 04 Apr 2017 09:54:43 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 04-04-17 05:25, Dmitry Torokhov wrote: > There is no point in registering I2C bus notifier if DMI data does not > match. > > Signed-off-by: Dmitry Torokhov Good idea, patch looks good to me: Reviewed-by: Hans de Goede Regards, Hans > --- > drivers/platform/x86/silead_dmi.c | 20 +++++++++++--------- > 1 file changed, 11 insertions(+), 9 deletions(-) > > diff --git a/drivers/platform/x86/silead_dmi.c b/drivers/platform/x86/silead_dmi.c > index 7f1049951d1c..0eeb49e51c43 100644 > --- a/drivers/platform/x86/silead_dmi.c > +++ b/drivers/platform/x86/silead_dmi.c > @@ -75,21 +75,16 @@ static const struct dmi_system_id silead_ts_dmi_table[] = { > { }, > }; > > +static const struct silead_ts_dmi_data *silead_ts_data; > + > static void silead_ts_dmi_add_props(struct i2c_client *client) > { > - const struct dmi_system_id *dmi_id; > - const struct silead_ts_dmi_data *ts_data; > int error; > > - dmi_id = dmi_first_match(silead_ts_dmi_table); > - if (!dmi_id) > - return; > - > - ts_data = dmi_id->driver_data; > if (has_acpi_companion(&client->dev) && > - !strncmp(ts_data->acpi_name, client->name, I2C_NAME_SIZE)) { > + !strncmp(silead_ts_data->acpi_name, client->name, I2C_NAME_SIZE)) { > error = device_add_properties(&client->dev, > - ts_data->properties); > + silead_ts_data->properties); > if (error) > dev_err(&client->dev, > "failed to add properties: %d\n", error); > @@ -122,8 +117,15 @@ static struct notifier_block silead_ts_dmi_notifier = { > > static int __init silead_ts_dmi_init(void) > { > + const struct dmi_system_id *dmi_id; > int error; > > + dmi_id = dmi_first_match(silead_ts_dmi_table); > + if (!dmi_id) > + return 0; /* Not an error */ > + > + silead_ts_data = dmi_id->driver_data; > + > error = bus_register_notifier(&i2c_bus_type, &silead_ts_dmi_notifier); > if (error) > pr_err("%s: failed to register i2c bus notifier: %d\n", >