The NetBSD Project

CVS log for src/sys/dev/spi/spi.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev / spi

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.26 / (download) - annotate - [select for diffs], Tue May 17 05:05:20 2022 UTC (21 months, 2 weeks ago) by andvar
Branch: MAIN
CVS Tags: triaxx-drm, thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.25: +3 -3 lines
Diff to previous 1.25 (colored)

fix few typos in comments.

Revision 1.25 / (download) - annotate - [select for diffs], Sun May 8 06:38:58 2022 UTC (21 months, 4 weeks ago) by skrll
Branch: MAIN
Changes since 1.24: +3 -3 lines
Diff to previous 1.24 (colored)

Trailing whitespace

Revision 1.24 / (download) - annotate - [select for diffs], Mon Mar 28 11:09:24 2022 UTC (23 months, 1 week ago) by mlelstv
Branch: MAIN
Changes since 1.23: +3 -3 lines
Diff to previous 1.23 (colored)

Fix sanity check for zero sized buffer.

Revision 1.23 / (download) - annotate - [select for diffs], Wed Jan 19 13:33:11 2022 UTC (2 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.22: +10 -2 lines
Diff to previous 1.22 (colored)

Provide a spi_compatible_lookup() function to go along with
spi_compatible_match().

Revision 1.22 / (download) - annotate - [select for diffs], Wed Jan 19 12:58:06 2022 UTC (2 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.21: +6 -5 lines
Diff to previous 1.21 (colored)

Stash the device_t in spi_softc.

Revision 1.21 / (download) - annotate - [select for diffs], Wed Jan 19 09:30:11 2022 UTC (2 years, 1 month ago) by martin
Branch: MAIN
Changes since 1.20: +4 -3 lines
Diff to previous 1.20 (colored)

Try to fix the build.

Revision 1.20 / (download) - annotate - [select for diffs], Wed Jan 19 05:21:44 2022 UTC (2 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.19: +6 -3 lines
Diff to previous 1.19 (colored)

Pass the device_t into spi_configure(), and make the API contract that
spi_configure() will print errors if they occur; the driver is off the
hook.

Revision 1.19.2.2 / (download) - annotate - [select for diffs], Fri Sep 10 15:43:03 2021 UTC (2 years, 5 months ago) by thorpej
Branch: thorpej-i2c-spi-conf2
Changes since 1.19.2.1: +8 -4 lines
Diff to previous 1.19.2.1 (colored) to branchpoint 1.19 (colored) next main 1.20 (colored)

Record the attached child device_t in the spi_handle.

Revision 1.19.2.1 / (download) - annotate - [select for diffs], Mon Aug 9 00:30:09 2021 UTC (2 years, 6 months ago) by thorpej
Branch: thorpej-i2c-spi-conf2
Changes since 1.19: +139 -129 lines
Diff to previous 1.19 (colored)

Port over the changes from thorpej-i2c-spi-conf to thorpej-i2c-spi-conf2,
which is based on a newer HEAD revision.

Revision 1.19 / (download) - annotate - [select for diffs], Sat Aug 7 16:19:16 2021 UTC (2 years, 6 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base
Branch point for: thorpej-i2c-spi-conf2
Changes since 1.18: +5 -7 lines
Diff to previous 1.18 (colored)

Merge thorpej-cfargs2.

Revision 1.18.4.1 / (download) - annotate - [select for diffs], Wed Aug 4 23:24:59 2021 UTC (2 years, 7 months ago) by thorpej
Branch: thorpej-cfargs2
Changes since 1.18: +5 -7 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Adapt to CFARGS().

Revision 1.17.2.2 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:30 2021 UTC (2 years, 8 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.17.2.1: +9 -3 lines
Diff to previous 1.17.2.1 (colored) to branchpoint 1.17 (colored) next main 1.18 (colored)

Sync w/ HEAD.

Revision 1.17.4.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:19 2021 UTC (2 years, 9 months ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.17: +9 -3 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

sync with head

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Tue May 18 23:48:16 2021 UTC (2 years, 9 months ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.17: +141 -130 lines
Diff to previous 1.17 (colored)

Define a "spi-enumerate-devices" device call and use it for direct
configuration of SPI devices, rather than slinging arrays of dictionaries
around.  Implement this device call for OpenFirmware / FDT, following
the SPI bindings for Device Tree.

Revision 1.18 / (download) - annotate - [select for diffs], Sun May 16 08:48:20 2021 UTC (2 years, 9 months ago) by mlelstv
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Branch point for: thorpej-cfargs2
Changes since 1.17: +9 -3 lines
Diff to previous 1.17 (colored)

Protect ioctl and declare MPSAFE.

Revision 1.17 / (download) - annotate - [select for diffs], Sat Apr 24 23:36:59 2021 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
CVS Tags: cjep_staticlib_x-base
Branch point for: thorpej-i2c-spi-conf, cjep_staticlib_x
Changes since 1.16: +10 -8 lines
Diff to previous 1.16 (colored)

Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
  actually needed.
- Don't be explicit about what interface attribute is attaching if
  the device only has one.  (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
  situations, making is visibly easier to see when indirect config is
  in play, and allowing for future change in semantics.  (As of now,
  this is just a wrapper around config_match(), but that is an
  implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance.  This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).

Revision 1.16.2.8 / (download) - annotate - [select for diffs], Mon Apr 5 01:01:48 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.7: +3 -3 lines
Diff to previous 1.16.2.7 (colored) to branchpoint 1.16 (colored) next main 1.17 (colored)

Treat config_probe() as if it were a boolean function; don't compare
return value > 0... except for the odd balls, which are now really easy
to spot.

Revision 1.16.2.7 / (download) - annotate - [select for diffs], Mon Apr 5 00:48:55 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.6: +3 -3 lines
Diff to previous 1.16.2.6 (colored) to branchpoint 1.16 (colored)

config_match() -> config_probe() for the straight-forward indirect config
cases.  There are still a few odd balls using config_match() which should
be sorted out later.

Revision 1.16.2.6 / (download) - annotate - [select for diffs], Sun Apr 4 22:01:23 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.5: +3 -3 lines
Diff to previous 1.16.2.5 (colored) to branchpoint 1.16 (colored)

CFARG_SUBMATCH -> CFARG_SEARCH for the indirect configuration uses.

Revision 1.15.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:50 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored) next main 1.16 (colored)

Sync with HEAD.

Revision 1.16.2.5 / (download) - annotate - [select for diffs], Sat Apr 3 01:57:18 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.4: +3 -3 lines
Diff to previous 1.16.2.4 (colored) to branchpoint 1.16 (colored)

Give config_attach() the tagged variadic argument treatment and
mechanically convert all call sites.

Revision 1.16.2.4 / (download) - annotate - [select for diffs], Mon Mar 22 16:23:46 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.3: +2 -3 lines
Diff to previous 1.16.2.3 (colored) to branchpoint 1.16 (colored)

Audit CFARG_IATTR in config_found() calls, and remove it in situations
where the interface attribute is not ambiguous.

Revision 1.16.2.3 / (download) - annotate - [select for diffs], Mon Mar 22 02:01:01 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.2: +6 -5 lines
Diff to previous 1.16.2.2 (colored) to branchpoint 1.16 (colored)

Mechanical conversion of config_found_sm_loc() -> config_found().
CFARG_IATTR usage needs to be audited.

Revision 1.16.2.2 / (download) - annotate - [select for diffs], Sun Mar 21 17:35:49 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16.2.1: +2 -3 lines
Diff to previous 1.16.2.1 (colored) to branchpoint 1.16 (colored)

CFARG_IATTR usage audit:

If a device carries only one interface attribute, there is no need
to specify it when calling config_search(); that specification is
meant only to disambiguate which interface attribute (which is a
proxy for "what kind of attach args are being used") is having
children attached.  cfparent_match() will take care of ensuring that
any potential children can attach to one of the parent's iterface
attributes, and if the parent only carries one, no disambiguation is
necessary.

Revision 1.16.2.1 / (download) - annotate - [select for diffs], Sat Mar 20 19:33:41 2021 UTC (2 years, 11 months ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.16: +6 -3 lines
Diff to previous 1.16 (colored)

The proliferation if config_search_*() and config_found_*() combinations
is a little absurd, so begin to tidy this up:

- Introduce a new cfarg_t enumerated type, that defines the types of
  tag-value variadic arguments that can be passed to the various
  config_*() functions (CFARG_SUBMATCH, CFARG_IATTR, and CFARG_LOCATORS,
  for now, plus a CFARG_EOL sentinel).
- Collapse config_search_*() into config_search() that takes these
  variadic arguments.
- Convert all call sites of config_search_*() to the new signature.
  Noticed several incorrect usages along the way, which will be
  audited in a future commit.

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jan 18 15:28:21 2021 UTC (3 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: thorpej-futex-base, thorpej-cfargs-base
Branch point for: thorpej-cfargs
Changes since 1.15: +3 -3 lines
Diff to previous 1.15 (colored)

Change the device_compatible_match() function to only perform the match.
Introduce a device_compatible_lookup() function to return an entry based
on the same matching criteria (a'la of_search_compatible()).

Update iic_compatible_match() to reflect the above change, and introduce
iic_compatible_lookup().  This pattern is less awkward to use.

Revision 1.11.4.1 / (download) - annotate - [select for diffs], Tue Aug 11 19:13:43 2020 UTC (3 years, 6 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.11: +4 -4 lines
Diff to previous 1.11 (colored) next main 1.12 (colored)

Pull up following revision(s) (requested by 1043):

	sys/dev/spi/spivar.h: revision 1.10
	sys/arch/arm/broadcom/bcm2835_spi.c: revision 1.7
	sys/dev/spi/spi.c: revision 1.15

Use mutex for lwp/interrupt coordination. using splX() simply does not work
on multiprocessor systems.

fixes PR kern/55506

Revision 1.15 / (download) - annotate - [select for diffs], Tue Aug 4 13:20:45 2020 UTC (3 years, 7 months ago) by kardel
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.14: +4 -4 lines
Diff to previous 1.14 (colored)

Use mutex for lwp/interrupt coordination. using splX() simply does not work
on multiprocessor systems.

fixes PR kern/55506

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jun 11 02:39:30 2020 UTC (3 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

Update for proplib(3) API changes.

Revision 1.8.38.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:04:48 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.8.38.1: +120 -6 lines
Diff to previous 1.8.38.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.13 / (download) - annotate - [select for diffs], Wed Nov 27 07:26:08 2019 UTC (4 years, 3 months ago) by hkenken
Branch: MAIN
CVS Tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored)

Remove GPIO driver attach defer.

Revision 1.12 / (download) - annotate - [select for diffs], Tue Aug 13 16:37:15 2019 UTC (4 years, 6 months ago) by tnn
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.11: +118 -6 lines
Diff to previous 1.11 (colored)

spi: prepare for fdt direct attachment of spi slaves

Introduce sba_child_devices array in spibus_attach_args. If the parent has
populated sba_child_devices then attach them first. Then do any devices
devices the user has wired in the kernel config, if any.

Revision 1.8.38.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:07:32 2019 UTC (4 years, 8 months ago) by christos
Branch: phil-wifi
Changes since 1.8: +203 -28 lines
Diff to previous 1.8 (colored)

Sync with HEAD

Revision 1.11 / (download) - annotate - [select for diffs], Sat Mar 9 07:53:12 2019 UTC (4 years, 11 months ago) by mlelstv
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, isaki-audio2-base, isaki-audio2
Branch point for: netbsd-9
Changes since 1.10: +9 -4 lines
Diff to previous 1.10 (colored)

More input validation. Fix off-by-1 for size limit.

Revision 1.10 / (download) - annotate - [select for diffs], Sat Feb 23 10:43:25 2019 UTC (5 years ago) by mlelstv
Branch: MAIN
Changes since 1.9: +198 -28 lines
Diff to previous 1.9 (colored)

Add userland driver to spi framework.

Previously spi would configure the controller to use the lowest speed of
all connected devices since the kernel started and to fail attempted mode
changes. This is now improved to keep individual modes and speeds for each
slave and to reconfigure the controller as necessary for each transfer.

Added man page for spi(9).

Revision 1.8.36.1 / (download) - annotate - [select for diffs], Thu Sep 6 06:56:04 2018 UTC (5 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) next main 1.9 (colored)

Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)

Revision 1.9 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:33 2018 UTC (5 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Rename min/max -> uimin/uimax for better honesty.

These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)

Revision 1.6.2.2 / (download) - annotate - [select for diffs], Thu May 22 11:40:36 2014 UTC (9 years, 9 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.6.2.1: +3 -3 lines
Diff to previous 1.6.2.1 (colored) to branchpoint 1.6 (colored) next main 1.7 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.8.6.2 / (download) - annotate - [select for diffs], Wed May 15 13:52:19 2013 UTC (10 years, 9 months ago) by khorben
Branch: khorben-n900
Changes since 1.8.6.1: +4 -5 lines
Diff to previous 1.8.6.1 (colored) to branchpoint 1.8 (colored) next main 1.9 (colored)

Let the bus speed of SPI devices be specified within the kernel
configuration.

Revision 1.8.6.1 / (download) - annotate - [select for diffs], Fri May 10 01:25:07 2013 UTC (10 years, 9 months ago) by khorben
Branch: khorben-n900
Changes since 1.8: +3 -2 lines
Diff to previous 1.8 (colored)

Just like for the I2C and GPIO buses, added an interrupt locator to the SPI
bus, so that ARM device drivers on either of these buses (like on the Nokia
N900) can register and react on system interrupts. These interrupts are
typically triggered via GPIO pins.

XXX This change is not adequate because intr_establish() is a MD interface,
    so it will have to be re-designed before merging to the main tree.

Revision 1.6.12.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:32 2013 UTC (11 years ago) by tls
Branch: tls-maxphys
Changes since 1.6: +5 -3 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

resync with head

Revision 1.8 / (download) - annotate - [select for diffs], Fri Feb 15 17:44:40 2013 UTC (11 years ago) by rkujawa
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base-20171202, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-base, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncqfixes-base, jdolecek-ncqfixes, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: phil-wifi, pgoyette-compat, khorben-n900
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 (colored)

Fix usage of uninitialised variable holding number of slave devices.
The sc_nslaves has to be initialised before it is used in allocation of a memory holding save devices' configuration, otherwise slave drivers are causing kernel crashes.

Patch from Semihalf.
Author: Michal Dubiel <md@semihalf.com>

Revision 1.6.8.1 / (download) - annotate - [select for diffs], Mon Feb 11 04:19:44 2013 UTC (11 years ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Pull up following revision(s) (requested by skrll in ticket #809):
	sys/dev/spi/spi.c: revision 1.7
Don't leak condvars and mutexes, even if they are on the stack.
Fixes LOCKDEBUG asserts when a mutex/condvar is initialized at the same
stack address as a previous initialization.  We probably want to revisit
the transfer structure lifecyle at some point in the future.

Revision 1.6.2.1 / (download) - annotate - [select for diffs], Wed Jan 23 00:06:10 2013 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored)

sync with head

Revision 1.7 / (download) - annotate - [select for diffs], Fri Jan 4 22:23:06 2013 UTC (11 years, 2 months ago) by jakllsch
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored)

Don't leak condvars and mutexes, even if they are on the stack.
Fixes LOCKDEBUG asserts when a mutex/condvar is initialized at the same
stack address as a previous initialization.  We probably want to revisit
the transfer structure lifecyle at some point in the future.

Revision 1.6 / (download) - annotate - [select for diffs], Fri Jul 8 03:29:15 2011 UTC (12 years, 8 months ago) by mrg
Branch: MAIN
CVS Tags: yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: yamt-pagecache, tls-maxphys, netbsd-6
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

initialise chuck_rptr as well, instead of chuck_read twice.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:20:08 2011 UTC (12 years, 8 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.4: +15 -20 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.3.22.2 / (download) - annotate - [select for diffs], Sun Jun 12 00:24:26 2011 UTC (12 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3.22.1: +13 -18 lines
Diff to previous 1.3.22.1 (colored) to branchpoint 1.3 (colored) next main 1.4 (colored)

sync with head

Revision 1.5 / (download) - annotate - [select for diffs], Wed Jun 8 23:05:48 2011 UTC (12 years, 8 months ago) by rmind
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base
Changes since 1.4: +15 -20 lines
Diff to previous 1.4 (colored)

- Use IPL_BIO (instead of IPL_SERIAL) for SPI.
- Convert simple_lock/ltsleep to mutex/condvar.

Revision 1.3.22.1 / (download) - annotate - [select for diffs], Sat Mar 5 20:54:06 2011 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

sync with head

Revision 1.2.58.2 / (download) - annotate - [select for diffs], Sat Oct 9 03:32:25 2010 UTC (13 years, 4 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.2.58.1: +3 -3 lines
Diff to previous 1.2.58.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head

Revision 1.3.20.1 / (download) - annotate - [select for diffs], Tue Aug 17 06:46:39 2010 UTC (13 years, 6 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored) next main 1.4 (colored)

Sync with HEAD.

Revision 1.4 / (download) - annotate - [select for diffs], Sat Aug 14 20:49:21 2010 UTC (13 years, 6 months ago) by jym
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, cherry-xenmp-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: cherry-xenmp
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

Fix the while condition: sleep while the SPI_F_DONE bit is not set.

'!' takes precedence over bitwise operation '&', so use parenthesis.

Revision 1.2.54.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:51 2008 UTC (15 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.2: +7 -9 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.2.56.1 / (download) - annotate - [select for diffs], Sun May 18 12:34:46 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.2: +7 -9 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

sync with head.

Revision 1.2.58.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:06 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.2: +7 -9 lines
Diff to previous 1.2 (colored)

sync with head.

Revision 1.3 / (download) - annotate - [select for diffs], Sun May 4 14:21:56 2008 UTC (15 years, 10 months ago) by xtraeme
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base9, yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, yamt-nfs-mp-base2, yamt-nfs-mp-base10, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, uebayasi-xip-base1, uebayasi-xip-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base2, nick-hppapmap-base, nick-hppapmap, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-premerge-20091211, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base, jym-xensuspend, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: uebayasi-xip, rmind-uvmplock
Changes since 1.2: +7 -9 lines
Diff to previous 1.2 (colored)

device_t/softc split.

Revision 1.2.8.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:49:37 2006 UTC (17 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2.8.1: +379 -0 lines
Diff to previous 1.2.8.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head.

Revision 1.2.4.2 / (download) - annotate - [select for diffs], Sat Nov 18 21:34:49 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.2.4.1: +379 -0 lines
Diff to previous 1.2.4.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with head.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Sun Oct 22 06:06:48 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.2.2.1: +379 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with head

Revision 1.2.8.1, Sat Oct 7 07:21:13 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.2: +0 -379 lines
FILE REMOVED

file spi.c was added on branch yamt-lazymbuf on 2006-12-30 20:49:37 +0000

Revision 1.2.4.1, Sat Oct 7 07:21:13 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.2: +0 -379 lines
FILE REMOVED

file spi.c was added on branch newlock2 on 2006-11-18 21:34:49 +0000

Revision 1.2.2.1, Sat Oct 7 07:21:13 2006 UTC (17 years, 5 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.2: +0 -379 lines
FILE REMOVED

file spi.c was added on branch yamt-splraiseipl on 2006-10-22 06:06:48 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Sat Oct 7 07:21:13 2006 UTC (17 years, 5 months ago) by gdamore
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, yamt-idlelwp-base8, yamt-idlelwp, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, reinoud-bufcleanup, post-newlock2-merge, nick-net80211-sync-base, nick-net80211-sync, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, newlock2-nbase, newlock2-base, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, mjf-ufs-trans-base, mjf-ufs-trans, mjf-devfs-base, mjf-devfs, matt-nb4-arm-base, matt-nb4-arm, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-nbase, matt-armv6-base, matt-armv6, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, jmcneill-pm-base, jmcneill-pm, jmcneill-base, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64, ad-socklock-base1, ad-audiomp-base, ad-audiomp
Branch point for: yamt-splraiseipl, yamt-pf42, yamt-nfs-mp, yamt-lazymbuf, newlock2, mjf-devfs2
Changes since 1.1: +3 -2 lines
Diff to previous 1.1 (colored)

Add spiflash driver, and M25P instance, used for STMicro flash devices
found on Meraki Mini (for example).

Revision 1.1 / (download) - annotate - [select for diffs], Mon Oct 2 07:18:19 2006 UTC (17 years, 5 months ago) by gdamore
Branch: MAIN

Initial commit of SPI bus (also known as Microwire) framework, along with
a sample driver for the TI TMP121 temperature sensor.  This has been
moderately tested on Au1550, and it is not enabled in sys/conf (yet).  So
the change is harmless at worst, and useful at best.

Alchemy Au1550 bus driver forthcoming, along with a driver for SPI flash
devices, such as found on the Meraki Mini

This development was partially funded by the Champaign-Urbana Community
Wireless Network Project.

Note that there are some MD-specific SPI drivers that could probably be
made MI under this new framework.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>