<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/Makefile, branch v3.4-rc2</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/Makefile?h=v3.4-rc2</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/Makefile?h=v3.4-rc2'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-04-02T16:50:40Z</updated>
<entry>
<title>Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi</title>
<updated>2012-04-02T16:50:40Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-04-02T16:50:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b1a808ff436343956a6ae63178ea1810c5e5a3a1'/>
<id>urn:sha1:b1a808ff436343956a6ae63178ea1810c5e5a3a1</id>
<content type='text'>
Pull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea:
 "The High Speed Synchronous Serial Interface (HSI) is a serial
  interface mainly used for connecting application engines (APE) with
  cellular modem engines (CMT) in cellular handsets.

  The framework is currently being used for some people and we would
  like to see it integrated into the kernel for 3.3.  There is no HW
  controller drivers in this pull, but some people have already some of
  them pending which they would like to push as soon as this integrated.
  I am also working on the acceptance for an TI OMAP one, based on a
  compatible legacy version of the interface called SSI."

Ok, so it didn't get into 3.3, but here it is pulled into 3.4.

Several people piped up to say "yeah, we want this".

* 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi:
  HSI: hsi_char: Update ioctl-number.txt
  HSI: Add HSI API documentation
  HSI: hsi_char: Add HSI char device kernel configuration
  HSI: hsi_char: Add HSI char device driver
  HSI: hsi: Introducing HSI framework
</content>
</entry>
<entry>
<title>Merge tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc</title>
<updated>2012-03-27T23:30:09Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2012-03-27T23:30:09Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=46b407ca4a6149c8d27fcec1881d4f184bec7c77'/>
<id>urn:sha1:46b407ca4a6149c8d27fcec1881d4f184bec7c77</id>
<content type='text'>
Pull "remoteproc/rpmsg: new subsystem" from Arnd Bergmann:
 "This new subsystem provides a common way to talk to secondary
  processors on an SoC, e.g.  a DSP, GPU or service processor, using
  virtio as the transport.  In the long run, it should replace a few
  dozen vendor specific ways to do the same thing, which all never made
  it into the upstream kernel.  There is a broad agreement that rpmsg is
  the way to go here and several vendors have started working on
  replacing their own subsystems.

  Two branches each add one virtio protocol number.  Fortunately the
  numbers were agreed upon in advance, so there are only context
  changes.

  Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;"

Fixed up trivial protocol number conflict due to the mentioned additions
next to each other.

* tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
  remoteproc: cleanup resource table parsing paths
  remoteproc: remove the hardcoded vring alignment
  remoteproc/omap: remove the mbox_callback limitation
  remoteproc: remove the single rpmsg vdev limitation
  remoteproc: safer boot/shutdown order
  remoteproc: remoteproc_rpmsg -&gt; remoteproc_virtio
  remoteproc: resource table overhaul
  rpmsg: fix build warning when dma_addr_t is 64-bit
  rpmsg: fix published buffer length in rpmsg_recv_done
  rpmsg: validate incoming message length before propagating
  rpmsg: fix name service endpoint leak
  remoteproc/omap: two Kconfig fixes
  remoteproc: make sure we're parsing a 32bit firmware
  remoteproc: s/big switch/lookup table/
  remoteproc: bail out if firmware has different endianess
  remoteproc: don't use virtio's weak barriers
  rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf
  rpmsg: depend on EXPERIMENTAL
  remoteproc: depend on EXPERIMENTAL
  rpmsg: add Kconfig menu
  ...

Conflicts:
	include/linux/virtio_ids.h
</content>
</entry>
<entry>
<title>staging: fix the build breakage cuased by telephony drivers</title>
<updated>2012-02-09T17:07:46Z</updated>
<author>
<name>Tomas Winkler</name>
<email>tomas.winkler@intel.com</email>
</author>
<published>2012-02-09T12:56:25Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d8e4cd99d5a13f65fb961e627b63ae70ab0fe951'/>
<id>urn:sha1:d8e4cd99d5a13f65fb961e627b63ae70ab0fe951</id>
<content type='text'>
Fix build error caused by commit:

6222d7a17745f6e48fddda7245e4bb0d58bfeaf0
telephony: Move to staging

The telephony driver was moved to staging but the Makefiles
weren't updated

Cc: Joe Perches &lt;joe@perches.com&gt;
Signed-off-by: Tomas Winkler &lt;tomas.winkler@intel.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>rpmsg: add virtio-based remote processor messaging bus</title>
<updated>2012-02-08T20:53:58Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2011-10-20T19:10:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bcabbccabffe7326f046f25737ba1084f463c65c'/>
<id>urn:sha1:bcabbccabffe7326f046f25737ba1084f463c65c</id>
<content type='text'>
Add a virtio-based inter-processor communication bus, which enables
kernel drivers to communicate with entities, running on remote
processors, over shared memory using a simple messaging protocol.

Every pair of AMP processors share two vrings, which are used to send
and receive the messages over shared memory.

The header of every message sent on the rpmsg bus contains src and dst
addresses, which make it possible to multiplex several rpmsg channels on
the same vring.

Every rpmsg channel is a device on this bus. When a channel is added,
and an appropriate rpmsg driver is found and probed, it is also assigned
a local rpmsg address, which is then bound to the driver's callback.

When inbound messages carry the local address of a bound driver,
its callback is invoked by the bus.

This patch provides a kernel interface only; user space interfaces
will be later exposed by kernel users of this rpmsg bus.

Designed with Brian Swetland &lt;swetland@google.com&gt;.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt; (virtio_ids.h)
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>remoteproc: add framework for controlling remote processors</title>
<updated>2012-02-08T20:52:56Z</updated>
<author>
<name>Ohad Ben-Cohen</name>
<email>ohad@wizery.com</email>
</author>
<published>2011-10-20T14:52:46Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=400e64df6b237eb36b127efd72000a2794f9eec1'/>
<id>urn:sha1:400e64df6b237eb36b127efd72000a2794f9eec1</id>
<content type='text'>
Modern SoCs typically employ a central symmetric multiprocessing (SMP)
application processor running Linux, with several other asymmetric
multiprocessing (AMP) heterogeneous processors running different instances
of operating system, whether Linux or any other flavor of real-time OS.

Booting a remote processor in an AMP configuration typically involves:
- Loading a firmware which contains the OS image
- Allocating and providing it required system resources (e.g. memory)
- Programming an IOMMU (when relevant)
- Powering on the device

This patch introduces a generic framework that allows drivers to do
that. In the future, this framework will also include runtime power
management and error recovery.

Based on (but now quite far from) work done by Fernando Guzman Lugo
&lt;fernando.lugo@ti.com&gt;.

ELF loader was written by Mark Grosen &lt;mgrosen@ti.com&gt;, based on
msm's Peripheral Image Loader (PIL) by Stephen Boyd &lt;sboyd@codeaurora.org&gt;.

Designed with Brian Swetland &lt;swetland@google.com&gt;.

Signed-off-by: Ohad Ben-Cohen &lt;ohad@wizery.com&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Cc: Brian Swetland &lt;swetland@google.com&gt;
Cc: Arnd Bergmann &lt;arnd@arndb.de&gt;
Cc: Tony Lindgren &lt;tony@atomide.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Cc: Greg KH &lt;greg@kroah.com&gt;
Cc: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
</content>
</entry>
<entry>
<title>mmc: sdhci-pci: add platform data</title>
<updated>2012-01-12T04:58:47Z</updated>
<author>
<name>Adrian Hunter</name>
<email>adrian.hunter@intel.com</email>
</author>
<published>2011-12-27T13:48:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=52c506f0bc72530fb786838e7ffd4f158a2e5c3a'/>
<id>urn:sha1:52c506f0bc72530fb786838e7ffd4f158a2e5c3a</id>
<content type='text'>
Add a means of getting platform data for the SDHCI PCI
devices.  The data is stored against the slot not the
device in order to support multi-slot devices.

The data allows platform-specific setup (such as getting
GPIO numbers from firmware or setting up wl12xx for SDIO)
to be done in platform support files instead of the
sdhci-pci driver.

Signed-off-by: Adrian Hunter &lt;adrian.hunter@intel.com&gt;
Signed-off-by: Chris Ball &lt;cjb@laptop.org&gt;
</content>
</entry>
<entry>
<title>HSI: hsi: Introducing HSI framework</title>
<updated>2012-01-05T13:42:13Z</updated>
<author>
<name>Carlos Chinea</name>
<email>carlos.chinea@nokia.com</email>
</author>
<published>2010-04-16T16:01:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=a056ab8c7a00a0ffc52e9573bf01257004c2d08c'/>
<id>urn:sha1:a056ab8c7a00a0ffc52e9573bf01257004c2d08c</id>
<content type='text'>
Adds HSI framework in to the linux kernel.

High Speed Synchronous Serial Interface (HSI) is a
serial interface mainly used for connecting application
engines (APE) with cellular modem engines (CMT) in cellular
handsets.

HSI provides multiplexing for up to 16 logical channels,
low-latency and full duplex communication.

Signed-off-by: Carlos Chinea &lt;carlos.chinea@nokia.com&gt;
Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging</title>
<updated>2011-10-26T13:39:02Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-26T13:39:02Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=aa77677e0a288e08073620db5d2a31df83ca4788'/>
<id>urn:sha1:aa77677e0a288e08073620db5d2a31df83ca4788</id>
<content type='text'>
* 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1519 commits)
  staging: et131x: Remove redundant check and return statement
  staging: et131x: Mainly whitespace changes to appease checkpatch
  staging: et131x: Remove last of the forward declarations
  staging: et131x: Remove even more forward declarations
  staging: et131x: Remove yet more forward declarations
  staging: et131x: Remove more forward declarations
  staging: et131x: Remove forward declaration of et131x_adapter_setup
  staging: et131x: Remove some forward declarations
  staging: et131x: Remove unused rx_ring.recv_packet_pool
  staging: et131x: Remove call to find pci pm capability
  staging: et131x: Remove redundant et131x_reset_recv() call
  staging: et131x: Remove unused rx_ring.recv_buffer_pool
  Staging: bcm: Fix three initialization errors in InterfaceDld.c
  Staging: bcm: Fix coding style issues in InterfaceDld.c
  staging:iio:dac: Add AD5360 driver
  staging:iio:trigger:bfin-timer: Fix compile error
  Staging: vt6655: add some range checks before memcpy()
  Staging: vt6655: whitespace fixes to iotcl.c
  Staging: vt6656: add some range checks before memcpy()
  Staging: vt6656: whitespace cleanups in ioctl.c
  ...

Fix up conflicts in:
 - drivers/{Kconfig,Makefile}, drivers/staging/{Kconfig,Makefile}:
	vg driver movement
 - drivers/staging/brcm80211/brcmfmac/{dhd_linux.c,mac80211_if.c}:
	driver removal vs now stale changes
 - drivers/staging/rtl8192e/r8192E_core.c:
	driver removal vs now stale changes
 - drivers/staging/et131x/et131*:
	driver consolidation into one file, tried to do fixups
</content>
</entry>
<entry>
<title>Merge branch 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm</title>
<updated>2011-10-25T13:18:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2011-10-25T13:18:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7e0bb71e75020348bee523720a0c2f04cc72f540'/>
<id>urn:sha1:7e0bb71e75020348bee523720a0c2f04cc72f540</id>
<content type='text'>
* 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (63 commits)
  PM / Clocks: Remove redundant NULL checks before kfree()
  PM / Documentation: Update docs about suspend and CPU hotplug
  ACPI / PM: Add Sony VGN-FW21E to nonvs blacklist.
  ARM: mach-shmobile: sh7372 A4R support (v4)
  ARM: mach-shmobile: sh7372 A3SP support (v4)
  PM / Sleep: Mark devices involved in wakeup signaling during suspend
  PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image
  PM / Hibernate: Do not initialize static and extern variables to 0
  PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too
  PM / Hibernate: Add resumedelay kernel param in addition to resumewait
  MAINTAINERS: Update linux-pm list address
  PM / ACPI: Blacklist Vaio VGN-FW520F machine known to require acpi_sleep=nonvs
  PM / ACPI: Blacklist Sony Vaio known to require acpi_sleep=nonvs
  PM / Hibernate: Add resumewait param to support MMC-like devices as resume file
  PM / Hibernate: Fix typo in a kerneldoc comment
  PM / Hibernate: Freeze kernel threads after preallocating memory
  PM: Update the policy on default wakeup settings
  PM / VT: Cleanup #if defined uglyness and fix compile error
  PM / Suspend: Off by one in pm_suspend()
  PM / Hibernate: Include storage keys in hibernation image on s390
  ...
</content>
</entry>
<entry>
<title>drivers: create a pin control subsystem</title>
<updated>2011-10-13T10:49:17Z</updated>
<author>
<name>Linus Walleij</name>
<email>linus.walleij@linaro.org</email>
</author>
<published>2011-05-02T18:50:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2744e8afb3b76343e7eb8197e8b3e085036010a5'/>
<id>urn:sha1:2744e8afb3b76343e7eb8197e8b3e085036010a5</id>
<content type='text'>
This creates a subsystem for handling of pin control devices.
These are devices that control different aspects of package
pins.

Currently it handles pinmuxing, i.e. assigning electronic
functions to groups of pins on primarily PGA and BGA type of
chip packages which are common in embedded systems.

The plan is to also handle other I/O pin control aspects
such as biasing, driving, input properties such as
schmitt-triggering, load capacitance etc within this
subsystem, to remove a lot of ARM arch code as well as
feature-creepy GPIO drivers which are implementing the same
thing over and over again.

This is being done to depopulate the arch/arm/* directory
of such custom drivers and try to abstract the infrastructure
they all need. See the Documentation/pinctrl.txt file that is
part of this patch for more details.

ChangeLog v1-&gt;v2:

- Various minor fixes from Joe's and Stephens review comments
- Added a pinmux_config() that can invoke custom configuration
  with arbitrary data passed in or out to/from the pinmux driver

ChangeLog v2-&gt;v3:

- Renamed subsystem folder to "pinctrl" since we will likely
  want to keep other pin control such as biasing in this
  subsystem too, so let us keep to something generic even though
  we're mainly doing pinmux now.
- As a consequence, register pins as an abstract entity separate
  from the pinmux. The muxing functions will claim pins out of the
  pin pool and make sure they do not collide. Pins can now be
  named by the pinctrl core.
- Converted the pin lookup from a static array into a radix tree,
  I agreed with Grant Likely to try to avoid any static allocation
  (which is crap for device tree stuff) so I just rewrote this
  to be dynamic, just like irq number descriptors. The
  platform-wide definition of number of pins goes away - this is
  now just the sum total of the pins registered to the subsystem.
- Make sure mappings with only a function name and no device
  works properly.

ChangeLog v3-&gt;v4:

- Define a number space per controller instead of globally,
  Stephen and Grant requested the same thing so now maps need to
  define target controller, and the radix tree of pin descriptors
  is a property on each pin controller device.
- Add a compulsory pinctrl device entry to the pinctrl mapping
  table. This must match the pinctrl device, like "pinctrl.0"
- Split the file core.c in two: core.c and pinmux.c where the
  latter carry all pinmux stuff, the core is for generic pin
  control, and use local headers to access functionality between
  files. It is now possible to implement a "blank" pin controller
  without pinmux capabilities. This split will make new additions
  like pindrive.c, pinbias.c etc possible for combined drivers
  and chunks of functionality which is a GoodThing(TM).
- Rewrite the interaction with the GPIO subsystem - the pin
  controller descriptor now handles this by defining an offset
  into the GPIO numberspace for its handled pin range. This is
  used to look up the apropriate pin controller for a GPIO pin.
  Then that specific GPIO range is matched 1-1 for the target
  controller instance.
- Fixed a number of review comments from Joe Perches.
- Broke out a header file pinctrl.h for the core pin handling
  stuff that will be reused by other stuff than pinmux.
- Fixed some erroneous EXPORT() stuff.
- Remove mispatched U300 Kconfig and Makefile entries
- Fixed a number of review comments from Stephen Warren, not all
  of them - still WIP. But I think the new mapping that will
  specify which function goes to which pin mux controller address
  50% of your concerns (else beat me up).

ChangeLog v4-&gt;v5:

- Defined a "position" for each function, so the pin controller now
  tracks a function in a certain position, and the pinmux maps define
  what position you want the function in. (Feedback from Stephen
  Warren and Sascha Hauer).
- Since we now need to request a combined function+position from
  the machine mapping table that connect mux settings to drivers,
  it was extended with a position field and a name field. The
  name field is now used if you e.g. need to switch between two
  mux map settings at runtime.
- Switched from a class device to using struct bus_type for this
  subsystem. Verified sysfs functionality: seems to work fine.
  (Feedback from Arnd Bergmann and Greg Kroah-Hartman)
- Define a per pincontroller list of GPIO ranges from the GPIO
  pin space that can be handled by the pin controller. These can
  be added one by one at runtime. (Feedback from Barry Song)
- Expanded documentation of regulator_[get|enable|disable|put]
  semantics.
- Fixed a number of review comments from Barry Song. (Thanks!)

ChangeLog v5-&gt;v6:

- Create an abstract pin group concept that can sort pins into
  named and enumerated groups no matter what the use of these
  groups may be, one possible usecase is a group of pins being
  muxed in or so. The intention is however to also use these
  groups for other pin control activities.
- Make it compulsory for pinmux functions to associate with
  at least one group, so the abstract pin group concept is used
  to define the groups of pins affected by a pinmux function.
  The pinmux driver interface has been altered so as to enforce
  a function to list applicable groups per function.
- Provide an optional .group entry in the pinmux machine map
  so the map can select beteween different available groups
  to be used with a certain function.
- Consequent changes all over the place so that e.g. debugfs
  present reasonable information about the world.
- Drop the per-pin mux (*config) function in the pinmux_ops
  struct - I was afraid that this would start to be used for
  things totally unrelated to muxing, we can introduce that to
  the generic struct pinctrl_ops if needed. I want to keep
  muxing orthogonal to other pin control subjects and not mix
  these things up.

ChangeLog v6-&gt;v7:

- Make it possible to have several map entries matching the
  same device, pin controller and function, but using
  a different group, and alter the semantics so that
  pinmux_get() will pick all matching map entries, and
  store the associated groups in a list. The list will
  then be iterated over at pinmux_enable()/pinmux_disable()
  and corresponding driver functions called for each
  defined group. Notice that you're only allowed to map
  multiple *groups* to the same
  { device, pin controller, function } triplet, attempts
  to map the same device to multiple pin controllers will
  for example fail. This is hopefully the crucial feature
  requested by Stephen Warren.
- Add a pinmux hogging field to the pinmux mapping entries,
  and enable the pinmux core to hog pinmux map entries.
  This currently only works for pinmuxes without assigned
  devices as it looks now, but with device trees we can
  look up the corresponding struct device * entries when
  we register the pinmux driver, and have it hog each
  pinmux map in turn, for a simple approach to
  non-dynamic pin muxing. This addresses an issue from
  Grant Likely that the machine should take care of as
  much of the pinmux setup as possible, not the devices.
  By supplying a list of hogs, it can now instruct the
  core to take care of any static mappings.
- Switch pinmux group retrieveal function to grab an
  array of strings representing the groups rather than an
  array of unsigned and rewrite accordingly.
- Alter debugfs to show the grouplist handled by each
  pinmux. Also add a list of hogs.
- Dynamically allocate a struct pinmux at pinmux_get() and
  free it at pinmux_put(), then add these to the global
  list of pinmuxes active as we go along.
- Go over the list of pinmux maps at pinmux_get() time
  and repeatedly apply matches.
- Retrieve applicable groups per function from the driver
  as a string array rather than a unsigned array, then
  lookup the enumerators.
- Make the device to pinmux map a singleton - only allow the
  mapping table to be registered once and even tag the
  registration function with __init so it surely won't be
  abused.
- Create a separate debugfs file to view the pinmux map at
  runtime.
- Introduce a spin lock to the pin descriptor struct, lock it
  when modifying pin status entries. Reported by Stijn Devriendt.
- Fix up the documentation after review from Stephen Warren.
- Let the GPIO ranges give names as const char * instead of some
  fixed-length string.
- add a function to unregister GPIO ranges to mirror the
  registration function.
- Privatized the struct pinctrl_device and removed it from the
  &lt;linux/pinctrl/pinctrl.h&gt; API, the drivers do not need to know
  the members of this struct. It is now in the local header
  "core.h".
- Rename the concept of "anonymous" mux maps to "system" muxes
  and add convenience macros and documentation.

ChangeLog v7-&gt;v8:

- Delete the leftover pinmux_config() function from the
 &lt;linux/pinctrl/pinmux.h&gt; header.
- Fix a race condition found by Stijn Devriendt in pin_request()

ChangeLog v8-&gt;v9:

- Drop the bus_type and the sysfs attributes and all, we're not on
  the clear about how this should be used for e.g. userspace
  interfaces so let us save this for the future.
- Use the right name in MAINTAINERS, PIN CONTROL rather than
  PINMUX
- Don't kfree() the device state holder, let the .remove() callback
  handle this.
- Fix up numerous kerneldoc headers to have one line for the function
  description and more verbose documentation below the parameters

ChangeLog v9-&gt;v10:
- pinctrl: EXPORT_SYMBOL needs export.h, folded in a patch
  from Steven Rothwell
- fix pinctrl_register error handling, folded in a patch from
  Axel Lin
- Various fixes to documentation text so that it's consistent.
- Removed pointless comment from drivers/Kconfig
- Removed dependency on SYSFS since we removed the bus in
  v9.
- Renamed hopelessly abbreviated pctldev_* functions to the
  more verbose pinctrl_dev_*
- Drop mutex properly when looking up GPIO ranges
- Return NULL instead of ERR_PTR() errors on registration of
  pin controllers, using cast pointers is fragile. We can
  live without the detailed error codes for sure.

Cc: Stijn Devriendt &lt;highguy@gmail.com&gt;
Cc: Joe Perches &lt;joe@perches.com&gt;
Cc: Russell King &lt;linux@arm.linux.org.uk&gt;
Acked-by: Grant Likely &lt;grant.likely@secretlab.ca&gt;
Acked-by: Stephen Warren &lt;swarren@nvidia.com&gt;
Tested-by: Barry Song &lt;21cnbao@gmail.com&gt;
Signed-off-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
</content>
</entry>
</feed>
