From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751699AbdDAO7c (ORCPT ); Sat, 1 Apr 2017 10:59:32 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35912 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751479AbdDAO7b (ORCPT ); Sat, 1 Apr 2017 10:59:31 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com B0FA5C04B31E Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx07.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=hdegoede@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com B0FA5C04B31E Subject: Re: [PATCH] Revert "Input: bma150 - avoid binding to bma180 if IIO bma180 driver present" and "Input: bma150 - extend chip detection for bma180" To: "H. Nikolaus Schaller" , Dmitry Torokhov , Aniroop Mathur References: <631685e1205d8b1b45d61e57070310d89d535b74.1491057884.git.hns@goldelico.com> Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, letux-kernel@openphoenux.org From: Hans de Goede Message-ID: Date: Sat, 1 Apr 2017 16:59:26 +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: <631685e1205d8b1b45d61e57070310d89d535b74.1491057884.git.hns@goldelico.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.31]); Sat, 01 Apr 2017 14:59:30 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, On 01-04-17 16:44, H. Nikolaus Schaller wrote: > This reverts commit baf28d91e7b1 ("Input: bma150 - avoid binding to bma180 if IIO bma180 driver present") > and commit ef3714fdbc8d ("Input: bma150 - extend chip detection for bma180") > > Rationale: initially (2012) the GTA04 device using a bma180 chip simply refereced > the bma150 platform driver in its board file [1] which happened to work in all > scenarios that were tested. > > When conversion to DT started (2014), we needed to make the driver be still > recognised. Hence we introduced the compatibility to the bma180 chip in > Linux 3.15-rc5 [2] without further checks if it is really 100% compatible. This > worked flawlessly for years with the GTA04 device. > > Recently (2016), Hans de Goede pointed out that the chips are not as similar > as they appeared and the driver works with the bma180 for the GTA04 only > by good luck. He proposed to remove the bma180 support completely [3], but > we still did need it until we have a replacement. Thus, a condifional compile > was added. > > We have now developed a generic iio-input-bridge which works with any 2 or > 3 axis iio based accelerometer. It has been tested on GTA04 and Pyra and > works as expected. Therefore we can remove the bma180 support from this > driver completely. User-space API compatibility can be restored by using the > iio-input-bridge. > > Maybe it is time to convert the bma150 driver to iio as well and retire the > accelerometer input drivers completely but this is a different story and task. > > [1]: https://github.com/neilbrown/linux/blob/gta04/3.2.y/arch/arm/mach-omap2/board-omap3gta04.c#L976 > [2]: https://patchwork.kernel.org/patch/3961171/ > [3]: https://patchwork.kernel.org/patch/9325481/ > > Signed-off-by: H. Nikolaus Schaller Looks good to me: Reviewed-by: Hans de Goede Regards, Hans > --- > drivers/input/misc/bma150.c | 11 +---------- > 1 file changed, 1 insertion(+), 10 deletions(-) > > diff --git a/drivers/input/misc/bma150.c b/drivers/input/misc/bma150.c > index 1fa8537..1efcfdf 100644 > --- a/drivers/input/misc/bma150.c > +++ b/drivers/input/misc/bma150.c > @@ -70,7 +70,6 @@ > #define BMA150_CFG_5_REG 0x11 > > #define BMA150_CHIP_ID 2 > -#define BMA180_CHIP_ID 3 > #define BMA150_CHIP_ID_REG BMA150_DATA_0_REG > > #define BMA150_ACC_X_LSB_REG BMA150_DATA_2_REG > @@ -538,13 +537,8 @@ static int bma150_probe(struct i2c_client *client, > return -EIO; > } > > - /* > - * Note if the IIO CONFIG_BMA180 driver is enabled we want to fail > - * the probe for the bma180 as the iio driver is preferred. > - */ > chip_id = i2c_smbus_read_byte_data(client, BMA150_CHIP_ID_REG); > - if (chip_id != BMA150_CHIP_ID && > - (IS_ENABLED(CONFIG_BMA180) || chip_id != BMA180_CHIP_ID)) { > + if (chip_id != BMA150_CHIP_ID) { > dev_err(&client->dev, "BMA150 chip id error: %d\n", chip_id); > return -EINVAL; > } > @@ -648,9 +642,6 @@ static UNIVERSAL_DEV_PM_OPS(bma150_pm, bma150_suspend, bma150_resume, NULL); > > static const struct i2c_device_id bma150_id[] = { > { "bma150", 0 }, > -#if !IS_ENABLED(CONFIG_BMA180) > - { "bma180", 0 }, > -#endif > { "smb380", 0 }, > { "bma023", 0 }, > { } >