Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1246577

Re: [RFC][PATCH] spi: Setup the master controller driver before setting the chipselect

From Heiner Kallweit <hkallweit1@gmail.com>
Newsgroups linux.kernel
Subject Re: [RFC][PATCH] spi: Setup the master controller driver before setting the chipselect
Date 2015-10-14 13:50 +0200
Message-ID <qjsJc-5OD-33@gated-at.bofh.it> (permalink)
References <qiSw1-2oF-5@gated-at.bofh.it> <qiSw2-2oF-21@gated-at.bofh.it> <qjqR5-31B-41@gated-at.bofh.it> <qjs6t-52j-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wed, Oct 14, 2015 at 1:08 PM, Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> +Cc: Jarkko to see from spi-pxa2xx prospective
>
> On Wed, Oct 14, 2015 at 12:47 PM, Ivan T. Ivanov <iivanov.xz@gmail.com> wrote:
>> Adding Andy.
>>
>>
>>> On Oct 13, 2015, at 12:01 AM, Franklin S Cooper Jr <fcooper@ti.com> wrote:
>>>
>>> Some devices depend on the master controller driver setup function being
>>> called before calling any chipselect functions.
>>>
>>> Insure that this is done otherwise uninitialized structures may be
>>> accessed causing a kernel panic.
>
> As far as I understand my concern should be about spi-dw driver.
>
> So, I have just tested yesterday's linux-next with and without
> proposed patch. Works for me:
> Tested-by: Andy Shevchenko <andy.shevchenko@gmail.com>
>
>>>
>>> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
>>> ---
>>> drivers/spi/spi.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
>>> index 38006cc..9374d82 100644
>>> --- a/drivers/spi/spi.c
>>> +++ b/drivers/spi/spi.c
>>> @@ -2053,11 +2053,11 @@ int spi_setup(struct spi_device *spi)
>>>       if (!spi->max_speed_hz)
>>>               spi->max_speed_hz = spi->master->max_speed_hz;
>>>
>>> -     spi_set_cs(spi, false);
>>> -
>>>       if (spi->master->setup)
>>>               status = spi->master->setup(spi);
>>>
>>> +     spi_set_cs(spi, false);
>>> +
>>>       dev_dbg(&spi->dev, "setup mode %d, %s%s%s%s%u bits/w, %u Hz max --> %d\n",
>>>                       (int) (spi->mode & (SPI_CPOL | SPI_CPHA)),
>>>                       (spi->mode & SPI_CS_HIGH) ? "cs_high, " : "",
>>> --
>>> 2.6.1
>>>
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-spi" in
>>> the body of a message to majordomo@vger.kernel.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>
>
>
>
> --
> With Best Regards,
> Andy Shevchenko
> --
> To unsubscribe from this list: send the line "unsubscribe linux-spi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
The recent change to the bitbang driver leads to the the set_cs hook
of spi_master being set
now for all drivers using the bitbang layer. This hook is called also
from spi_setup and therefore
one possible side effect is issues with bitbang drivers implementing
the chipselect hook of
spi_bitbang with a dependency on the master being set up before.
The proposed patch looks good to me.
There should be no impact on drivers not using bitbang.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC] spi: Switch call order of spi master setup and spi_set_cs Franklin S Cooper Jr <fcooper@ti.com> - 2015-10-12 23:10 +0200
  [RFC][PATCH] spi: Setup the master controller driver before setting the chipselect Franklin S Cooper Jr <fcooper@ti.com> - 2015-10-12 23:10 +0200
    Re: [RFC][PATCH] spi: Setup the master controller driver before setting the chipselect "Ivan T. Ivanov" <iivanov.xz@gmail.com> - 2015-10-14 11:50 +0200
      Re: [RFC][PATCH] spi: Setup the master controller driver before  setting the chipselect Andy Shevchenko <andy.shevchenko@gmail.com> - 2015-10-14 13:10 +0200
        Re: [RFC][PATCH] spi: Setup the master controller driver before  setting the chipselect Heiner Kallweit <hkallweit1@gmail.com> - 2015-10-14 13:50 +0200
          Re: [RFC][PATCH] spi: Setup the master controller driver before  setting the chipselect "Franklin S Cooper Jr." <fcooper@ti.com> - 2015-10-15 23:00 +0200
  Re: [RFC] spi: Switch call order of spi master setup and spi_set_cs Mark Brown <broonie@kernel.org> - 2015-10-13 14:20 +0200
    Re: [RFC] spi: Switch call order of spi master setup and spi_set_cs "Franklin S Cooper Jr." <fcooper@ti.com> - 2015-10-13 16:10 +0200

csiph-web