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

Ruslan Bukin ruslan.bukin at cl.cam.ac.uk
Tue Apr 19 17:27:54 UTC 2016


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