Blackfin: gpio: add peripheral group check
authorsteven miao <realmz6@gmail.com>
Fri, 17 Sep 2010 03:03:17 +0000 (03:03 +0000)
committerMike Frysinger <vapier@gentoo.org>
Fri, 22 Oct 2010 08:02:01 +0000 (04:02 -0400)
commit05bbec38dbafa60583be8347dea88919d48cc733
treed172eb120912c9656357781d9f131a95a455bc99
parenta71159b96a210d3e4d9bd24dd21278aa29770e9d
Blackfin: gpio: add peripheral group check

Many Blackfin parts group sets of pins into a single functional unit.
This means you cannot use different pins within a group for different
peripherals.  Our resource conflict checking thus far has been limited
to individual pins, so if someone tried to grab a different pin from
the same group, it would be allowed while silently changing the other
pins in the same group.

One common example is the pin set PG12 - PG15 on BF51x parts.  They
may either be used with SPI0 (1st function), or they may be used with
PTP/PWM/AMS3 (3rd function).  Ideally, we'd like to use PG12 - PG14
for SPI0 while using PG15 with AMS3, but the hardware does not permit
this.  In the past, the software would allow the pins to be requested
this way, but ultimately things like the Blackfin SPI driver would
stop working when the hardware rerouted to a different peripheral.

Signed-off-by: steven miao <realmz6@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
arch/blackfin/kernel/bfin_gpio.c