[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56C04D43.1040604@huawei.com>
Date: Sun, 14 Feb 2016 17:47:47 +0800
From: Jiang Qiu <qiujiang@...wei.com>
To: Andy Shevchenko <andy.shevchenko@...il.com>
CC: Mark Brown <broonie@...nel.org>,
linux-spi <linux-spi@...r.kernel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
<linuxarm@...wei.com>, <haifeng.wei@...wei.com>,
<charles.chenxin@...wei.com>
Subject: Re: [RFC PATCH] SPI/ACPI: DesignWare: Add ACPI support for Designware
SPI driver
Hi Andy,
Sorry for late relpy because Chinese new year holiday. See my replies below.
Best Regards
Jiang
在 2016/2/5 23:55, Andy Shevchenko 写道:
> On Fri, Feb 5, 2016 at 9:11 AM, qiujiang <qiujiang@...wei.com> wrote:
>> This patch added ACPI support for DesignWare SPI mmio driver. It
>> was based the corresponding DT driver and compatible for this two
>> way. This patch has been tested on Hisilicon D02 board. It relies
>> on the GPIO patchset.
> My comments below.
As Mark mentioned, I want to ask you how to use this spi-dw-mmio driver for
ACPI binding? Dose it need any other extra patchset?
>
>> @@ -84,8 +87,6 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
>> dws->num_cs = num_cs;
>>
>> if (pdev->dev.of_node) {
>> - int i;
>> -
>> for (i = 0; i < dws->num_cs; i++) {
>> int cs_gpio = of_get_named_gpio(pdev->dev.of_node,
>> "cs-gpios", i);
> It seems the driver was never validated with more than one chip select.
> Perhaps someone has to switch to use of_spi_register_master() here.
of_spi_register_master() will be executed in the spi_register_master(),
but it just saved the
cs_gpios to the spi_master and not used it any more.
>> @@ -104,6 +105,18 @@ static int dw_spi_mmio_probe(struct platform_device *pdev)
>> }
>> }
>>
>> + if (ACPI_COMPANION(&pdev->dev)) {
>> + for (i = 0; i < dws->num_cs; i++) {
>> + snprintf(propname, sizeof(propname), "cs%d", i);
>> + gpiod = devm_gpiod_get(&pdev->dev,
>> + propname, GPIOD_ASIS);
>> + if (IS_ERR(gpiod)) {
>> + dev_err(&pdev->dev, "Get gpio desc failed!\n");
>> + return PTR_ERR(gpiod);
>> + }
>> + }
>> + }
> Like Mark noticed there is also same issue. Do you indeed check the
> configuration with different chip select signals?
As a spi master driver, it seems that multi-chip select must be
supported, so this check is
necessary, I think.
>
Powered by blists - more mailing lists