From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753882AbcFPINT (ORCPT ); Thu, 16 Jun 2016 04:13:19 -0400 Received: from mga01.intel.com ([192.55.52.88]:55620 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751563AbcFPINO (ORCPT ); Thu, 16 Jun 2016 04:13:14 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,478,1459839600"; d="scan'208";a="122893233" Date: Thu, 16 Jun 2016 11:12:57 +0300 From: Mika Westerberg To: Crestez Dan Leonard Cc: linux-acpi@vger.kernel.org, "Rafael J. Wysocki" , Len Brown , linux-i2c@vger.kernel.org, Wolfram Sang , linux-spi@vger.kernel.org, Mark Brown , linux-kernel@vger.kernel.org, Octavian Purdila , Jarkko Nikula Subject: Re: [PATCH 3/3] acpi spi: Initialize modalias from of_compatible Message-ID: <20160616081257.GV1740@lahna.fi.intel.com> References: <40e5cbb0aa638c619fc7fe9f1dbfaa50e888c2ac.1466014238.git.leonard.crestez@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <40e5cbb0aa638c619fc7fe9f1dbfaa50e888c2ac.1466014238.git.leonard.crestez@intel.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 15, 2016 at 09:30:29PM +0300, Crestez Dan Leonard wrote: > When using devicetree spi_device.modalias is set to the compatible > string with the vendor prefix removed. For SPI devices described via > ACPI the i2c_board_info.type string is initialized by acpi_device_hid. > When using ACPI and DT ids this string ends up something like "PRP0001". > > Change acpi_register_spi_device to use the of_compatible property if > present. This makes it easier to instantiate spi drivers through ACPI > with DT ids. > > Signed-off-by: Crestez Dan Leonard > --- > drivers/spi/spi.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index 77e6e45..eef5ac2 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -1680,11 +1680,19 @@ static acpi_status acpi_spi_add_device(acpi_handle handle, u32 level, > return AE_OK; > } > > + if (adev->data.of_compatible) { > + ret = acpi_of_modalias(adev, spi->modalias, sizeof(spi->modalias)); > + if (ret) { > + spi_dev_put(spi); > + return AE_NOT_FOUND; > + } > + } else > + strlcpy(spi->modalias, acpi_device_hid(adev), sizeof(spi->modalias)); Same here, use {} in the else branch. > + > if (spi->irq < 0) > spi->irq = acpi_dev_gpio_irq_get(adev, 0); > > adev->power.flags.ignore_parent = true; > - strlcpy(spi->modalias, acpi_device_hid(adev), sizeof(spi->modalias)); > if (spi_add_device(spi)) { > adev->power.flags.ignore_parent = false; > dev_err(&master->dev, "failed to add SPI device %s from ACPI\n", > -- > 2.5.5