svn commit: r298274 - head/sys/dev/spibus

Juli Mallett juli at clockworksquid.com
Tue Apr 19 20:17:29 UTC 2016


Patrick Kelsey offered an mmcspi driver for FreeBSD, but nobody seemed
interested.  I know of one proprietary branch of FreeBSD using it.
You might poke him if you want to know how he dealt with this, and if
you want to commit his driver.

On Tue, Apr 19, 2016 at 10:12 AM, Ruslan Bukin
<ruslan.bukin at cl.cam.ac.uk> wrote:
> Why I added or why I reverted ?
> So once I started to work on generic MMC over SPI driver it was looking like
> MMC/SD device in harware requires to keep CS asserted during multiple transfers,
> but once I completed it is become clear hardware don't require that.
>
> Ruslan
>
> On Tue, Apr 19, 2016 at 09:40:23AM -0700, Adrian Chadd wrote:
>> Hm, why'd you do this? did you get it reviewed first?
>>
>> I'm about to write a kernel bitbang SPI driver that supports arbitrary
>> GPIOs, and I was thinking of fleshing this out somewhat.
>>
>>
>>
>> -adrian
>>
>>
>> On 19 April 2016 at 08:39, Ruslan Bukin <br at freebsd.org> wrote:
>> > Author: br
>> > Date: Tue Apr 19 15:39:46 2016
>> > New Revision: 298274
>> > URL: https://svnweb.freebsd.org/changeset/base/298274
>> >
>> > Log:
>> >   Revert r298268 (Add optional chip_select/deselect methods).
>> >   None of supported hardware do require that.
>> >
>> > Modified:
>> >   head/sys/dev/spibus/spibus.c
>> >   head/sys/dev/spibus/spibus_if.m
>> >
>> > Modified: head/sys/dev/spibus/spibus.c
>> > ==============================================================================
>> > --- head/sys/dev/spibus/spibus.c        Tue Apr 19 15:36:18 2016        (r298273)
>> > +++ head/sys/dev/spibus/spibus.c        Tue Apr 19 15:39:46 2016        (r298274)
>> > @@ -185,24 +185,9 @@ spibus_hinted_child(device_t bus, const
>> >  static int
>> >  spibus_transfer_impl(device_t dev, device_t child, struct spi_command *cmd)
>> >  {
>> > -
>> >         return (SPIBUS_TRANSFER(device_get_parent(dev), child, cmd));
>> >  }
>> >
>> > -static int
>> > -spibus_chip_select_impl(device_t dev, device_t child)
>> > -{
>> > -
>> > -       return (SPIBUS_CHIP_SELECT(device_get_parent(dev), child));
>> > -}
>> > -
>> > -static int
>> > -spibus_chip_deselect_impl(device_t dev, device_t child)
>> > -{
>> > -
>> > -       return (SPIBUS_CHIP_DESELECT(device_get_parent(dev), child));
>> > -}
>> > -
>> >  static device_method_t spibus_methods[] = {
>> >         /* Device interface */
>> >         DEVMETHOD(device_probe,         spibus_probe),
>> > @@ -223,8 +208,6 @@ static device_method_t spibus_methods[]
>> >
>> >         /* spibus interface */
>> >         DEVMETHOD(spibus_transfer,      spibus_transfer_impl),
>> > -       DEVMETHOD(spibus_chip_select,   spibus_chip_select_impl),
>> > -       DEVMETHOD(spibus_chip_deselect, spibus_chip_deselect_impl),
>> >
>> >         DEVMETHOD_END
>> >  };
>> >
>> > Modified: head/sys/dev/spibus/spibus_if.m
>> > ==============================================================================
>> > --- head/sys/dev/spibus/spibus_if.m     Tue Apr 19 15:36:18 2016        (r298273)
>> > +++ head/sys/dev/spibus/spibus_if.m     Tue Apr 19 15:39:46 2016        (r298274)
>> > @@ -39,19 +39,3 @@ METHOD int transfer {
>> >         device_t child;
>> >         struct spi_command *cmd;
>> >  };
>> > -
>> > -#
>> > -# Assert chip select
>> > -#
>> > -METHOD int chip_select {
>> > -       device_t dev;
>> > -       device_t child;
>> > -};
>> > -
>> > -#
>> > -# Deassert chip select
>> > -#
>> > -METHOD int chip_deselect {
>> > -       device_t dev;
>> > -       device_t child;
>> > -};
>> >
>>
>


More information about the svn-src-head mailing list